Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

secondary analytic account #297

Open
wants to merge 1 commit into
base: 14.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions secondary_analytic_account/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
18 changes: 18 additions & 0 deletions secondary_analytic_account/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Secondary Analytic Account",
"version": "14.0.1.0.0",
"category": "Account",
"license": "AGPL-3",
"author": "Akretion",
"website": "https://github.com/akretion/ak-odoo-incubator",
"depends": ["account"],
"data": [
"views/account_move_view.xml",
"views/secondary_analytic_view.xml",
"security/ir.model.access.csv",
"security/analytic_security.xml",
],
"installable": True,
}
39 changes: 39 additions & 0 deletions secondary_analytic_account/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * secondary_analytic_account
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-07 14:09+0000\n"
"PO-Revision-Date: 2024-05-07 14:09+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"


#. module: secondary_analytic_account
#: model:ir.model.fields,field_description:secondary_analytic_account.field_secondary_account_analytic_account__company_id
msgid "Company"
msgstr "Société"

#. module: secondary_analytic_account
#: model_terms:ir.ui.view,arch_db:secondary_analytic_account.view_secondary_account_analytic_account_list
msgid "Name"
msgstr "Nom"

#. module: secondary_analytic_account
#: model:ir.model.fields,field_description:secondary_analytic_account.field_secondary_account_analytic_account__code
msgid "Reference"
msgstr "Référence"

#. module: secondary_analytic_account
#: model:ir.model.fields,field_description:secondary_analytic_account.field_account_move_line__second_analytic_account_id
#: model:ir.model.fields,field_description:secondary_analytic_account.field_secondary_account_analytic_account__name
msgid "Secondary Analytic Account"
msgstr "Compte analytique secondaire"

2 changes: 2 additions & 0 deletions secondary_analytic_account/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import account_move_line
from . import secondary_analytic_account
13 changes: 13 additions & 0 deletions secondary_analytic_account/models/account_move_line.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from odoo import fields, models


class AccountMoveLine(models.Model):
_inherit = "account.move.line"

second_analytic_account_id = fields.Many2one(
"secondary.account.analytic.account",
string="Secondary Analytic Account",
index=True,
readonly=False,
copy=True,
)
13 changes: 13 additions & 0 deletions secondary_analytic_account/models/secondary_analytic_account.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from odoo import fields, models


class SecondaryAccountAnalyticAccount(models.Model):
_name = "secondary.account.analytic.account"

name = fields.Char(
string="Secondary Analytic Account", index=True, required=True, tracking=True
)
code = fields.Char(string="Reference", index=True, tracking=True, size=10)
company_id = fields.Many2one(
"res.company", string="Company", default=lambda self: self.env.company
)
1 change: 1 addition & 0 deletions secondary_analytic_account/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Matthieu Saison <[email protected]>
1 change: 1 addition & 0 deletions secondary_analytic_account/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module allows to have a secondary analytic account.
1 change: 1 addition & 0 deletions secondary_analytic_account/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The use case is to add an other analytic axe in order to follow for exemple event cost or invest.
15 changes: 15 additions & 0 deletions secondary_analytic_account/security/analytic_security.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data noupdate="1">

<record id="analytic_comp_rule" model="ir.rule">
<field name="name">Secondary Analytic multi company rule</field>
<field name="model_id" ref="model_secondary_account_analytic_account" />
<field eval="True" name="global" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>

</data>
</odoo>
2 changes: 2 additions & 0 deletions secondary_analytic_account/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_secondary_account_analytic_account,secondary.account.analytic.account.user,model_secondary_account_analytic_account,base.group_user,1,1,1,1
68 changes: 68 additions & 0 deletions secondary_analytic_account/views/account_move_view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
<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="arch" type="xml">
<field name="analytic_account_id" position='after'>
<field
name="second_analytic_account_id"
groups="account.group_account_readonly"
optional="hide"
/>
</field>
</field>
</record>
<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_line_ids" position="after">
<group name="scd_analytic">
<field name="second_analytic_account_id" />
</group>
</field>
</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="//page[@id='aml_tab']/field[@name='line_ids']/tree/field[@name='analytic_account_id']"
position="after"
>
<field
name="second_analytic_account_id"
groups="analytic.group_analytic_accounting"
optional="hide"
attrs="{'invisible': [('display_type', 'in', ('line_section', 'line_note'))]}"
/>
</xpath>
<xpath
expr="//page[@id='aml_tab']/field[@name='line_ids']/form/group/field[@name='analytic_account_id']"
position="after"
>
<field
name="second_analytic_account_id"
groups="analytic.group_analytic_accounting"
/>
</xpath>
<xpath
expr="//page[@id='invoice_tab']/field[@name='invoice_line_ids']/tree/field[@name='analytic_account_id']"
position="after"
>
<field
name="second_analytic_account_id"
groups="analytic.group_analytic_accounting"
optional="hide"
attrs="{'invisible': [('display_type', 'in', ('line_section', 'line_note'))]}"
/>
</xpath>
</field>
</record>
</data>
</odoo>
61 changes: 61 additions & 0 deletions secondary_analytic_account/views/secondary_analytic_view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="view_secondary_account_analytic_account_form" model="ir.ui.view">
<field name="model">secondary.account.analytic.account</field>
<field name="arch" type="xml">
<form string="Analytic Account">
<sheet string="Analytic Account">

<div class="oe_title">
<label for="name" class="oe_edit_only" />
<h1>
<field
name="name"
class="oe_inline"
placeholder="e.g. Project XYZ"
/>
</h1>
</div>
<div name="project" />
<group name="main">
<group>
<field name="code" />
<field
name="company_id"
groups="base.group_multi_company"
/>
</group>
</group>
</sheet>

</form>
</field>
</record>

<record id="view_secondary_account_analytic_account_list" model="ir.ui.view">
<field name="model">secondary.account.analytic.account</field>
<field eval="8" name="priority" />
<field name="arch" type="xml">
<tree string="Analytic Accounts">
<field name="name" string="Name" />
<field name="code" />
<field name="company_id" groups="base.group_multi_company" />
</tree>
</field>
</record>

<record id="action_secondary_analytic_account" model="ir.actions.act_window">
<field name="name">Secondary Analytic Account</field>
<field name="res_model">secondary.account.analytic.account</field>
<field name="view_mode">tree,form</field>
</record>


<menuitem
id="menu_secondary_analytic_default_list"
action="action_secondary_analytic_account"
parent="account.menu_analytic_accounting"
groups="analytic.group_analytic_accounting"
sequence="4"
/>
</odoo>
6 changes: 6 additions & 0 deletions setup/secondary_analytic_account/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
Loading