[10.0][MIG] Porting account_cost_center to V10

This commit is contained in:
Andrea
2018-06-15 13:59:46 +02:00
parent 0b16284040
commit ad3b41dbbb
23 changed files with 453 additions and 281 deletions

View File

@@ -1,74 +1,109 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
==========
Costcenter
==========
===========
Cost Center
===========
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--financial--tools-lightgray.png?logo=github
:target: https://github.com/OCA/account-financial-tools/tree/10.0/account_cost_center
:alt: OCA/account-financial-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-financial-tools-10-0/account-financial-tools-10-0-account_cost_center
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/92/10.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows the user to link every invoice line to a cost center
providing an extra dimension for the analysis.
**Table of contents**
.. contents::
:local:
Usage
=====
This module is relevant when you are creating sales invoices and using analytic accounting.
Start using cost centers by defining the cost centers. Be aware that Analytic Accounting must be activated on the user for the following menu option.
Start using cost centers by defining the cost centers. Be aware that Analytic Accounting
must be activated on the user for the following menu option.
Use the menu in the accounting module:
**Configuration > Analytics accounting > Cost centers**
Once defined you can add a cost center to an invoice line. A default cost center for the current invoice can be set in the other info tab.
.. figure:: static/description/account_costcenter_1.png
:alt: Cost centers can be configured
:align: center
This module adds the cost center concept to the reporting module.
Once defined you can add a cost center to an invoice line. A default cost center for
the current invoice can be set in the other info tab.
.. figure:: static/description/account_costcenter_2.png
:alt: Cost centers can be selected on invoice lines
:align: center
This module adds the cost center concept to the reporting.
**Accounting > Invoice Analysis**
Here you can select or unselect the cost center within your analysis.
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/92/8.0
.. figure:: static/description/account_costcenter_3.png
:alt: Cost centers can be selected on invoice lines
:align: center
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/account-financial-tools/issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smashing it by providing a detailed and welcomed.
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-financial-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-financial-tools/issues/new?body=module:%20account_cost_center%0Aversion:%2010.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Images
------
Authors
~~~~~~~
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
* Onestein
Contributors
------------
~~~~~~~~~~~~
* Kevin Graveman <k.graveman@onestein.nl>
* Richard Dijkstra <r.dijkstra@onestein.nl>
* Andrea Stirpe <a.stirpe@onestein.nl>
* Antonio Esposito <a.esposito@onestein.nl>
Maintainer
----------
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit https://odoo-community.org.
This module is part of the `OCA/account-financial-tools <https://github.com/OCA/account-financial-tools/tree/10.0/account_cost_center>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import models

View File

@@ -1,21 +1,22 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# Copyright 2016-2018 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
'name': 'Costcenter',
'summary': 'Cost center information for invoice lines',
'author': 'ONESTEiN BV,Odoo Community Association (OCA)',
'author': 'Onestein, Odoo Community Association (OCA)',
'license': 'AGPL-3',
'website': 'http://www.onestein.eu',
'website': 'https://github.com/OCA/account-financial-tools/',
'category': 'Accounting',
'version': '8.0.1.0.0',
'version': '10.0.1.0.0',
'depends': [
'account',
'base_view_inheritance_extension'
],
'data': [
'security/ir.model.access.csv',
'security/account_cost_center_security.xml',
'views/account_cost_center.xml',
'views/account_move.xml',
'views/account_move_line.xml',

View File

@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import account_move_line
from . import account_invoice

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# Copyright 2015-2018 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openerp import fields, models
from odoo import fields, models
class AccountCostCenter(models.Model):
@@ -12,8 +12,7 @@ class AccountCostCenter(models.Model):
name = fields.Char(string='Title', required=True)
code = fields.Char(required=True)
company_id = fields.Many2one(
comodel_name='res.company',
'res.company',
string='Company',
required=True,
default=lambda self: self.env.user.company_id
)

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# Copyright 2015-2018 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openerp import api, fields, models
from odoo import api, fields, models
class AccountInvoice(models.Model):
@@ -15,8 +15,20 @@ class AccountInvoice(models.Model):
)
@api.model
def line_get_convert(self, line, part, date):
res = super(AccountInvoice, self).line_get_convert(line, part, date)
def line_get_convert(self, line, part):
res = super(AccountInvoice, self).line_get_convert(line, part)
if line.get('cost_center_id'):
res['cost_center_id'] = line['cost_center_id']
return res
@api.model
def invoice_line_move_line_get(self):
res = super(AccountInvoice, self).invoice_line_move_line_get()
for dict_data in res:
invl_id = dict_data.get('invl_id')
line = self.env['account.invoice.line'].browse(invl_id)
if line.cost_center_id:
dict_data['cost_center_id'] = line.cost_center_id.id
return res

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# Copyright 2015-2018 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openerp import api, fields, models
from odoo import api, fields, models
class AccountInvoiceLine(models.Model):
@@ -17,12 +17,5 @@ class AccountInvoiceLine(models.Model):
'account.cost.center',
string='Cost Center',
index=True,
default=_default_cost_center
default=lambda self: self._default_cost_center(),
)
@api.model
def move_line_get_item(self, line):
res = super(AccountInvoiceLine, self).move_line_get_item(line)
if line.cost_center_id:
res['cost_center_id'] = line.cost_center_id.id
return res

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# Copyright 2015-2018 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openerp import fields, models
from odoo import fields, models
class AccountInvoiceReport(models.Model):
@@ -21,15 +21,12 @@ class AccountInvoiceReport(models.Model):
def _select(self):
return super(AccountInvoiceReport, self)._select() + \
", sub.cost_center_id as cost_center_id, " + \
"sub.account_analytic_id as account_analytic_id"
", sub.cost_center_id as cost_center_id"
def _sub_select(self):
return super(AccountInvoiceReport, self)._sub_select() + \
", ail.cost_center_id as cost_center_id, " + \
"ail.account_analytic_id as account_analytic_id"
", ail.cost_center_id as cost_center_id"
def _group_by(self):
return super(AccountInvoiceReport, self)._group_by() + \
", ail.cost_center_id, " + \
"ail.account_analytic_id"
", ail.cost_center_id"

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Copyright 2015-2017 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# Copyright 2015-2018 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openerp import fields, models
from odoo import fields, models
class AccountMoveLine(models.Model):

View File

@@ -0,0 +1,4 @@
* Kevin Graveman <k.graveman@onestein.nl>
* Richard Dijkstra <r.dijkstra@onestein.nl>
* Andrea Stirpe <a.stirpe@onestein.nl>
* Antonio Esposito <a.esposito@onestein.nl>

View File

@@ -0,0 +1,2 @@
This module allows the user to link every invoice line to a cost center
providing an extra dimension for the analysis.

View File

@@ -0,0 +1,28 @@
This module is relevant when you are creating sales invoices and using analytic accounting.
Start using cost centers by defining the cost centers. Be aware that Analytic Accounting
must be activated on the user for the following menu option.
Use the menu in the accounting module:
**Configuration > Analytics accounting > Cost centers**
.. figure:: static/description/account_costcenter_1.png
:alt: Cost centers can be configured
:align: center
Once defined you can add a cost center to an invoice line. A default cost center for
the current invoice can be set in the other info tab.
.. figure:: static/description/account_costcenter_2.png
:alt: Cost centers can be selected on invoice lines
:align: center
This module adds the cost center concept to the reporting.
**Accounting > Invoice Analysis**
Here you can select or unselect the cost center within your analysis.
.. figure:: static/description/account_costcenter_3.png
:alt: Cost centers can be selected on invoice lines
:align: center

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="account_cost_center_comp_rule" model="ir.rule">
<field name="name">Cost center multi company rule</field>
<field name="model_id" ref="account_cost_center.model_account_cost_center"/>
<field name="global" eval="True"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -1,58 +0,0 @@
<section class="oe_container">
<div class="oe_row">
<h2 class="oe_slogan">Cost center analysis</h2>
<h3 class="oe_slogan">easy and effective.</h3>
<div class="oe_span6">
<p class='oe_mt32'>
Odoo has many reporting functions. Lacking was the cost center concept which we added in this module.
</p>
<p class='oe_mt32'>
Cost centers can be configured after you made the reporting design.
</p>
</div>
<div class="oe_span6">
<div class="oe_demo oe_picture oe_screenshot">
<img src="account_costcenter_1.png" alt="Costcenter analysis">
</div>
</div>
</div>
</section>
<section class="oe_container">
<div class="oe_row">
<h2 class="oe_slogan">Input on invoice lines</h2>
<div class="oe_span12">
<p class='oe_mt32'>
Cost centers can be selected on invoice lines.
</p>
</div>
<div class="oe_span12">
<div class="oe_demo oe_picture oe_screenshot">
<img src="account_costcenter_2.png" alt="Costcenter analysis">
</div>
</div>
</div>
</section>
<section class="oe_container">
<div class="oe_row">
<h2 class="oe_slogan">BI reporting</h2>
<div class="oe_span12">
<p class='oe_mt32'>
Reporting is integrated with the invoice reporting. This reporting is also extended with the analytic accounting.
Cost centers and analytic account will help managing business costs.
</p>
</div>
<div class="oe_span12">
<div class="oe_demo oe_picture oe_screenshot">
<img src="account_costcenter_3.png" alt="Costcenter analysis">
</div>
</div>
</div>
</section>

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import test_cost_center

View File

@@ -0,0 +1,76 @@
# -*- coding: utf-8 -*-
# Copyright 2017-2018 Onestein (<http://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.tests import common
class TestAccountCostCenter(common.TransactionCase):
def setUp(self):
super(TestAccountCostCenter, self).setUp()
acc_rec = self.env.ref('account.data_account_type_receivable')
acc_exp = self.env.ref('account.data_account_type_expenses')
self.invoice_account = self.env['account.account'].search([
('user_type_id', '=', acc_rec.id)
], limit=1).id
self.invoice_line_account = self.env['account.account'].search([
('user_type_id', '=', acc_exp.id)],
limit=1).id
self.invoice1 = self.env['account.invoice'].create({
'partner_id': self.env.ref('base.res_partner_2').id,
'account_id': self.invoice_account,
'type': 'in_invoice',
})
self.line1 = self.env['account.invoice.line'].create({
'product_id': self.env.ref('product.product_product_2').id,
'quantity': 1.0,
'price_unit': 100.0,
'invoice_id': self.invoice1.id,
'name': 'product that cost 100',
'account_id': self.invoice_line_account,
})
self.costcenter = self.env['account.cost.center'].create({
'name': 'Cost Center Test',
'code': 'CC1',
'company_id': self.env.user.company_id.id
})
self.invoice2 = self.env['account.invoice'].create({
'partner_id': self.env.ref('base.res_partner_2').id,
'account_id': self.invoice_account,
'type': 'in_invoice',
'cost_center_id': self.costcenter.id,
})
self.line2 = self.env['account.invoice.line'].with_context(
cost_center_id=self.costcenter.id).create({
'product_id': self.env.ref('product.product_product_4').id,
'quantity': 1.0,
'price_unit': 130.0,
'invoice_id': self.invoice2.id,
'name': 'product that cost 130',
'account_id': self.invoice_line_account,
})
def test_01_check_lines(self):
self.assertFalse(
self.line1.cost_center_id,
"Default cost center per line not set")
self.assertTrue(
(self.line2.cost_center_id == self.costcenter),
"Default cost center per line set")
def test_02_confirm_invoice(self):
self.invoice2.action_invoice_open()
for move in self.invoice2.move_id.line_ids:
cost_center = move.cost_center_id
if move.name == 'product that cost 130':
self.assertTrue(cost_center)
else:
self.assertFalse(cost_center)

View File

@@ -1,78 +1,78 @@
<?xml version="1.0"?>
<openerp>
<data>
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Cost Center views -->
<record id="account_cost_center_form" model="ir.ui.view">
<field name="model">account.cost.center</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name"/>
</h1>
</div>
<!-- Cost Center views -->
<record id="account_cost_center_view_form" model="ir.ui.view">
<field name="model">account.cost.center</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name"/>
</h1>
</div>
</group>
<group name="main_group">
<group name="main_group1">
<field name="code"/>
</group>
<group name="main_group">
<group name="main_group1">
<field name="code"/>
</group>
<group name="main_group2">
</group>
<group name="main_group2">
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
</group>
<notebook name="notebook">
</notebook>
</sheet>
</form>
</field>
</record>
</group>
<notebook name="notebook">
</notebook>
</sheet>
</form>
</field>
</record>
<record id="account_cost_center_tree" model="ir.ui.view">
<field name="model">account.cost.center</field>
<field name="arch" type="xml">
<tree string="Cost Centers">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="account_cost_center_view_tree" model="ir.ui.view">
<field name="model">account.cost.center</field>
<field name="arch" type="xml">
<tree>
<field name="code"/>
<field name="name"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
</record>
<record id="account_cost_center_filter" model="ir.ui.view">
<field name="model">account.cost.center</field>
<field name="arch" type="xml">
<search string="Cost Centers">
<field name="name" string="Name/Code" filter_domain="['|', ('code','ilike', self), ('name','ilike',self)]"/>
</search>
</field>
</record>
<record id="account_cost_center_view_search" model="ir.ui.view">
<field name="model">account.cost.center</field>
<field name="arch" type="xml">
<search>
<field name="name" string="Name/Code" filter_domain="['|', ('code','ilike', self), ('name','ilike',self)]"/>
</search>
</field>
</record>
<record id="account_cost_center_action" model="ir.actions.act_window">
<field name="name">Cost Centers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.cost.center</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="account_cost_center_filter"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new event.
</p>
<p>
Cost centers provide an extra analytic dimension
</p>
</field>
</record>
<record id="account_cost_center_action" model="ir.actions.act_window">
<field name="name">Cost Centers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.cost.center</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="account_cost_center_view_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new cost center.
</p>
<p>
Cost centers provide an extra analytic dimension
</p>
</field>
</record>
<!-- Cost Center menu-->
<menuitem id="cost_center_menu"
name="Cost Centers"
parent="account.menu_analytic_accounting"
action="account_cost_center_action"
groups="account.group_account_user"
sequence="40"/>
<!-- Cost Center menu-->
<menuitem id="cost_center_menu"
name="Cost Centers"
parent="account.menu_analytic_accounting"
action="account_cost_center_action"
groups="account.group_account_user"
sequence="40"/>
</data>
</openerp>
</odoo>

View File

@@ -1,38 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<record id="invoice_form_inherit" model="ir.ui.view">
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form"/>
<field name="arch" type="xml">
<field name="origin" position="after">
<field name="cost_center_id"/>
</field>
<xpath expr="//page[@string='Invoice Lines']/field[@name='invoice_line']/tree/field[@name='account_id']" position="after">
<field name="cost_center_id"/>
</xpath>
<field name="invoice_line" position="attributes">
<attribute name="context" operation="python_dict" key="cost_center_id">cost_center_id</attribute>
</field>
<record id="invoice_form" model="ir.ui.view">
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form"/>
<field name="arch" type="xml">
<field name="date_invoice" position="after">
<field name="cost_center_id"/>
</field>
</record>
<record id="invoice_supplier_form_inherit" model="ir.ui.view">
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_supplier_form"/>
<field name="arch" type="xml">
<field name="origin" position="after">
<field name="cost_center_id"/>
</field>
<xpath expr="//tree[@string='Invoice lines']/field[@name='account_id']" position="after">
<field name="cost_center_id"/>
</xpath>
<field name="invoice_line" position="attributes">
<attribute name="context" operation="python_dict" key="cost_center_id">cost_center_id</attribute>
</field>
<xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='account_id']" position="after">
<field name="cost_center_id"/>
</xpath>
<field name="invoice_line_ids" position="attributes">
<attribute name="context" operation="python_dict" key="cost_center_id">cost_center_id</attribute>
</field>
</record>
</field>
</record>
</data>
</openerp>
<record id="invoice_supplier_form" model="ir.ui.view">
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_supplier_form"/>
<field name="arch" type="xml">
<field name="origin" position="after">
<field name="cost_center_id"/>
</field>
<xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='account_id']" position="after">
<field name="cost_center_id"/>
</xpath>
<field name="invoice_line_ids" position="attributes">
<attribute name="context" operation="python_dict" key="cost_center_id">cost_center_id</attribute>
</field>
</field>
</record>
</odoo>

View File

@@ -1,17 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<record id="view_account_invoice_report_search" model="ir.ui.view">
<field name="model">account.invoice.report</field>
<field name="inherit_id" ref="account.view_account_invoice_report_search"/>
<field name="arch" type="xml">
<filter name="user" position="after">
<filter string="Analytic Account" context="{'group_by':'account_analytic_id'}" />
<filter string="Cost Center" context="{'group_by':'cost_center_id'}" />
</filter>
</field>
</record>
<record id="view_account_invoice_report_search" model="ir.ui.view">
<field name="model">account.invoice.report</field>
<field name="inherit_id" ref="account.view_account_invoice_report_search"/>
<field name="arch" type="xml">
<filter name="user" position="after">
<filter string="Analytic Account" context="{'group_by':'account_analytic_id'}" />
<filter string="Cost Center" context="{'group_by':'cost_center_id'}" />
</filter>
</field>
</record>
</data>
</openerp>
</odoo>

View File

@@ -1,19 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<record id="move_form_cost_center" model="ir.ui.view">
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook//field[@name='line_id']/form//field[@name='analytic_account_id']" position="after">
<field name="cost_center_id"/>
</xpath>
<xpath expr="//notebook//field[@name='line_id']/tree/field[@name='analytic_account_id']" position="after">
<field name="cost_center_id"/>
</xpath>
</field>
</record>
<record id="view_move_form" model="ir.ui.view">
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook//field[@name='line_ids']/tree/field[@name='analytic_account_id']" position="after">
<field name="cost_center_id"/>
</xpath>
</field>
</record>
</data>
</openerp>
</odoo>

View File

@@ -1,27 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<record id="move_line_form_cost_center" model="ir.ui.view">
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form"/>
<field name="arch" type="xml">
<field name="analytic_account_id" position="after">
<field name="cost_center_id"/>
</field>
<record id="view_move_line_form" model="ir.ui.view">
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form"/>
<field name="arch" type="xml">
<field name="analytic_account_id" position="after">
<field name="cost_center_id"/>
</field>
</record>
</field>
</record>
<record id="move_line_tree_cost_center" model="ir.ui.view">
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_tree"/>
<field name="priority">1</field>
<field name="arch" type="xml">
<field name="analytic_account_id" position="after">
<field name="cost_center_id"/>
</field>
<record id="view_move_line_tree" model="ir.ui.view">
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_tree"/>
<field name="priority">1</field>
<field name="arch" type="xml">
<field name="analytic_account_id" position="after">
<field name="cost_center_id"/>
</field>
</record>
</field>
</record>
</data>
</openerp>
</odoo>