# HG changeset patch # User szeka_wong <szeka.wong@xcg-consulting.fr> # Date 1704375257 -3600 # Thu Jan 04 14:34:17 2024 +0100 # Branch 11.0 # Node ID ce629c1553828f9f0f0575f38843596f1385e1bf # Parent ab384dd216719a48c9c9ef8b6bf9c0482e01d765 Use sudo to validate monthly statement. Code format. diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,5 +6,4 @@ # add patch_import_yml at install time to fix yaml demo data, see its README. TEST_OPTIONS: --load=web,patch_import_yml ODOO_IMAGE_VERSION: 11.0.20210616-focal - # vim: set shiftwidth=2: diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,8 @@ +# Defaults for all prettier-supported languages. +# Prettier will complete this with settings from .editorconfig file. +bracketSpacing: false +printWidth: 88 +proseWrap: always +semi: true +trailingComma: "es5" +xmlWhitespaceSensitivity: "ignore" diff --git a/NEWS.rst b/NEWS.rst --- a/NEWS.rst +++ b/NEWS.rst @@ -1,3 +1,8 @@ +11.0.1.6.1 +========== + +* Use sudo to validate monthly statement. + 11.0.1.6.0 ========== diff --git a/__manifest__.py b/__manifest__.py --- a/__manifest__.py +++ b/__manifest__.py @@ -21,7 +21,7 @@ { "name": "Accounting Reports", "license": "AGPL-3", - "version": "11.0.1.6.0", + "version": "11.0.1.6.1", "category": "Accounting", "author": "XCG Consulting", "website": "https://odoo.consulting/", @@ -58,6 +58,9 @@ "views/account_report.xml", "views/res_partner.xml", ], - "demo": ["demo/account.monthly_statement.kind.csv"], + "demo": [ + "demo/account_report_demo.xml", + "demo/account.monthly_statement.kind.csv", + ], "installable": True, } diff --git a/data/ir.sequence.xml b/data/ir.sequence.xml --- a/data/ir.sequence.xml +++ b/data/ir.sequence.xml @@ -1,14 +1,12 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - <data noupdate="1"> - - <!-- Define a sequence to generate monthly statement codes. --> - <record id="account_monthly_statement_sequence" model="ir.sequence"> - <field name="code">account.monthly_statement</field> - <field name="company_id" eval="False" /> - <field name="name">Monthly Statement</field> - <field name="padding">8</field> - </record> - - </data> + <data noupdate="1"> + <!-- Define a sequence to generate monthly statement codes. --> + <record id="account_monthly_statement_sequence" model="ir.sequence"> + <field name="code">account.monthly_statement</field> + <field name="company_id" eval="False" /> + <field name="name">Monthly Statement</field> + <field name="padding">8</field> + </record> + </data> </odoo> diff --git a/demo/account_report_demo.xml b/demo/account_report_demo.xml new file mode 100644 --- /dev/null +++ b/demo/account_report_demo.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <data noupdate="1"> + <record id="account_partner_demo" model="res.partner"> + <field name="name">Account Partner Demo</field> + <field name="company_id" ref="base.main_company" /> + <field name="customer" eval="False" /> + <field name="email">account_partner_demo@yourcompany.example.com</field> + <field name="company_name">YourCompany</field> + <field name="street">Avenue des Dessus-de-Lives, 2</field> + <field name="city">Namur (Loyers)</field> + <field name="zip">5101</field> + <field name="country_id" ref="base.be" /> + </record> + + <record id="account_user_demo" model="res.users"> + <field name="partner_id" ref="account_report.account_partner_demo" /> + <field name="login">account_demo</field> + <field name="password">account_demo</field> + <field name="company_id" ref="base.main_company" /> + <field name="groups_id" eval="[(4,ref('account.group_account_invoice'))]" /> + </record> + </data> +</odoo> diff --git a/menu.xml b/menu.xml --- a/menu.xml +++ b/menu.xml @@ -1,24 +1,37 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - <data> - <!-- Sub-menus inside the "Accounting" menu. --> + <data> + <!-- Sub-menus inside the "Accounting" menu. --> - <menuitem id="account_consultation_sub_menu" name="Account consultation" - parent="account.menu_finance" sequence="4" /> + <menuitem + id="account_consultation_sub_menu" + name="Account consultation" + parent="account.menu_finance" + sequence="4" + /> - <menuitem id="account_monthly_statement_sub_menu" name="Monthly Statements" - parent="account.menu_finance" /> + <menuitem + id="account_monthly_statement_sub_menu" + name="Monthly Statements" + parent="account.menu_finance" + /> - <!-- Add sub-menus other modules may fill in. --> - <menuitem id="legal_reports_menu" name="Legal Reports" - parent="account.menu_finance_reports" /> - - <menuitem id="accounting_reports_menu" name="Accounting Reports" - parent="legal_reports_menu" /> + <!-- Add sub-menus other modules may fill in. --> + <menuitem + id="legal_reports_menu" + name="Legal Reports" + parent="account.menu_finance_reports" + /> - <!-- Make the older menu only available to the administrator --> - <record id="account.menu_finance_legal_statement" model="ir.ui.menu"> - <field name="groups_id" eval="[(6, 0, [ref('base.group_no_one')])]" /> - </record> - </data> + <menuitem + id="accounting_reports_menu" + name="Accounting Reports" + parent="legal_reports_menu" + /> + + <!-- Make the older menu only available to the administrator --> + <record id="account.menu_finance_legal_statement" model="ir.ui.menu"> + <field name="groups_id" eval="[(6, 0, [ref('base.group_no_one')])]" /> + </record> + </data> </odoo> diff --git a/models/account_monthly_statement.py b/models/account_monthly_statement.py --- a/models/account_monthly_statement.py +++ b/models/account_monthly_statement.py @@ -135,6 +135,7 @@ @api.multi def validate(self): + self = self.sudo() self.write({"state": "in_progress"}) for statement in self: statement.register_process_job() diff --git a/reports/reports.xml b/reports/reports.xml --- a/reports/reports.xml +++ b/reports/reports.xml @@ -1,17 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - <data noupdate="1"> - - <!-- Excel report for monthly statements. --> - <record id="monthly_statement_excel_report" model="ir.actions.report"> - <field name="attachment">object.code + ".xlsx"</field> - <field name="name">Monthly Statement</field> - <field name="model">account.monthly_statement</field> - <field name="print_report_name">object.code</field> - <field name="report_name">account_report.monthly_statement_excel</field> - <field name="report_type">xlsx</field> - <field name="type">ir.actions.report</field> - </record> - - </data> + <data noupdate="1"> + <!-- Excel report for monthly statements. --> + <record id="monthly_statement_excel_report" model="ir.actions.report"> + <field name="attachment">object.code + ".xlsx"</field> + <field name="name">Monthly Statement</field> + <field name="model">account.monthly_statement</field> + <field name="print_report_name">object.code</field> + <field name="report_name">account_report.monthly_statement_excel</field> + <field name="report_type">xlsx</field> + <field name="type">ir.actions.report</field> + </record> + </data> </odoo> diff --git a/static/src/less/account_report.less b/static/src/less/account_report.less --- a/static/src/less/account_report.less +++ b/static/src/less/account_report.less @@ -1,13 +1,13 @@ -.fieldblock{ - span { - margin-right:5px; - } +.fieldblock { + span { + margin-right: 5px; + } - div input { - width: 120px !important; - } + div input { + width: 120px !important; + } - .oe_inline{ - width: 120px !important; - } -} \ No newline at end of file + .oe_inline { + width: 120px !important; + } +} diff --git a/tests/test_account_report.py b/tests/test_account_report.py --- a/tests/test_account_report.py +++ b/tests/test_account_report.py @@ -182,6 +182,9 @@ def test_monthly_statement(self): """Test monthly statements: reports & emails.""" + # Fecth an user from the security group 'account.group_account_invoice' + account_user = self.env.ref("account_report.account_user_demo") + partner = self.env.ref("base.res_partner_10") invoice = self._makeInvoice(partner) self._validateInvoices(invoice) @@ -217,10 +220,9 @@ self.assertEqual(batch.account_move_line_count, 1) self.assertEqual(batch.account_move_line_ids, line_to_pay) self.assertAlmostEqual(batch.amount, AMOUNT) - self.assertEqual(batch.state, "draft") - batch.validate() + batch.with_context(user=account_user.id).validate() self.assertEqual(batch.state, "in_progress") diff --git a/views/account_account_type.xml b/views/account_account_type.xml --- a/views/account_account_type.xml +++ b/views/account_account_type.xml @@ -1,8 +1,10 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - - <menuitem id="account_account_type_menu" name="Accounting account types" - parent="account.account_account_menu" sequence="0" - action="account.action_account_type_form" /> - + <menuitem + id="account_account_type_menu" + name="Accounting account types" + parent="account.account_account_menu" + sequence="0" + action="account.action_account_type_form" + /> </odoo> diff --git a/views/account_invoice.xml b/views/account_invoice.xml --- a/views/account_invoice.xml +++ b/views/account_invoice.xml @@ -1,17 +1,16 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - - <record id="account_report_view_invoice_form" model="ir.ui.view"> - <field name="name">account_report_view_invoice_form</field> - <field name="model">account.invoice</field> - <field name="inherit_id" ref="account.invoice_form"/> - <field name="arch" type="xml"> - - <xpath expr="//field[@name='user_id']" position="before"> - <field name="invoice_origin" attrs="{'invisible': [('invoice_origin', '=', False)]}"/> - </xpath> - - </field> - </record> - + <record id="account_report_view_invoice_form" model="ir.ui.view"> + <field name="name">account_report_view_invoice_form</field> + <field name="model">account.invoice</field> + <field name="inherit_id" ref="account.invoice_form" /> + <field name="arch" type="xml"> + <xpath expr="//field[@name='user_id']" position="before"> + <field + name="invoice_origin" + attrs="{'invisible': [('invoice_origin', '=', False)]}" + /> + </xpath> + </field> + </record> </odoo> diff --git a/views/account_monthly_statement.xml b/views/account_monthly_statement.xml --- a/views/account_monthly_statement.xml +++ b/views/account_monthly_statement.xml @@ -1,128 +1,132 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - - <!-- Views for monthly statements. --> - - <record id="account_monthly_statement_search" model="ir.ui.view"> - <field name="name">account_monthly_statement_search</field> - <field name="model">account.monthly_statement</field> - <field name="arch" type="xml"> + <!-- Views for monthly statements. --> - <search> - <field name="code" /> - <field name="partner_id" /> - <field name="monthly_statement_kind_id" /> - <field name="state" /> + <record id="account_monthly_statement_search" model="ir.ui.view"> + <field name="name">account_monthly_statement_search</field> + <field name="model">account.monthly_statement</field> + <field name="arch" type="xml"> + <search> + <field name="code" /> + <field name="partner_id" /> + <field name="monthly_statement_kind_id" /> + <field name="state" /> - <group string="Group by..."> - <filter name="group_by_state" string="State" - context="{'group_by': 'state'}" /> - </group> - </search> - - </field> - </record> - - <record id="account_monthly_statement_list" model="ir.ui.view"> - <field name="name">account_monthly_statement_list</field> - <field name="model">account.monthly_statement</field> - <field name="arch" type="xml"> + <group string="Group by..."> + <filter + name="group_by_state" + string="State" + context="{'group_by': 'state'}" + /> + </group> + </search> + </field> + </record> - <tree create="0" edit="0" delete="0" decoration-success="state == 'done'"> - <field name="code" /> - <field name="partner_id" /> - <field name="monthly_statement_kind_id" /> - <field name="with_end_client" /> - <field name="begin_date" /> - <field name="end_date" /> - <field name="account_move_line_count" /> - <field name="amount" sum="Total" /> - <field name="state" /> - <field name="currency_id" invisible="1" /> - </tree> + <record id="account_monthly_statement_list" model="ir.ui.view"> + <field name="name">account_monthly_statement_list</field> + <field name="model">account.monthly_statement</field> + <field name="arch" type="xml"> + <tree create="0" edit="0" delete="0" decoration-success="state == 'done'"> + <field name="code" /> + <field name="partner_id" /> + <field name="monthly_statement_kind_id" /> + <field name="with_end_client" /> + <field name="begin_date" /> + <field name="end_date" /> + <field name="account_move_line_count" /> + <field name="amount" sum="Total" /> + <field name="state" /> + <field name="currency_id" invisible="1" /> + </tree> + </field> + </record> - </field> - </record> - - <record id="account_monthly_statement_form" model="ir.ui.view"> - <field name="name">account_monthly_statement_form</field> - <field name="model">account.monthly_statement</field> - <field name="arch" type="xml"> + <record id="account_monthly_statement_form" model="ir.ui.view"> + <field name="name">account_monthly_statement_form</field> + <field name="model">account.monthly_statement</field> + <field name="arch" type="xml"> + <form create="0" edit="0" delete="0"> + <header> + <button + name="validate" + type="object" + string="Validate" + class="oe_highlight" + attrs="{'invisible': [('state', '!=', 'draft')]}" + /> + <field name="state" widget="statusbar" /> + </header> - <form create="0" edit="0" delete="0"> - <header> - <button name="validate" type="object" string="Validate" - class="oe_highlight" - attrs="{'invisible': [('state', '!=', 'draft')]}"/> - <field name="state" widget="statusbar" /> - </header> - - <field name="currency_id" invisible="1" /> + <field name="currency_id" invisible="1" /> - <sheet> - <div class="oe_left oe_title"> - <h1> - <field name="code" /> - </h1> - </div> + <sheet> + <div class="oe_left oe_title"> + <h1> + <field name="code" /> + </h1> + </div> - <div name="button_box" class="oe_right oe_button_box"> - - <button name="open_lines" type="object" class="oe_stat_button" - icon="fa-money"> - <field name="account_move_line_count" string="Lines" - widget="statinfo" /> - </button> + <div name="button_box" class="oe_right oe_button_box"> + <button + name="open_lines" + type="object" + class="oe_stat_button" + icon="fa-money" + > + <field name="account_move_line_count" string="Lines" widget="statinfo" /> + </button> - <button name="open_queue_jobs" type="object" - class="oe_inline oe_stat_button" icon="fa-list"> - <field name="queue_job_count" string="Job Queue" - widget="statinfo" /> - </button> - - </div> + <button + name="open_queue_jobs" + type="object" + class="oe_inline oe_stat_button" + icon="fa-list" + > + <field name="queue_job_count" string="Job Queue" widget="statinfo" /> + </button> + </div> - <group col="3"> - - <group> - <field name="partner_id" /> - <field name="with_end_client" /> - <field name="begin_date" /> - <field name="end_date" /> - </group> + <group col="3"> + <group> + <field name="partner_id" /> + <field name="with_end_client" /> + <field name="begin_date" /> + <field name="end_date" /> + </group> - <group> - <field name="monthly_statement_kind_id" /> - <field name="create_date" readonly="1" /> - </group> + <group> + <field name="monthly_statement_kind_id" /> + <field name="create_date" readonly="1" /> + </group> - <group> - <field name="amount" /> - </group> - - </group> - - </sheet> + <group> + <field name="amount" /> + </group> + </group> + </sheet> - <div class="oe_chatter"> - <field name="message_follower_ids" widget="mail_followers" /> - <field name="message_ids" widget="mail_thread" /> - </div> - </form> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers" /> + <field name="message_ids" widget="mail_thread" /> + </div> + </form> + </field> + </record> - </field> - </record> - - <!-- Menu command to manage monthly statements. --> + <!-- Menu command to manage monthly statements. --> - <record id="account_monthly_statement_action" model="ir.actions.act_window"> - <field name="name">Monthly Statements</field> - <field name="res_model">account.monthly_statement</field> - <field name="view_mode">tree,form</field> - <field name="view_type">form</field> - </record> + <record id="account_monthly_statement_action" model="ir.actions.act_window"> + <field name="name">Monthly Statements</field> + <field name="res_model">account.monthly_statement</field> + <field name="view_mode">tree,form</field> + <field name="view_type">form</field> + </record> - <menuitem id="account_monthly_statement_menu_command" parent="account_monthly_statement_sub_menu" - sequence="1" action="account_monthly_statement_action" /> - + <menuitem + id="account_monthly_statement_menu_command" + parent="account_monthly_statement_sub_menu" + sequence="1" + action="account_monthly_statement_action" + /> </odoo> diff --git a/views/account_monthly_statement_kind.xml b/views/account_monthly_statement_kind.xml --- a/views/account_monthly_statement_kind.xml +++ b/views/account_monthly_statement_kind.xml @@ -1,74 +1,68 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - - <!-- Views for monthly statement kinds. --> - - <record id="account_monthly_statement_kind_search" model="ir.ui.view"> - <field name="name">account_monthly_statement_kind_search</field> - <field name="model">account.monthly_statement.kind</field> - <field name="arch" type="xml"> - - <search> - <field name="name" /> - <field name="pdf_report_id" /> - <field name="excel_report_id" /> - <field name="mail_template_id" /> - </search> + <!-- Views for monthly statement kinds. --> - </field> - </record> - - <record id="account_monthly_statement_kind_list" model="ir.ui.view"> - <field name="name">account_monthly_statement_kind_list</field> - <field name="model">account.monthly_statement.kind</field> - <field name="arch" type="xml"> + <record id="account_monthly_statement_kind_search" model="ir.ui.view"> + <field name="name">account_monthly_statement_kind_search</field> + <field name="model">account.monthly_statement.kind</field> + <field name="arch" type="xml"> + <search> + <field name="name" /> + <field name="pdf_report_id" /> + <field name="excel_report_id" /> + <field name="mail_template_id" /> + </search> + </field> + </record> - <tree editable="bottom"> - <field name="name" /> - <field name="pdf_report_id" /> - <field name="excel_report_id" /> - <field name="mail_template_id" /> - </tree> - - </field> - </record> + <record id="account_monthly_statement_kind_list" model="ir.ui.view"> + <field name="name">account_monthly_statement_kind_list</field> + <field name="model">account.monthly_statement.kind</field> + <field name="arch" type="xml"> + <tree editable="bottom"> + <field name="name" /> + <field name="pdf_report_id" /> + <field name="excel_report_id" /> + <field name="mail_template_id" /> + </tree> + </field> + </record> - <record id="account_monthly_statement_kind_form" model="ir.ui.view"> - <field name="name">account_monthly_statement_kind_form</field> - <field name="model">account.monthly_statement.kind</field> - <field name="arch" type="xml"> - - <form> - <sheet> - - <group> - <field name="name" /> - <field name="pdf_report_id" /> - <field name="excel_report_id" /> - <field name="mail_template_id" /> - </group> - - </sheet> + <record id="account_monthly_statement_kind_form" model="ir.ui.view"> + <field name="name">account_monthly_statement_kind_form</field> + <field name="model">account.monthly_statement.kind</field> + <field name="arch" type="xml"> + <form> + <sheet> + <group> + <field name="name" /> + <field name="pdf_report_id" /> + <field name="excel_report_id" /> + <field name="mail_template_id" /> + </group> + </sheet> - <div class="oe_chatter"> - <field name="message_follower_ids" widget="mail_followers" /> - <field name="message_ids" widget="mail_thread" /> - </div> - </form> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers" /> + <field name="message_ids" widget="mail_thread" /> + </div> + </form> + </field> + </record> - </field> - </record> - - <!-- Menu command to manage monthly statement kinds. --> + <!-- Menu command to manage monthly statement kinds. --> - <record id="account_monthly_statement_kind_action" model="ir.actions.act_window"> - <field name="name">Monthly Statement Kinds</field> - <field name="res_model">account.monthly_statement.kind</field> - <field name="view_mode">tree,form</field> - <field name="view_type">form</field> - </record> + <record id="account_monthly_statement_kind_action" model="ir.actions.act_window"> + <field name="name">Monthly Statement Kinds</field> + <field name="res_model">account.monthly_statement.kind</field> + <field name="view_mode">tree,form</field> + <field name="view_type">form</field> + </record> - <menuitem id="account_monthly_statement_kind_menu_command" parent="account_monthly_statement_sub_menu" - sequence="3" action="account_monthly_statement_kind_action" /> - + <menuitem + id="account_monthly_statement_kind_menu_command" + parent="account_monthly_statement_sub_menu" + sequence="3" + action="account_monthly_statement_kind_action" + /> </odoo> diff --git a/views/account_move.xml b/views/account_move.xml --- a/views/account_move.xml +++ b/views/account_move.xml @@ -1,17 +1,16 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - - <record id="account_report_view_move_form" model="ir.ui.view"> - <field name="name">account_report.view_move_form</field> - <field name="model">account.move</field> - <field name="inherit_id" ref="account.view_move_form"/> - <field name="arch" type="xml"> - - <xpath expr="//field[@name='journal_id']" position="after"> - <field name="invoice_origin" attrs="{'invisible': [('invoice_origin', '=', False)]}"/> - </xpath> - - </field> - </record> - + <record id="account_report_view_move_form" model="ir.ui.view"> + <field name="name">account_report.view_move_form</field> + <field name="model">account.move</field> + <field name="inherit_id" ref="account.view_move_form" /> + <field name="arch" type="xml"> + <xpath expr="//field[@name='journal_id']" position="after"> + <field + name="invoice_origin" + attrs="{'invisible': [('invoice_origin', '=', False)]}" + /> + </xpath> + </field> + </record> </odoo> diff --git a/views/account_move_line.xml b/views/account_move_line.xml --- a/views/account_move_line.xml +++ b/views/account_move_line.xml @@ -1,64 +1,60 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - <data> - - <!-- Accounting entry views, to be shown from the account consultation dialog. --> - - <record id="account_consultation_general_aml_list" model="ir.ui.view"> - <field name="name">account_consultation_general_aml_list</field> - <field name="model">account.move.line</field> - <field name="priority">100</field> <!-- Higher (so less important) than the default. --> - <field name="arch" type="xml"> + <data> + <!-- Accounting entry views, to be shown from the account consultation dialog. --> - <tree> - <field name="move_state" string="State" /> - <field name="ref" /> - <field name="move_id" /> - <field name="period_id" /> - <field name="transaction_date" string="Transaction date" /> - <field name="date_maturity" /> - <field name="journal_id" /> - <field name="partner_id" /> - <field name="partner_client_code" /> - <field name="partner_supplier_code" /> - <field name="account_id" /> - <field name="name" /> - <field name="invoice_origin" /> - <field name="full_reconcile_id" /> - <field name="date_reconcile" /> - <field name="debit" sum="Total" /> - <field name="credit" sum="Total" /> - <field name="reporting_balance" string="Balance" sum="Total" /> - </tree> - - </field> - </record> + <record id="account_consultation_general_aml_list" model="ir.ui.view"> + <field name="name">account_consultation_general_aml_list</field> + <field name="model">account.move.line</field> + <field name="priority">100</field> + <!-- Higher (so less important) than the default. --> + <field name="arch" type="xml"> + <tree> + <field name="move_state" string="State" /> + <field name="ref" /> + <field name="move_id" /> + <field name="period_id" /> + <field name="transaction_date" string="Transaction date" /> + <field name="date_maturity" /> + <field name="journal_id" /> + <field name="partner_id" /> + <field name="partner_client_code" /> + <field name="partner_supplier_code" /> + <field name="account_id" /> + <field name="name" /> + <field name="invoice_origin" /> + <field name="full_reconcile_id" /> + <field name="date_reconcile" /> + <field name="debit" sum="Total" /> + <field name="credit" sum="Total" /> + <field name="reporting_balance" string="Balance" sum="Total" /> + </tree> + </field> + </record> - <record id="account_consultation_analytic_aml_list" model="ir.ui.view"> - <field name="name">account_consultation_analytic_aml_list</field> - <field name="model">account.move.line</field> - <field name="priority">100</field> <!--Higher (so less important) than the default. --> - <field name="arch" type="xml"> - - <tree> - <field name="move_state" string="State" /> - <field name="ref" /> - <field name="move_id" /> - <field name="period_id" /> - <field name="partner_id" /> - <field name="partner_client_code" /> - <field name="partner_supplier_code" /> - <field name="account_id" /> - <field name="name" /> - <field name="tax_line_id" /> - <field name="analytic_dimensions" /> - <field name="debit" sum="Total" /> - <field name="credit" sum="Total" /> - <field name="reporting_balance" string="Balance" sum="Total" /> - </tree> - - </field> - </record> - - </data> + <record id="account_consultation_analytic_aml_list" model="ir.ui.view"> + <field name="name">account_consultation_analytic_aml_list</field> + <field name="model">account.move.line</field> + <field name="priority">100</field> + <!--Higher (so less important) than the default. --> + <field name="arch" type="xml"> + <tree> + <field name="move_state" string="State" /> + <field name="ref" /> + <field name="move_id" /> + <field name="period_id" /> + <field name="partner_id" /> + <field name="partner_client_code" /> + <field name="partner_supplier_code" /> + <field name="account_id" /> + <field name="name" /> + <field name="tax_line_id" /> + <field name="analytic_dimensions" /> + <field name="debit" sum="Total" /> + <field name="credit" sum="Total" /> + <field name="reporting_balance" string="Balance" sum="Total" /> + </tree> + </field> + </record> + </data> </odoo> diff --git a/views/account_report.xml b/views/account_report.xml --- a/views/account_report.xml +++ b/views/account_report.xml @@ -1,12 +1,17 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - <data> - - <template id="assets_backend" name="account report assets" inherit_id="web.assets_backend"> - <xpath expr="." position="inside"> - <link rel="stylesheet" href="/account_report/static/src/less/account_report.less"/> - </xpath> - </template> - - </data> -</odoo> \ No newline at end of file + <data> + <template + id="assets_backend" + name="account report assets" + inherit_id="web.assets_backend" + > + <xpath expr="." position="inside"> + <link + rel="stylesheet" + href="/account_report/static/src/less/account_report.less" + /> + </xpath> + </template> + </data> +</odoo> diff --git a/views/res_partner.xml b/views/res_partner.xml --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -1,24 +1,22 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - - <!-- Partner views with monthly statement settings. --> + <!-- Partner views with monthly statement settings. --> - <record id="account_report_res_partner_form" model="ir.ui.view"> - <field name="name">account_report_res_partner_form</field> - <field name="model">res.partner</field> - <field name="inherit_id" ref="base.view_partner_form" /> - <field name="arch" type="xml"> - - <xpath expr="//group[@name='sale']" position="inside"> - <field name="has_monthly_statements" /> - <field name="monthly_statement_kind_id" - attrs="{ + <record id="account_report_res_partner_form" model="ir.ui.view"> + <field name="name">account_report_res_partner_form</field> + <field name="model">res.partner</field> + <field name="inherit_id" ref="base.view_partner_form" /> + <field name="arch" type="xml"> + <xpath expr="//group[@name='sale']" position="inside"> + <field name="has_monthly_statements" /> + <field + name="monthly_statement_kind_id" + attrs="{ 'invisible': [('has_monthly_statements', '=', False)], 'required': [('has_monthly_statements', '=', True)], - }" /> - </xpath> - - </field> - </record> - + }" + /> + </xpath> + </field> + </record> </odoo> diff --git a/wizards/account_consultation.xml b/wizards/account_consultation.xml --- a/wizards/account_consultation.xml +++ b/wizards/account_consultation.xml @@ -1,169 +1,203 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - <!-- Views for the account consultation dialog. --> + <!-- Views for the account consultation dialog. --> - <record id="account_consultation_main" model="ir.ui.view"> - <field name="name">account_consultation_main</field> - <field name="model">account.consultation</field> - <field name="arch" type="xml"> - - <form> - <sheet> - - <!-- Utility fields. --> - <field name="period_closed_state" invisible="1" /> + <record id="account_consultation_main" model="ir.ui.view"> + <field name="name">account_consultation_main</field> + <field name="model">account.consultation</field> + <field name="arch" type="xml"> + <form> + <sheet> + <!-- Utility fields. --> + <field name="period_closed_state" invisible="1" /> - <group name="account_selection_group" string="Account selection"> - <group> - <field name="account_id" options="{'no_create': True}" - style="max-width: 400px;" - attrs="{'required': [('partner_id', '=', False)]}" /> - <field name="partner_id" options="{'no_create': True}" - style="max-width: 400px;" - attrs="{'required': [('account_id', '=', False)]}" /> - </group> - <group> - <label for="account_type_ids" /> - <field name="account_type_ids" widget="many2many_tags" - options="{'no_create': 1}" nolabel="1" colspan="2" /> - <button type="object" name="remove_all_categories" - class="oe_link" icon="fa-arrow-right" string="Remove all categories" - colspan="2" /> - </group> - </group> + <group name="account_selection_group" string="Account selection"> + <group> + <field + name="account_id" + options="{'no_create': True}" + style="max-width: 400px;" + attrs="{'required': [('partner_id', '=', False)]}" + /> + <field + name="partner_id" + options="{'no_create': True}" + style="max-width: 400px;" + attrs="{'required': [('account_id', '=', False)]}" + /> + </group> + <group> + <label for="account_type_ids" /> + <field + name="account_type_ids" + widget="many2many_tags" + options="{'no_create': 1}" + nolabel="1" + colspan="2" + /> + <button + type="object" + name="remove_all_categories" + class="oe_link" + icon="fa-arrow-right" + string="Remove all categories" + colspan="2" + /> + </group> + </group> - - <group string="Transaction filters" col="6"> - - <group colspan="4"> - - <label for="period_from_id" string="Period: Filter" /> - <div class="fieldblock"> - <span> from</span> - <field name="period_from_id" widget="selection" - domain="[ + <group string="Transaction filters" col="6"> + <group colspan="4"> + <label for="period_from_id" string="Period: Filter" /> + <div class="fieldblock"> + <span>from</span> + <field + name="period_from_id" + widget="selection" + domain="[ '|', ('state', '=', 'draft'), ('state', '=', period_closed_state), ]" - nolabel="1" class="oe_inline" /> + nolabel="1" + class="oe_inline" + /> - <span> to</span> - <field name="period_to_id" widget="selection" - domain="[ + <span>to</span> + <field + name="period_to_id" + widget="selection" + domain="[ '|', ('state', '=', 'draft'), ('state', '=', period_closed_state), ]" - nolabel="1" class="oe_inline" /> - </div> + nolabel="1" + class="oe_inline" + /> + </div> - <label for="due_date_from" string="Due date: Filter" /> - <div class="fieldblock"> - <span> from</span> - <field name="due_date_from" nolabel="1" - class="oe_inline" /> + <label for="due_date_from" string="Due date: Filter" /> + <div class="fieldblock"> + <span>from</span> + <field name="due_date_from" nolabel="1" class="oe_inline" /> - <span> to</span> - <field name="due_date_to" nolabel="1" - class="oe_inline" /> - </div> + <span>to</span> + <field name="due_date_to" nolabel="1" class="oe_inline" /> + </div> - <label for="ref_filter" string="Reference: Filter" /> - <div class="fieldblock"> - <span> from</span> - <field name="ref_from" nolabel="1" class="oe_inline" /> + <label for="ref_filter" string="Reference: Filter" /> + <div class="fieldblock"> + <span>from</span> + <field name="ref_from" nolabel="1" class="oe_inline" /> - <span> to</span> - <field name="ref_to" nolabel="1" class="oe_inline" /> - </div> - - </group> + <span>to</span> + <field name="ref_to" nolabel="1" class="oe_inline" /> + </div> + </group> - <group> - - <field name="transaction_state" style="width: 100px;" /> - <field name="include_reconciled" /> - <field name="include_closed_periods" /> - - </group> - - </group> + <group> + <field name="transaction_state" style="width: 100px;" /> + <field name="include_reconciled" /> + <field name="include_closed_periods" /> + </group> + </group> - <group string="Matching references"> - <label - string="No accounting entry could be found with the specified parameters." - attrs="{'invisible': [('matching_count', '!=', 0)]}" - colspan="2" /> - <field name="matching_count" string="Matching entries" - attrs="{'invisible': [('matching_count', '=', 0)]}" /> - <field name="norefs_matching_count" string="Matching entries without ref" - attrs="{'invisible': [('matching_count', '=', 0)]}" /> - <div attrs="{'invisible': [('matching_count', '=', 0)]}" - colspan="2"> - <field name="refs_matching_count" nolabel="1" - class="oe_inline" style="font-weight: bolder;" /> - <span>Â </span> <!-- Non-breaking space. --> - <div - style=" + <group string="Matching references"> + <label + string="No accounting entry could be found with the specified parameters." + attrs="{'invisible': [('matching_count', '!=', 0)]}" + colspan="2" + /> + <field + name="matching_count" + string="Matching entries" + attrs="{'invisible': [('matching_count', '=', 0)]}" + /> + <field + name="norefs_matching_count" + string="Matching entries without ref" + attrs="{'invisible': [('matching_count', '=', 0)]}" + /> + <div attrs="{'invisible': [('matching_count', '=', 0)]}" colspan="2"> + <field + name="refs_matching_count" + nolabel="1" + class="oe_inline" + style="font-weight: bolder;" + /> + <span /> + <!-- Non-breaking space. --> + <div + style=" display: inline-block; margin-top: 2px; margin-right: 6px; - "> - references: - </div> - <field name="refs_matching" nolabel="1" - class="oe_inline" /> - </div> - </group> - - </sheet> - - <footer> + " + > + references: + </div> + <field name="refs_matching" nolabel="1" class="oe_inline" /> + </div> + </group> + </sheet> - <button name="open_general_list" type="object" class="oe_highlight" - style="margin-right: 10px;"> - <span> - <i class="fa fa-list" aria-hidden="true"></i> - Open the general list - </span> - </button> + <footer> + <button + name="open_general_list" + type="object" + class="oe_highlight" + style="margin-right: 10px;" + > + <span> + <i class="fa fa-list" aria-hidden="true" /> + Open the general list + </span> + </button> - <button name="open_analytic_list" type="object" - class="oe_highlight" style="margin-right: 10px;"> - <span> - <i class="fa fa-list" aria-hidden="true"></i> - Open the analytic list - </span> - </button> + <button + name="open_analytic_list" + type="object" + class="oe_highlight" + style="margin-right: 10px;" + > + <span> + <i class="fa fa-list" aria-hidden="true" /> + Open the analytic list + </span> + </button> - <button name="print_statement" type="object" class="oe_highlight" - style="margin-right: 10px;"> - <span> - <i class="fa fa-file-text-o" aria-hidden="true"></i> - Print the statement - </span> - </button> - - </footer> - - </form> - - </field> - </record> + <button + name="print_statement" + type="object" + class="oe_highlight" + style="margin-right: 10px;" + > + <span> + <i class="fa fa-file-text-o" aria-hidden="true" /> + Print the statement + </span> + </button> + </footer> + </form> + </field> + </record> - <!-- Add a menu command to launch the account consultation dialog. --> + <!-- Add a menu command to launch the account consultation dialog. --> - <record id="account_consultation_action" model="ir.actions.act_window"> - <field name="name">Account consultation</field> - <field name="res_model">account.consultation</field> - <field name="target">inline</field> - <field name="view_mode">form</field> - <field name="view_type">form</field> - </record> + <record id="account_consultation_action" model="ir.actions.act_window"> + <field name="name">Account consultation</field> + <field name="res_model">account.consultation</field> + <field name="target">inline</field> + <field name="view_mode">form</field> + <field name="view_type">form</field> + </record> - <menuitem id="account_consultation_menu_command" name="Account consultation" - parent="account_report.account_consultation_sub_menu" sequence="1" - action="account_consultation_action" /> - + <menuitem + id="account_consultation_menu_command" + name="Account consultation" + parent="account_report.account_consultation_sub_menu" + sequence="1" + action="account_consultation_action" + /> </odoo> diff --git a/wizards/account_monthly_statement_gen.xml b/wizards/account_monthly_statement_gen.xml --- a/wizards/account_monthly_statement_gen.xml +++ b/wizards/account_monthly_statement_gen.xml @@ -1,57 +1,54 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> - - <!-- Views for the monthly statement generation dialog. --> + <!-- Views for the monthly statement generation dialog. --> - <record id="account_monthly_statement_gen_form" model="ir.ui.view"> - <field name="name">account_monthly_statement_gen_form</field> - <field name="model">account.monthly_statement.gen</field> - <field name="arch" type="xml"> - - <form> + <record id="account_monthly_statement_gen_form" model="ir.ui.view"> + <field name="name">account_monthly_statement_gen_form</field> + <field name="model">account.monthly_statement.gen</field> + <field name="arch" type="xml"> + <form> + <field name="currency_id" invisible="1" /> - <field name="currency_id" invisible="1" /> - - <group> - <group string="Date Filters"> - <field name="begin_date" /> - <field name="end_date" /> - </group> - <group string="Partner Search"> - <field name="partner_id" options="{'no_create': 1}" /> - <field name="monthly_statement_kind_id" options="{'no_create': 1}" /> - <field name="with_end_client" /> - </group> - </group> + <group> + <group string="Date Filters"> + <field name="begin_date" /> + <field name="end_date" /> + </group> + <group string="Partner Search"> + <field name="partner_id" options="{'no_create': 1}" /> + <field name="monthly_statement_kind_id" options="{'no_create': 1}" /> + <field name="with_end_client" /> + </group> + </group> - <group string="Lines Found"> - <field name="partner_count" /> - <field name="line_count" /> - <field name="amount" /> - </group> + <group string="Lines Found"> + <field name="partner_count" /> + <field name="line_count" /> + <field name="amount" /> + </group> - <footer> - <button name="launch" type="object" string="Launch" - class="oe_highlight" /> - <button string="Cancel" special="cancel" class="oe_link" /> - </footer> + <footer> + <button name="launch" type="object" string="Launch" class="oe_highlight" /> + <button string="Cancel" special="cancel" class="oe_link" /> + </footer> + </form> + </field> + </record> - </form> + <!-- Add a menu command to launch this dialog box. --> - </field> - </record> - - <!-- Add a menu command to launch this dialog box. --> + <record id="account_monthly_statement_gen_action" model="ir.actions.act_window"> + <field name="name">Launch Monthly Statements</field> + <field name="res_model">account.monthly_statement.gen</field> + <field name="target">new</field> + <field name="view_mode">form</field> + <field name="view_type">form</field> + </record> - <record id="account_monthly_statement_gen_action" model="ir.actions.act_window"> - <field name="name">Launch Monthly Statements</field> - <field name="res_model">account.monthly_statement.gen</field> - <field name="target">new</field> - <field name="view_mode">form</field> - <field name="view_type">form</field> - </record> - - <menuitem id="account_monthly_statement_gen_menu_command" parent="account_monthly_statement_sub_menu" - sequence="2" action="account_monthly_statement_gen_action" /> - + <menuitem + id="account_monthly_statement_gen_menu_command" + parent="account_monthly_statement_sub_menu" + sequence="2" + action="account_monthly_statement_gen_action" + /> </odoo>