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