From 9005cc4af854d9ce7fac82d6c9a585c9851fd42d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com>
Date: Wed, 2 Nov 2022 16:59:00 +0100
Subject: [PATCH] [ADD] update to v14.0.2

---
 README.rst                   |  3 +++
 __manifest__.py              |  5 +++--
 models/__init__.py           |  3 ++-
 models/project.py            | 17 +++++++++++++++++
 views/hr_timesheet_views.xml | 35 ++++++++++++++++++++++++++++-------
 views/project_project.xml    | 14 ++++++++++++++
 6 files changed, 67 insertions(+), 10 deletions(-)
 create mode 100644 models/project.py
 create mode 100644 views/project_project.xml

diff --git a/README.rst b/README.rst
index 3a3bec3..f1bc8b8 100644
--- a/README.rst
+++ b/README.rst
@@ -11,6 +11,9 @@ DIGITANIE - Projet et Feuilles de temps
     - Ajout d'un champ Date de revue à la table *project.task*, affiche dans les vues asociées
     - Ajout d'un champ Type de tâche à la table *account.analytic.line*, affiche dans les vues asociées
     - Ajout du champ département dans les vues listes des feuilles de temps
+    - Rend les champs projet / tâches non modifiables sur feuilles de temps
+    - Affiche 20 entrées de tâches sur les feuilles de temps
+    - Renvoie le nom de la catégorie / nom du projet lorsqu'on recherche un nom de projet
 
 
 Credits
diff --git a/__manifest__.py b/__manifest__.py
index 70b30af..a3f8faa 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -3,11 +3,12 @@
     "summary": """Gestion des projets et Feuilles de temps""",
     "author": "Le Filament",
     "website": "https://www.le-filament.com",
-    "version": "14.0.1.0.0",
+    "version": "14.0.2.0.0",
     "license": "AGPL-3",
-    "depends": ["hr_timesheet", "project_category"],
+    "depends": ["hr_timesheet", "project_category", "web_m2x_options"],
     "data": [
         "views/hr_timesheet_views.xml",
+        "views/project_project.xml",
         "views/project_task.xml",
         "report/project_report_view.xml",
     ],
diff --git a/models/__init__.py b/models/__init__.py
index 8b661f3..f6ceba7 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,5 +1,6 @@
-# Copyright 2020 Le Filament (<http://www.le-filament.com>)
+# Copyright 2020-2022 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 from . import account
+from . import project
 from . import project_task
diff --git a/models/project.py b/models/project.py
new file mode 100644
index 0000000..368aa6b
--- /dev/null
+++ b/models/project.py
@@ -0,0 +1,17 @@
+# Copyright 2022 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import models
+
+
+class Project(models.Model):
+    _inherit = "project.project"
+
+    def name_get(self):
+        """ Return the type then project name
+        """
+        res = []
+        for project in self:
+            name = "%s / %s" % (project.type_id.name, project.name) if project.type_id else project.name
+            res.append((project.id, name))
+        return res
diff --git a/views/hr_timesheet_views.xml b/views/hr_timesheet_views.xml
index bdc0dd2..e3540e2 100644
--- a/views/hr_timesheet_views.xml
+++ b/views/hr_timesheet_views.xml
@@ -11,7 +11,17 @@
             <field name="arch" type="xml">
                 <field name="unit_amount" position="before">
                     <field name="task_type_id" />
-
+                </field>
+                <field name="project_id" position="attributes">
+                    <attribute
+                        name="options"
+                    >{'no_create': true, 'no_open': true,}</attribute>
+                </field>
+                <field name="task_id" position="attributes">
+                    <attribute
+                        name="options"
+                    >{'no_create': true, 'no_open': true, 'limit': 20,}</attribute>
+                    <attribute name="required">True</attribute>
                 </field>
             </field>
         </record>
@@ -21,9 +31,20 @@
             <field name="model">account.analytic.line</field>
             <field name="inherit_id" ref="hr_timesheet.timesheet_view_tree_user" />
             <field name="arch" type="xml">
-                <xpath expr="//field[@name='employee_id']" position="after">
+                <field name="employee_id" position="after">
                     <field name="department_id" options='{"no_open": True}' />
-                </xpath>
+                </field>
+                <field name="project_id" position="attributes">
+                    <attribute
+                        name="options"
+                    >{'no_create': true, 'no_open': true,}</attribute>
+                </field>
+                <field name="task_id" position="attributes">
+                    <attribute
+                        name="options"
+                    >{'no_create': true, 'no_open': true, 'limit': 20,}</attribute>
+                    <attribute name="required">True</attribute>
+                </field>
             </field>
         </record>
 
@@ -32,11 +53,11 @@
             <field name="model">account.analytic.line</field>
             <field name="inherit_id" ref="hr_timesheet.timesheet_view_form_user" />
             <field name="arch" type="xml">
-                <xpath expr="//field[@name='employee_id']" position="after">
+                <field name="employee_id" position="after">
                     <field name="department_id" options='{"no_open": True}' />
                     <field name="project_type_id" />
-                    <field name="task_type_id" />
-                </xpath>
+                    <field name="task_type_id" required="1" />
+                </field>
             </field>
         </record>
 
@@ -48,7 +69,7 @@
                 <field name="employee_id" position="after">
                     <field name="department_id" />
                     <field name="project_type_id" />
-                    <field name="task_type_id" />
+                    <field name="task_type_id" required="1" />
                 </field>
                 <filter name="groupby_employee" position="after">
                     <filter
diff --git a/views/project_project.xml b/views/project_project.xml
new file mode 100644
index 0000000..00e46c0
--- /dev/null
+++ b/views/project_project.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <record id="project_kanban" model="ir.ui.view">
+        <field name="model">project.project</field>
+        <field name="inherit_id" ref="project.view_project_kanban" />
+        <field name="arch" type="xml">
+            <xpath expr="//templates//div[hasclass('o_primary')]" position="after">
+                <div class="o_kanban_record_body" t-if="record.type_id.value">
+                    <field name="type_id" widget="badge" />
+                </div>
+            </xpath>
+        </field>
+    </record>
+</odoo>
-- 
GitLab