Commit 33e3c442 authored by Jérome Perrin's avatar Jérome Perrin

Allow to produce reports by taking only accounts member of a given gap on GL,...

Allow to produce reports by taking only accounts member of a given gap on GL, Trial Balance, Other Parties and journal

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@25876 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent fd4302f6
...@@ -63,6 +63,7 @@ portal = context.getPortalObject()\n ...@@ -63,6 +63,7 @@ portal = context.getPortalObject()\n
getInventoryList = portal.portal_simulation.getInventoryList\n getInventoryList = portal.portal_simulation.getInventoryList\n
getInventory = portal.portal_simulation.getInventoryAssetPrice\n getInventory = portal.portal_simulation.getInventoryAssetPrice\n
Base_translateString = portal.Base_translateString\n Base_translateString = portal.Base_translateString\n
selected_gap = gap_root\n
\n \n
inventory_movement_type_list = portal.getPortalInventoryMovementTypeList()\n inventory_movement_type_list = portal.getPortalInventoryMovementTypeList()\n
# Balance Movement Type list is all movements that are both inventory movement\n # Balance Movement Type list is all movements that are both inventory movement\n
...@@ -281,8 +282,9 @@ def getNodeTitleAndId(node_relative_url):\n ...@@ -281,8 +282,9 @@ def getNodeTitleAndId(node_relative_url):\n
return node_title_and_id_cache.setdefault(node_relative_url,\n return node_title_and_id_cache.setdefault(node_relative_url,\n
( node.getUid(),\n ( node.getUid(),\n
node.getTitle(),\n node.getTitle(),\n
node.Account_getGapId(),\n node.Account_getGapId(gap_root=selected_gap),\n
node.getProperty(\'string_index\') ))\n node.getProperty(\'string_index\'),\n
node))\n
\n \n
# include all accounts, even those not selected before (no movements in the\n # include all accounts, even those not selected before (no movements in the\n
# period)\n # period)\n
...@@ -574,7 +576,7 @@ if account_type_to_group_by_payment:\n ...@@ -574,7 +576,7 @@ if account_type_to_group_by_payment:\n
line_list = []\n line_list = []\n
for (node_relative_url, mirror_section_uid, payment_uid), data in \\\n for (node_relative_url, mirror_section_uid, payment_uid), data in \\\n
line_per_account.items():\n line_per_account.items():\n
node_uid, node_title, node_id, string_index = getNodeTitleAndId(node_relative_url)\n node_uid, node_title, node_id, string_index, node = getNodeTitleAndId(node_relative_url)\n
if mirror_section_uid is not MARKER:\n if mirror_section_uid is not MARKER:\n
if mirror_section_uid is None:\n if mirror_section_uid is None:\n
node_title = \'%s (%s)\' % ( node_title, Base_translateString(\'None\'))\n node_title = \'%s (%s)\' % ( node_title, Base_translateString(\'None\'))\n
...@@ -591,6 +593,9 @@ for (node_relative_url, mirror_section_uid, payment_uid), data in \\\n ...@@ -591,6 +593,9 @@ for (node_relative_url, mirror_section_uid, payment_uid), data in \\\n
if not string_index:\n if not string_index:\n
string_index = \'%-10s\' % node_id\n string_index = \'%-10s\' % node_id\n
string_index = \'%s %s\' % (string_index, node_title)\n string_index = \'%s %s\' % (string_index, node_title)\n
\n
if selected_gap and not node.isMemberOf(selected_gap):\n
continue\n
\n \n
initial_debit_balance = data.get(\'initial_debit_balance\', 0)\n initial_debit_balance = data.get(\'initial_debit_balance\', 0)\n
initial_credit_balance = data.get(\'initial_credit_balance\', 0)\n initial_credit_balance = data.get(\'initial_credit_balance\', 0)\n
...@@ -645,7 +650,8 @@ request.set(\'TrialBalance.final_balance_if_credit\', total_final_balance_if_cre ...@@ -645,7 +650,8 @@ request.set(\'TrialBalance.final_balance_if_credit\', total_final_balance_if_cre
if not per_account_class_summary:\n if not per_account_class_summary:\n
return line_list\n return line_list\n
\n \n
current_gap = portal.portal_preferences.getPreferredAccountingTransactionGap()\n current_gap = selected_gap or \\\n
portal.portal_preferences.getPreferredAccountingTransactionGap()\n
if current_gap.startswith(\'gap/\'):\n if current_gap.startswith(\'gap/\'):\n
current_gap = current_gap[4:]\n current_gap = current_gap[4:]\n
def getAccountClass(account_relative_url):\n def getAccountClass(account_relative_url):\n
...@@ -717,7 +723,7 @@ return new_line_list\n ...@@ -717,7 +723,7 @@ return new_line_list\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>show_empty_accounts, expand_accounts, at_date, from_date, period_start_date, section_uid, simulation_state, precision, node_uid, per_account_class_summary=0, **kw</string> </value> <value> <string>show_empty_accounts, expand_accounts, at_date, from_date, period_start_date, section_uid, simulation_state, precision, node_uid, gap_root=None, per_account_class_summary=0, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -737,7 +743,7 @@ return new_line_list\n ...@@ -737,7 +743,7 @@ return new_line_list\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>10</int> </value> <value> <int>11</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
...@@ -752,6 +758,7 @@ return new_line_list\n ...@@ -752,6 +758,7 @@ return new_line_list\n
<string>simulation_state</string> <string>simulation_state</string>
<string>precision</string> <string>precision</string>
<string>node_uid</string> <string>node_uid</string>
<string>gap_root</string>
<string>per_account_class_summary</string> <string>per_account_class_summary</string>
<string>kw</string> <string>kw</string>
<string>Products.PythonScripts.standard</string> <string>Products.PythonScripts.standard</string>
...@@ -766,6 +773,7 @@ return new_line_list\n ...@@ -766,6 +773,7 @@ return new_line_list\n
<string>getInventoryList</string> <string>getInventoryList</string>
<string>getInventory</string> <string>getInventory</string>
<string>Base_translateString</string> <string>Base_translateString</string>
<string>selected_gap</string>
<string>inventory_movement_type_list</string> <string>inventory_movement_type_list</string>
<string>append</string> <string>append</string>
<string>$append0</string> <string>$append0</string>
...@@ -847,6 +855,7 @@ return new_line_list\n ...@@ -847,6 +855,7 @@ return new_line_list\n
<key> <string>func_defaults</string> </key> <key> <string>func_defaults</string> </key>
<value> <value>
<tuple> <tuple>
<none/>
<int>0</int> <int>0</int>
</tuple> </tuple>
</value> </value>
......
...@@ -76,6 +76,7 @@ display_categories = request.get(\'display_categories\', False)\n ...@@ -76,6 +76,7 @@ display_categories = request.get(\'display_categories\', False)\n
period_start_date = context\\\n period_start_date = context\\\n
.Base_getAccountingPeriodStartDateForSectionCategory(\n .Base_getAccountingPeriodStartDateForSectionCategory(\n
section_category=section_category, date=from_date or at_date)\n section_category=section_category, date=from_date or at_date)\n
gap_root = request.get(\'gap_root\')\n
\n \n
# currency precision\n # currency precision\n
currency = portal.Base_getCurrencyForSection(request[\'section_category\'])\n currency = portal.Base_getCurrencyForSection(request[\'section_category\'])\n
...@@ -122,13 +123,14 @@ else:\n ...@@ -122,13 +123,14 @@ else:\n
(\'credit\', \'Credit\'),\n (\'credit\', \'Credit\'),\n
(\'running_total_price\', \'Net\'), )\n (\'running_total_price\', \'Net\'), )\n
\n \n
# XXX getting all gap is wrong approach, it represents more than 1000\n
# objects\n
if gap:\n if gap:\n
gap_value_list = cat_tool.gap.restrictedTraverse(gap)\\\n gap_value_list = cat_tool.gap.restrictedTraverse(gap)\\\n
.getCategoryChildValueList(is_self_excluded=0)\n .getCategoryChildValueList(is_self_excluded=0)\n
else:\n else:\n
cat = \'gap/%s\' % (\n cat = gap_root or (\'gap/%s\' % (\n
context.portal_preferences.getPreferredAccountingTransactionGap()\n context.portal_preferences.getPreferredAccountingTransactionGap()))\n
or context.getPortalDefaultGapRoot())\n
\n \n
gap_value_list = cat_tool.resolveCategory(cat).getCategoryChildValueList()\n gap_value_list = cat_tool.resolveCategory(cat).getCategoryChildValueList()\n
\n \n
...@@ -311,6 +313,7 @@ return result\n ...@@ -311,6 +313,7 @@ return result\n
<string>False</string> <string>False</string>
<string>display_categories</string> <string>display_categories</string>
<string>period_start_date</string> <string>period_start_date</string>
<string>gap_root</string>
<string>currency</string> <string>currency</string>
<string>precision</string> <string>precision</string>
<string>_write_</string> <string>_write_</string>
......
...@@ -67,6 +67,7 @@ simulation_state = request[\'simulation_state\']\n ...@@ -67,6 +67,7 @@ simulation_state = request[\'simulation_state\']\n
role_filter_list = request.get(\'entity_role\', None)\n role_filter_list = request.get(\'entity_role\', None)\n
omit_balanced_accounts = request[\'omit_balanced_accounts\']\n omit_balanced_accounts = request[\'omit_balanced_accounts\']\n
from_date = request.get(\'from_date\', None)\n from_date = request.get(\'from_date\', None)\n
gap_root = request.get(\'gap_root\', None)\n
\n \n
request.other[\'is_accounting_report\'] = True\n request.other[\'is_accounting_report\'] = True\n
\n \n
...@@ -116,12 +117,14 @@ if omit_balanced_accounts :\n ...@@ -116,12 +117,14 @@ if omit_balanced_accounts :\n
).getAccountTypeRelatedValueList(\n ).getAccountTypeRelatedValueList(\n
strict_membership=1,\n strict_membership=1,\n
portal_type=\'Account\'):\n portal_type=\'Account\'):\n
if not gap_root or account.isMemberOf(gap_root):\n
valid_node_uids.append(account.getUid())\n valid_node_uids.append(account.getUid())\n
for account in portal.portal_categories.resolveCategory(\n for account in portal.portal_categories.resolveCategory(\n
\'account_type/liability/payable\'\n \'account_type/liability/payable\'\n
).getAccountTypeRelatedValueList(\n ).getAccountTypeRelatedValueList(\n
strict_membership=1,\n strict_membership=1,\n
portal_type=\'Account\'):\n portal_type=\'Account\'):\n
if not gap_root or account.isMemberOf(gap_root):\n
valid_node_uids.append(account.getUid())\n valid_node_uids.append(account.getUid())\n
\n \n
if not params[\'hide_grouping\'] :\n if not params[\'hide_grouping\'] :\n
...@@ -144,7 +147,7 @@ for party in context.Account_zDistinctSectionList():\n ...@@ -144,7 +147,7 @@ for party in context.Account_zDistinctSectionList():\n
else:\n else:\n
title = o.getTitle()\n title = o.getTitle()\n
if o.getProperty(\'role\', None):\n if o.getProperty(\'role\', None):\n
title += \' (%s)\' % o.getRoleTitle()\n title += \' (%s)\' % o.getRoleTranslatedTitle()\n
result.append(\n result.append(\n
ReportSection(title=title,\n ReportSection(title=title,\n
level=1,\n level=1,\n
...@@ -216,6 +219,7 @@ return result\n ...@@ -216,6 +219,7 @@ return result\n
<string>role_filter_list</string> <string>role_filter_list</string>
<string>omit_balanced_accounts</string> <string>omit_balanced_accounts</string>
<string>from_date</string> <string>from_date</string>
<string>gap_root</string>
<string>True</string> <string>True</string>
<string>_write_</string> <string>_write_</string>
<string>result</string> <string>result</string>
......
...@@ -67,7 +67,7 @@ simulation_state = request[\'simulation_state\']\n ...@@ -67,7 +67,7 @@ simulation_state = request[\'simulation_state\']\n
expand_accounts = request.get(\'expand_accounts\', False)\n expand_accounts = request.get(\'expand_accounts\', False)\n
show_empty_accounts = request[\'show_empty_accounts\']\n show_empty_accounts = request[\'show_empty_accounts\']\n
per_account_class_summary = request[\'per_account_class_summary\']\n per_account_class_summary = request[\'per_account_class_summary\']\n
\n gap_root = request.get(\'gap_root\', None)\n
section_uid = portal.Base_getSectionUidListForSectionCategory(\n section_uid = portal.Base_getSectionUidListForSectionCategory(\n
request[\'section_category\'])\n request[\'section_category\'])\n
\n \n
...@@ -116,7 +116,8 @@ return [ ReportSection(\n ...@@ -116,7 +116,8 @@ return [ ReportSection(\n
precision=precision,\n precision=precision,\n
node_uid=node_uid,\n node_uid=node_uid,\n
per_account_class_summary=\n per_account_class_summary=\n
per_account_class_summary), )]\n per_account_class_summary,\n
gap_root=gap_root,), )]\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -169,6 +170,7 @@ return [ ReportSection(\n ...@@ -169,6 +170,7 @@ return [ ReportSection(\n
<string>expand_accounts</string> <string>expand_accounts</string>
<string>show_empty_accounts</string> <string>show_empty_accounts</string>
<string>per_account_class_summary</string> <string>per_account_class_summary</string>
<string>gap_root</string>
<string>section_uid</string> <string>section_uid</string>
<string>period_start_date</string> <string>period_start_date</string>
<string>currency</string> <string>currency</string>
......
...@@ -92,6 +92,7 @@ ...@@ -92,6 +92,7 @@
<string>your_at_date</string> <string>your_at_date</string>
<string>your_from_date</string> <string>your_from_date</string>
<string>your_gap</string> <string>your_gap</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
<string>your_from_date</string> <string>your_from_date</string>
<string>your_at_date</string> <string>your_at_date</string>
<string>your_gap</string> <string>your_gap</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewReportFieldLibrary</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>
</ZopeData>
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
<value> <value>
<list> <list>
<string>your_gap</string> <string>your_gap</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
<?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>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewDialogFieldLibrary</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>
</ZopeData>
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
<string>your_omit_empty_accounts</string> <string>your_omit_empty_accounts</string>
<string>your_omit_grouped_references</string> <string>your_omit_grouped_references</string>
<string>your_entity_role</string> <string>your_entity_role</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewReportFieldLibrary</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>
</ZopeData>
...@@ -65,7 +65,9 @@ ...@@ -65,7 +65,9 @@
<item> <item>
<key> <string>center</string> </key> <key> <string>center</string> </key>
<value> <value>
<list/> <list>
<string>your_gap_root</string>
</list>
</value> </value>
</item> </item>
<item> <item>
......
<?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>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewDialogFieldLibrary</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>
</ZopeData>
...@@ -90,6 +90,7 @@ ...@@ -90,6 +90,7 @@
<string>your_portal_type</string> <string>your_portal_type</string>
<string>your_node</string> <string>your_node</string>
<string>your_gap</string> <string>your_gap</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
<string>your_at_date</string> <string>your_at_date</string>
<string>your_section_category</string> <string>your_section_category</string>
<string>your_simulation_state</string> <string>your_simulation_state</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewReportFieldLibrary</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>
</ZopeData>
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
<value> <value>
<list> <list>
<string>your_gap</string> <string>your_gap</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
<?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>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewDialogFieldLibrary</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>
</ZopeData>
...@@ -68,7 +68,7 @@ if number_method == \'account_reference\':\n ...@@ -68,7 +68,7 @@ if number_method == \'account_reference\':\n
\n \n
## elif number_method == \'gap_id\':\n ## elif number_method == \'gap_id\':\n
# GAP id is the default rendering\n # GAP id is the default rendering\n
current_gap = preference_tool.getPreferredAccountingTransactionGap() or \'\'\n current_gap = gap_root or preference_tool.getPreferredAccountingTransactionGap() or \'\'\n
for gap in context.getGapValueList(): \n for gap in context.getGapValueList(): \n
if current_gap in gap.getPath(): \n if current_gap in gap.getPath(): \n
return gap.getReference() or gap.getId()\n return gap.getReference() or gap.getId()\n
...@@ -83,7 +83,7 @@ return \'\'\n ...@@ -83,7 +83,7 @@ return \'\'\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string></string> </value> <value> <string>gap_root=None</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -103,12 +103,13 @@ return \'\'\n ...@@ -103,12 +103,13 @@ return \'\'\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
<value> <value>
<tuple> <tuple>
<string>gap_root</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string> <string>context</string>
<string>preference_tool</string> <string>preference_tool</string>
...@@ -128,7 +129,9 @@ return \'\'\n ...@@ -128,7 +129,9 @@ return \'\'\n
<item> <item>
<key> <string>func_defaults</string> </key> <key> <string>func_defaults</string> </key>
<value> <value>
<tuple>
<none/> <none/>
</tuple>
</value> </value>
</item> </item>
<item> <item>
......
...@@ -67,6 +67,7 @@ section_uid = context.Base_getSectionUidListForSectionCategory(\n ...@@ -67,6 +67,7 @@ section_uid = context.Base_getSectionUidListForSectionCategory(\n
request[\'section_category\'])\n request[\'section_category\'])\n
payment_mode = request.get(\'payment_mode\')\n payment_mode = request.get(\'payment_mode\')\n
payment = request.get(\'payment\')\n payment = request.get(\'payment\')\n
gap_root = request.get(\'gap_root\')\n
\n \n
# Also get the currency, to know the precision\n # Also get the currency, to know the precision\n
currency = context.Base_getCurrencyForSection(request[\'section_category\'])\n currency = context.Base_getCurrencyForSection(request[\'section_category\'])\n
...@@ -108,6 +109,7 @@ return [ReportSection(\n ...@@ -108,6 +109,7 @@ return [ReportSection(\n
at_date=at_date,\n at_date=at_date,\n
from_date=from_date,\n from_date=from_date,\n
payment_mode=payment_mode,\n payment_mode=payment_mode,\n
gap_root=gap_root,\n
payment=payment))]\n payment=payment))]\n
...@@ -162,6 +164,7 @@ return [ReportSection(\n ...@@ -162,6 +164,7 @@ return [ReportSection(\n
<string>section_uid</string> <string>section_uid</string>
<string>payment_mode</string> <string>payment_mode</string>
<string>payment</string> <string>payment</string>
<string>gap_root</string>
<string>currency</string> <string>currency</string>
<string>precision</string> <string>precision</string>
<string>len</string> <string>len</string>
......
...@@ -66,10 +66,19 @@ if payment:\n ...@@ -66,10 +66,19 @@ if payment:\n
account_title_cache = dict()\n account_title_cache = dict()\n
def getAccountId(node_relative_url):\n def getAccountId(node_relative_url):\n
if node_relative_url not in account_title_cache:\n if node_relative_url not in account_title_cache:\n
title = portal.restrictedTraverse(node_relative_url).Account_getGapId()\n title = portal.restrictedTraverse(node_relative_url).Account_getGapId(gap_root=gap_root)\n
account_title_cache[node_relative_url] = title\n account_title_cache[node_relative_url] = title\n
return account_title_cache[node_relative_url]\n return account_title_cache[node_relative_url]\n
\n \n
\n
account_in_gap_root_cache = dict()\n
def isAccountInGapRoot(node_relative_url):\n
if node_relative_url not in account_in_gap_root_cache:\n
is_in = portal.restrictedTraverse(node_relative_url).isMemberOf(gap_root)\n
account_in_gap_root_cache[node_relative_url] = is_in\n
return account_in_gap_root_cache[node_relative_url]\n
\n
\n
displayed_transaction = dict()\n displayed_transaction = dict()\n
total_credit = 0\n total_credit = 0\n
total_debit = 0\n total_debit = 0\n
...@@ -90,8 +99,12 @@ for brain in portal.portal_simulation.getMovementHistoryList(\n ...@@ -90,8 +99,12 @@ for brain in portal.portal_simulation.getMovementHistoryList(\n
(\'parent_uid\', \'descending\'),\n (\'parent_uid\', \'descending\'),\n
(\'stock.total_price\', \'descending\')),\n (\'stock.total_price\', \'descending\')),\n
**extra_kw):\n **extra_kw):\n
if gap_root and not isAccountInGapRoot(brain.node_relative_url):\n
continue\n
\n
debit = max(brain.total_price, 0) or 0\n debit = max(brain.total_price, 0) or 0\n
credit = max(-(brain.total_price or 0), 0) or 0\n credit = max(-(brain.total_price or 0), 0) or 0\n
\n
mvt = brain.getObject()\n mvt = brain.getObject()\n
if payment_mode and not \\\n if payment_mode and not \\\n
mvt.getPaymentMode(\'\').startswith(payment_mode):\n mvt.getPaymentMode(\'\').startswith(payment_mode):\n
...@@ -153,7 +166,7 @@ return line_list\n ...@@ -153,7 +166,7 @@ return line_list\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>selection, at_date, from_date, portal_type, simulation_state, section_uid, payment_mode=None, payment=None, **kw</string> </value> <value> <string>selection, at_date, from_date, portal_type, simulation_state, section_uid, payment_mode=None, payment=None, gap_root=None, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>errors</string> </key> <key> <string>errors</string> </key>
...@@ -173,7 +186,7 @@ return line_list\n ...@@ -173,7 +186,7 @@ return line_list\n
<dictionary> <dictionary>
<item> <item>
<key> <string>co_argcount</string> </key> <key> <string>co_argcount</string> </key>
<value> <int>8</int> </value> <value> <int>9</int> </value>
</item> </item>
<item> <item>
<key> <string>co_varnames</string> </key> <key> <string>co_varnames</string> </key>
...@@ -187,6 +200,7 @@ return line_list\n ...@@ -187,6 +200,7 @@ return line_list\n
<string>section_uid</string> <string>section_uid</string>
<string>payment_mode</string> <string>payment_mode</string>
<string>payment</string> <string>payment</string>
<string>gap_root</string>
<string>kw</string> <string>kw</string>
<string>Products.PythonScripts.standard</string> <string>Products.PythonScripts.standard</string>
<string>Object</string> <string>Object</string>
...@@ -201,6 +215,8 @@ return line_list\n ...@@ -201,6 +215,8 @@ return line_list\n
<string>_write_</string> <string>_write_</string>
<string>account_title_cache</string> <string>account_title_cache</string>
<string>getAccountId</string> <string>getAccountId</string>
<string>account_in_gap_root_cache</string>
<string>isAccountInGapRoot</string>
<string>displayed_transaction</string> <string>displayed_transaction</string>
<string>total_credit</string> <string>total_credit</string>
<string>total_debit</string> <string>total_debit</string>
...@@ -233,6 +249,7 @@ return line_list\n ...@@ -233,6 +249,7 @@ return line_list\n
<tuple> <tuple>
<none/> <none/>
<none/> <none/>
<none/>
</tuple> </tuple>
</value> </value>
</item> </item>
......
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
<list> <list>
<string>your_payment</string> <string>your_payment</string>
<string>your_payment_mode</string> <string>your_payment_mode</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
<?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>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewDialogFieldLibrary</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>
</ZopeData>
...@@ -93,6 +93,7 @@ ...@@ -93,6 +93,7 @@
<string>your_payment</string> <string>your_payment</string>
<string>your_payment_mode</string> <string>your_payment_mode</string>
<string>your_simulation_state</string> <string>your_simulation_state</string>
<string>your_gap_root</string>
</list> </list>
</value> </value>
</item> </item>
......
<?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/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_gap_root</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>AccountModule_viewReportFieldLibrary</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>
</ZopeData>
880 882
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment