diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml index eefb7ac0b368d51d81b44956bb1908de90dfbf78..bb505ab5a2cd8b29a363754d66a349e3a9ffde60 100755 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml @@ -83,7 +83,6 @@ display_categories = request.get(\'display_categories\', 0)\n # TODO\n omit_grouping_reference = request.get(\'omit_grouping_reference\', 0)\n \n -\n params = {\n \'at_date\' : at_date,\n \'section_category\' : transaction_section_category,\n @@ -108,7 +107,7 @@ if from_date:\n params[\'from_date\'] = from_date\n preferences[\'preferred_accounting_transaction_from_date\'] = from_date\n \n -## FIXME: issue in reporting famework in ERP5 \n +## FIXME: issue in reporting famework in ERP5 ? \n from Products.ERP5Type.Cache import clearCache\n clearCache() # for preferences\n \n @@ -116,14 +115,14 @@ result = []\n portal = context.portal_url.getPortalObject()\n \n account_columns = (\n - (\'source_reference\', \'Reference\'),\n + (\'specific_reference\', \'Reference\'),\n (\'delivery.start_date\', \'Date\'),\n (\'title\', \'Title\'),\n (\'translated_portal_type\', \'Type\'),\n (\'third_party\', \'Third Party\'),\n (\'translated_simulation_state_title\', \'State\'),\n - (\'source_debit\', \'Debit\'),\n - (\'source_credit\', \'Credit\'),\n + (\'debit\', \'Debit\'),\n + (\'credit\', \'Credit\'),\n (\'net_balance\', \'Balance\'),\n )\n \n @@ -132,8 +131,9 @@ if gap :\n portal.portal_categories.gap.restrictedTraverse(gap)\\\n .Category_getSortedCategoryChildValueList()\n else :\n - cat = \'gap/%s\'%context.portal_preferences.getPreferredAccountingTransactionGap() \\\n - or context.getPortalDefaultGapRoot()\n + cat = \'gap/%s\'%context.portal_preferences\\\n + .getPreferredAccountingTransactionGap()\\\n + or context.getPortalDefaultGapRoot()\n \n gap_value_list = portal.portal_categories.resolveCategory(cat)\\\n .Category_getSortedCategoryChildValueList()\n @@ -157,11 +157,9 @@ for c in gap_value_list :\n account_inventory_list_cache[account.getUid()] = len(portal.\\\n portal_simulation.getInventoryList( omit_simulation = 1,\n node_uid = account.getUid(), **account_inventory_list_cache_params))\n -\n if account_inventory_list_cache[account.getUid()] != 0 :\n skip_branch = 0\n \n - \n if skip_branch :\n continue\n \n @@ -177,55 +175,60 @@ for c in gap_value_list :\n if len(strict_account_list):\n for account in strict_account_list:\n if account.getAccountTypeId() in (\'payable\', \'receivable\') :\n - for third_party_path in account.Account_getDestinationSectionList(\n - at_date = at_date,\n - simulation_state = transaction_simulation_state ) :\n + for third_party_brain in context.Account_zDistinctSectionList(\n + at_date = at_date,\n + simulation_state = transaction_simulation_state ) :\n third_party_params = params.copy()\n - if third_party_path is not None :\n - third_party = context.getPortalObject().restrictedTraverse(third_party_path)\n - third_party_params[\'destination_section_uid\'] = third_party.getUid()\n - title = "%s: %s (%s)" % ( c.getId(),\n - account.getTitle(),\n - third_party.getTitle())\n - else :\n - third_party_params[\'no_destination_section_uid\'] = 1\n - title = "%s: %s" % ( c.getId(), account.getTitle())\n - result.append(ReportSection(\n - path = account.getPhysicalPath(),\n - title = title,\n - level = 9,\n - form_id = \'Account_viewAccountingTransactionList\',\n - selection_name = \'acount_preference_selection\',\n - selection_params = third_party_params.copy(),\n - selection_columns = account_columns,\n - listbox_display_mode = \'FlatListMode\',\n - selection_sort_order = [(\'delivery.stop_date\', \'ascending\')],\n - preferences = preferences ))\n -\n - elif account.getAccountTypeId() in (\'bank\', \'cash\') :\n - # Bank Account\n - for bank_account_path in account.Account_getSourcePaymentList() :\n - bank_params = params.copy()\n - if bank_account_path is not None :\n - bank_account = context.getPortalObject().restrictedTraverse(bank_account_path)\n - bank_params[\'source_payment_uid\'] = bank_account.getUid()\n - title = "%s: %s (%s)" % ( c.getId(),\n - account.getTitle(),\n - bank_account.getTitle())\n - else :\n - bank_params[\'no_source_payment_uid\'] = 1\n - title = "%s: %s" % ( c.getId(), account.getTitle())\n - result.append(ReportSection(\n + third_party_params[\'mirror_section_uid\'] = third_party_brain.uid\n + title = "%s: %s (%s)" % ( c.getId(),\n + account.getTitle(),\n + third_party_brain.title )\n + if len(portal.portal_simulation.getInventoryList(\n + mirror_section_uid = third_party_brain.uid,\n + node_uid = account.getUid(),\n + **account_inventory_list_cache_params )):\n + result.append(ReportSection(\n path = account.getPhysicalPath(),\n title = title,\n level = 9,\n form_id = \'Account_viewAccountingTransactionList\',\n selection_name = \'acount_preference_selection\',\n - selection_params = bank_params.copy(),\n + selection_params = third_party_params.copy(),\n selection_columns = account_columns,\n listbox_display_mode = \'FlatListMode\',\n selection_sort_order = [(\'delivery.stop_date\', \'ascending\')],\n preferences = preferences ))\n +\n + elif account.getAccountTypeId() in (\'bank\', \'cash\') :\n + # Bank Account\n + for bank_account_brain in account.Account_zGetDistinctPaymentList(\n + at_date = at_date,\n + simulation_state = transaction_simulation_state ) :\n + bank_params = params.copy()\n + if bank_account_brain.path is not None :\n + bank_params[\'payment_uid\'] = bank_account_brain.uid\n + title = "%s: %s (%s)" % ( c.getId(),\n + account.getTitle(),\n + bank_account_brain.title )\n + else :\n + bank_params[\'no_payment_uid\'] = 1\n + title = "%s: %s" % ( c.getId(), account.getTitle())\n + \n + if len(portal.portal_simulation.getInventoryList(\n + payment_uid = bank_account_brain.uid,\n + node_uid = account.getUid(),\n + **account_inventory_list_cache_params )):\n + result.append(ReportSection(\n + path = account.getPhysicalPath(),\n + title = title,\n + level = 9,\n + form_id = \'Account_viewAccountingTransactionList\',\n + selection_name = \'acount_preference_selection\',\n + selection_params = bank_params.copy(),\n + selection_columns = account_columns,\n + listbox_display_mode = \'FlatListMode\',\n + selection_sort_order = [(\'delivery.stop_date\', \'ascending\')],\n + preferences = preferences ))\n \n else :\n result.append(ReportSection(\n @@ -258,7 +261,7 @@ return result\n </item> <item> <key> <string>_filepath</string> </key> - <value> <string>Script (Python):/nexedi/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList</string> </value> + <value> <string>Script (Python):/erp5/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList</string> </value> </item> <item> <key> <string>_params</string> </key> @@ -323,13 +326,11 @@ return result\n <string>account</string> <string>len</string> <string>_apply_</string> - <string>third_party_path</string> + <string>third_party_brain</string> <string>third_party_params</string> - <string>third_party</string> <string>title</string> - <string>bank_account_path</string> + <string>bank_account_brain</string> <string>bank_params</string> - <string>bank_account</string> </tuple> </value> </item> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statSourceBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statSourceBalance.xml index f7fe342032a0ac741fb68a99f298ead6d7b6ca51..c1aa2d84352d7ede24b662cadbe11900fe3490b7 100755 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statSourceBalance.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_statSourceBalance.xml @@ -66,24 +66,31 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>params = {}\n + <value> <string>kw.update(selection.getParams())\n +params = {}\n if kw.has_key(\'where_expression\'):\n params[\'where_expression\'] = kw[\'where_expression\']\n if kw.get(\'resource\'):\n - try: params[\'resource_uid\'] = context.restritedTraverse(selection_params[\'resource\']).getUid()\n + try: params[\'resource_uid\'] = context.restritedTraverse(\n + selection_params[\'resource\']).getUid()\n except (KeyError, AttributeError): pass\n \n # read settings from user preference\n preference = context.getPortalObject().portal_preferences\n -from_date = kw.get(\'from_date\', preference.getPreferredAccountingTransactionFromDate())\n +from_date = kw.get(\'from_date\',\n + preference.getPreferredAccountingTransactionFromDate())\n if from_date :\n params[\'from_date\'] = from_date\n -at_date = kw.get(\'at_date\', preference.getPreferredAccountingTransactionAtDate())\n +at_date = kw.get(\'at_date\',\n + preference.getPreferredAccountingTransactionAtDate())\n if at_date :\n params[\'at_date\'] = at_date\n -simulation_state = preference.getPreferredAccountingTransactionSimulationStateList()\n +\n +simulation_state = preference\\\n + .getPreferredAccountingTransactionSimulationStateList()\n if simulation_state :\n params[\'transaction_simulation_state\'] = simulation_state\n +\n section_category = preference.getPreferredAccountingTransactionSectionCategory()\n if section_category :\n params[\'transaction_section_category\'] = section_category\n @@ -95,19 +102,19 @@ if kw.get(\'omit_output\') :\n \n MARKER = []\n kw = selection.getParams()\n -source_payment_uid = kw.get(\'source_payment_uid\', MARKER)\n -if source_payment_uid is not MARKER:\n - params[\'source_payment_uid\'] = source_payment_uid\n -no_source_payment = kw.get(\'no_source_payment_uid\', MARKER)\n -if no_source_payment is not MARKER:\n - params[\'no_source_payment_uid\'] = 1\n +payment_uid = kw.get(\'payment_uid\', MARKER)\n +if payment_uid is not MARKER:\n + params[\'payment_uid\'] = payment_uid\n +no_payment = kw.get(\'no_payment_uid\', MARKER)\n +if no_payment is not MARKER:\n + params[\'no_payment_uid\'] = 1\n \n -destination_section_uid = kw.get(\'destination_section_uid\', MARKER)\n -if destination_section_uid is not MARKER:\n - params[\'destination_section_uid\'] = destination_section_uid\n -no_destination_section = kw.get(\'no_destination_section\', MARKER)\n -if no_destination_section is not MARKER:\n - params[\'no_destination_section\'] = 1\n +mirror_section_uid = kw.get(\'mirror_section_uid\', MARKER)\n +if mirror_section_uid is not MARKER:\n + params[\'mirror_section_uid\'] = mirror_section_uid\n +no_mirror_section = kw.get(\'no_mirror_section\', MARKER)\n +if no_mirror_section is not MARKER:\n + params[\'no_mirror_section\'] = 1\n \n params[\'node_uid\'] = kw.get(\'node_uid\', context.getUid())\n \n @@ -118,7 +125,7 @@ if kw.get(\'from_date_summary\', 0) :\n #context.log("SQL with %s \\n" % params, context.Account_zGetTotalQuantity(src__=1, **params))\n result = context.Account_zGetTotalQuantity(**params)\n row = result[0]\n -return float(\'%.02f\' % (row.quantity or 0.0) )\n +return float(\'%.02f\' % (row.total_price or 0.0) )\n </string> </value> </item> <item> @@ -135,7 +142,7 @@ return float(\'%.02f\' % (row.quantity or 0.0) )\n </item> <item> <key> <string>_filepath</string> </key> - <value> <string>Script (Python):/nexedi/portal_skins/erp5_accounting/Account_statSourceBalance</string> </value> + <value> <string>Script (Python):/erp5/portal_skins/erp5_accounting/Account_statSourceBalance</string> </value> </item> <item> <key> <string>_params</string> </key> @@ -175,8 +182,8 @@ return float(\'%.02f\' % (row.quantity or 0.0) )\n <tuple> <string>selection</string> <string>kw</string> - <string>params</string> <string>_getattr_</string> + <string>params</string> <string>_getitem_</string> <string>_write_</string> <string>context</string> @@ -189,10 +196,10 @@ return float(\'%.02f\' % (row.quantity or 0.0) )\n <string>simulation_state</string> <string>section_category</string> <string>MARKER</string> - <string>source_payment_uid</string> - <string>no_source_payment</string> - <string>destination_section_uid</string> - <string>no_destination_section</string> + <string>payment_uid</string> + <string>no_payment</string> + <string>mirror_section_uid</string> + <string>no_mirror_section</string> <string>_apply_</string> <string>result</string> <string>row</string>