diff --git a/models/account_invoice.py b/models/account_invoice.py index 9bb5bda7abc3ef0efe8edf68013f2d61008f3ae2..7f133fe0f2d1c08ab5f4d3709e58c9ea4d4ac593 100755 --- a/models/account_invoice.py +++ b/models/account_invoice.py @@ -17,3 +17,8 @@ class AccountInvoice(models.Model): string='Groupe ARESCOP', default=_default_arescop_group_id ) + is_arescop_invoiced = fields.Boolean( + string="Re-facturé ARESCOP", + default=False, + track_visibility="onchange" + ) diff --git a/views/account_invoice.xml b/views/account_invoice.xml index 02f8343ee1570bb3f6a942569d062a77f4a9dcf5..c8641c4e613d9234da9277571fe5b9c3ef693e33 100755 --- a/views/account_invoice.xml +++ b/views/account_invoice.xml @@ -11,6 +11,7 @@ <field name="inherit_id" ref="account.invoice_form"/> <field name="arch" type="xml"> <xpath expr="//field[@name='user_id']" position="after"> + <field name="is_arescop_invoiced" attrs="{'invisible': [('company_id', '!=', %(cgscop_account_arescop.company_arescop)d)]}"/> <field name="arescop_group_id" options="{'no_create': 1, 'no_edit': 1}" attrs="{'invisible': [('company_id', '!=', %(cgscop_account_arescop.company_arescop)d)]}" @@ -19,6 +20,39 @@ </field> </record> + <!-- SEARCH --> + <record id="view_account_invoice_arescop_filter" model="ir.ui.view"> + <field name="name">account.invoice.arescop.search</field> + <field name="model">account.invoice</field> + <field name="arch" type="xml"> + <search string="Search Invoice"> + <field name="number" string="Facture" context="{'active_test': False}" filter_domain="['|','|','|', ('number','ilike',self), ('origin','ilike',self), ('reference', 'ilike', self), ('partner_id', 'child_of', self)]"/> + <filter domain="[('user_id','=',uid)]" name="myinvoices" help="Mes factures"/> + <separator/> + <filter name="draft" string="Brouillon" domain="[('state','=','draft')]"/> + <filter name="unpaid" string="Ouvert" domain="[('state', '=', 'open')]"/> + <filter name="in_payment" string="En Paiement" domain="[('state', '=', 'in_payment')]"/> + <filter name="paid" string="Payé" domain="[('state', '=', 'paid')]"/> + <filter name="late" string="En Retard" domain="['&', ('date_due', '<', time.strftime('%%Y-%%m-%%d')), ('state', '=', 'open')]" help="Overdue invoices, maturity date passed"/> + <separator/> + <filter name="to_invoice_arescop" string="À facturer à ARESCOP" domain="[('is_arescop_invoiced', '=', False)]"/> + <filter name="invoiced_arescop" string="Facturé à ARESCOP" domain="[('is_arescop_invoiced', '=', True)]"/> + <field name="partner_id" operator="child_of"/> + <field name="user_id" string="Vendeur" domain="[('share','=', False)]"/> + <field name="date" string="Period"/> + <group expand="0" string="Group By"> + <filter name="group_by_partner_id" string="Client" context="{'group_by':'commercial_partner_id'}"/> + <filter string="Vendeur" name="salesperson" context="{'group_by':'user_id'}"/> + <filter name="status" string="Statut" context="{'group_by':'state'}"/> + <separator/> + <filter string="Date de Facturation" name="invoicedate" context="{'group_by':'date_invoice'}"/> + <filter string="Due d'Echéance" name="duedate" context="{'group_by':'date_due'}"/> + </group> + </search> + </field> + </record> + + <!-- ACTION --> <record id="action_arescop_invoice" model="ir.actions.act_window"> <field name="name">Factures</field> @@ -28,7 +62,7 @@ <field name="view_id" ref="account.invoice_tree"/> <field name="domain">[('type','in',('out_invoice', 'out_refund'))]</field> <field name="context">{'type':'out_invoice', 'journal_type': 'sale'}</field> - <field name="search_view_id" ref="account.view_account_invoice_filter"/> + <field name="search_view_id" ref="cgscop_account_arescop.view_account_invoice_arescop_filter"/> </record> <record id="action_invoice_customer_tree" model="ir.actions.act_window.view"> <field eval="1" name="sequence"/>