diff --git a/__manifest__.py b/__manifest__.py index 97fde0af2d0ccf5587312599a515d54339ec4bfc..5e22c7865b1b6e0c0d4ad02cd0c3e4c918140d5f 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -13,8 +13,8 @@ # datas # views "views/financial_contract.xml", - "views/financial_condition_precedent.xml", - "views/financial_condition_precedent_contract.xml", + "views/financial_condition.xml", + "views/financial_condition_contract.xml", "views/res_partner.xml", # views menu "views/menus.xml", diff --git a/models/__init__.py b/models/__init__.py index 0c09abf2fd06913090ff393d44d3856a3555485f..6f8db4ae0657ff750ada01297c503e750a940946 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,3 +1,4 @@ from . import financial_contract from . import res_partner -from . import financial_condition_precedent +from . import financial_condition +from . import financial_condition_contract diff --git a/models/financial_condition.py b/models/financial_condition.py new file mode 100644 index 0000000000000000000000000000000000000000..02b68cfc66136d64bc6623f1ff3149ff20b67843 --- /dev/null +++ b/models/financial_condition.py @@ -0,0 +1,42 @@ +# Copyright 2023- Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class FinancialCondition(models.Model): + _name = "financial.condition" + _description = "Configuration of a condition precedent" + + # ------------------------------------------------------ + # Fields declaration + # ------------------------------------------------------ + name = fields.Char() + category = fields.Selection([("a", "Cat. A"), ("b", "Cat B")]) + # ------------------------------------------------------ + # SQL Constraints + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Default methods + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Computed fields / Search Fields + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Onchange / Constraints + # ------------------------------------------------------ + + # ------------------------------------------------------ + # CRUD methods (ORM overrides) + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Actions + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Business methods + # ------------------------------------------------------ diff --git a/models/financial_condition_contract.py b/models/financial_condition_contract.py new file mode 100644 index 0000000000000000000000000000000000000000..b0b0f2b38b7e0db67bb58369d53570291c66135a --- /dev/null +++ b/models/financial_condition_contract.py @@ -0,0 +1,47 @@ +# Copyright 2023- Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class FinancialConditionContract(models.Model): + _name = "financial.condition.contract" + _description = "Link between a condition precedent and a contract" + _rec_name = "condition_id" + # ------------------------------------------------------ + # Fields declaration + # ------------------------------------------------------ + name = fields.Char() + condition_id = fields.Many2one("financial.condition") + contract_id = fields.Many2one("financial.contract") + raised = fields.Boolean() + milestone = fields.Date() + comment = fields.Text() + + # ------------------------------------------------------ + # SQL Constraints + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Default methods + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Computed fields / Search Fields + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Onchange / Constraints + # ------------------------------------------------------ + + # ------------------------------------------------------ + # CRUD methods (ORM overrides) + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Actions + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Business methods + # ------------------------------------------------------ diff --git a/models/financial_condition_precedent.py b/models/financial_condition_precedent.py deleted file mode 100644 index df71fe9167a5fa8f2d3c8cb23a19e79ce97fbf16..0000000000000000000000000000000000000000 --- a/models/financial_condition_precedent.py +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 2023- Le Filament (https://le-filament.com) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) - -from odoo import fields, models - - -class FinancialConditionPrecedent(models.Model): - _name = "financial.condition.precedent" - _description = "Configuration of a condition precedent" - - # ------------------------------------------------------ - # Fields declaration - # ------------------------------------------------------ - name = fields.Char() - category = fields.Selection([("a", "Cat. A"), ("b", "Cat B")]) - # ------------------------------------------------------ - # SQL Constraints - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Default methods - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Computed fields / Search Fields - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Onchange / Constraints - # ------------------------------------------------------ - - # ------------------------------------------------------ - # CRUD methods (ORM overrides) - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Actions - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Business methods - # ------------------------------------------------------ - - -class FinancialConditionPrecedentContract(models.Model): - _name = "financial.condition.precedent.contract" - _description = "Link between a condition precedent and a contract" - _rec_name = "condition_precedent_id" - # ------------------------------------------------------ - # Fields declaration - # ------------------------------------------------------ - name = fields.Char() - condition_precedent_id = fields.Many2one("financial.condition.precedent") - contract_id = fields.Many2one("financial.contract") - raised = fields.Boolean() - - # ------------------------------------------------------ - # SQL Constraints - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Default methods - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Computed fields / Search Fields - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Onchange / Constraints - # ------------------------------------------------------ - - # ------------------------------------------------------ - # CRUD methods (ORM overrides) - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Actions - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Business methods - # ------------------------------------------------------ diff --git a/models/financial_contract.py b/models/financial_contract.py index a8cf275f106227925a9837d0d5f8154bcef91bec..696a42c2163aeb1f52fd0ba9131c4370473bd0ca 100644 --- a/models/financial_contract.py +++ b/models/financial_contract.py @@ -44,8 +44,8 @@ class FinancialContract(models.Model): currency_id = fields.Many2one( comodel_name="res.currency", related="company_id.currency_id" ) - condition_precedent_contract_ids = fields.One2many( - "financial.condition.precedent.contract", + condition_contract_ids = fields.One2many( + "financial.condition.contract", string="Conditions", inverse_name="contract_id", domain="[('contract_id','=','active_id')]", diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index bb0d6855d42703d2fff6ccbf394cdfda939ec920..74d757b6c41a50d9249ea1789fbe117215bbf1b7 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -1,4 +1,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_financial_contract,access_financial_contract,model_financial_contract,base.group_user,1,1,1,1 -access_financial_condition_precedent,access_financial_condition_precedent,model_financial_condition_precedent,base.group_user,1,1,1,1 -access_financial_condition_precedent_contract,access_financial_condition_precedent_contract,model_financial_condition_precedent_contract,base.group_user,1,1,1,1 +access_financial_condition,access_financial_condition,model_financial_condition,base.group_user,1,1,1,1 +access_financial_condition_contract,access_financial_condition_contract,model_financial_condition_contract,base.group_user,1,1,1,1 diff --git a/views/financial_condition_precedent.xml b/views/financial_condition.xml similarity index 67% rename from views/financial_condition_precedent.xml rename to views/financial_condition.xml index 86b5c2a9864d18fd0abc63abc9153d5d7a50ae45..4366c07f282f8774351ca1fd946f409f100919cd 100644 --- a/views/financial_condition_precedent.xml +++ b/views/financial_condition.xml @@ -2,10 +2,10 @@ <odoo> <data> - <record id="financial_condition_precedent_form_view" model="ir.ui.view"> - <field name="name">financial_condition_precedent.form + <record id="financial_condition_form_view" model="ir.ui.view"> + <field name="name">financial_condition.form </field> - <field name="model">financial.condition.precedent</field> + <field name="model">financial.condition</field> <field name="arch" type="xml"> <form string="Conditions"> <sheet> @@ -23,10 +23,10 @@ </field> </record> - <record id="financial_condition_precedent_tree_view" model="ir.ui.view"> - <field name="name">financial_condition_precedent.tree + <record id="financial_condition_tree_view" model="ir.ui.view"> + <field name="name">financial_condition.tree </field> - <field name="model">financial.condition.precedent</field> + <field name="model">financial.condition</field> <field name="arch" type="xml"> <tree string="Conditions"> <field name="name" /> @@ -36,12 +36,12 @@ <record - id="financial_condition_precedent_act_window" + id="financial_condition_act_window" model="ir.actions.act_window" > <field name="name">Conditions</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">financial.condition.precedent</field> + <field name="res_model">financial.condition</field> <field name="view_mode">tree,form</field> </record> </data> diff --git a/views/financial_condition_contract.xml b/views/financial_condition_contract.xml new file mode 100644 index 0000000000000000000000000000000000000000..acab917bc04f1179cfa9b2382d3808bf8b808c85 --- /dev/null +++ b/views/financial_condition_contract.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <data> + + <record id="financial_condition_contract_view_form" model="ir.ui.view"> + <field name="name">financial_condition_contract_view_form + </field> + <field name="model">financial.condition.contract</field> + <field name="arch" type="xml"> + <form string="financial_condition_contract_form"> + <sheet> + <group> + <field name="condition_id" /> + <field name="raised" /> + <field name="milestone" /> + <field name="comment" /> + </group> + </sheet> + </form> + </field> + </record> + + <record id="financial_conditioncontract_view_tree" model="ir.ui.view"> + <field name="name">financial_condition_contract_view_tree + </field> + <field name="model">financial.condition.contract</field> + <field name="arch" type="xml"> + <tree string="financial_condition_contract_tree"> + <field name="name" /> + <field name="raised" /> + <field name="milestone" /> + <field name="comment" /> + </tree> + </field> + </record> + + <record + id="financial_condition_contract_action" + model="ir.actions.act_window" + > + <field name="name">financial_condition_contract</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">financial.condition.contract</field> + <field name="view_mode">tree,form</field> + </record> + </data> +</odoo> diff --git a/views/financial_condition_precedent_contract.xml b/views/financial_condition_precedent_contract.xml deleted file mode 100644 index 32d1655d676dca12c14862be0de98336eda9d26a..0000000000000000000000000000000000000000 --- a/views/financial_condition_precedent_contract.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<odoo> - <data> - - <record - id="financial_condition_precedent_contract_view_form" - model="ir.ui.view" - > - <field - name="name" - >financial_condition_precedent_contract_view_form</field> - <field name="model">financial.condition.precedent.contract</field> - <field name="arch" type="xml"> - <form string="financial_condition_precedent_contract_form"> - <sheet> - <group> - <field name="condition_precedent_id" /> - <field name="raised" /> - </group> - </sheet> - </form> - </field> - </record> - - <record - id="financial_condition_precedent_contract_view_tree" - model="ir.ui.view" - > - <field - name="name" - >financial_condition_precedent_contract_view_tree</field> - <field name="model">financial.condition.precedent.contract</field> - <field name="arch" type="xml"> - <tree string="financial_condition_precedent_contract_tree"> - <field name="name" /> - <field name="raised" /> - </tree> - </field> - </record> - - <record - id="financial_condition_precedent_contract_action" - model="ir.actions.act_window" - > - <field name="name">financial_condition_precedent_contract</field> - <field name="type">ir.actions.act_window</field> - <field - name="res_model" - >financial.condition.precedent.contract</field> - <field name="view_mode">tree,form</field> - </record> - </data> -</odoo> diff --git a/views/financial_contract.xml b/views/financial_contract.xml index b61dee942d4e7ac885e3910f178b0c9a6e876f81..93753761ba4d345a8ec7b4ca197811e4330567c8 100644 --- a/views/financial_contract.xml +++ b/views/financial_contract.xml @@ -32,7 +32,7 @@ </group> <notebook> <page string="Conditions precedent"> - <field name="condition_precedent_contract_ids" /> + <field name="condition_contract_ids" /> </page> </notebook> </sheet> diff --git a/views/menus.xml b/views/menus.xml index e16c3f6d4e39d0b9a2f237f21c0f489ebecf0c63..ccc8e91a9b2c54d30c88a69647b527933b967c1d 100644 --- a/views/menus.xml +++ b/views/menus.xml @@ -25,10 +25,10 @@ /> <menuitem - id="menu_financial_condition_precedent" + id="menu_financial_condition" name="Conditions" parent="menu_financial_contract_configuration" - action="financial_condition_precedent_act_window" + action="financial_condition_act_window" sequence="10" /> <!-- <menuitem-->