[Erp5-report] r7054 - /erp5/trunk/products/ERP5Form/MultiRelationField.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed May 3 13:09:38 CEST 2006
Author: romain
Date: Wed May 3 13:09:36 2006
New Revision: 7054
URL: http://svn.erp5.org?rev=7054&view=rev
Log:
Use setValue when the relation has only one value.
Add a blank line in the popup menu (if we don't want to create a new object).
Modified:
erp5/trunk/products/ERP5Form/MultiRelationField.py
Modified: erp5/trunk/products/ERP5Form/MultiRelationField.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/MultiRelationField.py?rev=7054&r1=7053&r2=7054&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/MultiRelationField.py (original)
+++ erp5/trunk/products/ERP5Form/MultiRelationField.py Wed May 3 13:09:36 2006
@@ -449,10 +449,16 @@
portal_type=self.portal_type_list)
else:
# we could call a generic method which create the setter method name
- set_method_name = '_set%sValueList' % \
- convertToUpperCase(self.base_category)
- getattr(o, set_method_name)(relation_object_list,
- portal_type=self.portal_type_list)
+ if len(relation_object_list) == 1:
+ set_method_name = '_set%sValue' % \
+ convertToUpperCase(self.base_category)
+ getattr(o, set_method_name)(relation_object_list[0],
+ portal_type=self.portal_type_list)
+ else:
+ set_method_name = '_set%sValueList' % \
+ convertToUpperCase(self.base_category)
+ getattr(o, set_method_name)(relation_object_list,
+ portal_type=self.portal_type_list)
allow_class(MultiRelationEditor)
@@ -534,7 +540,7 @@
# User clicked on the wheel
####################################
need_to_revalidate = 1
- if relation_uid_list is not None:
+ if relation_uid_list not in (None, ''):
need_to_revalidate = 0
relation_editor_list = []
for relation_item_id, relation_uid, value in \
@@ -717,6 +723,8 @@
# relation_editor_list.append((0, value, relation_uid,
# display_text, None, None))
elif len(relation_list) == 0:
+ # Add blank line
+ menu_item_list.append(('', ''))
# If the length is 0, raise an error
if field.get_value('allow_creation') == 1 :
# XXX
More information about the Erp5-report
mailing list