Commit e00a7048 authored by Jérome Perrin's avatar Jérome Perrin

Use the generic script Base_getMultiListFieldPropertyDictList instead of...

Use the generic script Base_getMultiListFieldPropertyDictList instead of having a copy of Base_hashVariationRangeCategoryItemList here

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@21421 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 36d3fedd
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string># Define a dictionary where we store the subfields to display.\n
sub_field_dict = {}\n
split_depth = 1\n
# Maximum size of the MultiListField\n
maximum_list_size = 5\n
# Try to assign each item to a sub field.\n
for item in item_list:\n
# Get value of the item\n
item_value = item[int(not is_right_display)]\n
# Hash key from item_value\n
item_split = item_value.split(\'/\')\n
item_key = \'/\'.join(item_split[:split_depth])\n
base_category = item_split[0]\n
# Create a new subfield if necessary\n
if not sub_field_dict.has_key(item_key):\n
# Create property dict (key are field parameters)\n
sub_field_property_dict = default_sub_field_property_dict.copy()\n
sub_field_property_dict[\'key\'] = item_key\n
sub_field_property_dict[\'title\'] = context.portal_categories[base_category].getTitle()\n
sub_field_property_dict[\'required\'] = 0\n
sub_field_property_dict[\'field_type\'] = \'MultiListField\'\n
sub_field_property_dict[\'size\'] = 1\n
sub_field_property_dict[\'item_list\'] = []\n
sub_field_property_dict[\'value\'] = []\n
sub_field_dict[item_key] = sub_field_property_dict\n
# Put the value in the correct sub field.\n
sub_field_dict[item_key][\'item_list\'].append(item)\n
sub_field_property_dict[\'size\'] = min(len(sub_field_dict[item_key][\'item_list\']) , maximum_list_size )\n
if item_value in value_list:\n
sub_field_dict[item_key][\'value\'].append(item_value)\n
\n
# Return the list of subfield configuration.\n
\n
return sub_field_dict.values()\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>item_list, value_list, default_sub_field_property_dict={}, is_right_display=0</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>item_list</string>
<string>value_list</string>
<string>default_sub_field_property_dict</string>
<string>is_right_display</string>
<string>sub_field_dict</string>
<string>split_depth</string>
<string>maximum_list_size</string>
<string>_getiter_</string>
<string>item</string>
<string>_getitem_</string>
<string>int</string>
<string>item_value</string>
<string>_getattr_</string>
<string>item_split</string>
<string>item_key</string>
<string>base_category</string>
<string>sub_field_property_dict</string>
<string>_write_</string>
<string>context</string>
<string>min</string>
<string>len</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<dictionary/>
<int>0</int>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_hashVariationRangeCategoryItemList</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -246,7 +246,7 @@
</item>
<item>
<key> <string>hash_script_id</string> </key>
<value> <string>Base_hashVariationRangeCategoryItemList</string> </value>
<value> <string>Base_getMultiListFieldPropertyDictList</string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
......
256
\ No newline at end of file
257
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment