[Erp5-report] r22382 - in /erp5/trunk/bt5/erp5_mrp: SkinTemplateItem/portal_skins/erp5_mrp/...
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jul 9 14:50:06 CEST 2008
Author: luke
Date: Wed Jul 9 14:50:04 2008
New Revision: 22382
URL: http://svn.erp5.org?rev=22382&view=rev
Log:
- added Adopt action, by coping quantity from simulation
- proper case of Split & Defer
Modified:
erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_doSolveActions.xml
erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_viewSolveActionsDialog/listbox_choice.xml
erp5/trunk/bt5/erp5_mrp/bt/revision
Modified: erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_doSolveActions.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_doSolveActions.xml?rev=22382&r1=22381&r2=22382&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_doSolveActions.xml (original)
+++ erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_doSolveActions.xml Wed Jul 9 14:50:04 2008
@@ -76,50 +76,53 @@
portal = context.getPortalObject()\n
packing_list_portal_type = context.getPortalType()\n
\n
+simulation_tool = portal.portal_simulation\n
+\n
split_and_defer = 0\n
\n
packing_list_portal_type_delivery_builder_mapping = {\n
\'Production Packing List\' : \'production_packing_list_builder\',\n
\'Production Report\' : \'production_report_builder\',\n
}\n
+order = context.getCausalityValue()\n
+applied_rule = order.getCausalityRelatedValue(portal_type="Applied Rule")\n
+\n
+builder_id = packing_list_portal_type_delivery_builder_mapping.get(\n
+ packing_list_portal_type, None)\n
+if builder_id is not None:\n
+ delivery_builder = getattr(portal.portal_deliveries,builder_id,None)\n
+ if delivery_builder is None:\n
+ log(\'ProductionPackingList_doSolveActions\',\'Builder %s not found\'%(builder_id,),200)\n
+\n
+else:\n
+ log(\'ProductionPackingList_doSolveActions\',\'Portal type %s has no builder\'%(packing_list_portal_type,),200)\n
\n
if listbox is not None:\n
- context.updateAppliedRule()\n
- for line_key in listbox:\n
- line = listbox[line_key]\n
- url = line[\'listbox_key\']\n
- quantity = line[\'quantity\']\n
- movement = context.restrictedTraverse(url)\n
- movement.setProperty(\'quantity\', quantity, type=\'float\')\n
- choice = line[\'choice\'] \n
- if choice == \'SplitAndDefer\':\n
- split_and_defer = 1\n
- context.portal_simulation.solveMovement(movement, None, "SplitAndDefer", start_date=start_date, stop_date=stop_date, activate_kw={\'tag\':tag})\n
- elif choice == \'CopyToTarget\':\n
- context.portal_simulation.solveMovement(movement, None,"CopyToTarget")\n
- #elif XXX: support for adopt\n
-\n
- context.updateCausalityState()\n
-\n
- if split_and_defer:\n
- # Create delivery\n
- order = context.getCausalityValue()\n
- applied_rule = order.getCausalityRelatedValue(portal_type="Applied Rule")\n
-\n
- builder_id = packing_list_portal_type_delivery_builder_mapping.get(\n
- packing_list_portal_type, None)\n
-\n
- if builder_id is not None:\n
- delivery_builder = getattr(portal.portal_deliveries,builder_id,None)\n
- if delivery_builder is not None:\n
- explanation_uid_list = [order.getUid(),context.getUid()]\n
- delivery_builder.activate(activity=\'SQLQueue\',after_tag=tag).build(explanation_uid=explanation_uid_list)\n
- else:\n
- log(\'ProductionPackingList_doSolveActions\',\'Builder %s not found\'%(builder_id,),200)\n
- else:\n
- log(\'ProductionPackingList_doSolveActions\',\'Portal type %s has no builder\'%(packing_list_portal_type,),200)\n
-\n
-\n
+ context.updateAppliedRule()\n
+ for line_key in listbox:\n
+ line = listbox[line_key]\n
+ url = line[\'listbox_key\']\n
+ quantity = line[\'quantity\']\n
+ movement = context.restrictedTraverse(url)\n
+ choice = line[\'choice\'] \n
+ if choice == \'SplitAndDefer\':\n
+ movement.setProperty(\'quantity\', quantity, type=\'float\')\n
+ split_and_defer = 1\n
+ simulation_tool.solveMovement(movement, None, "SplitAndDefer", start_date=start_date, stop_date=stop_date, activate_kw={\'tag\':tag})\n
+ elif choice == \'CopyToTarget\':\n
+ movement.setProperty(\'quantity\', quantity, type=\'float\')\n
+ simulation_tool.solveMovement(movement, None,"CopyToTarget")\n
+ elif choice == \'AdoptPrevision\':\n
+ prevision_quantity = sum([x.getQuantity() for x in movement.getDeliveryRelatedValueList()])\n
+ movement.setProperty(\'quantity\', prevision_quantity, type=\'float\')\n
+\n
+ context.activate().updateCausalityState()\n
+\n
+ if split_and_defer:\n
+ # Create delivery\n
+ if delivery_builder is not None:\n
+ explanation_uid_list = [order.getUid(),context.getUid()]\n
+ delivery_builder.activate(activity=\'SQLQueue\',after_tag=tag).build(explanation_uid=explanation_uid_list)\n
\n
message = context.Base_translateString(\'%s updated.\'%(packing_list_portal_type,))\n
return context.Base_redirect(form_id, keep_items = {\'portal_status_message\' : message} )\n
@@ -185,9 +188,15 @@
<string>tag</string>
<string>portal</string>
<string>packing_list_portal_type</string>
+ <string>simulation_tool</string>
<string>split_and_defer</string>
<string>packing_list_portal_type_delivery_builder_mapping</string>
+ <string>order</string>
+ <string>applied_rule</string>
<string>None</string>
+ <string>builder_id</string>
+ <string>getattr</string>
+ <string>delivery_builder</string>
<string>_getiter_</string>
<string>line_key</string>
<string>_getitem_</string>
@@ -196,11 +205,11 @@
<string>quantity</string>
<string>movement</string>
<string>choice</string>
- <string>order</string>
- <string>applied_rule</string>
- <string>builder_id</string>
- <string>getattr</string>
- <string>delivery_builder</string>
+ <string>sum</string>
+ <string>append</string>
+ <string>$append0</string>
+ <string>x</string>
+ <string>prevision_quantity</string>
<string>explanation_uid_list</string>
<string>message</string>
</tuple>
Modified: erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_viewSolveActionsDialog/listbox_choice.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_viewSolveActionsDialog/listbox_choice.xml?rev=22382&r1=22381&r2=22382&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_viewSolveActionsDialog/listbox_choice.xml (original)
+++ erp5/trunk/bt5/erp5_mrp/SkinTemplateItem/portal_skins/erp5_mrp/ProductionPackingList_viewSolveActionsDialog/listbox_choice.xml Wed Jul 9 14:50:04 2008
@@ -88,12 +88,16 @@
<value>
<list>
<tuple>
- <string>Split and defer</string>
+ <string>Split and Defer</string>
<string>SplitAndDefer</string>
</tuple>
<tuple>
<string>Accept</string>
<string>CopyToTarget</string>
+ </tuple>
+ <tuple>
+ <string>Adopt</string>
+ <string>AdoptPrevision</string>
</tuple>
</list>
</value>
Modified: erp5/trunk/bt5/erp5_mrp/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_mrp/bt/revision?rev=22382&r1=22381&r2=22382&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_mrp/bt/revision (original)
+++ erp5/trunk/bt5/erp5_mrp/bt/revision Wed Jul 9 14:50:04 2008
@@ -1,1 +1,1 @@
-344
+345
More information about the Erp5-report
mailing list