diff --git a/__init__.py b/__init__.py index 0650744f6bc69b9f0b865e8c7174c813a5f5995e..51d8f52af0120b4c6c6b83bf5e2ced581d059dba 100644 --- a/__init__.py +++ b/__init__.py @@ -1 +1 @@ -from . import models +from . import models, report diff --git a/__manifest__.py b/__manifest__.py index b0ad691d7af6903a74e6aae8a8735617c32cc0c5..e33cada01ebfb8583805ac750738216765d9335b 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -8,6 +8,8 @@ "depends": ["account", "sale", "emgidi_partner"], "data": [ # datas + # report + "report/account_invoice_report.xml", # views "views/account_move.xml", # views menu diff --git a/report/__init__.py b/report/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a1039ae9c8cf288814aeab3dde3c66233f2b88ee --- /dev/null +++ b/report/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2023 Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from . import account_invoice_report diff --git a/report/account_invoice_report.py b/report/account_invoice_report.py new file mode 100644 index 0000000000000000000000000000000000000000..cff6af8424c4d05ff49da76bb7a04b9f23702b8d --- /dev/null +++ b/report/account_invoice_report.py @@ -0,0 +1,40 @@ +# Copyright 2022 Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class AccountInvoiceReport(models.Model): + _inherit = "account.invoice.report" + + partner_shipping_id = fields.Many2one( + comodel_name="res.partner", + string="Adresse de livraison", + readonly=True, + ) + purchasing_centre_id = fields.Many2one( + comodel_name="res.partner", + string="Centrale d'achat", + readonly=True, + ) + membership_number = fields.Char( + string="N° Adhérent", + readonly=True, + ) + + _depends = { + "account.move": [ + "partner_shipping_id", + "purchasing_centre_id", + "membership_number", + ], + } + + # ------------------------------------------------------ + # Inherit parent + # ------------------------------------------------------ + def _select(self): + return ( + super()._select() + + ", move.partner_shipping_id, move.purchasing_centre_id, move.membership_number" + ) diff --git a/report/account_invoice_report.xml b/report/account_invoice_report.xml new file mode 100644 index 0000000000000000000000000000000000000000..4fc3befeea20a14df56d53309764e89360b13f22 --- /dev/null +++ b/report/account_invoice_report.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <!-- Search view --> + <record id="account_invoice_report_search_inherit" model="ir.ui.view"> + <field name="name">account.invoice.report.search</field> + <field name="model">account.invoice.report</field> + <field name="inherit_id" ref="account.view_account_invoice_report_search" /> + <field name="priority" eval="8" /> + <field name="arch" type="xml"> + <xpath expr="//filter[@name='company']" position="after"> + <filter + string="Adresse de Livraison" + name="partner_shipping_id" + context="{'group_by':'partner_shipping_id'}" + /> + <filter + string="Centrale d'achat" + name="partner_shipping_id" + context="{'group_by':'partner_shipping_id'}" + /> + </xpath> + </field> + </record> + + <!-- Tree view --> + <record id="account_invoice_report_tree_inherit" model="ir.ui.view"> + <field name="name">account.invoice.report.tree</field> + <field name="model">account.invoice.report</field> + <field name="inherit_id" ref="account.account_invoice_report_view_tree" /> + <field name="priority" eval="8" /> + <field name="arch" type="xml"> + <xpath expr="//field[@name='partner_id']" position="after"> + <field name="partner_shipping_id" optional="hide" /> + <field name="purchasing_centre_id" optional="hide" /> + <field name="membership_number" optional="hide" /> + </xpath> + </field> + </record> +</odoo>