diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Delivery_getRuleReference.xml similarity index 65% rename from bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_getRuleReference.xml rename to bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Delivery_getRuleReference.xml index c320b2b1f7335bd3a21cded4023837084ec859ba..993b8c114d8675c72706528c058d11d4f541497a 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_getRuleReference.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Delivery_getRuleReference.xml @@ -50,16 +50,46 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>return \'default_order_rule\'\n + <value> <string>from Products.ERP5Type.Errors import SimulationError\n +\n +\n +if context.getTradePhase() is None:\n + # XXX-Leo: Maybe refactor this block into a Delivery_getTradePhase script\n + business_link = context.Delivery_getBusinessLink()\n + # context = context.asContext(trade_phase=business_link.getTradePhase()) is not working...\n + context = context.asContext()\n + context.setTradePhase(business_link.getTradePhase())\n +\n +rule_list = context.getPortalObject().portal_rules.searchRuleList(context)\n +\n +if not len(rule_list):\n + # No applied rule will be created.\n + # XXX-Leo: Should we check self.isSimulated() and raise an error if not? \n + return None\n +\n +try:\n + rule, = rule_list\n +except ValueError:\n + raise SimulationError(\'Exactly one root rule should match %r, got %r\' %\n + (context.getPath(), rule_list))\n +return rule.getReference()\n </string> </value> </item> <item> <key> <string>_params</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>_proxy_roles</string> </key> + <value> + <tuple> + <string>Manager</string> + </tuple> + </value> + </item> <item> <key> <string>id</string> </key> - <value> <string>SaleOrder_getRuleReference</string> </value> + <value> <string>Delivery_getRuleReference</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision index 1bbe7d811d867b45607930755e847ad5161ea9d1..4ee16cc34185c955b5579fe0dbdf00bad2fa7b21 100644 --- a/bt5/erp5_trade/bt/revision +++ b/bt5/erp5_trade/bt/revision @@ -1 +1 @@ -1121 \ No newline at end of file +1122 \ No newline at end of file