diff --git a/partner_statement/README.rst b/partner_statement/README.rst index f269d4af..fd97708f 100644 --- a/partner_statement/README.rst +++ b/partner_statement/README.rst @@ -114,7 +114,6 @@ Contributors * Miquel Raïch * Graeme Gellatly * Lois Rilo -* Christopher Ormaza Maintainers ~~~~~~~~~~~ diff --git a/partner_statement/i18n/partner_statement.pot b/partner_statement/i18n/partner_statement.pot index e4b2b042..0b7253bb 100644 --- a/partner_statement/i18n/partner_statement.pot +++ b/partner_statement/i18n/partner_statement.pot @@ -13,6 +13,18 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#, python-format +msgid "%sStatement between %s and %s in %s" +msgstr "" + +#. module: partner_statement +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "%sStatement up to %s in %s" +msgstr "" + #. module: partner_statement #: code:addons/partner_statement/report/report_statement_common.py:0 #, python-format @@ -132,7 +144,11 @@ msgid "Account type" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 #: model:ir.actions.report,name:partner_statement.action_print_activity_statement +#: model:ir.actions.report,name:partner_statement.action_print_activity_statement_html +#, python-format msgid "Activity Statement" msgstr "" @@ -141,6 +157,16 @@ msgstr "" msgid "Activity Statement Wizard" msgstr "" +#. module: partner_statement +#: model:ir.model,name:partner_statement.model_report_p_s_report_activity_statement_xlsx +msgid "Activity Statement XLSL Report" +msgstr "" + +#. module: partner_statement +#: model:ir.actions.report,name:partner_statement.action_print_activity_statement_xlsx +msgid "Activity Statement XLSX" +msgstr "" + #. module: partner_statement #: model_terms:ir.ui.view,arch_db:partner_statement.res_config_settings_view_form msgid "Activity Statements show all transactions between two dates." @@ -175,19 +201,31 @@ msgstr "" msgid "Aging Report at" msgstr "" +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "Aging Report at %s in %s" +msgstr "" + #. module: partner_statement #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document msgid "Amount" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document +#, python-format msgid "Balance" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document +#, python-format msgid "Balance Forward" msgstr "" @@ -228,8 +266,11 @@ msgid "Current" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document +#, python-format msgid "Date" msgstr "" @@ -246,14 +287,26 @@ msgid "Date Start" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "Date:" +msgstr "" + +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document +#, python-format msgid "Description" msgstr "" #. module: partner_statement #: model:ir.model.fields,field_description:partner_statement.field_activity_statement_wizard__display_name #: model:ir.model.fields,field_description:partner_statement.field_outstanding_statement_wizard__display_name +#: model:ir.model.fields,field_description:partner_statement.field_report_p_s_report_activity_statement_xlsx__display_name +#: model:ir.model.fields,field_description:partner_statement.field_report_p_s_report_outstanding_statement_xlsx__display_name #: model:ir.model.fields,field_description:partner_statement.field_report_partner_statement_activity_statement__display_name #: model:ir.model.fields,field_description:partner_statement.field_report_partner_statement_outstanding_statement__display_name #: model:ir.model.fields,field_description:partner_statement.field_res_config_settings__display_name @@ -270,7 +323,9 @@ msgid "Don't show partners with no due entries" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document +#, python-format msgid "Due Date" msgstr "" @@ -285,8 +340,11 @@ msgid "Enable OCA Outstanding Statements" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document +#, python-format msgid "Ending Balance" msgstr "" @@ -308,9 +366,16 @@ msgstr "" msgid "Export PDF" msgstr "" +#. module: partner_statement +#: model_terms:ir.ui.view,arch_db:partner_statement.statement_common_view +msgid "Export XLSX" +msgstr "" + #. module: partner_statement #: model:ir.model.fields,field_description:partner_statement.field_activity_statement_wizard__id #: model:ir.model.fields,field_description:partner_statement.field_outstanding_statement_wizard__id +#: model:ir.model.fields,field_description:partner_statement.field_report_p_s_report_activity_statement_xlsx__id +#: model:ir.model.fields,field_description:partner_statement.field_report_p_s_report_outstanding_statement_xlsx__id #: model:ir.model.fields,field_description:partner_statement.field_report_partner_statement_activity_statement__id #: model:ir.model.fields,field_description:partner_statement.field_report_partner_statement_outstanding_statement__id #: model:ir.model.fields,field_description:partner_statement.field_res_config_settings__id @@ -322,6 +387,8 @@ msgstr "" #. module: partner_statement #: model:ir.model.fields,field_description:partner_statement.field_activity_statement_wizard____last_update #: model:ir.model.fields,field_description:partner_statement.field_outstanding_statement_wizard____last_update +#: model:ir.model.fields,field_description:partner_statement.field_report_p_s_report_activity_statement_xlsx____last_update +#: model:ir.model.fields,field_description:partner_statement.field_report_p_s_report_outstanding_statement_xlsx____last_update #: model:ir.model.fields,field_description:partner_statement.field_report_partner_statement_activity_statement____last_update #: model:ir.model.fields,field_description:partner_statement.field_report_partner_statement_outstanding_statement____last_update #: model:ir.model.fields,field_description:partner_statement.field_res_config_settings____last_update @@ -363,17 +430,26 @@ msgid "Older" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document +#, python-format msgid "Open Amount" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document +#, python-format msgid "Original" msgstr "" #. module: partner_statement +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 #: model:ir.actions.report,name:partner_statement.action_print_outstanding_statement +#: model:ir.actions.report,name:partner_statement.action_print_outstanding_statement_html +#, python-format msgid "Outstanding Statement" msgstr "" @@ -382,6 +458,16 @@ msgstr "" msgid "Outstanding Statement Wizard" msgstr "" +#. module: partner_statement +#: model:ir.model,name:partner_statement.model_report_p_s_report_outstanding_statement_xlsx +msgid "Outstanding Statement XLSL Report" +msgstr "" + +#. module: partner_statement +#: model:ir.actions.report,name:partner_statement.action_print_outstanding_statement_xlsx +msgid "Outstanding Statement XLSX" +msgstr "" + #. module: partner_statement #: model_terms:ir.ui.view,arch_db:partner_statement.res_config_settings_view_form msgid "Outstanding Statements show all transactions up to a date." @@ -418,6 +504,13 @@ msgstr "" msgid "Receivable" msgstr "" +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "Reference Number" +msgstr "" + #. module: partner_statement #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document @@ -447,12 +540,33 @@ msgstr "" msgid "Statement between" msgstr "" +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "Statement from:" +msgstr "" + #. module: partner_statement #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document msgid "Statement of Account" msgstr "" +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "Statement of Account from %s" +msgstr "" + +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "Statement to:" +msgstr "" + #. module: partner_statement #: model_terms:ir.ui.view,arch_db:partner_statement.outstanding_statement_document msgid "Statement up to" @@ -480,6 +594,20 @@ msgstr "" msgid "Use outstanding statements" msgstr "" +#. module: partner_statement +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#: code:addons/partner_statement/report/outstanting_statement_xlsx.py:0 +#, python-format +msgid "VAT:" +msgstr "" + +#. module: partner_statement +#: model_terms:ir.ui.view,arch_db:partner_statement.statement_common_view +msgid "View" +msgstr "" + #. module: partner_statement #: model_terms:ir.ui.view,arch_db:partner_statement.activity_statement_document msgid "and" diff --git a/partner_statement/report/activity_statement_xlsx.py b/partner_statement/report/activity_statement_xlsx.py index fd6ba7fa..5f7cfa14 100644 --- a/partner_statement/report/activity_statement_xlsx.py +++ b/partner_statement/report/activity_statement_xlsx.py @@ -4,6 +4,8 @@ from odoo import _, fields, models +from odoo.addons.report_xlsx_helper.report.report_xlsx_format import FORMATS + class ActivityStatementXslx(models.AbstractModel): _name = "report.p_s.report_activity_statement_xlsx" @@ -34,25 +36,37 @@ class ActivityStatementXslx(models.AbstractModel): ) ) sheet.merge_range( - row_pos, 0, row_pos, 6, statement_header, self.format_right_bold + row_pos, 0, row_pos, 6, statement_header, FORMATS["format_right_bold"] ) row_pos += 1 sheet.write( - row_pos, 0, _("Reference Number"), self.format_theader_yellow_center + row_pos, 0, _("Reference Number"), FORMATS["format_theader_yellow_center"] ) - sheet.write(row_pos, 1, _("Date"), self.format_theader_yellow_center) + sheet.write(row_pos, 1, _("Date"), FORMATS["format_theader_yellow_center"]) sheet.merge_range( - row_pos, 2, row_pos, 4, _("Description"), self.format_theader_yellow_center - ) - sheet.write(row_pos, 5, _("Open Amount"), self.format_theader_yellow_center) - sheet.write(row_pos, 6, _("Balance"), self.format_theader_yellow_center) - row_pos += 1 - sheet.write(row_pos, 1, partner_data.get("start"), self.format_tcell_date_left) - sheet.merge_range( - row_pos, 2, row_pos, 4, _("Balance Forward"), self.format_tcell_left + row_pos, + 2, + row_pos, + 4, + _("Description"), + FORMATS["format_theader_yellow_center"], ) sheet.write( - row_pos, 6, currency_data.get("balance_forward"), self.current_money_format + row_pos, 5, _("Open Amount"), FORMATS["format_theader_yellow_center"] + ) + sheet.write(row_pos, 6, _("Balance"), FORMATS["format_theader_yellow_center"]) + row_pos += 1 + sheet.write( + row_pos, 1, partner_data.get("start"), FORMATS["format_tcell_date_left"] + ) + sheet.merge_range( + row_pos, 2, row_pos, 4, _("Balance Forward"), FORMATS["format_tcell_left"] + ) + sheet.write( + row_pos, + 6, + currency_data.get("balance_forward"), + FORMATS["current_money_format"], ) for line in currency_data.get("lines"): row_pos += 1 @@ -69,20 +83,30 @@ class ActivityStatementXslx(models.AbstractModel): name_to_show = line.get("name", "") elif line.get("ref", "") not in line.get("name", ""): name_to_show = line.get("ref", "") - sheet.write(row_pos, 0, line.get("move_id", ""), self.format_tcell_left) - sheet.write(row_pos, 1, line.get("date", ""), self.format_tcell_date_left) - sheet.merge_range( - row_pos, 2, row_pos, 4, name_to_show, self.format_distributed + sheet.write( + row_pos, 0, line.get("move_id", ""), FORMATS["format_tcell_left"] + ) + sheet.write( + row_pos, 1, line.get("date", ""), FORMATS["format_tcell_date_left"] + ) + sheet.merge_range( + row_pos, 2, row_pos, 4, name_to_show, FORMATS["format_distributed"] + ) + sheet.write( + row_pos, 5, line.get("amount", ""), FORMATS["current_money_format"] + ) + sheet.write( + row_pos, 6, line.get("balance", ""), FORMATS["current_money_format"] ) - sheet.write(row_pos, 5, line.get("amount", ""), self.current_money_format) - sheet.write(row_pos, 6, line.get("balance", ""), self.current_money_format) row_pos += 1 - sheet.write(row_pos, 1, partner_data.get("end"), self.format_tcell_date_left) + sheet.write( + row_pos, 1, partner_data.get("end"), FORMATS["format_tcell_date_left"] + ) sheet.merge_range( - row_pos, 2, row_pos, 4, _("Ending Balance"), self.format_tcell_left + row_pos, 2, row_pos, 4, _("Ending Balance"), FORMATS["format_tcell_left"] ) sheet.write( - row_pos, 6, currency_data.get("amount_due"), self.current_money_format + row_pos, 6, currency_data.get("amount_due"), FORMATS["current_money_format"] ) return row_pos @@ -97,7 +121,7 @@ class ActivityStatementXslx(models.AbstractModel): currency.display_name, ) sheet.merge_range( - row_pos, 0, row_pos, 6, buckets_header, self.format_right_bold + row_pos, 0, row_pos, 6, buckets_header, FORMATS["format_right_bold"] ) buckets_data = currency_data.get("buckets") buckets_labels = report_model._get_bucket_labels( @@ -106,32 +130,53 @@ class ActivityStatementXslx(models.AbstractModel): row_pos += 1 for i in range(len(buckets_labels)): sheet.write( - row_pos, i, buckets_labels[i], self.format_theader_yellow_center + row_pos, + i, + buckets_labels[i], + FORMATS["format_theader_yellow_center"], ) row_pos += 1 sheet.write( - row_pos, 0, buckets_data.get("current", 0.0), self.current_money_format + row_pos, + 0, + buckets_data.get("current", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 1, buckets_data.get("b_1_30", 0.0), self.current_money_format + row_pos, + 1, + buckets_data.get("b_1_30", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 2, buckets_data.get("b_30_60", 0.0), self.current_money_format + row_pos, + 2, + buckets_data.get("b_30_60", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 3, buckets_data.get("b_60_90", 0.0), self.current_money_format + row_pos, + 3, + buckets_data.get("b_60_90", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 4, buckets_data.get("b_90_120", 0.0), self.current_money_format + row_pos, + 4, + buckets_data.get("b_90_120", 0.0), + FORMATS["current_money_format"], ) sheet.write( row_pos, 5, buckets_data.get("b_over_120", 0.0), - self.current_money_format, + FORMATS["current_money_format"], ) sheet.write( - row_pos, 6, buckets_data.get("balance", 0.0), self.current_money_format + row_pos, + 6, + buckets_data.get("balance", 0.0), + FORMATS["current_money_format"], ) return row_pos @@ -142,7 +187,7 @@ class ActivityStatementXslx(models.AbstractModel): def generate_xlsx_report(self, workbook, data, objects): report_model = self.env["report.partner_statement.activity_statement"] self._define_formats(workbook) - self.format_distributed = workbook.add_format({"align": "vdistributed"}) + FORMATS["format_distributed"] = workbook.add_format({"align": "vdistributed"}) company_id = data.get("company_id", False) if company_id: company = self.env["res.company"].browse(company_id) @@ -159,15 +204,15 @@ class ActivityStatementXslx(models.AbstractModel): row_pos, 6, _("Statement of Account from %s" % (company.display_name)), - self.format_ws_title, + FORMATS["format_ws_title"], ) row_pos += 1 - sheet.write(row_pos, 1, _("Date:"), self.format_theader_yellow_right) + sheet.write(row_pos, 1, _("Date:"), FORMATS["format_theader_yellow_right"]) sheet.write( row_pos, 2, fields.Date.from_string(data.get("date_end")), - self.format_date_left, + FORMATS["format_date_left"], ) self._size_columns(sheet) for partner in partners: @@ -176,7 +221,7 @@ class ActivityStatementXslx(models.AbstractModel): )(partner) row_pos += 3 sheet.write( - row_pos, 1, _("Statement to:"), self.format_theader_yellow_right + row_pos, 1, _("Statement to:"), FORMATS["format_theader_yellow_right"] ) sheet.merge_range( row_pos, @@ -184,24 +229,24 @@ class ActivityStatementXslx(models.AbstractModel): row_pos, 3, invoice_address.display_name, - self.format_left, + FORMATS["format_left"], ) if invoice_address.vat: sheet.write( row_pos, 4, _("VAT:"), - self.format_theader_yellow_right, + FORMATS["format_theader_yellow_right"], ) sheet.write( row_pos, 5, invoice_address.vat, - self.format_left, + FORMATS["format_left"], ) row_pos += 1 sheet.write( - row_pos, 1, _("Statement from:"), self.format_theader_yellow_right + row_pos, 1, _("Statement from:"), FORMATS["format_theader_yellow_right"] ) sheet.merge_range( row_pos, @@ -209,20 +254,20 @@ class ActivityStatementXslx(models.AbstractModel): row_pos, 3, company.partner_id.display_name, - self.format_left, + FORMATS["format_left"], ) if company.vat: sheet.write( row_pos, 4, _("VAT:"), - self.format_theader_yellow_right, + FORMATS["format_theader_yellow_right"], ) sheet.write( row_pos, 5, company.vat, - self.format_left, + FORMATS["format_left"], ) partner_data = data.get("data", {}).get(partner.id) currencies = partner_data.get("currencies", {}).keys() @@ -238,7 +283,7 @@ class ActivityStatementXslx(models.AbstractModel): money_string = "[${}]".format(currency.symbol) + " #,##0.%s" % ( "0" * currency.decimal_places ) - self.current_money_format = workbook.add_format( + FORMATS["current_money_format"] = workbook.add_format( {"align": "right", "num_format": money_string} ) row_pos = self._write_currency_lines( diff --git a/partner_statement/report/outstanting_statement_xlsx.py b/partner_statement/report/outstanting_statement_xlsx.py index c08a3922..ae84a28c 100644 --- a/partner_statement/report/outstanting_statement_xlsx.py +++ b/partner_statement/report/outstanting_statement_xlsx.py @@ -4,6 +4,8 @@ from odoo import _, fields, models +from odoo.addons.report_xlsx_helper.report.report_xlsx_format import FORMATS + class OutstandingStatementXslx(models.AbstractModel): _name = "report.p_s.report_outstanding_statement_xlsx" @@ -33,18 +35,22 @@ class OutstandingStatementXslx(models.AbstractModel): ) ) sheet.merge_range( - row_pos, 0, row_pos, 6, statement_header, self.format_right_bold + row_pos, 0, row_pos, 6, statement_header, FORMATS["format_right_bold"] ) row_pos += 1 sheet.write( - row_pos, 0, _("Reference Number"), self.format_theader_yellow_center + row_pos, 0, _("Reference Number"), FORMATS["format_theader_yellow_center"] ) - sheet.write(row_pos, 1, _("Date"), self.format_theader_yellow_center) - sheet.write(row_pos, 2, _("Due Date"), self.format_theader_yellow_center) - sheet.write(row_pos, 3, _("Description"), self.format_theader_yellow_center) - sheet.write(row_pos, 4, _("Original"), self.format_theader_yellow_center) - sheet.write(row_pos, 5, _("Open Amount"), self.format_theader_yellow_center) - sheet.write(row_pos, 6, _("Balance"), self.format_theader_yellow_center) + sheet.write(row_pos, 1, _("Date"), FORMATS["format_theader_yellow_center"]) + sheet.write(row_pos, 2, _("Due Date"), FORMATS["format_theader_yellow_center"]) + sheet.write( + row_pos, 3, _("Description"), FORMATS["format_theader_yellow_center"] + ) + sheet.write(row_pos, 4, _("Original"), FORMATS["format_theader_yellow_center"]) + sheet.write( + row_pos, 5, _("Open Amount"), FORMATS["format_theader_yellow_center"] + ) + sheet.write(row_pos, 6, _("Balance"), FORMATS["format_theader_yellow_center"]) for line in currency_data.get("lines"): row_pos += 1 name_to_show = ( @@ -60,24 +66,37 @@ class OutstandingStatementXslx(models.AbstractModel): name_to_show = line.get("name", "") elif line.get("ref", "") not in line.get("name", ""): name_to_show = line.get("ref", "") - sheet.write(row_pos, 0, line.get("move_id", ""), self.format_tcell_left) - sheet.write(row_pos, 1, line.get("date", ""), self.format_tcell_date_left) sheet.write( - row_pos, 2, line.get("date_maturity", ""), self.format_tcell_date_left + row_pos, 0, line.get("move_id", ""), FORMATS["format_tcell_left"] ) - sheet.write(row_pos, 3, name_to_show, self.format_distributed) - sheet.write(row_pos, 4, line.get("amount", ""), self.current_money_format) sheet.write( - row_pos, 5, line.get("open_amount", ""), self.current_money_format + row_pos, 1, line.get("date", ""), FORMATS["format_tcell_date_left"] + ) + sheet.write( + row_pos, + 2, + line.get("date_maturity", ""), + FORMATS["format_tcell_date_left"], + ) + sheet.write(row_pos, 3, name_to_show, FORMATS["format_distributed"]) + sheet.write( + row_pos, 4, line.get("amount", ""), FORMATS["current_money_format"] + ) + sheet.write( + row_pos, 5, line.get("open_amount", ""), FORMATS["current_money_format"] + ) + sheet.write( + row_pos, 6, line.get("balance", ""), FORMATS["current_money_format"] ) - sheet.write(row_pos, 6, line.get("balance", ""), self.current_money_format) row_pos += 1 - sheet.write(row_pos, 1, partner_data.get("end"), self.format_tcell_date_left) + sheet.write( + row_pos, 1, partner_data.get("end"), FORMATS["format_tcell_date_left"] + ) sheet.merge_range( - row_pos, 2, row_pos, 4, _("Ending Balance"), self.format_tcell_left + row_pos, 2, row_pos, 4, _("Ending Balance"), FORMATS["format_tcell_left"] ) sheet.write( - row_pos, 6, currency_data.get("amount_due"), self.current_money_format + row_pos, 6, currency_data.get("amount_due"), FORMATS["current_money_format"] ) return row_pos @@ -92,7 +111,7 @@ class OutstandingStatementXslx(models.AbstractModel): currency.display_name, ) sheet.merge_range( - row_pos, 0, row_pos, 6, buckets_header, self.format_right_bold + row_pos, 0, row_pos, 6, buckets_header, FORMATS["format_right_bold"] ) buckets_data = currency_data.get("buckets") buckets_labels = report_model._get_bucket_labels( @@ -101,32 +120,53 @@ class OutstandingStatementXslx(models.AbstractModel): row_pos += 1 for i in range(len(buckets_labels)): sheet.write( - row_pos, i, buckets_labels[i], self.format_theader_yellow_center + row_pos, + i, + buckets_labels[i], + FORMATS["format_theader_yellow_center"], ) row_pos += 1 sheet.write( - row_pos, 0, buckets_data.get("current", 0.0), self.current_money_format + row_pos, + 0, + buckets_data.get("current", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 1, buckets_data.get("b_1_30", 0.0), self.current_money_format + row_pos, + 1, + buckets_data.get("b_1_30", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 2, buckets_data.get("b_30_60", 0.0), self.current_money_format + row_pos, + 2, + buckets_data.get("b_30_60", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 3, buckets_data.get("b_60_90", 0.0), self.current_money_format + row_pos, + 3, + buckets_data.get("b_60_90", 0.0), + FORMATS["current_money_format"], ) sheet.write( - row_pos, 4, buckets_data.get("b_90_120", 0.0), self.current_money_format + row_pos, + 4, + buckets_data.get("b_90_120", 0.0), + FORMATS["current_money_format"], ) sheet.write( row_pos, 5, buckets_data.get("b_over_120", 0.0), - self.current_money_format, + FORMATS["current_money_format"], ) sheet.write( - row_pos, 6, buckets_data.get("balance", 0.0), self.current_money_format + row_pos, + 6, + buckets_data.get("balance", 0.0), + FORMATS["current_money_format"], ) return row_pos @@ -137,7 +177,7 @@ class OutstandingStatementXslx(models.AbstractModel): def generate_xlsx_report(self, workbook, data, objects): report_model = self.env["report.partner_statement.outstanding_statement"] self._define_formats(workbook) - self.format_distributed = workbook.add_format({"align": "vdistributed"}) + FORMATS["format_distributed"] = workbook.add_format({"align": "vdistributed"}) company_id = data.get("company_id", False) if company_id: company = self.env["res.company"].browse(company_id) @@ -154,15 +194,15 @@ class OutstandingStatementXslx(models.AbstractModel): row_pos, 6, _("Statement of Account from %s" % (company.display_name)), - self.format_ws_title, + FORMATS["format_ws_title"], ) row_pos += 1 - sheet.write(row_pos, 1, _("Date:"), self.format_theader_yellow_right) + sheet.write(row_pos, 1, _("Date:"), FORMATS["format_theader_yellow_right"]) sheet.write( row_pos, 2, fields.Date.from_string(data.get("date_end")), - self.format_date_left, + FORMATS["format_date_left"], ) self._size_columns(sheet) for partner in partners: @@ -171,7 +211,7 @@ class OutstandingStatementXslx(models.AbstractModel): )(partner) row_pos += 3 sheet.write( - row_pos, 1, _("Statement to:"), self.format_theader_yellow_right + row_pos, 1, _("Statement to:"), FORMATS["format_theader_yellow_right"] ) sheet.merge_range( row_pos, @@ -179,24 +219,24 @@ class OutstandingStatementXslx(models.AbstractModel): row_pos, 3, invoice_address.display_name, - self.format_left, + FORMATS["format_left"], ) if invoice_address.vat: sheet.write( row_pos, 4, _("VAT:"), - self.format_theader_yellow_right, + FORMATS["format_theader_yellow_right"], ) sheet.write( row_pos, 5, invoice_address.vat, - self.format_left, + FORMATS["format_left"], ) row_pos += 1 sheet.write( - row_pos, 1, _("Statement from:"), self.format_theader_yellow_right + row_pos, 1, _("Statement from:"), FORMATS["format_theader_yellow_right"] ) sheet.merge_range( row_pos, @@ -204,20 +244,20 @@ class OutstandingStatementXslx(models.AbstractModel): row_pos, 3, company.partner_id.display_name, - self.format_left, + FORMATS["format_left"], ) if company.vat: sheet.write( row_pos, 4, _("VAT:"), - self.format_theader_yellow_right, + FORMATS["format_theader_yellow_right"], ) sheet.write( row_pos, 5, company.vat, - self.format_left, + FORMATS["format_left"], ) partner_data = data.get("data", {}).get(partner.id) currencies = partner_data.get("currencies", {}).keys() @@ -233,7 +273,7 @@ class OutstandingStatementXslx(models.AbstractModel): money_string = "[${}]".format(currency.symbol) + " #,##0.%s" % ( "0" * currency.decimal_places ) - self.current_money_format = workbook.add_format( + FORMATS["current_money_format"] = workbook.add_format( {"align": "right", "num_format": money_string} ) row_pos = self._write_currency_lines(