From 1d27330566024e26caa0ff0bf3a728c120f9c9b6 Mon Sep 17 00:00:00 2001
From: thibaud <thibaud@le-filament.com>
Date: Thu, 21 Mar 2024 11:05:51 +0100
Subject: [PATCH] [IMP] Removed precedent words + Added milestone and comment
 fields

---
 __manifest__.py                               |  4 +-
 models/__init__.py                            |  3 +-
 models/financial_condition.py                 | 42 ++++++++++
 models/financial_condition_contract.py        | 47 +++++++++++
 models/financial_condition_precedent.py       | 83 -------------------
 models/financial_contract.py                  |  4 +-
 security/ir.model.access.csv                  |  4 +-
 ..._precedent.xml => financial_condition.xml} | 16 ++--
 views/financial_condition_contract.xml        | 47 +++++++++++
 ...financial_condition_precedent_contract.xml | 53 ------------
 views/financial_contract.xml                  |  2 +-
 views/menus.xml                               |  4 +-
 12 files changed, 155 insertions(+), 154 deletions(-)
 create mode 100644 models/financial_condition.py
 create mode 100644 models/financial_condition_contract.py
 delete mode 100644 models/financial_condition_precedent.py
 rename views/{financial_condition_precedent.xml => financial_condition.xml} (67%)
 create mode 100644 views/financial_condition_contract.xml
 delete mode 100644 views/financial_condition_precedent_contract.xml

diff --git a/__manifest__.py b/__manifest__.py
index 97fde0a..5e22c78 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 0c09abf..6f8db4a 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 0000000..02b68cf
--- /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 0000000..b0b0f2b
--- /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 df71fe9..0000000
--- 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 a8cf275..696a42c 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 bb0d685..74d757b 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 86b5c2a..4366c07 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 0000000..acab917
--- /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 32d1655..0000000
--- 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 b61dee9..9375376 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 e16c3f6..ccc8e91 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-->
-- 
GitLab