483 lines
21 KiB
XML
483 lines
21 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
© 2015-2016 Akretion (http://www.akretion.com/)
|
|
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
-->
|
|
|
|
<odoo>
|
|
|
|
<!-- INVOICE -->
|
|
<record id="invoice_supplier_form" model="ir.ui.view">
|
|
<field name="name">account_usability.supplier.invoice.form</field>
|
|
<field name="model">account.invoice</field>
|
|
<field name="inherit_id" ref="account.invoice_supplier_form"/>
|
|
<field name="arch" type="xml">
|
|
<field name="fiscal_position_id" position="attributes">
|
|
<attribute name="widget">selection</attribute>
|
|
</field>
|
|
<field name="invoice_line_ids" position="before">
|
|
<button name="delete_lines_qty_zero" states="draft" string="⇒ Delete lines qty=0" type="object" class="oe_link oe_right" groups="account.group_account_invoice"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="invoice_form" model="ir.ui.view">
|
|
<field name="name">account_usability.invoice.form</field>
|
|
<field name="model">account.invoice</field>
|
|
<field name="inherit_id" ref="account.invoice_form"/>
|
|
<field name="arch" type="xml">
|
|
<field name="fiscal_position_id" position="attributes">
|
|
<attribute name="widget">selection</attribute>
|
|
</field>
|
|
<!-- move sent field and make it visible -->
|
|
<field name="sent" position="replace"/>
|
|
<field name="move_id" position="before">
|
|
<field name="sent"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="invoice_tree" model="ir.ui.view">
|
|
<field name="name">account_usability.invoice_tree</field>
|
|
<field name="model">account.invoice</field>
|
|
<field name="inherit_id" ref="account.invoice_tree"/>
|
|
<field name="arch" type="xml">
|
|
<field name="reference" position="attributes">
|
|
<attribute name="invisible">not context.get('type') in ('in_invoice', 'in_refund')</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_account_invoice_filter" model="ir.ui.view">
|
|
<field name="name">account_usability.invoice.search</field>
|
|
<field name="model">account.invoice</field>
|
|
<field name="inherit_id" ref="account.view_account_invoice_filter"/>
|
|
<field name="arch" type="xml">
|
|
<filter name="late" position="after">
|
|
<separator/>
|
|
<filter name="to_send" string="To Send" domain="[('sent', '=', False), ('state', 'in', ('open', 'paid'))]"/>
|
|
<filter name="sent" string="Sent" domain="[('sent', '=', True)]"/>
|
|
<separator/>
|
|
<filter name="no_attachment" string="Missing Attachment" domain="[('has_attachment', '=', False)]"/>
|
|
</filter>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Having a menu entry on invoice lines is often very usefull for odoo user:
|
|
they can search in their lines, etc...
|
|
So I enhance the generic views and add actions, but I don't add menu entries here ;
|
|
the creation of the corresponding menu entry should be done in the customer-specifc
|
|
module -->
|
|
<record id="view_invoice_line_tree" model="ir.ui.view">
|
|
<field name="name">account_usability.invoice_line_tree</field>
|
|
<field name="model">account.invoice.line</field>
|
|
<field name="inherit_id" ref="account.view_invoice_line_tree"/>
|
|
<field name="arch" type="xml">
|
|
<field name="name" position="before">
|
|
<field name="partner_id" invisible="not context.get('show_invoice_fields')"/>
|
|
<field name="date_invoice" invisible="not context.get('show_invoice_fields')"/>
|
|
<field name="invoice_number" invisible="not context.get('show_invoice_fields')"/>
|
|
</field>
|
|
<field name="currency_id" position="after">
|
|
<field name="state" invisible="not context.get('show_invoice_fields')"/>
|
|
<field name="invoice_type" invisible="1"/>
|
|
</field>
|
|
<field name="quantity" position="attributes">
|
|
<attribute name="sum">1</attribute>
|
|
</field>
|
|
<xpath expr="/tree" position="attributes">
|
|
<attribute name="decoration-info">state == 'draft'</attribute>
|
|
<attribute name="decoration-muted">state == 'cancel'</attribute>
|
|
<attribute name="edit">0</attribute>
|
|
<attribute name="create">0</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="account_invoice_line_search" model="ir.ui.view">
|
|
<field name="name">account_usability.invoice_line_search</field>
|
|
<field name="model">account.invoice.line</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Invoice Lines">
|
|
<field name="partner_id"/>
|
|
<field name="product_id"/>
|
|
<field name="account_id"/>
|
|
<field name="invoice_number"/>
|
|
<field name="name"/>
|
|
<filter name="out_invoice" string="Customer Invoices"
|
|
domain="[('invoice_type', '=', 'out_invoice')]"/>
|
|
<filter name="out_refund" string="Customer Refunds"
|
|
domain="[('invoice_type', '=', 'out_refund')]"/>
|
|
<filter name="in_invoice" string="Supplier Invoices"
|
|
domain="[('invoice_type', '=', 'in_invoice')]"/>
|
|
<filter name="in_refund" string="Supplier Refunds"
|
|
domain="[('invoice_type', '=', 'in_refund')]"/>
|
|
<separator/>
|
|
<filter name="draft" string="Draft" domain="[('state', '=', 'draft')]"/>
|
|
<filter name="unpaid" string="Not Paid" domain="[('state', '=', 'open')]"/>
|
|
<filter name="paid" string="Paid" domain="[('state', '=', 'paid')]"/>
|
|
|
|
<group string="Group By" name="groupby">
|
|
<filter name="partner_groupby" string="Partner"
|
|
context="{'group_by': 'partner_id'}"/>
|
|
<filter name="date_groupby" string="Invoice Date"
|
|
context="{'group_by': 'date_invoice'}"/>
|
|
<filter name="product_groupby" string="Product"
|
|
context="{'group_by': 'product_id'}"/>
|
|
<filter name="account_groupby" string="Account"
|
|
context="{'group_by': 'account_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="out_invoice_line_action" model="ir.actions.act_window">
|
|
<field name="name">Customer Invoice Lines</field>
|
|
<field name="res_model">account.invoice.line</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('invoice_type', '=', 'out_invoice')]</field>
|
|
<field name="context">{'show_invoice_fields': True}</field>
|
|
</record>
|
|
|
|
<record id="out_refund_line_action" model="ir.actions.act_window">
|
|
<field name="name">Customer Refund Lines</field>
|
|
<field name="res_model">account.invoice.line</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('invoice_type', '=', 'out_refund')]</field>
|
|
<field name="context">{'show_invoice_fields': True}</field>
|
|
</record>
|
|
|
|
<record id="out_invoice_refund_line_action" model="ir.actions.act_window">
|
|
<field name="name">Customer Invoice Lines</field>
|
|
<field name="res_model">account.invoice.line</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('invoice_type', 'in', ('out_invoice', 'out_refund'))]</field>
|
|
<field name="context">{'show_invoice_fields': True}</field>
|
|
</record>
|
|
|
|
<record id="in_invoice_line_action" model="ir.actions.act_window">
|
|
<field name="name">Supplier Invoice Lines</field>
|
|
<field name="res_model">account.invoice.line</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('invoice_type', '=', 'in_invoice')]</field>
|
|
<field name="context">{'show_invoice_fields': True}</field>
|
|
</record>
|
|
|
|
<record id="in_refund_line_action" model="ir.actions.act_window">
|
|
<field name="name">Supplier Refund Lines</field>
|
|
<field name="res_model">account.invoice.line</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('invoice_type', '=', 'in_refund')]</field>
|
|
<field name="context">{'show_invoice_fields': True}</field>
|
|
</record>
|
|
|
|
<record id="in_invoice_refund_line_action" model="ir.actions.act_window">
|
|
<field name="name">Supplier Invoice Lines</field>
|
|
<field name="res_model">account.invoice.line</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">[('invoice_type', 'in', ('in_invoice', 'in_refund'))]</field>
|
|
<field name="context">{'show_invoice_fields': True}</field>
|
|
</record>
|
|
|
|
<record id="view_account_invoice_report_search" model="ir.ui.view">
|
|
<field name="name">usability.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="arch" type="xml">
|
|
<field name="categ_id" position="after">
|
|
<field name="product_id"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="account_invoice_report_tree" model="ir.ui.view">
|
|
<field name="name">usability.account.invoice.report.tree</field>
|
|
<field name="model">account.invoice.report</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Invoices Analysis">
|
|
<field name="date"/>
|
|
<field name="commercial_partner_id"/>
|
|
<field name="type"/>
|
|
<field name="product_id"/>
|
|
<field name="product_qty" sum="1"/>
|
|
<field name="price_total" sum="1"/>
|
|
<field name="state"/>
|
|
<field name="currency_id" invisible="1"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="account.action_account_invoice_report_all_supp" model="ir.actions.act_window">
|
|
<field name="view_mode">pivot,graph,tree</field>
|
|
<field name="context">{'search_default_current':1, 'search_default_supplier':1, 'search_default_year': 1}</field>
|
|
</record>
|
|
|
|
<record id="account.action_account_invoice_report_all" model="ir.actions.act_window">
|
|
<field name="view_mode">pivot,graph,tree</field>
|
|
<field name="context">{'search_default_current':1, 'search_default_customer':1, 'search_default_year': 1}</field>
|
|
</record>
|
|
|
|
<record id="view_account_invoice_report_pivot" model="ir.ui.view">
|
|
<field name="name">usability.account.invoice.report.pivot</field>
|
|
<field name="model">account.invoice.report</field>
|
|
<field name="inherit_id" ref="account.view_account_invoice_report_pivot"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="/pivot" position="attributes">
|
|
<attribute name="disable_linking"></attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_invoice_tax_form" model="ir.ui.view">
|
|
<field name="name">usability.account.invoice.tax.form</field>
|
|
<field name="model">account.invoice.tax</field>
|
|
<field name="inherit_id" ref="account.view_invoice_tax_form"/>
|
|
<field name="arch" type="xml">
|
|
<field name="name" position="after">
|
|
<field name="tax_id"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- model account.move.line / Journal Items -->
|
|
<record id="account.action_account_moves_all_a" model="ir.actions.act_window">
|
|
<field name="limit">200</field>
|
|
<!-- Win space, because there are already many columns -->
|
|
<field name="context">{'journal_show_code_only': True}</field>
|
|
</record>
|
|
|
|
<!-- remove base.group_no_one on Journal Items-->
|
|
<record id="account.menu_action_account_moves_all" model="ir.ui.menu">
|
|
<field name="groups_id" eval="[(6, 0, [ref('account.group_account_user')])]"/>
|
|
</record>
|
|
|
|
<!-- accountant must be able to access the Adviser section ! -->
|
|
<record id="account.menu_finance_entries" model="ir.ui.menu">
|
|
<field name="groups_id" eval="[(4, ref('account.group_account_user'))]"/>
|
|
</record>
|
|
|
|
<!-- model account.move / Journal Entries -->
|
|
<record id="account.action_move_journal_line" model="ir.actions.act_window">
|
|
<field name="limit">200</field>
|
|
<field name="context">{}</field> <!-- Don't filter by default on misc journal -->
|
|
</record>
|
|
|
|
<record id="view_move_form" model="ir.ui.view">
|
|
<field name="name">account_usability.account_move_form</field>
|
|
<field name="model">account.move</field>
|
|
<field name="inherit_id" ref="account.view_move_form"/>
|
|
<field name="arch" type="xml">
|
|
<field name="ref" position="after">
|
|
<field name="default_move_line_name"/>
|
|
</field>
|
|
<xpath expr="//field[@name='line_ids']" position="attributes">
|
|
<attribute name="context">{'line_ids': line_ids, 'journal_id': journal_id, 'default_name': default_move_line_name}</attribute>
|
|
</xpath>
|
|
<xpath expr="//field[@name='line_ids']/tree/field[@name='date_maturity']" position="after">
|
|
<field name="full_reconcile_id"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_account_move_line_filter" model="ir.ui.view">
|
|
<field name="name">account_usability.account_move_line_search</field>
|
|
<field name="model">account.move.line</field>
|
|
<field name="inherit_id" ref="account.view_account_move_line_filter"/>
|
|
<field name="arch" type="xml">
|
|
<field name="partner_id" position="after">
|
|
<field name="full_reconcile_id" />
|
|
</field>
|
|
<filter name="unreconciled" position="before">
|
|
<filter name="reconciled" string="Fully Reconciled" domain="[('full_reconcile_id', '!=', False)]"/>
|
|
<!-- <filter name="partial_reconciled" string="Partially Reconciled" domain="[('reconcile_partial_id', '!=', False)]"/> -->
|
|
</filter>
|
|
<filter name="unreconciled" position="attributes">
|
|
<attribute name="string">Unreconciled or Partially Reconciled</attribute>
|
|
</filter>
|
|
<field name="name" position="attributes">
|
|
<attribute name="string">Name or Reference</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_move_line_form" model="ir.ui.view">
|
|
<field name="name">account_usability.account_move_line_form</field>
|
|
<field name="model">account.move.line</field>
|
|
<field name="inherit_id" ref="account.view_move_line_form"/>
|
|
<field name="arch" type="xml">
|
|
<field name="quantity" position="after">
|
|
<field name="product_id" />
|
|
</field>
|
|
<field name="move_id" position="after">
|
|
<field name="invoice_id"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_move_line_tree" model="ir.ui.view">
|
|
<field name="name">account_usability.account_move_line_tree</field>
|
|
<field name="model">account.move.line</field>
|
|
<field name="inherit_id" ref="account.view_move_line_tree"/>
|
|
<field name="arch" type="xml">
|
|
<!-- Move reconcile_id to a better position -->
|
|
<field name="full_reconcile_id" position="replace"/>
|
|
<field name="credit" position="after">
|
|
<field name="full_reconcile_id"/>
|
|
</field>
|
|
<field name="date_maturity" position="after">
|
|
<button name="show_account_move_form" type="object" icon="fa-arrows-h" string="Show Journal Entry"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_account_search" model="ir.ui.view">
|
|
<field name="name">account.account.search</field>
|
|
<field name="model">account.account</field>
|
|
<field name="inherit_id" ref="account.view_account_search"/>
|
|
<field name="arch" type="xml">
|
|
<!-- The native "name" filter uses a domain ['|', ('name','ilike',self), ('code','=like',str(self)+'%')]
|
|
This is good because it uses '=like' on 'code', but sometimes there are digits in account names,
|
|
so you get additionnal unexpected accounts in the result of the search -->
|
|
<field name="name" position="after">
|
|
<field name="code" filter_domain="[('code', '=like', str(self)+'%')]" string="Code"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_account_type_tree" model="ir.ui.view">
|
|
<field name="name">account_usability.account_type_tree</field>
|
|
<field name="model">account.account.type</field>
|
|
<field name="inherit_id" ref="account.view_account_type_tree" />
|
|
<field name="arch" type="xml">
|
|
<field name="type" position="after">
|
|
<field name="include_initial_balance" />
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_account_journal_search" model="ir.ui.view">
|
|
<field name="name">usability.account.journal.search</field>
|
|
<field name="model">account.journal</field>
|
|
<field name="inherit_id" ref="account.view_account_journal_search"/>
|
|
<field name="arch" type="xml">
|
|
<filter name="dashboard" position="after">
|
|
<group name="groupby" string="Group By">
|
|
<filter name="type_groupby" string="Type" context="{'group_by': 'type'}"/>
|
|
</group>
|
|
</filter>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_bank_statement_form" model="ir.ui.view">
|
|
<field name="name">usability.account.bank.statement.form</field>
|
|
<field name="model">account.bank.statement</field>
|
|
<field name="inherit_id" ref="account.view_bank_statement_form"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='line_ids']/tree/field[@name='bank_account_id']" position="after">
|
|
<!-- The cancel button is provided by the account_cancel module, but we don't want to depend on it -->
|
|
<button name="show_account_move" type="object"
|
|
string="View Account Move" icon="fa fa-arrow-right"
|
|
attrs="{'invisible': [('journal_entry_ids', '=', [])]}"/>
|
|
</xpath>
|
|
<field name="date" position="after">
|
|
<field name="start_date"/>
|
|
<field name="end_date"/>
|
|
</field>
|
|
<field name="date" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_bank_statement_tree" model="ir.ui.view">
|
|
<field name="name">usability.account.bank.statement.tree</field>
|
|
<field name="model">account.bank.statement</field>
|
|
<field name="inherit_id" ref="account.view_bank_statement_tree"/>
|
|
<field name="arch" type="xml">
|
|
<field name="date" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</field>
|
|
<field name="journal_id" position="after">
|
|
<field name="start_date"/>
|
|
<field name="end_date"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_bank_statement_search" model="ir.ui.view">
|
|
<field name="name">usability.account.bank.statement.search</field>
|
|
<field name="model">account.bank.statement</field>
|
|
<field name="inherit_id" ref="account.view_bank_statement_search"/>
|
|
<field name="arch" type="xml">
|
|
<field name="date" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</field>
|
|
<field name="date" position="after">
|
|
<field name="start_date"/>
|
|
<field name="end_date"/>
|
|
</field>
|
|
<filter context="{'group_by': 'date'}" position="attributes">
|
|
<attribute name="invisible">1</attribute>
|
|
</filter>
|
|
<filter context="{'group_by': 'date'}" position="after">
|
|
<filter name="start_date_groupby" string="Start Date"
|
|
context="{'group_by': 'start_date'}"/>
|
|
<filter name="end_date_groupby" string="End Date"
|
|
context="{'group_by': 'end_date'}"/>
|
|
</filter>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- ACCOUNT TAX GROUP -->
|
|
<!-- in the account module, there is nothing for account.tax.group : no form/tree view, no menu... -->
|
|
<record id="account_tax_group_form" model="ir.ui.view">
|
|
<field name="name">usability.account.tax.group.form</field>
|
|
<field name="model">account.tax.group</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Tax Group">
|
|
<group name="main">
|
|
<field name="name"/>
|
|
<field name="sequence" invisible="1"/>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="account_tax_group_tree" model="ir.ui.view">
|
|
<field name="name">usability.account.tax.group.tree</field>
|
|
<field name="model">account.tax.group</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Tax Groups">
|
|
<field name="sequence" widget="handle"/>
|
|
<field name="name"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="account_tax_group_action" model="ir.actions.act_window">
|
|
<field name="name">Tax Groups</field>
|
|
<field name="res_model">account.tax.group</field>
|
|
<field name="view_mode">tree,form</field>
|
|
</record>
|
|
|
|
<menuitem id="account_tax_group_menu" action="account_tax_group_action" parent="account.account_account_menu" sequence="2"/>
|
|
|
|
<!-- Remove menu entry "Accounting > Configuration > Accounting > Bank Accounts"
|
|
(account.journal filtered on type = 'bank' with special tree and form view)
|
|
because it is useless and confusing -->
|
|
<record id="account.menu_action_account_bank_journal_form" model="ir.ui.menu">
|
|
<field name="groups_id" eval="[(6, 0, [ref('base_usability.group_nobody')])]"/>
|
|
</record>
|
|
|
|
<!-- Duplicate the menu "Sales > Configuration > Contacts > Bank Accounts"
|
|
under "Accounting > Configuration", because most users will try to find it there -->
|
|
<menuitem id="bank_account_account_config_menu" name="Bank Accounts" parent="account.menu_finance_configuration" sequence="9"/>
|
|
|
|
<menuitem id="res_bank_account_config_menu" action="base.action_res_bank_form" parent="bank_account_account_config_menu" sequence="10"/>
|
|
|
|
<menuitem id="res_partner_bank_account_config_menu" action="base.action_res_partner_bank_account_form" parent="bank_account_account_config_menu" sequence="20"/>
|
|
|
|
</odoo>
|