[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