From 2456fda75d4810d01d2a257a68dbcf78a7003c5e Mon Sep 17 00:00:00 2001 From: Yusei Tahara <yusei@nexedi.com> Date: Fri, 21 May 2010 08:38:03 +0000 Subject: [PATCH] 2010-05-21 yusei * Display preferred uses if preference is set. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@35511 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../Base_getPreferredCategoryItemList.xml | 163 ++++++++++++++++++ .../erp5_trade/Base_viewTradeFieldLibrary.xml | 2 + .../my_view_mode_order_use.xml | 123 +++++++++++++ .../my_view_mode_packing_use.xml | 123 +++++++++++++ ...OrderLine_getPreferredCategoryItemList.xml | 131 ++++++++++++++ .../erp5_trade/OrderLine_view/my_use.xml | 2 +- .../PackingListLine_view/my_use.xml | 2 +- bt5/erp5_trade/bt/change_log | 3 + bt5/erp5_trade/bt/revision | 2 +- 9 files changed, 548 insertions(+), 3 deletions(-) create mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_getPreferredCategoryItemList.xml create mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_order_use.xml create mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_packing_use.xml create mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_getPreferredCategoryItemList.xml diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_getPreferredCategoryItemList.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_getPreferredCategoryItemList.xml new file mode 100644 index 0000000000..b471702d50 --- /dev/null +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_getPreferredCategoryItemList.xml @@ -0,0 +1,163 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + <tuple/> + </tuple> + </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>from Products.ERP5Type.Utils import UpperCase\n +\n +portal_categories = context.portal_categories\n +portal_preferences = context.portal_preferences\n +method_id = portal_preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\')\n +category = getattr(portal_categories, category_id)\n +\n +item_list = getattr(category, method_id)(local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')\n +\n +if not mode:\n + return item_list\n +\n +preferred_list_method_id = \'get%s\' % (UpperCase(\'preferred_%s_%s_list\' % (mode, category_id)))\n +preferred_category_relative_url_list = [portal_categories.getCategoryValue(relative_url).getCategoryRelativeUrl()\n + for relative_url in getattr(portal_preferences, preferred_list_method_id)()]\n +\n +if not preferred_category_relative_url_list:\n + return item_list\n +\n +# XXX result should be cached.\n +return [item for item in item_list\n + if (item[1]==\'\' or item[1] in preferred_category_relative_url_list)]\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>category_id, mode=None</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>2</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>category_id</string> + <string>mode</string> + <string>Products.ERP5Type.Utils</string> + <string>UpperCase</string> + <string>_getattr_</string> + <string>context</string> + <string>portal_categories</string> + <string>portal_preferences</string> + <string>method_id</string> + <string>getattr</string> + <string>category</string> + <string>item_list</string> + <string>preferred_list_method_id</string> + <string>append</string> + <string>$append0</string> + <string>_getiter_</string> + <string>relative_url</string> + <string>preferred_category_relative_url_list</string> + <string>item</string> + <string>_getitem_</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <tuple> + <none/> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Base_getPreferredCategoryItemList</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml index 24a07c9e2b..2cd8ab7a7d 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml @@ -307,6 +307,8 @@ <string>my_report_mode_report_box</string> <string>my_view_mode_preferred_sale_base_amount_list</string> <string>my_view_mode_preferred_purchase_base_amount_list</string> + <string>my_view_mode_packing_use</string> + <string>my_view_mode_order_use</string> </list> </value> </item> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_order_use.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_order_use.xml new file mode 100644 index 0000000000..a1c09de9d1 --- /dev/null +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_order_use.xml @@ -0,0 +1,123 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>items</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>my_view_mode_order_use</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_view_mode_use</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewTradeFieldLibrary</string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python:here.OrderLine_getPreferredCategoryItemList(category_id=\'use\')</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_packing_use.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_packing_use.xml new file mode 100644 index 0000000000..638a82948d --- /dev/null +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_packing_use.xml @@ -0,0 +1,123 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>items</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>my_view_mode_packing_use</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_view_mode_use</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewTradeFieldLibrary</string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python:here.Base_getPreferredCategoryItemList(mode=\'packing\', category_id=\'use\')</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_getPreferredCategoryItemList.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_getPreferredCategoryItemList.xml new file mode 100644 index 0000000000..118a0fae37 --- /dev/null +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_getPreferredCategoryItemList.xml @@ -0,0 +1,131 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + <tuple/> + </tuple> + </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>mode = None\n +#WAAA Using portal_type is not good\n +if context.portal_type.startswith(\'Sale\'):\n + mode = \'sale\'\n +elif context.portal_type.startswith(\'Purchase\'):\n + mode = \'purchase\'\n +return context.Base_getPreferredCategoryItemList(mode=mode, category_id=category_id)\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>category_id</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>1</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>category_id</string> + <string>None</string> + <string>mode</string> + <string>_getattr_</string> + <string>context</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>OrderLine_getPreferredCategoryItemList</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_view/my_use.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_view/my_use.xml index e52cf75d74..bc58678286 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_view/my_use.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/OrderLine_view/my_use.xml @@ -74,7 +74,7 @@ <dictionary> <item> <key> <string>field_id</string> </key> - <value> <string>my_view_mode_use</string> </value> + <value> <string>my_view_mode_order_use</string> </value> </item> <item> <key> <string>form_id</string> </key> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingListLine_view/my_use.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingListLine_view/my_use.xml index e52cf75d74..99d628fc35 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingListLine_view/my_use.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingListLine_view/my_use.xml @@ -74,7 +74,7 @@ <dictionary> <item> <key> <string>field_id</string> </key> - <value> <string>my_view_mode_use</string> </value> + <value> <string>my_view_mode_packing_use</string> </value> </item> <item> <key> <string>form_id</string> </key> diff --git a/bt5/erp5_trade/bt/change_log b/bt5/erp5_trade/bt/change_log index 4cea8991e4..66c0823159 100644 --- a/bt5/erp5_trade/bt/change_log +++ b/bt5/erp5_trade/bt/change_log @@ -1,3 +1,6 @@ +2010-05-21 yusei +* Display preferred uses if preference is set. + 2010-05-21 yusei * Add two system preference properties for base amount category. diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision index 36699e7561..7e4cc17117 100644 --- a/bt5/erp5_trade/bt/revision +++ b/bt5/erp5_trade/bt/revision @@ -1 +1 @@ -933 \ No newline at end of file +934 \ No newline at end of file -- 2.30.9