From e7681e38959cb042d71050e759646dfb22d742a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Fri, 10 Oct 2008 16:15:35 +0000 Subject: [PATCH] override manage_renameObject to keep the ordering of a field in a form after renaming a field git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@24150 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Form/Form.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/product/ERP5Form/Form.py b/product/ERP5Form/Form.py index 4aae89057e4..c9cfe799a2b 100644 --- a/product/ERP5Form/Form.py +++ b/product/ERP5Form/Form.py @@ -26,6 +26,8 @@ # ############################################################################## +from copy import deepcopy + from Products.Formulator.Form import Form, BasicForm, ZMIForm from Products.Formulator.Form import manage_addForm, manage_add, initializeForm from Products.Formulator.Errors import FormValidationError, ValidationError @@ -574,6 +576,19 @@ class ERP5Form(ZMIForm, ZopePageTemplate): 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): """ -- 2.30.9