diff --git a/__manifest__.py b/__manifest__.py index a7e2b0e4c2f50fbe2a57253c574362b5b1e52f86..97fde0af2d0ccf5587312599a515d54339ec4bfc 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -1,7 +1,7 @@ { "name": "Financial - Contract", "summary": "Gestion des contrats des outils financiers", - "author": "Le Filament", + "author": "Le Filament, Odoo Community Association (OCA)", "website": "https://le-filament.com", "version": "16.0.1.0.0", "license": "AGPL-3", @@ -13,6 +13,8 @@ # datas # views "views/financial_contract.xml", + "views/financial_condition_precedent.xml", + "views/financial_condition_precedent_contract.xml", "views/res_partner.xml", # views menu "views/menus.xml", diff --git a/models/__init__.py b/models/__init__.py index 2bddc2e78aa96a512e3298b717abc4eeb026ae20..0c09abf2fd06913090ff393d44d3856a3555485f 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,2 +1,3 @@ from . import financial_contract from . import res_partner +from . import financial_condition_precedent diff --git a/models/financial_condition_precedent.py b/models/financial_condition_precedent.py new file mode 100644 index 0000000000000000000000000000000000000000..672c89843af97e9baf20f86ac9e674e3696ddc73 --- /dev/null +++ b/models/financial_condition_precedent.py @@ -0,0 +1,87 @@ +# 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" + + # ------------------------------------------------------ + # Fields declaration + # ------------------------------------------------------ + name = fields.Char(compute="_compute_name") + condition_precedent_id = fields.Many2one("financial.condition.precedent") + raised = fields.Boolean() + + # ------------------------------------------------------ + # SQL Constraints + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Default methods + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Computed fields / Search Fields + # ------------------------------------------------------ + def _compute_name(self): + for condition_precedent_contract in self: + condition_precedent_contract.name = ( + condition_precedent_contract.condition_precedent_id.name + ) + + # ------------------------------------------------------ + # Onchange / Constraints + # ------------------------------------------------------ + + # ------------------------------------------------------ + # CRUD methods (ORM overrides) + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Actions + # ------------------------------------------------------ + + # ------------------------------------------------------ + # Business methods + # ------------------------------------------------------ diff --git a/models/financial_contract.py b/models/financial_contract.py index 5de399d115521b6fcf09f7724ba13b6393010934..bb32e656a31cca81c710992a722eb58cda85525d 100644 --- a/models/financial_contract.py +++ b/models/financial_contract.py @@ -44,6 +44,9 @@ class FinancialContract(models.Model): currency_id = fields.Many2one( comodel_name="res.currency", related="company_id.currency_id" ) + condition_precedent_contract_ids = fields.Many2many( + "financial.condition.precedent.contract", string="Conditions" + ) # ------------------------------------------------------ # Computed fields / Search Fields diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 7f16336b4225251077227ddf1d5ee7c105c0e570..bb0d6855d42703d2fff6ccbf394cdfda939ec920 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -1,2 +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 diff --git a/views/financial_condition_precedent.xml b/views/financial_condition_precedent.xml new file mode 100644 index 0000000000000000000000000000000000000000..86b5c2a9864d18fd0abc63abc9153d5d7a50ae45 --- /dev/null +++ b/views/financial_condition_precedent.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <data> + + <record id="financial_condition_precedent_form_view" model="ir.ui.view"> + <field name="name">financial_condition_precedent.form + </field> + <field name="model">financial.condition.precedent</field> + <field name="arch" type="xml"> + <form string="Conditions"> + <sheet> + <div class="oe_title"> + <label for="name" /> + <h1> + <field name="name" placeholder="Name" /> + </h1> + </div> + <group> + <field name="category" /> + </group> + </sheet> + </form> + </field> + </record> + + <record id="financial_condition_precedent_tree_view" model="ir.ui.view"> + <field name="name">financial_condition_precedent.tree + </field> + <field name="model">financial.condition.precedent</field> + <field name="arch" type="xml"> + <tree string="Conditions"> + <field name="name" /> + </tree> + </field> + </record> + + + <record + id="financial_condition_precedent_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="view_mode">tree,form</field> + </record> + </data> +</odoo> diff --git a/views/financial_condition_precedent_contract.xml b/views/financial_condition_precedent_contract.xml new file mode 100644 index 0000000000000000000000000000000000000000..32d1655d676dca12c14862be0de98336eda9d26a --- /dev/null +++ b/views/financial_condition_precedent_contract.xml @@ -0,0 +1,53 @@ +<?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 52a19e26bc13a2c9ea522793070ba014f0e8b1c4..b61dee942d4e7ac885e3910f178b0c9a6e876f81 100644 --- a/views/financial_contract.xml +++ b/views/financial_contract.xml @@ -30,6 +30,11 @@ /> </group> </group> + <notebook> + <page string="Conditions precedent"> + <field name="condition_precedent_contract_ids" /> + </page> + </notebook> </sheet> <div class="oe_chatter"> <field name="message_follower_ids" /> @@ -50,7 +55,7 @@ <field name="name" /> <field name="partner_id" /> <field name="state" /> -<!-- <field name="total_amount" />--> + <!-- <field name="total_amount" />--> </tree> </field> </record> @@ -73,22 +78,24 @@ <t t-name="kanban-box"> <div class="oe_kanban_global_click"> <!-- TODO: Ajouter css pour bandeau archivage --> -<!-- <div class="ribbon ribbon-top-right" attrs="{'invisible': [('active', '=', True)]}">--> -<!-- <span class="bg-danger">Archivé</span>--> -<!-- </div>--> + <!-- <div class="ribbon ribbon-top-right" attrs="{'invisible': [('active', '=', True)]}">--> + <!-- <span class="bg-danger">Archivé</span>--> + <!-- </div>--> <div class="oe_kanban_content"> <div class="o_kanban_record_title"> - <strong><field name="name" /> - <field - name="partner_id" - /></strong> + <strong> + <field name="name" /> + - + <field name="partner_id" /> + </strong> </div> <div class="o_kanban_record_subtitle"> -<!-- <t t-if="record.total_amount.raw_value">--> -<!-- <field--> -<!-- name="total_amount"--> -<!-- widget="monetary"--> -<!-- options="{'currency_field': 'currency_id'}"/>--> -<!-- </t>--> + <!-- <t t-if="record.total_amount.raw_value">--> + <!-- <field--> + <!-- name="total_amount"--> + <!-- widget="monetary"--> + <!-- options="{'currency_field': 'currency_id'}"/>--> + <!-- </t>--> </div> <div class="oe_clear" /> </div> diff --git a/views/menus.xml b/views/menus.xml index 20baa72a65209d95a12700a44ce796d4f693226f..e16c3f6d4e39d0b9a2f237f21c0f489ebecf0c63 100644 --- a/views/menus.xml +++ b/views/menus.xml @@ -17,17 +17,31 @@ sequence="10" /> <!-- Configuration --> -<!-- <menuitem--> -<!-- id="menu_financial_deal_config"--> -<!-- name="Configuration"--> -<!-- parent="financial_deal_menu_root"--> -<!-- sequence="100"--> -<!-- />--> -<!-- <menuitem--> -<!-- id="menu_financial_deal"--> -<!-- name="Partenaires financiers"--> -<!-- parent="menu_financial_deal_config"--> -<!-- action="financial_deal_partner_act_window"--> -<!-- sequence="10"--> -<!-- />--> + <menuitem + id="menu_financial_contract_configuration" + name="Configuration" + parent="financial_contract_menu_root" + sequence="10" + /> + + <menuitem + id="menu_financial_condition_precedent" + name="Conditions" + parent="menu_financial_contract_configuration" + action="financial_condition_precedent_act_window" + sequence="10" + /> + <!-- <menuitem--> + <!-- id="menu_financial_deal_config"--> + <!-- name="Configuration"--> + <!-- parent="financial_deal_menu_root"--> + <!-- sequence="100"--> + <!-- />--> + <!-- <menuitem--> + <!-- id="menu_financial_deal"--> + <!-- name="Partenaires financiers"--> + <!-- parent="menu_financial_deal_config"--> + <!-- action="financial_deal_partner_act_window"--> + <!-- sequence="10"--> + <!-- />--> </odoo>