[Erp5-report] r9571 - in /erp5/trunk/products/ERP5Form: ProxyField.py __init__.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Aug 30 19:49:00 CEST 2006
Author: bartek
Date: Wed Aug 30 19:48:58 2006
New Revision: 9571
URL: http://svn.erp5.org?rev=9571&view=rev
Log:
a link from ProxyField to its target's ZMI (by Marek Petlicki)
Modified:
erp5/trunk/products/ERP5Form/ProxyField.py
erp5/trunk/products/ERP5Form/__init__.py
Modified: erp5/trunk/products/ERP5Form/ProxyField.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ProxyField.py?rev=9571&r1=9570&r2=9571&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ProxyField.py (original)
+++ erp5/trunk/products/ERP5Form/ProxyField.py Wed Aug 30 19:48:58 2006
@@ -57,6 +57,7 @@
property_names = [
'form_id',
'field_id',
+ 'target',
'extra_context',
]
@@ -83,6 +84,14 @@
title='Extra Context',
description='Additional context variables.',
default=(),
+ required=0)
+
+ target = fields.HyperLinkField(
+ 'target',
+ title='Proxy Target',
+ description="Link to the master field edit form",
+ default='Click to edit the target',
+ href='manage_edit_target',
required=0)
def render(self, field, key, value, REQUEST):
@@ -171,6 +180,18 @@
REQUEST.other['erp5_extra_context'] = extra_context
return REQUEST
+ security.declareProtected('Edit target', 'manage_edit_target')
+ def manage_edit_target(self, REQUEST):
+ """ Edit target field of this proxy
+ """
+ proxy_field = self.getTemplateField()
+ if proxy_field:
+ url='/'.join((self.absolute_url(),self.get_value('form_id'),self.get_value('field_id'),'manage_main'))
+ REQUEST.RESPONSE.redirect(url)
+ else:
+ # FIXME: should show some error message ("form_id and field_id don't define a valid template")
+ pass
+
security.declareProtected('Access contents information', 'get_value')
def get_value(self, id, **kw):
"""Get value for id.
Modified: erp5/trunk/products/ERP5Form/__init__.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/__init__.py?rev=9571&r1=9570&r2=9571&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/__init__.py (original)
+++ erp5/trunk/products/ERP5Form/__init__.py Wed Aug 30 19:48:58 2006
@@ -146,6 +146,9 @@
FieldRegistry.registerField(HelperFields.MethodField)
FieldRegistry.registerField(HelperFields.TALESField)
+ import HyperLinkField
+ FieldRegistry.registerField(HyperLinkField.HyperLinkField)
+
# register help for the product
context.registerHelp()
# register field help for all fields
More information about the Erp5-report
mailing list