[Erp5-report] r24150 - /erp5/trunk/products/ERP5Form/Form.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Oct 10 18:15:37 CEST 2008


Author: jerome
Date: Fri Oct 10 18:15:35 2008
New Revision: 24150

URL: http://svn.erp5.org?rev=24150&view=rev
Log:
override manage_renameObject to keep the ordering of a field in a form after
renaming a field

Modified:
    erp5/trunk/products/ERP5Form/Form.py

Modified: erp5/trunk/products/ERP5Form/Form.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/Form.py?rev=24150&r1=24149&r2=24150&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/Form.py (original)
+++ erp5/trunk/products/ERP5Form/Form.py Fri Oct 10 18:15:35 2008
@@ -25,6 +25,8 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 ##############################################################################
+
+from copy import deepcopy
 
 from Products.Formulator.Form import Form, BasicForm, ZMIForm
 from Products.Formulator.Form import manage_addForm, manage_add, initializeForm
@@ -574,6 +576,19 @@
         pt = getattr(self,self.pt)
         return pt._exec(self, bound_names, args, kw)
 
+    def manage_renameObject(self, id, new_id, REQUEST=None):
+      # overriden to keep the order of a field after rename
+      groups = deepcopy(self.groups)
+      ret = ZMIForm.manage_renameObject(self, id, new_id, REQUEST=REQUEST)
+      for group_id, field_id_list in groups.items():
+        if id in field_id_list:
+          index = field_id_list.index(id)
+          field_id_list.pop(index)
+          field_id_list.insert(index, new_id)
+          groups[group_id] = field_id_list
+      self.groups = groups
+      return ret
+
     # Utilities
     def ErrorFields(self, validation_errors):
         """




More information about the Erp5-report mailing list