diff --git a/product/ERP5Type/Utils.py b/product/ERP5Type/Utils.py index b3e332119417cc67a2036421d2f7e4489135660d..d58a0051152b3e98e4dcb4c9e2135b38c5f6c0eb 100755 --- a/product/ERP5Type/Utils.py +++ b/product/ERP5Type/Utils.py @@ -637,7 +637,7 @@ def setDefaultProperties(klass): new_converted_prop_list = [] for prop in converted_prop_list: new_prop = prop.copy() - if prop['type'] in list_types: + if prop['type'] in list_types or prop.get('multivalued', 0): # Display as list new_prop['base_id'] = prop['id'] new_prop['id'] = prop['id'] + '_list' @@ -721,7 +721,7 @@ def createDefaultAccessors(klass, id, prop = None): prop.get('acquisition_sync_value',0), storage_id = prop.get('storage_id'), alt_accessor_id = prop.get('alt_accessor_id'), - is_list_type = prop['type'] in list_types + is_list_type = (prop['type'] in list_types or prop.get('multivalued', 0)) ) # The default accessor returns the first item in a list default_accessor = base_accessor @@ -739,7 +739,7 @@ def createDefaultAccessors(klass, id, prop = None): prop.get('acquisition_sync_value',0), storage_id = prop.get('storage_id'), alt_accessor_id = prop.get('alt_accessor_id'), - is_list_type = prop['type'] in list_types + is_list_type = (prop['type'] in list_types or prop.get('multivalued', 0)) ) # Base Getter accessor_name = 'get' + UpperCase(id) @@ -809,7 +809,7 @@ def createDefaultAccessors(klass, id, prop = None): prop.get('acquisition_sync_value',0), storage_id = prop.get('storage_id'), alt_accessor_id = prop.get('alt_accessor_id'), - is_list_type = prop['type'] in list_types + is_list_type = (prop['type'] in list_types or prop.get('multivalued', 0)) ) if not hasattr(klass, accessor_name) or prop.get('override',0): setattr(klass, accessor_name, base_accessor) @@ -835,7 +835,7 @@ def createDefaultAccessors(klass, id, prop = None): prop.get('acquisition_sync_value',0), storage_id = prop.get('storage_id'), alt_accessor_id = prop.get('alt_accessor_id'), - is_list_type = prop['type'] in list_types, + is_list_type = (prop['type'] in list_types or prop.get('multivalued', 0)), reindex = 1 ) if not hasattr(klass, accessor_name) or prop.get('override',0): @@ -877,7 +877,7 @@ def createDefaultAccessors(klass, id, prop = None): if not hasattr(klass, accessor_name) or prop.get('override',0): setattr(klass, accessor_name, list_accessor) - elif prop['type'] in list_types: + elif prop['type'] in list_types or prop.get('multivalued', 0): # The base accessor returns the first item in a list # and simulates a simple property # The default value is the first elelement of prop.get('default') is it exists @@ -1106,7 +1106,7 @@ def createDefaultAccessors(klass, id, prop = None): setattr(klass, accessor_name, accessor) ###################################################### # Create Setters - if prop['type'] in list_types: + if prop['type'] in list_types or prop.get('multivalued', 0): # Create setters for a list property (reindexing) # The base accessor sets the list to a singleton # and allows simulates a simple property