[Erp5-report] r40864 nicolas - in /erp5/trunk/bt5/erp5_trade: ActionTemplateItem/portal_typ...
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Nov 29 11:48:13 CET 2010
Author: nicolas
Date: Mon Nov 29 11:48:13 2010
New Revision: 40864
URL: http://svn.erp5.org?rev=40864&view=rev
Log:
Add new action on Internal Orders to apply trade conditions.
As both 'Sale Trade Condition' and 'Purchase Trade Condition' might applied on Internal Orders,
The both will be accepted and searchPredicateList will find the best match in both modules.
Added:
erp5/trunk/bt5/erp5_trade/ActionTemplateItem/portal_types/Internal%20Order/apply_trade_condition.xml
erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_applyTradeCondition.xml
erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_viewApplyInternalTradeConditionDialog.xml
Modified:
erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_internal_trade_condition_specialise_title.xml
erp5/trunk/bt5/erp5_trade/bt/revision
erp5/trunk/bt5/erp5_trade/bt/template_action_path_list
Added: erp5/trunk/bt5/erp5_trade/ActionTemplateItem/portal_types/Internal%20Order/apply_trade_condition.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/ActionTemplateItem/portal_types/Internal%2520Order/apply_trade_condition.xml?rev=40864&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_trade/ActionTemplateItem/portal_types/Internal%20Order/apply_trade_condition.xml (added)
+++ erp5/trunk/bt5/erp5_trade/ActionTemplateItem/portal_types/Internal%20Order/apply_trade_condition.xml [utf8] Mon Nov 29 11:48:13 2010
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>action</string> </key>
+ <value>
+ <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+ </value>
+ </item>
+ <item>
+ <key> <string>categories</string> </key>
+ <value>
+ <tuple>
+ <string>action_type/object_action</string>
+ </tuple>
+ </value>
+ </item>
+ <item>
+ <key> <string>category</string> </key>
+ <value> <string>object_action</string> </value>
+ </item>
+ <item>
+ <key> <string>condition</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>description</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>icon</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>apply_trade_condition</string> </value>
+ </item>
+ <item>
+ <key> <string>permissions</string> </key>
+ <value>
+ <tuple>
+ <string>Modify portal content</string>
+ </tuple>
+ </value>
+ </item>
+ <item>
+ <key> <string>portal_type</string> </key>
+ <value> <string>Action Information</string> </value>
+ </item>
+ <item>
+ <key> <string>priority</string> </key>
+ <value> <float>9.0</float> </value>
+ </item>
+ <item>
+ <key> <string>title</string> </key>
+ <value> <string>Apply Trade Condition</string> </value>
+ </item>
+ <item>
+ <key> <string>visible</string> </key>
+ <value> <int>1</int> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+ <record id="2" aka="AAAAAAAAAAI=">
+ <pickle>
+ <global name="Expression" module="Products.CMFCore.Expression"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>text</string> </key>
+ <value> <string>string:${object_url}/InternalOrder_viewApplyInternalTradeConditionDialog</string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Modified: erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_internal_trade_condition_specialise_title.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_internal_trade_condition_specialise_title.xml?rev=40864&r1=40863&r2=40864&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_internal_trade_condition_specialise_title.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_internal_trade_condition_specialise_title.xml [utf8] Mon Nov 29 11:48:13 2010
@@ -101,9 +101,17 @@
<value>
<list>
<tuple>
+ <string>Base_viewRelatedObjectListBase/listbox</string>
+ <string>All</string>
+ </tuple>
+ <tuple>
<string>PurchaseTradeConditionModule_viewPurchaseTradeConditionList/listbox</string>
<string>Purchase Trade Conditions</string>
</tuple>
+ <tuple>
+ <string>SaleTradeConditionModule_viewsaleTradeConditionList/listbox</string>
+ <string>Sale Trade Conditions</string>
+ </tuple>
</list>
</value>
</item>
@@ -113,7 +121,7 @@
</item>
<item>
<key> <string>title</string> </key>
- <value> <string>Internal Trade Condition</string> </value>
+ <value> <string>Trade Condition</string> </value>
</item>
</dictionary>
</value>
Added: erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_applyTradeCondition.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_applyTradeCondition.xml?rev=40864&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_applyTradeCondition.xml (added)
+++ erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_applyTradeCondition.xml [utf8] Mon Nov 29 11:48:13 2010
@@ -0,0 +1,222 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>Script_magic</string> </key>
+ <value> <int>3</int> </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 encoding="cdata"><![CDATA[
+
+# This script searches for a trade condition matching the order\n
+# and tries to complete some fields\n
+\n
+order = context\n
+Base_translateString = context.Base_translateString\n
+trade_condition_portal_type_list = (\'Purchase Trade Condition\', \'Sale Trade Condition\',)\n
+\n
+trade_condition_list = order.getSpecialiseValueList(\n
+ portal_type=trade_condition_portal_type_list)\n
+\n
+tested_base_category_list = [ ]\n
+for base_category in (\'source_section\', \'source\',\n
+ \'destination_section\', \'destination\', ):\n
+ if context.getProperty(base_category):\n
+ tested_base_category_list.append(base_category)\n
+\n
+count = len(tested_base_category_list) + 1\n
+\n
+# if no date is defined, use today\'s date to retrieve predicate that define start_date_range_min/max\n
+if order.getStartDate() is None:\n
+ predicate_context = order.asContext(start_date=DateTime())\n
+else:\n
+ predicate_context = order\n
+\n
+def rank_method(trade_condition):\n
+ rank = 0\n
+ destination_section = trade_condition.getDestinationSection()\n
+ if destination_section:\n
+ if destination_section == context.getDestinationSection():\n
+ rank += 10\n
+ else:\n
+ rank -= 2\n
+ destination = trade_condition.getDestination()\n
+ if destination:\n
+ if destination == context.getDestination():\n
+ rank += 10\n
+ else:\n
+ rank -= 2\n
+ if trade_condition.getSourceSection():\n
+ rank += 1\n
+ if trade_condition.getSource():\n
+ rank += 1\n
+ rank += len(trade_condition.getSpecialiseList())\n
+ if trade_condition.getValidationState() == \'validated\':\n
+ rank += 2\n
+ return rank\n
+\n
+def sort_method(a, b):\n
+ return -cmp(rank_method(a), rank_method(b))\n
+\n
+while count > 0 and len(trade_condition_list) == 0:\n
+ count -= 1\n
+ trade_condition_list = context.portal_domains.searchPredicateList(\n
+ predicate_context, portal_type=trade_condition_portal_type_list,\n
+ tested_base_category_list=tested_base_category_list[:count],\n
+ sort_method=sort_method)\n
+\n
+if len(trade_condition_list ) == 0:\n
+ message = Base_translateString(\'No trade condition.\')\n
+else :\n
+ # if more than one trade condition is found, simply apply the first one\n
+ trade_condition=trade_condition_list[0].getObject()\n
+\n
+ order.Order_applyTradeCondition(trade_condition, force=force)\n
+ # set date\n
+ if hasattr(order, \'getReceivedDate\') and order.getReceivedDate() is None:\n
+ context.setReceivedDate(DateTime())\n
+\n
+ message = Base_translateString(\'Order updated.\')\n
+\n
+if not batch_mode:\n
+ return context.Base_redirect(form_id,\n
+ keep_items=dict(portal_status_message=message))\n
+
+
+]]></string> </value>
+ </item>
+ <item>
+ <key> <string>_code</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>_params</string> </key>
+ <value> <string>form_id=\'view\', batch_mode=0, force=1</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>3</int> </value>
+ </item>
+ <item>
+ <key> <string>co_varnames</string> </key>
+ <value>
+ <tuple>
+ <string>form_id</string>
+ <string>batch_mode</string>
+ <string>force</string>
+ <string>context</string>
+ <string>order</string>
+ <string>_getattr_</string>
+ <string>Base_translateString</string>
+ <string>trade_condition_portal_type_list</string>
+ <string>trade_condition_list</string>
+ <string>tested_base_category_list</string>
+ <string>_getiter_</string>
+ <string>base_category</string>
+ <string>len</string>
+ <string>count</string>
+ <string>None</string>
+ <string>DateTime</string>
+ <string>predicate_context</string>
+ <string>rank_method</string>
+ <string>sort_method</string>
+ <string>_inplacevar_</string>
+ <string>_getitem_</string>
+ <string>message</string>
+ <string>trade_condition</string>
+ <string>hasattr</string>
+ <string>dict</string>
+ </tuple>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>func_defaults</string> </key>
+ <value>
+ <tuple>
+ <string>view</string>
+ <int>0</int>
+ <int>1</int>
+ </tuple>
+ </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>InternalOrder_applyTradeCondition</string> </value>
+ </item>
+ <item>
+ <key> <string>warnings</string> </key>
+ <value>
+ <tuple/>
+ </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Added: erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_viewApplyInternalTradeConditionDialog.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_viewApplyInternalTradeConditionDialog.xml?rev=40864&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_viewApplyInternalTradeConditionDialog.xml (added)
+++ erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_viewApplyInternalTradeConditionDialog.xml [utf8] Mon Nov 29 11:48:13 2010
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <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/>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>action</string> </key>
+ <value> <string>InternalOrder_applyTradeCondition</string> </value>
+ </item>
+ <item>
+ <key> <string>description</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>edit_order</string> </key>
+ <value>
+ <list/>
+ </value>
+ </item>
+ <item>
+ <key> <string>encoding</string> </key>
+ <value> <string>UTF-8</string> </value>
+ </item>
+ <item>
+ <key> <string>enctype</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>group_list</string> </key>
+ <value>
+ <list>
+ <string>left</string>
+ <string>right</string>
+ <string>center</string>
+ <string>bottom</string>
+ <string>hidden</string>
+ </list>
+ </value>
+ </item>
+ <item>
+ <key> <string>groups</string> </key>
+ <value>
+ <dictionary>
+ <item>
+ <key> <string>bottom</string> </key>
+ <value>
+ <list/>
+ </value>
+ </item>
+ <item>
+ <key> <string>center</string> </key>
+ <value>
+ <list/>
+ </value>
+ </item>
+ <item>
+ <key> <string>hidden</string> </key>
+ <value>
+ <list/>
+ </value>
+ </item>
+ <item>
+ <key> <string>left</string> </key>
+ <value>
+ <list/>
+ </value>
+ </item>
+ <item>
+ <key> <string>right</string> </key>
+ <value>
+ <list/>
+ </value>
+ </item>
+ </dictionary>
+ </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>InternalOrder_viewApplyInternalTradeConditionDialog</string> </value>
+ </item>
+ <item>
+ <key> <string>method</string> </key>
+ <value> <string>POST</string> </value>
+ </item>
+ <item>
+ <key> <string>name</string> </key>
+ <value> <string>InternalOrder_viewApplyInternalTradeConditionDialog</string> </value>
+ </item>
+ <item>
+ <key> <string>pt</string> </key>
+ <value> <string>form_dialog</string> </value>
+ </item>
+ <item>
+ <key> <string>row_length</string> </key>
+ <value> <int>4</int> </value>
+ </item>
+ <item>
+ <key> <string>stored_encoding</string> </key>
+ <value> <string>UTF-8</string> </value>
+ </item>
+ <item>
+ <key> <string>title</string> </key>
+ <value> <string>Apply Trade Condition</string> </value>
+ </item>
+ <item>
+ <key> <string>unicode_mode</string> </key>
+ <value> <int>0</int> </value>
+ </item>
+ <item>
+ <key> <string>update_action</string> </key>
+ <value> <string></string> </value>
+ </item>
+ <item>
+ <key> <string>update_action_title</string> </key>
+ <value> <string></string> </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
Modified: erp5/trunk/bt5/erp5_trade/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/bt/revision?rev=40864&r1=40863&r2=40864&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/bt/revision [utf8] Mon Nov 29 11:48:13 2010
@@ -1 +1 @@
-1061
\ No newline at end of file
+1062
\ No newline at end of file
Modified: erp5/trunk/bt5/erp5_trade/bt/template_action_path_list
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/bt/template_action_path_list?rev=40864&r1=40863&r2=40864&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/bt/template_action_path_list [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/bt/template_action_path_list [utf8] Mon Nov 29 11:48:13 2010
@@ -16,6 +16,7 @@ Internal Order Line | profile_view
Internal Order Line | quantity_view
Internal Order Line | view
Internal Order Module | view
+Internal Order | apply_trade_condition
Internal Order | fast_input
Internal Order | fast_input_update
Internal Order | jump_to_related_internal_packing_list
More information about the Erp5-report
mailing list