From b4aa371155b96f2078ceb75158e0bbe46d6aa942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Tue, 4 Mar 2008 17:51:57 +0000 Subject: [PATCH] 2008-3-4 jerome * add a fast input to group accounting lines from invoice and corresponding payment. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@19676 20353a03-c40f-0410-a6d1-a30d3c3de9de --- ...ransactionLineListForGroupingReference.xml | 226 ++++++++ ...TransactionModule_setGroupingReference.xml | 350 +++++++++++ ...nsactionModule_updateGroupingReference.xml | 174 ++++++ ...tionModule_viewGroupingFastInputDialog.xml | 166 ++++++ .../listbox.xml | 546 ++++++++++++++++++ .../listbox_credit.xml | 153 +++++ .../listbox_debit.xml | 166 ++++++ .../listbox_delivery_portal_type.xml | 287 +++++++++ .../listbox_delivery_reference.xml} | 16 +- .../listbox_node_title.xml | 287 +++++++++ .../total_selected_amount.xml | 296 ++++++++++ .../your_grouping.xml | 189 ++++++ .../your_mirror_section.xml | 299 ++++++++++ .../your_node.xml | 310 ++++++++++ ...ccountingTransaction_guessGroupedLines.xml | 264 +++++++++ .../Entity_viewAccountingTransactionList.xml | 1 - .../listbox.xml | 4 - .../listbox_credit.xml | 7 +- .../listbox_date.xml | 7 +- .../listbox_debit.xml | 7 +- .../listbox_running_total_price.xml | 7 +- .../listbox_total_price.xml | 7 +- .../my_title.xml | 7 +- .../preferred_at_date.xml | 7 +- .../preferred_from_date.xml | 7 +- .../preferred_section.xml | 7 +- .../preferred_simulation_state.xml | 7 +- .../erp5_accounting/letter.png.xml | 88 +++ bt5/erp5_accounting/bt/change_log | 3 + bt5/erp5_accounting/bt/revision | 2 +- .../bt/template_action_path_list | 4 + 31 files changed, 3837 insertions(+), 64 deletions(-) create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_setGroupingReference.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_updateGroupingReference.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_credit.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_debit.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_portal_type.xml rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/{Entity_viewAccountingTransactionList/listbox_grouping_reference.xml => AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_reference.xml} (97%) create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_node_title.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/total_selected_amount.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_grouping.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_mirror_section.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_node.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_guessGroupedLines.xml create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/letter.png.xml diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml new file mode 100644 index 00000000000..e433ae010f7 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml @@ -0,0 +1,226 @@ +<?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>Python_magic</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </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>request = container.REQUEST\n +portal = context.getPortalObject()\n +ctool = portal.portal_catalog\n +stool = portal.portal_simulation\n +\n +# we use a different selection for dialog params, because we never want this\n +# selection to be reseteted\n +dialog_params_selection = portal.portal_selections.getSelectionFor(\n + \'grouping_reference_fast_input_selection\')\n +selection_params = {}\n +if dialog_params_selection is not None:\n + selection_params = dialog_params_selection.getParams()\n +\n +# support pseudo sorting; sorting is done by uid.\n +orig_sort_on = portal.portal_selections.getSelectionSortOrder(\n + \'accounting_transaction_module_grouping_reference_fast_input\')\n +sort_on = []\n +for sort_column, sort_order in orig_sort_on:\n + if sort_column == \'node_title\':\n + sort_on += [(\'stock.node_uid\', sort_order)]\n + elif sort_column == \'mirror_section_title\':\n + sort_on += [(\'stock.mirror_section_uid\', sort_order)]\n +\n +extra_query_keys = {}\n +section_uid = portal.Base_getSectionUidListForSectionCategory(\n + portal.portal_preferences.getPreferredAccountingTransactionSectionCategory())\n +\n +# unconditionnaly get from dialog selection\n +grouping = selection_params.get(\'grouping\')\n +\n +search_kw = dict()\n +node = node or request.get(\'node\') or selection_params.get(\'node\')\n +if node:\n + search_kw[\'node_uid\'] = portal.restrictedTraverse(node).getUid()\n +mirror_section = mirror_section or request.get(\'mirror_section\')\n +if mirror_section:\n + search_kw[\'mirror_section_uid\'] = portal.restrictedTraverse(\n + mirror_section).getUid()\n +\n +if grouping:\n + where_expression = \'catalog.grouping_reference is NULL\'\n +else:\n + where_expression = \'catalog.grouping_reference is not NULL\'\n + \n +return stool.getMovementHistoryList(\n + section_uid=section_uid,\n + simulation_state=[\'stopped\', \'delivered\'],\n + where_expression=where_expression,\n + sort_on=sort_on,\n + **search_kw)\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_filepath</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_owner</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>selection=None, grouping=0, node=\'\', mirror_section=\'\', **kw</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>4</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>selection</string> + <string>grouping</string> + <string>node</string> + <string>mirror_section</string> + <string>kw</string> + <string>_getattr_</string> + <string>container</string> + <string>request</string> + <string>context</string> + <string>portal</string> + <string>ctool</string> + <string>stool</string> + <string>dialog_params_selection</string> + <string>selection_params</string> + <string>None</string> + <string>orig_sort_on</string> + <string>sort_on</string> + <string>_getiter_</string> + <string>sort_column</string> + <string>sort_order</string> + <string>_inplacevar_</string> + <string>extra_query_keys</string> + <string>section_uid</string> + <string>dict</string> + <string>search_kw</string> + <string>_write_</string> + <string>where_expression</string> + <string>_apply_</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <tuple> + <none/> + <int>0</int> + <string></string> + <string></string> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>AccountingTransactionModule_getTransactionLineListForGroupingReference</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_setGroupingReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_setGroupingReference.xml new file mode 100644 index 00000000000..fe1e24b0eee --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_setGroupingReference.xml @@ -0,0 +1,350 @@ +<?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>Python_magic</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </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>"""Set grouping reference for selected lines.\n +Used as a fast input dialog action.\n +"""\n +from ZTUtils import make_query\n +from ZODB.POSException import ConflictError\n +portal = context.getPortalObject()\n +getobject = portal.portal_catalog.getobject\n +N_ = portal.Base_translateString\n +psm = N_(\'Nothing matches\')\n +reset = 0\n +precision = context.REQUEST.get(\'precision\', 2)\n +\n +# XXX when should it be validated ?\n +if node == \'\':\n + node = context.REQUEST.get(\'field_your_node\', node)\n +if mirror_section == \'\':\n + mirror_section = context.REQUEST.get(\'field_your_mirror_section\',\n + mirror_section)\n +if grouping == \'\':\n + grouping = context.REQUEST.get(\'field_your_grouping\', grouping)\n +\n +# edit selection for dialog parameters\n +portal.portal_selections.setSelectionParamsFor(\n + \'grouping_reference_fast_input_selection\',\n + params=dict(node=node,\n + grouping=grouping,\n + mirror_section=mirror_section))\n +\n +# calculate total selected amount \n +total_selected_amount = 0\n +if uids:\n + for uid in uids:\n + line = getobject(uid)\n + if line.AccountingTransaction_isSourceView(): # XXX not optimal !\n + total_selected_amount += (line.getSourceInventoriatedTotalAssetPrice() or 0)\n + else:\n + total_selected_amount += (line.getDestinationInventoriatedTotalAssetPrice() or 0)\n +\n +if update:\n + # update selected uids \n + portal.portal_selections.updateSelectionCheckedUidList(\n + selection_name, uids=uids, listbox_uid=listbox_uid,\n + REQUEST=context.REQUEST)\n + \n + psm = N_(\'Updated\')\n + return context.REQUEST.RESPONSE.redirect(\n + \'%s/AccountingTransactionModule_viewGroupingFastInputDialog?%s\' % (\n + context.absolute_url(),\n + make_query(dict(node=node,\n + grouping=grouping,\n + mirror_section=mirror_section,\n + cancel_url=cancel_url,\n + total_selected_amount=total_selected_amount,\n + portal_status_message=psm))))\n +\n +# otherwise, try to group...\n +if grouping:\n + grouped_line_list = context.AccountingTransaction_guessGroupedLines(\n + accounting_transaction_line_uid_list=uids)\n + if grouped_line_list:\n + psm = N_(\'${grouped_line_count} Lines Grouped\',\n + mapping=dict(grouped_line_count=len(grouped_line_list)))\n + reset = 1\n +\n + # we check if we can mark some transaction as payed.\n + transaction_list = {}\n + for line in grouped_line_list:\n + transaction_list[portal.restrictedTraverse(line).getParentValue()] = 1\n + \n + for transaction in transaction_list.keys():\n + # Check if this document has a payment_state\n + if getattr(transaction, \'getPaymentState\', None) is not None:\n + # if all [recievable|payable] lines were grouped, we can mark this\n + # invoice as payed.\n + cleared = 1\n + for line in transaction.getMovementList(\n + portal_type=portal.getPortalAccountingMovementTypeList()):\n + if transaction.AccountingTransaction_isSourceView():\n + account = line.getSourceValue(portal_type=\'Account\')\n + else:\n + account = line.getDestinationValue(portal_type=\'Account\')\n + if account is not None and account.getAccountTypeId() in ( \'payable\',\n + \'receivable\' ):\n + if line.getRelativeUrl() not in grouped_line_list:\n + cleared = 0\n +\n + if cleared and transaction.getPaymentState() != \'cleared\':\n + if transaction.AccountingTransaction_isSourceView():\n + date = transaction.getStartDate()\n + else:\n + date = transaction.getStopDate()\n + # XXX specific !\n + try:\n + portal.portal_workflow.doActionFor(transaction, \'clear_action\',\n + payment_date=date)\n + except ConflictError:\n + raise\n + except:\n + # Workflow action not supported\n + pass\n +else:\n + # or to ungroup based on how we are called.\n + amount_per_node_mirror_section = dict()\n + # XXX is uids multi page safe here ?\n + line_list = [getobject(line_uid) for line_uid in uids]\n + for line in line_list:\n + if line.AccountingTransaction_isSourceView(): # XXX not optimal !\n + key = (line.getSource(), line.getDestinationSection())\n + amount = amount_per_node_mirror_section.get(key, 0)\n + amount_per_node_mirror_section[key] = amount +\\\n + (line.getSourceInventoriatedTotalAssetPrice() or 0)\n + else:\n + key = (line.getDestination(), line.getSourceSection())\n + amount = amount_per_node_mirror_section.get(key, 0)\n + amount_per_node_mirror_section[key] = amount +\\\n + (line.getDestinationInventoriatedTotalAssetPrice() or 0)\n + \n + valid = 1\n + for node_mirror_section, amount in amount_per_node_mirror_section.items():\n + if round(amount, precision) != 0:\n + valid = 0\n + \n + if line_list:\n + ref = line_list[0].getGroupingReference()\n + for line in line_list:\n + if line.getGroupingReference() != ref:\n + valid = 0\n +\n + if valid:\n + psm = N_(\'${ungrouped_line_count} Lines Ungrouped\',\n + mapping=dict(ungrouped_line_count=len(uids)))\n + reset = 1\n + for line in line_list:\n + line.setGroupingReference(None)\n + else:\n + psm = N_(\'Ungrouping refused. Check your selection\')\n +\n +context.REQUEST.RESPONSE.redirect(\n + \'%s/AccountingTransactionModule_viewGroupingFastInputDialog?%s\' % (\n + context.absolute_url(),\n + make_query(dict(node=node,\n + grouping=grouping,\n + mirror_section=mirror_section,\n + cancel_url=cancel_url,\n + total_selected_amount=total_selected_amount,\n + reset=reset,\n + portal_status_message=psm))))\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_filepath</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_owner</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>uids=[], listbox=None, listbox_uid=[], selection_name=\'\', grouping=\'\', node=\'\', mirror_section=\'\', cancel_url=\'\', update=0, **kw</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>9</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>uids</string> + <string>listbox</string> + <string>listbox_uid</string> + <string>selection_name</string> + <string>grouping</string> + <string>node</string> + <string>mirror_section</string> + <string>cancel_url</string> + <string>update</string> + <string>kw</string> + <string>ZTUtils</string> + <string>make_query</string> + <string>ZODB.POSException</string> + <string>ConflictError</string> + <string>_getattr_</string> + <string>context</string> + <string>portal</string> + <string>getobject</string> + <string>N_</string> + <string>psm</string> + <string>reset</string> + <string>precision</string> + <string>dict</string> + <string>total_selected_amount</string> + <string>_getiter_</string> + <string>uid</string> + <string>line</string> + <string>_inplacevar_</string> + <string>grouped_line_list</string> + <string>len</string> + <string>transaction_list</string> + <string>_write_</string> + <string>transaction</string> + <string>getattr</string> + <string>None</string> + <string>cleared</string> + <string>account</string> + <string>date</string> + <string>amount_per_node_mirror_section</string> + <string>append</string> + <string>$append0</string> + <string>line_uid</string> + <string>line_list</string> + <string>key</string> + <string>amount</string> + <string>valid</string> + <string>node_mirror_section</string> + <string>round</string> + <string>_getitem_</string> + <string>ref</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <tuple> + <list/> + <none/> + <list/> + <string></string> + <string></string> + <string></string> + <string></string> + <string></string> + <int>0</int> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>AccountingTransactionModule_setGroupingReference</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_updateGroupingReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_updateGroupingReference.xml new file mode 100644 index 00000000000..a25ccf071b6 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_updateGroupingReference.xml @@ -0,0 +1,174 @@ +<?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>Python_magic</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </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># we must keep parameters in sync with\n +# AccountingTransactionModule_setGroupingReference we cannot use **kw, because\n +# of ZPublisher introspection that pass automatically only named parameters\n +\n +return context.AccountingTransactionModule_setGroupingReference(\n + uids=uids,\n + listbox=listbox,\n + listbox_uid=listbox_uid,\n + selection_name=list_selection_name,\n + node=node,\n + mirror_section=mirror_section,\n + update=1,\n + cancel_url=cancel_url)\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_filepath</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_owner</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>uids=[], listbox=None, listbox_uid=[], list_selection_name=\'\', node=\'\', mirror_section=\'\', cancel_url, **kw</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>7</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>uids</string> + <string>listbox</string> + <string>listbox_uid</string> + <string>list_selection_name</string> + <string>node</string> + <string>mirror_section</string> + <string>cancel_url</string> + <string>kw</string> + <string>_getattr_</string> + <string>context</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <tuple> + <list/> + <none/> + <list/> + <string></string> + <string></string> + <string></string> + <none/> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>AccountingTransactionModule_updateGroupingReference</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml new file mode 100644 index 00000000000..26f441a544b --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog.xml @@ -0,0 +1,166 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ERP5Form" module="Products.ERP5Form.Form"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </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/> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>_owner</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>action</string> </key> + <value> <string>AccountingTransactionModule_setGroupingReference</string> </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> + <string>listbox</string> + </list> + </value> + </item> + <item> + <key> <string>center</string> </key> + <value> + <list> + <string>your_node</string> + <string>your_mirror_section</string> + </list> + </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> + <list> + <string>listbox_delivery_reference</string> + <string>listbox_debit</string> + <string>listbox_credit</string> + <string>listbox_delivery_portal_type</string> + <string>listbox_node_title</string> + </list> + </value> + </item> + <item> + <key> <string>left</string> </key> + <value> + <list> + <string>your_grouping</string> + </list> + </value> + </item> + <item> + <key> <string>right</string> </key> + <value> + <list> + <string>total_selected_amount</string> + </list> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>AccountingTransactionModule_viewGroupingFastInputDialog</string> </value> + </item> + <item> + <key> <string>method</string> </key> + <value> <string>POST</string> </value> + </item> + <item> + <key> <string>name</string> </key> + <value> <string>AccountingTranscationModule_viewGroupingFastInputDialog</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>Grouping Reference Fast Input</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>AccountingTransactionModule_updateGroupingReference</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml new file mode 100644 index 00000000000..d5973244c3e --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox.xml @@ -0,0 +1,546 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <tuple> + <string>Products.ERP5Form.ListBox</string> + <string>ListBox</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>listbox</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>all_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> + <list> + <tuple> + <string>delivery_reference</string> + <string>Transaction Reference</string> + </tuple> + <tuple> + <string>delivery_portal_type</string> + <string>Transaction Type</string> + </tuple> + <tuple> + <string>node_title</string> + <string>Account</string> + </tuple> + <tuple> + <string>Movement_getMirrorSectionTitle</string> + <string>Third Party</string> + </tuple> + <tuple> + <string>grouping_reference</string> + <string>Grouping</string> + </tuple> + <tuple> + <string>debit</string> + <string>Debit</string> + </tuple> + <tuple> + <string>credit</string> + <string>Credit</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> + <list> + <tuple> + <string>debit</string> + <string>Debit</string> + </tuple> + <tuple> + <string>credit</string> + <string>Credit</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <int>20</int> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string>list</string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string>accounting_transaction_module_grouping_reference_fast_input</string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> + <list> + <tuple> + <string>node_title</string> + <string>Account</string> + </tuple> + <tuple> + <string>mirror_section_title</string> + <string>Third Party</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Grouping Reference Fast Input</string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> + <list/> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.MethodField</string> + <string>Method</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>method_name</string> </key> + <value> <string>AccountingTransactionModule_getTransactionLineListForGroupingReference</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_credit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_credit.xml new file mode 100644 index 00000000000..51105d14a05 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_credit.xml @@ -0,0 +1,153 @@ +<?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>default</string> + <string>precision</string> + <string>editable</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_credit</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>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <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>precision</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</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>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>listbox_source_credit</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>AccountingTransaction_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>precision</string> </key> + <value> <string></string> </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: max( - cell.total_price, 0) or 0</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>request/precision | python: 2</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_debit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_debit.xml new file mode 100644 index 00000000000..c14952f62a5 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_debit.xml @@ -0,0 +1,166 @@ +<?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>title</string> + <string>default</string> + <string>precision</string> + <string>editable</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_debit</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>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <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>precision</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>listbox_source_debit</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>AccountingTransaction_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>precision</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Debit</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: max(cell.total_price, 0)</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>request/precision | python: 2</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_portal_type.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_portal_type.xml new file mode 100644 index 00000000000..e8ba5986db1 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_portal_type.xml @@ -0,0 +1,287 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.StandardFields</string> + <string>StringField</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_delivery_portal_type</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> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + <item> + <key> <string>too_long</string> </key> + <value> <string>Too much input was given.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <int>20</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Explanation Portal Type</string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.TALESField</string> + <string>TALESMethod</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python: cell.getExplanationValue().getTranslatedPortalType()</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_grouping_reference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_reference.xml similarity index 97% rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_grouping_reference.xml rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_reference.xml index 37ed4763e06..acab68e3023 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_grouping_reference.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_delivery_reference.xml @@ -14,7 +14,7 @@ <dictionary> <item> <key> <string>id</string> </key> - <value> <string>listbox_grouping_reference</string> </value> + <value> <string>listbox_delivery_reference</string> </value> </item> <item> <key> <string>message_values</string> </key> @@ -124,7 +124,9 @@ </item> <item> <key> <string>default</string> </key> - <value> <string></string> </value> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> </item> <item> <key> <string>description</string> </key> @@ -144,9 +146,7 @@ </item> <item> <key> <string>enabled</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> + <value> <string></string> </value> </item> <item> <key> <string>external_validator</string> </key> @@ -213,7 +213,7 @@ </item> <item> <key> <string>display_width</string> </key> - <value> <int>3</int> </value> + <value> <int>20</int> </value> </item> <item> <key> <string>editable</string> </key> @@ -245,7 +245,7 @@ </item> <item> <key> <string>title</string> </key> - <value> <string>listbox_grouping_reference</string> </value> + <value> <string>Delivery Reference</string> </value> </item> <item> <key> <string>truncate</string> </key> @@ -279,7 +279,7 @@ <dictionary> <item> <key> <string>_text</string> </key> - <value> <string>request/cell/is_previous_balance | python:1</string> </value> + <value> <string>cell/getExplanationReference</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_node_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_node_title.xml new file mode 100644 index 00000000000..a61bc3c8af6 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/listbox_node_title.xml @@ -0,0 +1,287 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.StandardFields</string> + <string>StringField</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_node_title</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> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + <item> + <key> <string>too_long</string> </key> + <value> <string>Too much input was given.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <int>20</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Node Title</string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.TALESField</string> + <string>TALESMethod</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python: here.getPortalObject().restrictedTraverse(cell.node_relative_url).Account_getFormattedTitle()</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/total_selected_amount.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/total_selected_amount.xml new file mode 100644 index 00000000000..db3cd18aa86 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/total_selected_amount.xml @@ -0,0 +1,296 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.StandardFields</string> + <string>FloatField</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>total_selected_amount</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> + <item> + <key> <string>not_float</string> </key> + <value> <string>You did not enter a floating point number.</string> </value> + </item> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>input_style</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>precision</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>input_style</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>precision</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string>figure</string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <int>20</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>input_style</string> </key> + <value> <string>-1 234.5</string> </value> + </item> + <item> + <key> <string>precision</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Total Selected Amount</string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.TALESField</string> + <string>TALESMethod</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>request/total_selected_amount | python: 0</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.TALESField</string> + <string>TALESMethod</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>request/precision | python: 2</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_grouping.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_grouping.xml new file mode 100644 index 00000000000..7f7505b1bf2 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_grouping.xml @@ -0,0 +1,189 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="CheckBoxField" module="Products.Formulator.StandardFields"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>your_grouping</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>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Grouping (or ungroupping)</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>request/grouping | python:here.portal_selections.getSelectionParamsFor(\'grouping_reference_fast_input_selection\').get(\'grouping\', 0)</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_mirror_section.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_mirror_section.xml new file mode 100644 index 00000000000..7cfc47596c2 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_mirror_section.xml @@ -0,0 +1,299 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="StringField" module="Products.Formulator.StandardFields"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>your_mirror_section</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> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + <item> + <key> <string>too_long</string> </key> + <value> <string>Too much input was given.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <int>20</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>your_mirror_section</string> </value> + </item> + <item> + <key> <string>truncate</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </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>request/mirror_section | nothing</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>string:</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_node.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_node.xml new file mode 100644 index 00000000000..742be524361 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_viewGroupingFastInputDialog/your_node.xml @@ -0,0 +1,310 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.StandardFields</string> + <string>ListField</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>your_node</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> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + <item> + <key> <string>unknown_selection</string> </key> + <value> <string>You selected an item that was not in the list.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>first_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>size</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>first_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>size</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>first_item</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>size</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Account</string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.TALESField</string> + <string>TALESMethod</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>request/node | python:here.portal_selections.getSelectionParamsFor(\'grouping_reference_fast_input_selection\').get(\'node\')</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <tuple> + <tuple> + <string>Products.Formulator.TALESField</string> + <string>TALESMethod</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>here/AccountingTransactionLine_getNodeItemList</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_guessGroupedLines.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_guessGroupedLines.xml new file mode 100644 index 00000000000..82db054e234 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_guessGroupedLines.xml @@ -0,0 +1,264 @@ +<?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>Python_magic</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </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>"""Guess a grouping references for lines whose uids are passed as\n +accounting_transaction_line_uid_list.\n +If accounting_transaction_line_uid_list is not passed, this script assumes that\n +it\'s called on the context of an accounting transaction and it guess the group\n +of accounting transaction using causality relations.\n +"""\n +\n +# this dict associates (node, section, mirror_section) to a list of\n +# accounting lines info (ie total_price and path).\n +lines_per_node = {}\n +\n +portal = context.getPortalObject()\n +ctool = portal.portal_catalog\n +\n +allow_grouping_with_different_quantity = portal.portal_preferences.getPreference(\n + \'preferred_grouping_with_different_quantities\', 0)\n +\n +def isSource(accounting_transaction):\n + section_cat = portal.portal_preferences\\\n + .getPreferredAccountingTransactionSectionCategory()\n + section = accounting_transaction.getSourceSectionValue(\n + portal_type=\'Organisation\')\n + return section is not None and section.isMemberOf(section_cat)\n +\n +accounting_transaction_line_value_list = []\n +if accounting_transaction_line_uid_list is None:\n + for accounting_transaction in context\\\n + .AccountingTransaction_getCausalityGroupedAccountingTransactionList():\n + if accounting_transaction.getSimulationState() not in (\'stopped\', \'delivered\') and\\\n + accounting_transaction.getUid() != context.getUid():\n + continue\n + for line in accounting_transaction.getMovementList(\n + portal.getPortalAccountingMovementTypeList()):\n + if line.getGroupingReference():\n + continue\n + accounting_transaction_line_value_list.append(line)\n +else:\n + accounting_transaction_line_value_list = [ctool.getObject(uid) for uid in \n + accounting_transaction_line_uid_list]\n +\n +for line in accounting_transaction_line_value_list:\n + accounting_transaction = line.getParentValue()\n + if isSource(accounting_transaction):\n + lines_per_node.setdefault(\n + (line.getSource(portal_type=\'Account\'),\n + line.getSourceSection(),\n + line.getDestinationSection(), ), []).append(\n + dict(total_price=line.getSourceInventoriatedTotalAssetPrice() or 0,\n + path=line.getRelativeUrl()))\n + else:\n + lines_per_node.setdefault(\n + (line.getDestination(portal_type=\'Account\'),\n + line.getDestinationSection(),\n + line.getSourceSection(), ), []).append(\n + dict(total_price=line.getDestinationInventoriatedTotalAssetPrice() or 0,\n + path=line.getRelativeUrl()))\n +\n +changed_lines = []\n +for (node, section, mirror_section), line_info_list in lines_per_node.items():\n + total_price = sum([l[\'total_price\'] for l in line_info_list])\n + # get the currency rounding for this section\n + section_obj = portal.restrictedTraverse(section)\n + default_currency = section_obj.getPriceCurrencyValue()\n + if default_currency is not None:\n + total_price = round(total_price, default_currency.getQuantityPrecision())\n + if total_price == 0 or allow_grouping_with_different_quantity:\n + # get a grouping reference id\n + grouping_reference = portal.portal_ids.generateNewId(\n + (\'grouping_reference\', node, section, mirror_section))\n + \n + # convert from int to letters\n + d, m = divmod(grouping_reference, 26)\n + string_reference = \'A\' * d\n + string_reference += (chr(m + ord(\'A\')))\n +\n + for line in line_info_list:\n + line_obj = portal.restrictedTraverse(line[\'path\'])\n + line_obj.setGroupingReference(string_reference)\n + changed_lines.append(line[\'path\'])\n +\n +return changed_lines\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_filepath</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_owner</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>accounting_transaction_line_uid_list=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>1</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>accounting_transaction_line_uid_list</string> + <string>lines_per_node</string> + <string>_getattr_</string> + <string>context</string> + <string>portal</string> + <string>ctool</string> + <string>allow_grouping_with_different_quantity</string> + <string>isSource</string> + <string>accounting_transaction_line_value_list</string> + <string>None</string> + <string>_getiter_</string> + <string>accounting_transaction</string> + <string>line</string> + <string>append</string> + <string>$append0</string> + <string>uid</string> + <string>dict</string> + <string>changed_lines</string> + <string>node</string> + <string>section</string> + <string>mirror_section</string> + <string>line_info_list</string> + <string>sum</string> + <string>l</string> + <string>_getitem_</string> + <string>total_price</string> + <string>section_obj</string> + <string>default_currency</string> + <string>round</string> + <string>grouping_reference</string> + <string>divmod</string> + <string>d</string> + <string>m</string> + <string>string_reference</string> + <string>_inplacevar_</string> + <string>chr</string> + <string>ord</string> + <string>line_obj</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>AccountingTransaction_guessGroupedLines</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList.xml index 5f07aaad88a..0f09e34eac5 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList.xml @@ -96,7 +96,6 @@ <key> <string>hidden</string> </key> <value> <list> - <string>listbox_grouping_reference</string> <string>listbox_credit</string> <string>listbox_date</string> <string>listbox_debit</string> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox.xml index 1f1373d6e21..e5b03ef236f 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox.xml @@ -199,10 +199,6 @@ <key> <string>editable_columns</string> </key> <value> <list> - <tuple> - <string>grouping_reference</string> - <string>Grouping</string> - </tuple> <tuple> <string>debit</string> <string>debit</string> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_credit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_credit.xml index c38e375f40e..8dc159a2d52 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_credit.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_credit.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>FloatField</string> - </tuple> - <none/> + <global name="FloatField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_date.xml index 8e379d580f6..0115c6b7321 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_date.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_date.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>DateTimeField</string> - </tuple> - <none/> + <global name="DateTimeField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_debit.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_debit.xml index eaa34958eb3..a375ce015de 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_debit.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_debit.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>FloatField</string> - </tuple> - <none/> + <global name="FloatField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_running_total_price.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_running_total_price.xml index 2732eaab65c..cc59bb896c3 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_running_total_price.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_running_total_price.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>FloatField</string> - </tuple> - <none/> + <global name="FloatField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_total_price.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_total_price.xml index 859687d1e59..139268c6595 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_total_price.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/listbox_total_price.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>FloatField</string> - </tuple> - <none/> + <global name="FloatField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/my_title.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/my_title.xml index acb8825eded..1d57d83150a 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/my_title.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/my_title.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>StringField</string> - </tuple> - <none/> + <global name="StringField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_at_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_at_date.xml index 6098622c1e2..48f378fd0fe 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_at_date.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_at_date.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>DateTimeField</string> - </tuple> - <none/> + <global name="DateTimeField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_from_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_from_date.xml index ccacb2e2c9b..1cb91389297 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_from_date.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_from_date.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>DateTimeField</string> - </tuple> - <none/> + <global name="DateTimeField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_section.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_section.xml index 25294b60a31..7422b21d6d2 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_section.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_section.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>StringField</string> - </tuple> - <none/> + <global name="StringField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_simulation_state.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_simulation_state.xml index 65ba98aa2b1..a70f4a0f1cf 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_simulation_state.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Entity_viewAccountingTransactionList/preferred_simulation_state.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.Formulator.StandardFields</string> - <string>MultiListField</string> - </tuple> - <none/> + <global name="MultiListField" module="Products.Formulator.StandardFields"/> + <tuple/> </tuple> </pickle> <pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/letter.png.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/letter.png.xml new file mode 100644 index 00000000000..dc9f1f401b8 --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/letter.png.xml @@ -0,0 +1,88 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="Image" module="OFS.Image"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_EtagSupport__etag</string> </key> + <value> <string>ts89262089.0</string> </value> + </item> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>__name__</string> </key> + <value> <string>letter.png</string> </value> + </item> + <item> + <key> <string>_owner</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>content_type</string> </key> + <value> <string>image/png</string> </value> + </item> + <item> + <key> <string>data</string> </key> + <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz +AAABYAAAAWABINkT2gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAUiSURB +VDiNnZRrUJRlGIbv9/veXT6WPbDLcWFRIFhOgoaK5USOGpNOhdhMOWpOoU0ljZM2Yyc7aGNO5oxa +yvjDRikcx/4Epk4qlaYWUgIjKCEErLQc3HUX9sx32O/th+k45aF6/j5z33O91zzzEsYY7jRk8XfW +KVmGYxm2hCxB0Ao8T/lfmy/UO+oqV90x8Lehd1voEFnxbOX8BytyCCyxgCcMbA5PXU4IeY0xFrxf +MXe3RdjrO3bkxKXAvvMiKAfEaoCoQsi9YP4VMfvxucuEkMSY96+4+0rtxjgKSPKdtf0nYgBgjEmy +zBCWgKAMSBLjyPTaZUJ5/Zvk4YNl5JHGu+bv+yxZUhGSAJUBZlsaXfnWK7VxAoch1wQuNDX3ksIt +c1jXOyP/oxgISYCGB2Zka6HhAKsRWFggINkyN/c4p2klhExijCm35+6p4iZxUAICInCyNYA9n53o +rW0YVtucwFw7YH/0Iasmf9O6exK/S0iWCFJuQGyeDxNDKtQmaWUnwhIQVQHXwIjkbFhQNtq1qzp5 +cs32DDOHzBQKk61oCYBt/yjeQGn8Ayzl5HKSO9OcHg8uxQQWEOHvc+FoOBwNyoACQJZuXIUi6g// +MRTeHpD0ELSAxpBsI4TQ23XQtwWBn07Sr8wunpxsqVmBCYcDaigEY3k5zKII1qDyIQmIMkCWb/qR +EzgNRVACxoNhhNQzFJUoAdB2y3GEp0+U6nXJ1jdWg3k8GPr4KzTtaRwfWrsRWkqhEA3CMhCUAOkv +Yqol843xWhw69RLOhZ5CxXpfQvnq6lbr1mk+zdO61wGAY5ymkNNTEJ8PCIXg5RXs413zR0b9EHt6 +ICocwgrACMBbbVqtfV+9vmzOB1cdy2F/3IL6xduRmZCGJYUL8enz24yp5UWfkGKaw/kpDrRfHxd/ +37QTfTvq0R2jKjUs6axREwXx+zERpRBlYMAFzCrVI//l6idzZ6mCqWQMr+Yswv6rDdj93uZI+1gn +7PokZOfbeZg05XT/2JizOjHxxWCIqy+ckDDPZqKm/EwqmM3ggkEY/KM431uMa52D0MQbYUg2IjR4 +AIvWFsEX9aC5qxniqLy+ufXsbpUpcFzsVjHM2miN1TpjaVD7RV62AWnFRQi43RhtuYQJXwQFleU4 +YzmINdu/RL/cuqMrXHJ0AoYSYcH3qwgqpzhFJ/z+MWAoeq5rb0dVn/5yteiIbMGA2MHZRVqXkypw +k7Mz4e/rQ/tPl1ktVRtdWgri9yNTdGPjxHHkxF3vZOzQD4zt3alEIqdHgiMYFoeRaksEjLrHWLPn +MKfTSJaKhG9JaWIVlybJdktcLOD14rrDiW/i6ZGoPmYdcMMxvF4oTAF4/taNKrLwdX9vDwYjThjM +OiQuNGwxLbV1py+zPWOryrfEJGk/JHXxqZGKGCakmUwY9HrREoHCg3F2SFxRWioIIWgZGMIvpnjv +xTjNrs8dAxsBwLB4Uk9KtTU3a5IZoqTCH1SgqCrcTf1R1yGximxIy2ipcrnKSo1xIIRgXJbBEwK3 +JIEnBJmxsQhFo7gmSfhZo2NbedXY6fEESUGeWZcRPhU3j0yl6TGQ3RKUDiXoO0PWqP3OOtoeQ5ck +WcydIbdbn8RUMADjhEN3vDmaHAnz4x4vBAA+EDhTTM5L10ZEAGC/XRkDMI1kZhZAS2YjHO3F0HAz +Y0wGAMIYw8z09OQCQfgoTZanBzjO4+D501cDgUazIKTYKX3BHI3mOXm+rSMQ2NHldvfc70cEgD8B +Ss1PBBHl5X0AAAAASUVORK5CYII=</string> </value> + </item> + <item> + <key> <string>height</string> </key> + <value> <int>22</int> </value> + </item> + <item> + <key> <string>precondition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>size</string> </key> + <value> <long>1445</long> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>width</string> </key> + <value> <int>22</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/bt/change_log b/bt5/erp5_accounting/bt/change_log index 065ed4d5c78..14bb3e29ebb 100644 --- a/bt5/erp5_accounting/bt/change_log +++ b/bt5/erp5_accounting/bt/change_log @@ -1,3 +1,6 @@ +2008-3-4 jerome +* add a fast input to group accounting lines from invoice and corresponding payment. + 2008-2-25 jerome * change accounting_period_workflow: Assignee can start / stop accounting periods, but only Assignor can close it definitely. Also make it possible to cancel openned period, and to delete a draft period. diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision index 53a274896eb..e78e423d296 100644 --- a/bt5/erp5_accounting/bt/revision +++ b/bt5/erp5_accounting/bt/revision @@ -1 +1 @@ -626 \ No newline at end of file +627 \ No newline at end of file diff --git a/bt5/erp5_accounting/bt/template_action_path_list b/bt5/erp5_accounting/bt/template_action_path_list index dd8b7d4b5b0..28e7e2a2c65 100644 --- a/bt5/erp5_accounting/bt/template_action_path_list +++ b/bt5/erp5_accounting/bt/template_action_path_list @@ -1,5 +1,6 @@ Account Module | jump_active_accounting_pref Account Module | view +Account | grouping_reference_fast_input Account | jump_active_accounting_pref Account | jump_to_accounting Account | transaction_list @@ -17,6 +18,7 @@ Accounting Transaction Module | bank_accounts_report Accounting Transaction Module | create_related_payments Accounting Transaction Module | general_ledger_export Accounting Transaction Module | general_ledger_report +Accounting Transaction Module | grouping_reference_fast_input Accounting Transaction Module | journal_export Accounting Transaction Module | journal_from_selection Accounting Transaction Module | journal_report @@ -46,6 +48,7 @@ Cash Register | transactions Cash Register | view Credit Card | transactions Invoice Rule | view +Organisation | grouping_reference_fast_input Organisation | jump_active_accounting_pref Organisation | jump_to_accounting Organisation | transactions @@ -58,6 +61,7 @@ Payment Transaction | details Payment Transaction | related_invoice Payment Transaction | source_asset Payment Transaction | view +Person | grouping_reference_fast_input Person | jump_to_accounting Person | transactions Preference | view_accounting -- 2.30.9