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