Skip to content

Commit b0134e4

Browse files
author
matthieu.saison
committed
Add a second analytic account
limit ref to 10c
1 parent 3d8250a commit b0134e4

13 files changed

+224
-0
lines changed
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
2+
3+
{
4+
"name": "Secondary Analytic Account",
5+
"version": "14.0.1.0.0",
6+
"category": "Account",
7+
"license": "AGPL-3",
8+
"author": "Akretion",
9+
"website": "https://github.com/akretion/ak-odoo-incubator",
10+
"depends": ["account"],
11+
"data": [
12+
"views/account_move_view.xml",
13+
"views/secondary_analytic_view.xml",
14+
"security/ir.model.access.csv",
15+
"security/analytic_security.xml",
16+
],
17+
"installable": True,
18+
}

secondary_analytic_account/i18n/fr.po

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * secondary_analytic_account
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 14.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2024-05-07 14:09+0000\n"
10+
"PO-Revision-Date: 2024-05-07 14:09+0000\n"
11+
"Last-Translator: \n"
12+
"Language-Team: \n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: \n"
17+
18+
19+
#. module: secondary_analytic_account
20+
#: model:ir.model.fields,field_description:secondary_analytic_account.field_secondary_account_analytic_account__company_id
21+
msgid "Company"
22+
msgstr "Société"
23+
24+
#. module: secondary_analytic_account
25+
#: model_terms:ir.ui.view,arch_db:secondary_analytic_account.view_secondary_account_analytic_account_list
26+
msgid "Name"
27+
msgstr "Nom"
28+
29+
#. module: secondary_analytic_account
30+
#: model:ir.model.fields,field_description:secondary_analytic_account.field_secondary_account_analytic_account__code
31+
msgid "Reference"
32+
msgstr "Référence"
33+
34+
#. module: secondary_analytic_account
35+
#: model:ir.model.fields,field_description:secondary_analytic_account.field_account_move_line__second_analytic_account_id
36+
#: model:ir.model.fields,field_description:secondary_analytic_account.field_secondary_account_analytic_account__name
37+
msgid "Secondary Analytic Account"
38+
msgstr "Compte analytique secondaire"
39+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import account_move_line
2+
from . import secondary_analytic_account
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from odoo import fields, models
2+
3+
4+
class AccountMoveLine(models.Model):
5+
_inherit = "account.move.line"
6+
7+
second_analytic_account_id = fields.Many2one(
8+
"secondary.account.analytic.account",
9+
string="Secondary Analytic Account",
10+
index=True,
11+
readonly=False,
12+
copy=True,
13+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from odoo import fields, models
2+
3+
4+
class SecondaryAccountAnalyticAccount(models.Model):
5+
_name = "secondary.account.analytic.account"
6+
7+
name = fields.Char(
8+
string="Secondary Analytic Account", index=True, required=True, tracking=True
9+
)
10+
code = fields.Char(string="Reference", index=True, tracking=True, size=10)
11+
company_id = fields.Many2one(
12+
"res.company", string="Company", default=lambda self: self.env.company
13+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* Matthieu Saison <matthieu.saison@akretion.com>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This module allows to have a secondary analytic account.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The use case is to add an other analytic axe in order to follow for exemple event cost or invest.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<data noupdate="1">
4+
5+
<record id="analytic_comp_rule" model="ir.rule">
6+
<field name="name">Secondary Analytic multi company rule</field>
7+
<field name="model_id" ref="model_secondary_account_analytic_account" />
8+
<field eval="True" name="global" />
9+
<field
10+
name="domain_force"
11+
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
12+
</record>
13+
14+
</data>
15+
</odoo>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2+
access_secondary_account_analytic_account,secondary.account.analytic.account.user,model_secondary_account_analytic_account,base.group_user,1,1,1,1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<data>
4+
<record id="view_move_line_tree" model="ir.ui.view">
5+
<field name="model">account.move.line</field>
6+
<field name="inherit_id" ref="account.view_move_line_tree" />
7+
<field name="arch" type="xml">
8+
<field name="analytic_account_id" position='after'>
9+
<field
10+
name="second_analytic_account_id"
11+
groups="account.group_account_readonly"
12+
optional="hide"
13+
/>
14+
</field>
15+
</field>
16+
</record>
17+
<record id="view_move_line_form" model="ir.ui.view">
18+
<field name="model">account.move.line</field>
19+
<field name="inherit_id" ref="account.view_move_line_form" />
20+
<field name="arch" type="xml">
21+
<field name="analytic_line_ids" position="after">
22+
<group name="scd_analytic">
23+
<field name="second_analytic_account_id" />
24+
</group>
25+
</field>
26+
</field>
27+
</record>
28+
29+
30+
<record id="view_move_form" model="ir.ui.view">
31+
<field name="model">account.move</field>
32+
<field name="inherit_id" ref="account.view_move_form" />
33+
<field name="arch" type="xml">
34+
<xpath
35+
expr="//page[@id='aml_tab']/field[@name='line_ids']/tree/field[@name='analytic_account_id']"
36+
position="after"
37+
>
38+
<field
39+
name="second_analytic_account_id"
40+
groups="analytic.group_analytic_accounting"
41+
optional="hide"
42+
attrs="{'invisible': [('display_type', 'in', ('line_section', 'line_note'))]}"
43+
/>
44+
</xpath>
45+
<xpath
46+
expr="//page[@id='aml_tab']/field[@name='line_ids']/form/group/field[@name='analytic_account_id']"
47+
position="after"
48+
>
49+
<field
50+
name="second_analytic_account_id"
51+
groups="analytic.group_analytic_accounting"
52+
/>
53+
</xpath>
54+
</field>
55+
</record>
56+
</data>
57+
</odoo>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<record id="view_secondary_account_analytic_account_form" model="ir.ui.view">
4+
<field name="model">secondary.account.analytic.account</field>
5+
<field name="arch" type="xml">
6+
<form string="Analytic Account">
7+
<sheet string="Analytic Account">
8+
9+
<div class="oe_title">
10+
<label for="name" class="oe_edit_only" />
11+
<h1>
12+
<field
13+
name="name"
14+
class="oe_inline"
15+
placeholder="e.g. Project XYZ"
16+
/>
17+
</h1>
18+
</div>
19+
<div name="project" />
20+
<group name="main">
21+
<group>
22+
<field name="code" />
23+
<field
24+
name="company_id"
25+
groups="base.group_multi_company"
26+
/>
27+
</group>
28+
</group>
29+
</sheet>
30+
31+
</form>
32+
</field>
33+
</record>
34+
35+
<record id="view_secondary_account_analytic_account_list" model="ir.ui.view">
36+
<field name="model">secondary.account.analytic.account</field>
37+
<field eval="8" name="priority" />
38+
<field name="arch" type="xml">
39+
<tree string="Analytic Accounts">
40+
<field name="name" string="Name" />
41+
<field name="code" />
42+
<field name="company_id" groups="base.group_multi_company" />
43+
</tree>
44+
</field>
45+
</record>
46+
47+
<record id="action_secondary_analytic_account" model="ir.actions.act_window">
48+
<field name="name">Secondary Analytic Account</field>
49+
<field name="res_model">secondary.account.analytic.account</field>
50+
<field name="view_mode">tree,form</field>
51+
</record>
52+
53+
54+
<menuitem
55+
id="menu_secondary_analytic_default_list"
56+
action="action_secondary_analytic_account"
57+
parent="account.menu_analytic_accounting"
58+
groups="analytic.group_analytic_accounting"
59+
sequence="4"
60+
/>
61+
</odoo>

0 commit comments

Comments
 (0)