diff --git a/bt5/erp5_item/SkinTemplateItem/portal_skins/erp5_item/DeliveryLine_selectItemList.xml b/bt5/erp5_item/SkinTemplateItem/portal_skins/erp5_item/DeliveryLine_selectItemList.xml index 500b0c7b315646ca66d3cff5c461f3413a8717c0..e68de86d4fe72e9ebbd59c5563218c1c9c1de7cf 100644 --- a/bt5/erp5_item/SkinTemplateItem/portal_skins/erp5_item/DeliveryLine_selectItemList.xml +++ b/bt5/erp5_item/SkinTemplateItem/portal_skins/erp5_item/DeliveryLine_selectItemList.xml @@ -96,9 +96,20 @@ for item_uid in uids:\n if cell_found is not None:\n movement_to_update = cell_found\n else:\n + if not context.hasInRange(base_id=\'movement\', *item_variation):\n + # update line variation category list, if not already containing this one\n + variation_category_list = context.getVariationCategoryList()\n + for variation in item_variation:\n + if variation not in variation_category_list:\n + variation_category_list.append(variation)\n + context.setVariationCategoryList(variation_category_list)\n +\n movement_to_update = context.newCell(base_id=\'movement\',\n portal_type=cell_portal_type,\n *item_variation)\n + movement_to_update.edit(mapped_value_property_list=(\'quantity\', \'price\'),\n + variation_category_list=item_variation,)\n +\n else:\n # no variation, we\'ll update the line itself\n movement_to_update = context\n @@ -182,6 +193,8 @@ return context.Base_redirect(form_id, keep_items=dict(\n <string>cell</string> <string>movement_to_update</string> <string>_apply_</string> + <string>variation_category_list</string> + <string>variation</string> <string>dict</string> </tuple> </value> diff --git a/bt5/erp5_item/bt/revision b/bt5/erp5_item/bt/revision index 0973804c41c39805888c4929d03b076c4e5a2247..eafdfb06c55856bbcc9bb2b69ed9d055f6ae0557 100644 --- a/bt5/erp5_item/bt/revision +++ b/bt5/erp5_item/bt/revision @@ -1 +1 @@ -137 \ No newline at end of file +138 \ No newline at end of file