From a5099dcfd1dd54ab415d3993f99f614c49403eaa Mon Sep 17 00:00:00 2001 From: KNVx <92428614+KNVx@users.noreply.github.com> Date: Wed, 3 Nov 2021 14:30:00 +0100 Subject: [PATCH 01/12] [ADD] project_legal_management: new module to extend projects as a legal management --- project_legal_management/README.rst | 26 +++ project_legal_management/__init__.py | 1 + project_legal_management/__manifest__.py | 27 +++ project_legal_management/i18n/es.po | 181 ++++++++++++++++++ project_legal_management/models/__init__.py | 5 + project_legal_management/models/lm_issue.py | 20 ++ .../models/lm_probability.py | 20 ++ .../models/lm_resolution.py | 19 ++ project_legal_management/models/project.py | 17 ++ project_legal_management/models/tree.py | 79 ++++++++ .../security/ir.model.access.csv | 7 + .../static/description/icon.png | Bin 0 -> 6342 bytes .../views/lm_issue_views.xml | 43 +++++ .../views/lm_probability_views.xml | 43 +++++ .../views/lm_resolution_views.xml | 43 +++++ .../views/project_tree.xml | 52 +++++ .../views/project_views.xml | 29 +++ 17 files changed, 612 insertions(+) create mode 100644 project_legal_management/README.rst create mode 100644 project_legal_management/__init__.py create mode 100644 project_legal_management/__manifest__.py create mode 100644 project_legal_management/i18n/es.po create mode 100644 project_legal_management/models/__init__.py create mode 100644 project_legal_management/models/lm_issue.py create mode 100644 project_legal_management/models/lm_probability.py create mode 100644 project_legal_management/models/lm_resolution.py create mode 100644 project_legal_management/models/project.py create mode 100644 project_legal_management/models/tree.py create mode 100644 project_legal_management/security/ir.model.access.csv create mode 100644 project_legal_management/static/description/icon.png create mode 100644 project_legal_management/views/lm_issue_views.xml create mode 100644 project_legal_management/views/lm_probability_views.xml create mode 100644 project_legal_management/views/lm_resolution_views.xml create mode 100644 project_legal_management/views/project_tree.xml create mode 100644 project_legal_management/views/project_views.xml diff --git a/project_legal_management/README.rst b/project_legal_management/README.rst new file mode 100644 index 000000000..fb5c3917d --- /dev/null +++ b/project_legal_management/README.rst @@ -0,0 +1,26 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +======================== +Project legal management +======================== + +* This module adds the necessary fields to work with +the legal management in the project module + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Kilian Niubo diff --git a/project_legal_management/__init__.py b/project_legal_management/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/project_legal_management/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py new file mode 100644 index 000000000..0656aa815 --- /dev/null +++ b/project_legal_management/__manifest__.py @@ -0,0 +1,27 @@ +# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + 'name': 'Project legal management', + 'summary': 'This module adds the necessary fields to work with ' + 'the legal management in the project module', + 'version': '11.0.1.0.0', + 'category': 'Project', + 'author': 'NuoBiT Solutions, S.L., Kilian Niubo', + 'website': 'https://github.com/nuobit', + 'license': 'AGPL-3', + 'depends': [ + 'project', + 'hr', + ], + 'data': [ + 'security/ir.model.access.csv', + 'views/project_views.xml', + 'views/lm_issue_views.xml', + 'views/lm_probability_views.xml', + 'views/lm_resolution_views.xml', + 'views/project_tree.xml', + ], + 'installable': True, + 'auto_install': False, +} diff --git a/project_legal_management/i18n/es.po b/project_legal_management/i18n/es.po new file mode 100644 index 000000000..3f91a2d96 --- /dev/null +++ b/project_legal_management/i18n/es.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_legal_management +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-11-03 10:52+0000\n" +"PO-Revision-Date: 2021-11-03 10:52+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_amount +#: model:ir.ui.view,arch_db:project_legal_management.view_project +msgid "Amount" +msgstr "Importe" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_complete_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_complete_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_complete_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin_complete_name +msgid "Complete Name" +msgstr "Nombre Completo" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_create_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_create_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_create_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_create_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_create_date +msgid "Created on" +msgstr "Creado en" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_date +#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +msgid "Date" +msgstr "Fecha" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_display_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_display_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_display_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin_display_name +msgid "Display Name" +msgstr "Nombre Mostrado" + +#. module: project_legal_management +#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +msgid "Employee" +msgstr "Empleado" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_employee_ids +msgid "Employees" +msgstr "Empleados" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_expedient_number +#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +msgid "Expedient Number" +msgstr "Nº Expediente" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin_id +msgid "ID" +msgstr "ID" + +#. module: project_legal_management +#: model:ir.actions.act_window,name:project_legal_management.lm_issue_action +#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_issue_ids +#: model:ir.ui.menu,name:project_legal_management.lm_issue_menu +#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +msgid "Issues" +msgstr "Asuntos" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue___last_update +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability___last_update +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution___last_update +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_write_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_write_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_write_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_write_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: project_legal_management +#: model:ir.ui.menu,name:project_legal_management.project_legal_management_menu_config +msgid "Legal Management" +msgstr "Gestión Jurídica" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_name +msgid "Name" +msgstr "Nombre" + +#. module: project_legal_management +#: code:addons/project_legal_management/models/tree.py:77 +#, python-format +msgid "Operator %s not implemented" +msgstr "Operador %s no implementado" + +#. module: project_legal_management +#: model:ir.ui.view,arch_db:project_legal_management.edit_project +msgid "Other Information" +msgstr "Otra Información" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_parent_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_parent_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_parent_id +msgid "Parent" +msgstr "Padre" + +#. module: project_legal_management +#: model:ir.actions.act_window,name:project_legal_management.lm_probability_action +#: model:ir.ui.menu,name:project_legal_management.lm_probability_menu +msgid "Probabilities" +msgstr "Probabilidades" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_probability_id +#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +msgid "Probability" +msgstr "Probabilidad" + +#. module: project_legal_management +#: model:ir.ui.view,arch_db:project_legal_management.lm_probability_view_form +msgid "Probability Form" +msgstr "Formulario de Probabilidades" + +#. module: project_legal_management +#: model:ir.model,name:project_legal_management.model_project_project +msgid "Project" +msgstr "Proyecto" + +#. module: project_legal_management +#: model:ir.ui.view,arch_db:project_legal_management.edit_project +msgid "Provision" +msgstr "Provisión" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_resolution_id +#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +msgid "Resolution" +msgstr "Resolución" + +#. module: project_legal_management +#: model:ir.actions.act_window,name:project_legal_management.lm_resolution_action +#: model:ir.ui.menu,name:project_legal_management.lm_resolution_menu +msgid "Resolutions" +msgstr "Resoluciones" diff --git a/project_legal_management/models/__init__.py b/project_legal_management/models/__init__.py new file mode 100644 index 000000000..f08c68a53 --- /dev/null +++ b/project_legal_management/models/__init__.py @@ -0,0 +1,5 @@ +from . import tree +from . import lm_issue +from . import lm_probability +from . import lm_resolution +from . import project diff --git a/project_legal_management/models/lm_issue.py b/project_legal_management/models/lm_issue.py new file mode 100644 index 000000000..250c83037 --- /dev/null +++ b/project_legal_management/models/lm_issue.py @@ -0,0 +1,20 @@ +# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import models, api, fields, _ +from odoo.exceptions import UserError + + +class LMIssue(models.Model): + _name = 'lm.issue' + _parent_name = 'parent_id' + _inherit = 'lm.tree.mixin' + + name = fields.Char(required=True) + parent_id = fields.Many2one(comodel_name='lm.issue') + + complete_chain_ids = fields.Many2many( + string="Complete Chain", + comodel_name='lm.issue', + compute='_compute_complete_chain_ids', + ) diff --git a/project_legal_management/models/lm_probability.py b/project_legal_management/models/lm_probability.py new file mode 100644 index 000000000..5f873ee9f --- /dev/null +++ b/project_legal_management/models/lm_probability.py @@ -0,0 +1,20 @@ +# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import models, api, fields, _ +from odoo.exceptions import UserError + + +class LMProbability(models.Model): + _name = 'lm.probability' + _parent_name = 'parent_id' + _inherit = 'lm.tree.mixin' + + name = fields.Char(required=True) + parent_id = fields.Many2one(comodel_name='lm.probability') + + complete_chain_ids = fields.Many2many( + string="Complete Chain", + comodel_name='lm.probability', + compute='_compute_complete_chain_ids', + ) diff --git a/project_legal_management/models/lm_resolution.py b/project_legal_management/models/lm_resolution.py new file mode 100644 index 000000000..38bfcbee9 --- /dev/null +++ b/project_legal_management/models/lm_resolution.py @@ -0,0 +1,19 @@ +# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import models, api, fields + + +class LMResolution(models.Model): + _name = 'lm.resolution' + _parent_name = 'parent_id' + _inherit = 'lm.tree.mixin' + + name = fields.Char(required=True) + parent_id = fields.Many2one(comodel_name='lm.resolution') + + complete_chain_ids = fields.Many2many( + string="Complete Chain", + comodel_name='lm.resolution', + compute='_compute_complete_chain_ids', + ) diff --git a/project_legal_management/models/project.py b/project_legal_management/models/project.py new file mode 100644 index 000000000..a13a36ad8 --- /dev/null +++ b/project_legal_management/models/project.py @@ -0,0 +1,17 @@ +# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import models, api, fields, _ +from odoo.exceptions import UserError + + +class Project(models.Model): + _inherit = 'project.project' + + lm_date = fields.Date(string="Date") + lm_employee_ids = fields.Many2many(string="Employees", comodel_name="hr.employee") + lm_expedient_number = fields.Char(string="Expedient Number") + lm_issue_ids = fields.Many2many(string="Issues", comodel_name="lm.issue") + lm_resolution_id = fields.Many2one(string="Resolution", comodel_name="lm.resolution") + lm_amount = fields.Float(string="Amount") + lm_probability_id = fields.Many2one(string="Probability", comodel_name="lm.probability") diff --git a/project_legal_management/models/tree.py b/project_legal_management/models/tree.py new file mode 100644 index 000000000..925e25135 --- /dev/null +++ b/project_legal_management/models/tree.py @@ -0,0 +1,79 @@ +# Copyright 2021 NuoBiT Solutions - Eric Antones +# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +class LMTreeMixin(models.AbstractModel): + _name = 'lm.tree.mixin' + + # complete_name + complete_name = fields.Char(string='Complete Name', + compute='_compute_complete_name', + search='_search_complete_name') + + @api.multi + def name_get(self): + vals = [] + for record in self: + vals.append((record.id, record.complete_name)) + return vals + + def _get_node_ancestors_chain(self): + self.ensure_one() + return (self.parent_id and self.parent_id._get_node_ancestors_chain() or \ + self.env[self._name]) | self + + @api.depends('parent_id') + def _compute_complete_chain_ids(self): + for rec in self: + rec.complete_chain_ids = rec._get_node_ancestors_chain() + + def get_complete_name(self): + self.ensure_one() + return ' / '.join( + self.complete_chain_ids.mapped('name') + ) + + @api.depends('name', 'parent_id.complete_name') + def _compute_complete_name(self): + for rec in self: + if rec.parent_id: + rec.complete_name = '%s / %s' % (rec.parent_id.complete_name, rec.name) + else: + rec.complete_name = rec.name + + def _search_complete_name(self, operator, value): + node_ids = [] + for node in self.env[self._name].search([]): + complete_name = node.get_complete_name() + if operator == '=': + if value == complete_name: + node_ids.append(node.id) + elif operator == '!=': + if value != complete_name: + node_ids.append(node.id) + elif operator == 'like': + if value in complete_name: + node_ids.append(node.id) + elif operator == 'not like': + if value not in complete_name: + node_ids.append(node.id) + elif operator == 'ilike': + if value.lower() in complete_name.lower(): + node_ids.append(node.id) + elif operator == 'not ilike': + if value.lower() not in complete_name.lower(): + node_ids.append(node.id) + elif operator == '=like': + if value == complete_name: + node_ids.append(node.id) + elif operator == '=ilike': + if value.lower() == complete_name.lower(): + node_ids.append(node.id) + else: + raise UserError(_("Operator %s not implemented") % operator) + + return [('id', 'in', node_ids)] diff --git a/project_legal_management/security/ir.model.access.csv b/project_legal_management/security/ir.model.access.csv new file mode 100644 index 000000000..f0beda379 --- /dev/null +++ b/project_legal_management/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_project_legal_management_lm_probability_manager,project_legal_management.lm_probability.manager,model_lm_probability,project.group_project_manager,1,1,1,1 +access_project_legal_management_lm_probability_user,project_legal_management.lm_probability.user,model_lm_probability,project.group_project_user,1,0,0,0 +access_project_legal_management_lm_resolution_manager,project_legal_management.lm_resolution.manager,model_lm_resolution,project.group_project_manager,1,1,1,1 +access_project_legal_management_lm_resolution_user,project_legal_management.lm_resolution.user,model_lm_resolution,project.group_project_user,1,0,0,0 +access_project_legal_management_lm_issue_manager,project_legal_management.lm_issue.manager,model_lm_issue,project.group_project_manager,1,1,1,1 +access_project_legal_management_lm_issue_user,project_legal_management.lm_issue.user,model_lm_issue,project.group_project_user,1,0,0,0 diff --git a/project_legal_management/static/description/icon.png b/project_legal_management/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd641e792c30455187ca30940bc0f329ce8bbb0 GIT binary patch literal 6342 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 literal 0 HcmV?d00001 diff --git a/project_legal_management/views/lm_issue_views.xml b/project_legal_management/views/lm_issue_views.xml new file mode 100644 index 000000000..c03f9a7ff --- /dev/null +++ b/project_legal_management/views/lm_issue_views.xml @@ -0,0 +1,43 @@ + + + + + lm.issue.view.form + lm.issue + +
+ +
+

+ +

+
+ + + + + +
+
+
+
+ + lm.issue.view.tree + lm.issue + + + + + + + + + Issues + lm.issue + tree,form + + +
diff --git a/project_legal_management/views/lm_probability_views.xml b/project_legal_management/views/lm_probability_views.xml new file mode 100644 index 000000000..b0c850fe2 --- /dev/null +++ b/project_legal_management/views/lm_probability_views.xml @@ -0,0 +1,43 @@ + + + + + lm.probability.view.form + lm.probability + +
+ +
+

+ +

+
+ + + + + +
+
+
+
+ + lm.probability.view.tree + lm.probability + + + + + + + + + Probabilities + lm.probability + tree,form + + +
diff --git a/project_legal_management/views/lm_resolution_views.xml b/project_legal_management/views/lm_resolution_views.xml new file mode 100644 index 000000000..15c171d58 --- /dev/null +++ b/project_legal_management/views/lm_resolution_views.xml @@ -0,0 +1,43 @@ + + + + + lm.resolution.view.form + lm.resolution + +
+ +
+

+ +

+
+ + + + + +
+
+
+
+ + lm.resolution.view.tree + lm.resolution + + + + + + + + + Resolutions + lm.resolution + tree,form + + +
diff --git a/project_legal_management/views/project_tree.xml b/project_legal_management/views/project_tree.xml new file mode 100644 index 000000000..35023051c --- /dev/null +++ b/project_legal_management/views/project_tree.xml @@ -0,0 +1,52 @@ + + + + + view.project.legal.management + project.project + + + + + + + + + + + + + + + kanban,form,tree + + + view.project.project.filter.legal.management + project.project + + + + + + + + + + ['|','|','|','|','|',('lm_date','ilike', + self),('lm_employee_ids','ilike',self),('lm_issue_ids','ilike',self), + ('lm_resolution_id','ilike',self), ('lm_probability_id','ilike',self), + ('lm_expedient_number','ilike',self)] + + + + + + + + + + + + + diff --git a/project_legal_management/views/project_views.xml b/project_legal_management/views/project_views.xml new file mode 100644 index 000000000..457227705 --- /dev/null +++ b/project_legal_management/views/project_views.xml @@ -0,0 +1,29 @@ + + + + + edit_project_legal_management + project.project + + + + + + + + + + + + + + + + + + + + + From d35e41fdc838a25a293486c60a4d2b6cd1fa1048 Mon Sep 17 00:00:00 2001 From: KNVx Date: Thu, 2 Dec 2021 09:29:50 +0100 Subject: [PATCH 02/12] [IMP] project_legal_management: black, isort, prettier --- project_legal_management/__manifest__.py | 40 +++++++------- project_legal_management/models/lm_issue.py | 15 +++--- .../models/lm_probability.py | 15 +++--- .../models/lm_resolution.py | 14 ++--- project_legal_management/models/project.py | 13 +++-- project_legal_management/models/tree.py | 47 +++++++++-------- .../views/lm_issue_views.xml | 20 ++++--- .../views/lm_probability_views.xml | 20 ++++--- .../views/lm_resolution_views.xml | 20 ++++--- .../views/project_tree.xml | 52 ++++++++++++------- .../views/project_views.xml | 27 ++++++---- 11 files changed, 158 insertions(+), 125 deletions(-) diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py index 0656aa815..6cba37a8e 100644 --- a/project_legal_management/__manifest__.py +++ b/project_legal_management/__manifest__.py @@ -2,26 +2,26 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { - 'name': 'Project legal management', - 'summary': 'This module adds the necessary fields to work with ' - 'the legal management in the project module', - 'version': '11.0.1.0.0', - 'category': 'Project', - 'author': 'NuoBiT Solutions, S.L., Kilian Niubo', - 'website': 'https://github.com/nuobit', - 'license': 'AGPL-3', - 'depends': [ - 'project', - 'hr', + "name": "Project legal management", + "summary": "This module adds the necessary fields to work with " + "the legal management in the project module", + "version": "11.0.1.0.0", + "category": "Project", + "author": "NuoBiT Solutions, S.L., Kilian Niubo", + "website": "https://github.com/nuobit/odoo-addons", + "license": "AGPL-3", + "depends": [ + "project", + "hr", ], - 'data': [ - 'security/ir.model.access.csv', - 'views/project_views.xml', - 'views/lm_issue_views.xml', - 'views/lm_probability_views.xml', - 'views/lm_resolution_views.xml', - 'views/project_tree.xml', + "data": [ + "security/ir.model.access.csv", + "views/project_views.xml", + "views/lm_issue_views.xml", + "views/lm_probability_views.xml", + "views/lm_resolution_views.xml", + "views/project_tree.xml", ], - 'installable': True, - 'auto_install': False, + "installable": True, + "auto_install": False, } diff --git a/project_legal_management/models/lm_issue.py b/project_legal_management/models/lm_issue.py index 250c83037..3005a6c4f 100644 --- a/project_legal_management/models/lm_issue.py +++ b/project_legal_management/models/lm_issue.py @@ -1,20 +1,19 @@ # Copyright 2021 NuoBiT Solutions - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from odoo import models, api, fields, _ -from odoo.exceptions import UserError +from odoo import fields, models class LMIssue(models.Model): - _name = 'lm.issue' - _parent_name = 'parent_id' - _inherit = 'lm.tree.mixin' + _name = "lm.issue" + _parent_name = "parent_id" + _inherit = "lm.tree.mixin" name = fields.Char(required=True) - parent_id = fields.Many2one(comodel_name='lm.issue') + parent_id = fields.Many2one(comodel_name="lm.issue") complete_chain_ids = fields.Many2many( string="Complete Chain", - comodel_name='lm.issue', - compute='_compute_complete_chain_ids', + comodel_name="lm.issue", + compute="_compute_complete_chain_ids", ) diff --git a/project_legal_management/models/lm_probability.py b/project_legal_management/models/lm_probability.py index 5f873ee9f..93148752e 100644 --- a/project_legal_management/models/lm_probability.py +++ b/project_legal_management/models/lm_probability.py @@ -1,20 +1,19 @@ # Copyright 2021 NuoBiT Solutions - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from odoo import models, api, fields, _ -from odoo.exceptions import UserError +from odoo import fields, models class LMProbability(models.Model): - _name = 'lm.probability' - _parent_name = 'parent_id' - _inherit = 'lm.tree.mixin' + _name = "lm.probability" + _parent_name = "parent_id" + _inherit = "lm.tree.mixin" name = fields.Char(required=True) - parent_id = fields.Many2one(comodel_name='lm.probability') + parent_id = fields.Many2one(comodel_name="lm.probability") complete_chain_ids = fields.Many2many( string="Complete Chain", - comodel_name='lm.probability', - compute='_compute_complete_chain_ids', + comodel_name="lm.probability", + compute="_compute_complete_chain_ids", ) diff --git a/project_legal_management/models/lm_resolution.py b/project_legal_management/models/lm_resolution.py index 38bfcbee9..9a4384caa 100644 --- a/project_legal_management/models/lm_resolution.py +++ b/project_legal_management/models/lm_resolution.py @@ -1,19 +1,19 @@ # Copyright 2021 NuoBiT Solutions - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from odoo import models, api, fields +from odoo import fields, models class LMResolution(models.Model): - _name = 'lm.resolution' - _parent_name = 'parent_id' - _inherit = 'lm.tree.mixin' + _name = "lm.resolution" + _parent_name = "parent_id" + _inherit = "lm.tree.mixin" name = fields.Char(required=True) - parent_id = fields.Many2one(comodel_name='lm.resolution') + parent_id = fields.Many2one(comodel_name="lm.resolution") complete_chain_ids = fields.Many2many( string="Complete Chain", - comodel_name='lm.resolution', - compute='_compute_complete_chain_ids', + comodel_name="lm.resolution", + compute="_compute_complete_chain_ids", ) diff --git a/project_legal_management/models/project.py b/project_legal_management/models/project.py index a13a36ad8..de264b3e7 100644 --- a/project_legal_management/models/project.py +++ b/project_legal_management/models/project.py @@ -1,17 +1,20 @@ # Copyright 2021 NuoBiT Solutions - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from odoo import models, api, fields, _ -from odoo.exceptions import UserError +from odoo import fields, models class Project(models.Model): - _inherit = 'project.project' + _inherit = "project.project" lm_date = fields.Date(string="Date") lm_employee_ids = fields.Many2many(string="Employees", comodel_name="hr.employee") lm_expedient_number = fields.Char(string="Expedient Number") lm_issue_ids = fields.Many2many(string="Issues", comodel_name="lm.issue") - lm_resolution_id = fields.Many2one(string="Resolution", comodel_name="lm.resolution") + lm_resolution_id = fields.Many2one( + string="Resolution", comodel_name="lm.resolution" + ) lm_amount = fields.Float(string="Amount") - lm_probability_id = fields.Many2one(string="Probability", comodel_name="lm.probability") + lm_probability_id = fields.Many2one( + string="Probability", comodel_name="lm.probability" + ) diff --git a/project_legal_management/models/tree.py b/project_legal_management/models/tree.py index 925e25135..4b6b2a4cc 100644 --- a/project_legal_management/models/tree.py +++ b/project_legal_management/models/tree.py @@ -2,17 +2,19 @@ # Copyright 2021 NuoBiT Solutions - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from odoo import api, fields, models, _ +from odoo import _, api, fields, models from odoo.exceptions import UserError class LMTreeMixin(models.AbstractModel): - _name = 'lm.tree.mixin' + _name = "lm.tree.mixin" # complete_name - complete_name = fields.Char(string='Complete Name', - compute='_compute_complete_name', - search='_search_complete_name') + complete_name = fields.Char( + string="Complete Name", + compute="_compute_complete_name", + search="_search_complete_name", + ) @api.multi def name_get(self): @@ -23,25 +25,26 @@ def name_get(self): def _get_node_ancestors_chain(self): self.ensure_one() - return (self.parent_id and self.parent_id._get_node_ancestors_chain() or \ - self.env[self._name]) | self + return ( + self.parent_id + and self.parent_id._get_node_ancestors_chain() + or self.env[self._name] + ) | self - @api.depends('parent_id') + @api.depends("parent_id") def _compute_complete_chain_ids(self): for rec in self: rec.complete_chain_ids = rec._get_node_ancestors_chain() def get_complete_name(self): self.ensure_one() - return ' / '.join( - self.complete_chain_ids.mapped('name') - ) + return " / ".join(self.complete_chain_ids.mapped("name")) - @api.depends('name', 'parent_id.complete_name') + @api.depends("name", "parent_id.complete_name") def _compute_complete_name(self): for rec in self: if rec.parent_id: - rec.complete_name = '%s / %s' % (rec.parent_id.complete_name, rec.name) + rec.complete_name = "%s / %s" % (rec.parent_id.complete_name, rec.name) else: rec.complete_name = rec.name @@ -49,31 +52,31 @@ def _search_complete_name(self, operator, value): node_ids = [] for node in self.env[self._name].search([]): complete_name = node.get_complete_name() - if operator == '=': + if operator == "=": if value == complete_name: node_ids.append(node.id) - elif operator == '!=': + elif operator == "!=": if value != complete_name: node_ids.append(node.id) - elif operator == 'like': + elif operator == "like": if value in complete_name: node_ids.append(node.id) - elif operator == 'not like': + elif operator == "not like": if value not in complete_name: node_ids.append(node.id) - elif operator == 'ilike': + elif operator == "ilike": if value.lower() in complete_name.lower(): node_ids.append(node.id) - elif operator == 'not ilike': + elif operator == "not ilike": if value.lower() not in complete_name.lower(): node_ids.append(node.id) - elif operator == '=like': + elif operator == "=like": if value == complete_name: node_ids.append(node.id) - elif operator == '=ilike': + elif operator == "=ilike": if value.lower() == complete_name.lower(): node_ids.append(node.id) else: raise UserError(_("Operator %s not implemented") % operator) - return [('id', 'in', node_ids)] + return [("id", "in", node_ids)] diff --git a/project_legal_management/views/lm_issue_views.xml b/project_legal_management/views/lm_issue_views.xml index c03f9a7ff..b677d5062 100644 --- a/project_legal_management/views/lm_issue_views.xml +++ b/project_legal_management/views/lm_issue_views.xml @@ -1,4 +1,4 @@ - + @@ -10,12 +10,12 @@

- +

- +
@@ -27,8 +27,8 @@ lm.issue - - + + @@ -37,7 +37,11 @@ lm.issue tree,form - +
diff --git a/project_legal_management/views/lm_probability_views.xml b/project_legal_management/views/lm_probability_views.xml index b0c850fe2..a7ef09d32 100644 --- a/project_legal_management/views/lm_probability_views.xml +++ b/project_legal_management/views/lm_probability_views.xml @@ -1,4 +1,4 @@ - + @@ -10,12 +10,12 @@

- +

- +
@@ -27,8 +27,8 @@ lm.probability - - + + @@ -37,7 +37,11 @@ lm.probability tree,form - +
diff --git a/project_legal_management/views/lm_resolution_views.xml b/project_legal_management/views/lm_resolution_views.xml index 15c171d58..ff4889b0d 100644 --- a/project_legal_management/views/lm_resolution_views.xml +++ b/project_legal_management/views/lm_resolution_views.xml @@ -1,4 +1,4 @@ - + @@ -10,12 +10,12 @@

- +

- +
@@ -27,8 +27,8 @@ lm.resolution - - + + @@ -37,7 +37,11 @@ lm.resolution tree,form - +
diff --git a/project_legal_management/views/project_tree.xml b/project_legal_management/views/project_tree.xml index 35023051c..8a32bc92d 100644 --- a/project_legal_management/views/project_tree.xml +++ b/project_legal_management/views/project_tree.xml @@ -1,20 +1,20 @@ - + view.project.legal.management project.project - + - - - - - - - + + + + + + + @@ -24,13 +24,25 @@ view.project.project.filter.legal.management project.project - + - - - - + + + + ['|','|','|','|','|',('lm_date','ilike', @@ -40,12 +52,12 @@ - - - - - - + + + + + + diff --git a/project_legal_management/views/project_views.xml b/project_legal_management/views/project_views.xml index 457227705..66c12b2f0 100644 --- a/project_legal_management/views/project_views.xml +++ b/project_legal_management/views/project_views.xml @@ -1,29 +1,34 @@ - + edit_project_legal_management project.project - + - - - - - + + + + + - - + + - + From 5794e13ab35a5953e850dea0510c23b10e0eddaa Mon Sep 17 00:00:00 2001 From: KNVx Date: Thu, 2 Dec 2021 09:49:13 +0100 Subject: [PATCH 03/12] [MIG] project_legal_management: Migration to 14.0 --- project_legal_management/README.rst | 2 +- project_legal_management/__manifest__.py | 2 +- project_legal_management/i18n/es.po | 166 +++++++++++++++-------- project_legal_management/models/tree.py | 41 ++---- 4 files changed, 123 insertions(+), 88 deletions(-) diff --git a/project_legal_management/README.rst b/project_legal_management/README.rst index fb5c3917d..4e9c41402 100644 --- a/project_legal_management/README.rst +++ b/project_legal_management/README.rst @@ -7,7 +7,7 @@ Project legal management ======================== * This module adds the necessary fields to work with -the legal management in the project module + the legal management in the project module Bug Tracker =========== diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py index 6cba37a8e..31af91a28 100644 --- a/project_legal_management/__manifest__.py +++ b/project_legal_management/__manifest__.py @@ -5,7 +5,7 @@ "name": "Project legal management", "summary": "This module adds the necessary fields to work with " "the legal management in the project module", - "version": "11.0.1.0.0", + "version": "14.0.1.0.0", "category": "Project", "author": "NuoBiT Solutions, S.L., Kilian Niubo", "website": "https://github.com/nuobit/odoo-addons", diff --git a/project_legal_management/i18n/es.po b/project_legal_management/i18n/es.po index 3f91a2d96..6c6856b47 100644 --- a/project_legal_management/i18n/es.po +++ b/project_legal_management/i18n/es.po @@ -1,14 +1,14 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * project_legal_management +# * project_legal_management # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-03 10:52+0000\n" -"PO-Revision-Date: 2021-11-03 10:52+0000\n" -"Last-Translator: <>\n" +"POT-Creation-Date: 2021-12-01 15:02+0000\n" +"PO-Revision-Date: 2021-12-01 15:02+0000\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -16,98 +16,111 @@ msgstr "" "Plural-Forms: \n" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_amount -#: model:ir.ui.view,arch_db:project_legal_management.view_project +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__lm_amount +#: model_terms:ir.ui.view,arch_db:project_legal_management.view_project msgid "Amount" msgstr "Importe" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_complete_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_complete_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_complete_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin_complete_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__complete_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__complete_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__complete_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin__complete_name msgid "Complete Name" msgstr "Nombre Completo" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_create_uid -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_create_uid -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_create_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__create_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__create_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__create_uid msgid "Created by" msgstr "Creado por" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_create_date -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_create_date -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_create_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__create_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__create_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__create_date msgid "Created on" msgstr "Creado en" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_date -#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__lm_date +#: model_terms:ir.ui.view,arch_db:project_legal_management.view_project_project_filter msgid "Date" msgstr "Fecha" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_display_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_display_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_display_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin_display_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__display_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__display_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__display_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin__display_name +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__display_name msgid "Display Name" -msgstr "Nombre Mostrado" +msgstr "Nombre mostrado" #. module: project_legal_management -#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +#: model_terms:ir.ui.view,arch_db:project_legal_management.view_project_project_filter msgid "Employee" msgstr "Empleado" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_employee_ids +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__lm_employee_ids msgid "Employees" msgstr "Empleados" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_expedient_number -#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__lm_expedient_number +#: model_terms:ir.ui.view,arch_db:project_legal_management.view_project_project_filter msgid "Expedient Number" msgstr "Nº Expediente" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_id -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_id -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_id -#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin__id +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__id msgid "ID" msgstr "ID" +#. module: project_legal_management +#: model_terms:ir.ui.view,arch_db:project_legal_management.lm_issue_view_tree +msgid "Issue Tree" +msgstr "" + #. module: project_legal_management #: model:ir.actions.act_window,name:project_legal_management.lm_issue_action -#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_issue_ids +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__lm_issue_ids #: model:ir.ui.menu,name:project_legal_management.lm_issue_menu -#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +#: model_terms:ir.ui.view,arch_db:project_legal_management.view_project_project_filter msgid "Issues" msgstr "Asuntos" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue___last_update -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability___last_update -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution___last_update -#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin___last_update +#: model_terms:ir.ui.view,arch_db:project_legal_management.lm_issue_view_form +msgid "Issues Form" +msgstr "" + +#. module: project_legal_management +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue____last_update +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability____last_update +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution____last_update +#: model:ir.model.fields,field_description:project_legal_management.field_lm_tree_mixin____last_update +#: model:ir.model.fields,field_description:project_legal_management.field_project_project____last_update msgid "Last Modified on" -msgstr "Última modificación en" +msgstr "Última modificación el" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_write_uid -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_write_uid -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_write_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__write_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__write_uid +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__write_uid msgid "Last Updated by" msgstr "Última actualización de" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_write_date -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_write_date -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_write_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__write_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__write_date +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__write_date msgid "Last Updated on" msgstr "Última actualización en" @@ -117,27 +130,27 @@ msgid "Legal Management" msgstr "Gestión Jurídica" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_name -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__name +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__name msgid "Name" msgstr "Nombre" #. module: project_legal_management -#: code:addons/project_legal_management/models/tree.py:77 +#: code:addons/project_legal_management/models/tree.py:0 #, python-format msgid "Operator %s not implemented" msgstr "Operador %s no implementado" #. module: project_legal_management -#: model:ir.ui.view,arch_db:project_legal_management.edit_project +#: model_terms:ir.ui.view,arch_db:project_legal_management.edit_project msgid "Other Information" msgstr "Otra Información" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue_parent_id -#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability_parent_id -#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution_parent_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_issue__parent_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_probability__parent_id +#: model:ir.model.fields,field_description:project_legal_management.field_lm_resolution__parent_id msgid "Parent" msgstr "Padre" @@ -148,34 +161,69 @@ msgid "Probabilities" msgstr "Probabilidades" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_probability_id -#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__lm_probability_id +#: model_terms:ir.ui.view,arch_db:project_legal_management.view_project_project_filter msgid "Probability" msgstr "Probabilidad" #. module: project_legal_management -#: model:ir.ui.view,arch_db:project_legal_management.lm_probability_view_form +#: model_terms:ir.ui.view,arch_db:project_legal_management.lm_probability_view_form msgid "Probability Form" msgstr "Formulario de Probabilidades" +#. module: project_legal_management +#: model_terms:ir.ui.view,arch_db:project_legal_management.lm_probability_view_tree +msgid "Probability Tree" +msgstr "" + #. module: project_legal_management #: model:ir.model,name:project_legal_management.model_project_project msgid "Project" msgstr "Proyecto" #. module: project_legal_management -#: model:ir.ui.view,arch_db:project_legal_management.edit_project +#: model_terms:ir.ui.view,arch_db:project_legal_management.edit_project msgid "Provision" msgstr "Provisión" #. module: project_legal_management -#: model:ir.model.fields,field_description:project_legal_management.field_project_project_lm_resolution_id -#: model:ir.ui.view,arch_db:project_legal_management.view_project_project_filter +#: model:ir.model.fields,field_description:project_legal_management.field_project_project__lm_resolution_id +#: model_terms:ir.ui.view,arch_db:project_legal_management.view_project_project_filter msgid "Resolution" msgstr "Resolución" +#. module: project_legal_management +#: model_terms:ir.ui.view,arch_db:project_legal_management.lm_resolution_view_form +msgid "Resolution Form" +msgstr "" + +#. module: project_legal_management +#: model_terms:ir.ui.view,arch_db:project_legal_management.lm_resolution_view_tree +msgid "Resolution Tree" +msgstr "" + #. module: project_legal_management #: model:ir.actions.act_window,name:project_legal_management.lm_resolution_action #: model:ir.ui.menu,name:project_legal_management.lm_resolution_menu msgid "Resolutions" msgstr "Resoluciones" + +#. module: project_legal_management +#: model:ir.model,name:project_legal_management.model_lm_issue +msgid "lm.issue" +msgstr "" + +#. module: project_legal_management +#: model:ir.model,name:project_legal_management.model_lm_probability +msgid "lm.probability" +msgstr "" + +#. module: project_legal_management +#: model:ir.model,name:project_legal_management.model_lm_resolution +msgid "lm.resolution" +msgstr "" + +#. module: project_legal_management +#: model:ir.model,name:project_legal_management.model_lm_tree_mixin +msgid "lm.tree.mixin" +msgstr "" diff --git a/project_legal_management/models/tree.py b/project_legal_management/models/tree.py index 4b6b2a4cc..82d0bea93 100644 --- a/project_legal_management/models/tree.py +++ b/project_legal_management/models/tree.py @@ -16,7 +16,6 @@ class LMTreeMixin(models.AbstractModel): search="_search_complete_name", ) - @api.multi def name_get(self): vals = [] for record in self: @@ -49,34 +48,22 @@ def _compute_complete_name(self): rec.complete_name = rec.name def _search_complete_name(self, operator, value): + operation_mapping = { + "=": lambda x, y: x == y, + "!=": lambda x, y: x != y, + "like": lambda x, y: x in y, + "not like": lambda x, y: x not in y, + "ilike": lambda x, y: x.lower() in y.lower(), + "not ilike": lambda x, y: x.lower() not in y.lower(), + "=like": lambda x, y: x == y, + "=ilike": lambda x, y: x.lower() == y.lower(), + } + if operator not in operation_mapping: + raise UserError(_("Operator %s not implemented") % operator) node_ids = [] for node in self.env[self._name].search([]): complete_name = node.get_complete_name() - if operator == "=": - if value == complete_name: - node_ids.append(node.id) - elif operator == "!=": - if value != complete_name: - node_ids.append(node.id) - elif operator == "like": - if value in complete_name: - node_ids.append(node.id) - elif operator == "not like": - if value not in complete_name: - node_ids.append(node.id) - elif operator == "ilike": - if value.lower() in complete_name.lower(): - node_ids.append(node.id) - elif operator == "not ilike": - if value.lower() not in complete_name.lower(): - node_ids.append(node.id) - elif operator == "=like": - if value == complete_name: - node_ids.append(node.id) - elif operator == "=ilike": - if value.lower() == complete_name.lower(): - node_ids.append(node.id) - else: - raise UserError(_("Operator %s not implemented") % operator) + if operation_mapping[operator](value, complete_name): + node_ids.append(node.id) return [("id", "in", node_ids)] From 9ff5baa4d704051b35c7a51704a9b86a0c11f0f5 Mon Sep 17 00:00:00 2001 From: mariadforgeflow Date: Wed, 23 Feb 2022 13:09:49 +0100 Subject: [PATCH 04/12] [FIX] project_legal_management: tree view wasn't showing --- project_legal_management/__manifest__.py | 2 +- project_legal_management/views/project_tree.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py index 31af91a28..dbf25f80b 100644 --- a/project_legal_management/__manifest__.py +++ b/project_legal_management/__manifest__.py @@ -11,7 +11,7 @@ "website": "https://github.com/nuobit/odoo-addons", "license": "AGPL-3", "depends": [ - "project", + "project_timeline", "hr", ], "data": [ diff --git a/project_legal_management/views/project_tree.xml b/project_legal_management/views/project_tree.xml index 8a32bc92d..bbc7ecec1 100644 --- a/project_legal_management/views/project_tree.xml +++ b/project_legal_management/views/project_tree.xml @@ -19,7 +19,7 @@ - kanban,form,tree + kanban,timeline,form,tree view.project.project.filter.legal.management From 8d1e481056191413b2b35a68084e8147b51a5163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Fri, 22 Apr 2022 10:52:53 +0200 Subject: [PATCH 05/12] [FIX] project_legal_management: add model descriptions --- project_legal_management/models/lm_issue.py | 1 + project_legal_management/models/lm_probability.py | 1 + project_legal_management/models/lm_resolution.py | 1 + project_legal_management/models/tree.py | 1 + 4 files changed, 4 insertions(+) diff --git a/project_legal_management/models/lm_issue.py b/project_legal_management/models/lm_issue.py index 3005a6c4f..be670c5a9 100644 --- a/project_legal_management/models/lm_issue.py +++ b/project_legal_management/models/lm_issue.py @@ -8,6 +8,7 @@ class LMIssue(models.Model): _name = "lm.issue" _parent_name = "parent_id" _inherit = "lm.tree.mixin" + _description = "LMIssue" name = fields.Char(required=True) parent_id = fields.Many2one(comodel_name="lm.issue") diff --git a/project_legal_management/models/lm_probability.py b/project_legal_management/models/lm_probability.py index 93148752e..4e51f9f67 100644 --- a/project_legal_management/models/lm_probability.py +++ b/project_legal_management/models/lm_probability.py @@ -8,6 +8,7 @@ class LMProbability(models.Model): _name = "lm.probability" _parent_name = "parent_id" _inherit = "lm.tree.mixin" + _description = "LMProbability" name = fields.Char(required=True) parent_id = fields.Many2one(comodel_name="lm.probability") diff --git a/project_legal_management/models/lm_resolution.py b/project_legal_management/models/lm_resolution.py index 9a4384caa..633a6a9be 100644 --- a/project_legal_management/models/lm_resolution.py +++ b/project_legal_management/models/lm_resolution.py @@ -8,6 +8,7 @@ class LMResolution(models.Model): _name = "lm.resolution" _parent_name = "parent_id" _inherit = "lm.tree.mixin" + _description = "LMResolution" name = fields.Char(required=True) parent_id = fields.Many2one(comodel_name="lm.resolution") diff --git a/project_legal_management/models/tree.py b/project_legal_management/models/tree.py index 82d0bea93..16d799092 100644 --- a/project_legal_management/models/tree.py +++ b/project_legal_management/models/tree.py @@ -8,6 +8,7 @@ class LMTreeMixin(models.AbstractModel): _name = "lm.tree.mixin" + _description = "LMTreeMixin" # complete_name complete_name = fields.Char( From 95e73285d2b48622ab8ebe2a490f6db0a2ea9fa2 Mon Sep 17 00:00:00 2001 From: Eric Antones Date: Mon, 12 Sep 2022 11:01:16 +0200 Subject: [PATCH 06/12] [FIX] project_legal_management: search by project name not working --- project_legal_management/__manifest__.py | 2 +- project_legal_management/views/project_tree.xml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py index dbf25f80b..a5e80837d 100644 --- a/project_legal_management/__manifest__.py +++ b/project_legal_management/__manifest__.py @@ -5,7 +5,7 @@ "name": "Project legal management", "summary": "This module adds the necessary fields to work with " "the legal management in the project module", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "category": "Project", "author": "NuoBiT Solutions, S.L., Kilian Niubo", "website": "https://github.com/nuobit/odoo-addons", diff --git a/project_legal_management/views/project_tree.xml b/project_legal_management/views/project_tree.xml index bbc7ecec1..e42f2e10a 100644 --- a/project_legal_management/views/project_tree.xml +++ b/project_legal_management/views/project_tree.xml @@ -45,7 +45,9 @@ /> - ['|','|','|','|','|',('lm_date','ilike', + ['|','|','|','|','|','|', ('name', 'ilike', self), ('lm_date','ilike', self),('lm_employee_ids','ilike',self),('lm_issue_ids','ilike',self), ('lm_resolution_id','ilike',self), ('lm_probability_id','ilike',self), ('lm_expedient_number','ilike',self)] From c6fa5463c50e0db993607af4775a98db53b6f49f Mon Sep 17 00:00:00 2001 From: Eric Antones Date: Sat, 28 Oct 2023 01:16:43 +0200 Subject: [PATCH 07/12] [REF] project_legal_management: Update copier template --- project_legal_management/views/lm_issue_views.xml | 2 +- project_legal_management/views/lm_probability_views.xml | 2 +- project_legal_management/views/lm_resolution_views.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/project_legal_management/views/lm_issue_views.xml b/project_legal_management/views/lm_issue_views.xml index b677d5062..226f986c9 100644 --- a/project_legal_management/views/lm_issue_views.xml +++ b/project_legal_management/views/lm_issue_views.xml @@ -26,7 +26,7 @@ lm.issue.view.tree lm.issue - + diff --git a/project_legal_management/views/lm_probability_views.xml b/project_legal_management/views/lm_probability_views.xml index a7ef09d32..12648ce0c 100644 --- a/project_legal_management/views/lm_probability_views.xml +++ b/project_legal_management/views/lm_probability_views.xml @@ -26,7 +26,7 @@ lm.probability.view.tree lm.probability - + diff --git a/project_legal_management/views/lm_resolution_views.xml b/project_legal_management/views/lm_resolution_views.xml index ff4889b0d..30d07aa31 100644 --- a/project_legal_management/views/lm_resolution_views.xml +++ b/project_legal_management/views/lm_resolution_views.xml @@ -26,7 +26,7 @@ lm.resolution.view.tree lm.resolution - + From 67149ecbb7a545af8de01dcc1146a8d56b7cafe7 Mon Sep 17 00:00:00 2001 From: KNVx Date: Thu, 13 Jun 2024 13:33:41 +0200 Subject: [PATCH 08/12] [IMP] project_legal_management: projects can be filtered and group by issues --- project_legal_management/models/project.py | 14 ++++++++++- .../views/project_tree.xml | 24 +++++++++++++------ 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/project_legal_management/models/project.py b/project_legal_management/models/project.py index de264b3e7..007f629fc 100644 --- a/project_legal_management/models/project.py +++ b/project_legal_management/models/project.py @@ -1,7 +1,7 @@ # Copyright 2021 NuoBiT Solutions - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from odoo import fields, models +from odoo import api, fields, models class Project(models.Model): @@ -18,3 +18,15 @@ class Project(models.Model): lm_probability_id = fields.Many2one( string="Probability", comodel_name="lm.probability" ) + # This field is not necessary on version 15 and above + lm_issues_complete_name = fields.Char( + compute="_compute_lm_issues_complete_name", + store=True, + ) + + @api.depends("lm_issue_ids") + def _compute_lm_issues_complete_name(self): + for rec in self: + rec.lm_issues_complete_name = ", ".join( + issue.complete_name for issue in rec.lm_issue_ids + ) diff --git a/project_legal_management/views/project_tree.xml b/project_legal_management/views/project_tree.xml index e42f2e10a..349866912 100644 --- a/project_legal_management/views/project_tree.xml +++ b/project_legal_management/views/project_tree.xml @@ -43,23 +43,33 @@ name="Probability" context="{'group_by':'lm_probability_id'}" /> + - ['|','|','|','|','|','|', ('name', 'ilike', self), ('lm_date','ilike', - self),('lm_employee_ids','ilike',self),('lm_issue_ids','ilike',self), - ('lm_resolution_id','ilike',self), ('lm_probability_id','ilike',self), - ('lm_expedient_number','ilike',self)] + [ + '|', '|', '|', '|', '|', '|', + ('name', 'ilike', self), + ('lm_date', 'ilike', self), + ('lm_employee_ids', 'ilike', self), + ('lm_issues_complete_name', 'ilike', self), + ('lm_resolution_id', 'ilike', self), + ('lm_probability_id', 'ilike', self), + ('lm_expedient_number', 'ilike', self) + ] - + + From 9babb11034013557365548cc0124fd452037e0b7 Mon Sep 17 00:00:00 2001 From: ??? Date: Tue, 25 Feb 2025 14:35:39 +0100 Subject: [PATCH 09/12] [IMP] project_legal_management: pre-commit stuff --- .../odoo/addons/project_legal_management | 1 + setup/project_legal_management/setup.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 120000 setup/project_legal_management/odoo/addons/project_legal_management create mode 100644 setup/project_legal_management/setup.py diff --git a/setup/project_legal_management/odoo/addons/project_legal_management b/setup/project_legal_management/odoo/addons/project_legal_management new file mode 120000 index 000000000..ce5b4ca7c --- /dev/null +++ b/setup/project_legal_management/odoo/addons/project_legal_management @@ -0,0 +1 @@ +../../../../project_legal_management \ No newline at end of file diff --git a/setup/project_legal_management/setup.py b/setup/project_legal_management/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/project_legal_management/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From ff12db2618f8a3ba82b24abd0de57210d7b6f175 Mon Sep 17 00:00:00 2001 From: ??? Date: Wed, 26 Feb 2025 11:38:43 +0100 Subject: [PATCH 10/12] [MIG] project_legal_management: Migration to 16.0 --- project_legal_management/README.rst | 60 ++- project_legal_management/__manifest__.py | 7 +- project_legal_management/models/tree.py | 3 +- .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 1 + .../static/description/index.html | 419 ++++++++++++++++++ 6 files changed, 476 insertions(+), 17 deletions(-) create mode 100644 project_legal_management/readme/CONTRIBUTORS.rst create mode 100644 project_legal_management/readme/DESCRIPTION.rst create mode 100644 project_legal_management/static/description/index.html diff --git a/project_legal_management/README.rst b/project_legal_management/README.rst index 4e9c41402..188fc786d 100644 --- a/project_legal_management/README.rst +++ b/project_legal_management/README.rst @@ -1,26 +1,62 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ======================== Project legal management ======================== -* This module adds the necessary fields to work with - the legal management in the project module +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:baae120d88450d94870c8cf077b2de973a668d7189a1f55548038f19744536bf + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-nuobit%2Fodoo--addons-lightgray.png?logo=github + :target: https://github.com/nuobit/odoo-addons/tree/16.0/project_legal_management + :alt: nuobit/odoo-addons + +|badge1| |badge2| |badge3| + +This module adds the necessary fields to work with the legal management in the project module + +**Table of contents** + +.. contents:: + :local: Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smashing it by providing a detailed and welcomed feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= +Authors +~~~~~~~ + +* NuoBiT Solutions SL + Contributors ------------- +~~~~~~~~~~~~ + +- [NuoBiT](https://www.nuobit.com): + - Kilian Niubo + - Deniz Gallo + +Maintainers +~~~~~~~~~~~ + +This module is part of the `nuobit/odoo-addons `_ project on GitHub. -* Kilian Niubo +You are welcome to contribute. diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py index a5e80837d..99d9a5eea 100644 --- a/project_legal_management/__manifest__.py +++ b/project_legal_management/__manifest__.py @@ -1,13 +1,14 @@ # Copyright 2021 NuoBiT Solutions - Kilian Niubo +# Copyright 2025 NuoBiT Solutions - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { "name": "Project legal management", "summary": "This module adds the necessary fields to work with " "the legal management in the project module", - "version": "14.0.1.0.1", + "version": "16.0.0.0.0", "category": "Project", - "author": "NuoBiT Solutions, S.L., Kilian Niubo", + "author": "NuoBiT Solutions SL", "website": "https://github.com/nuobit/odoo-addons", "license": "AGPL-3", "depends": [ @@ -22,6 +23,4 @@ "views/lm_resolution_views.xml", "views/project_tree.xml", ], - "installable": True, - "auto_install": False, } diff --git a/project_legal_management/models/tree.py b/project_legal_management/models/tree.py index 16d799092..fa75926d4 100644 --- a/project_legal_management/models/tree.py +++ b/project_legal_management/models/tree.py @@ -1,5 +1,6 @@ # Copyright 2021 NuoBiT Solutions - Eric Antones # Copyright 2021 NuoBiT Solutions - Kilian Niubo +# Copyright 2025 NuoBiT Solutions - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import _, api, fields, models @@ -12,7 +13,7 @@ class LMTreeMixin(models.AbstractModel): # complete_name complete_name = fields.Char( - string="Complete Name", + string="Full Name", compute="_compute_complete_name", search="_search_complete_name", ) diff --git a/project_legal_management/readme/CONTRIBUTORS.rst b/project_legal_management/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..5d535bfca --- /dev/null +++ b/project_legal_management/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +- [NuoBiT](https://www.nuobit.com): + - Kilian Niubo + - Deniz Gallo diff --git a/project_legal_management/readme/DESCRIPTION.rst b/project_legal_management/readme/DESCRIPTION.rst new file mode 100644 index 000000000..88f328d8e --- /dev/null +++ b/project_legal_management/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module adds the necessary fields to work with the legal management in the project module diff --git a/project_legal_management/static/description/index.html b/project_legal_management/static/description/index.html new file mode 100644 index 000000000..226efefa3 --- /dev/null +++ b/project_legal_management/static/description/index.html @@ -0,0 +1,419 @@ + + + + + + +Project legal management + + + + + + From af4eab39fd9f6fe5f4588222ad2d8e11194f7868 Mon Sep 17 00:00:00 2001 From: ??? Date: Mon, 15 Sep 2025 18:28:27 +0200 Subject: [PATCH 11/12] [IMP] project_legal_management: pre-commit auto fixes --- project_legal_management/README.rst | 22 ++++++++++--------- project_legal_management/__manifest__.py | 2 +- project_legal_management/pyproject.toml | 3 +++ .../readme/CONTRIBUTORS.md | 3 +++ .../readme/CONTRIBUTORS.rst | 3 --- .../{DESCRIPTION.rst => DESCRIPTION.md} | 3 ++- .../static/description/index.html | 20 +++++++++-------- .../views/project_tree.xml | 1 - 8 files changed, 32 insertions(+), 25 deletions(-) create mode 100644 project_legal_management/pyproject.toml create mode 100644 project_legal_management/readme/CONTRIBUTORS.md delete mode 100644 project_legal_management/readme/CONTRIBUTORS.rst rename project_legal_management/readme/{DESCRIPTION.rst => DESCRIPTION.md} (68%) diff --git a/project_legal_management/README.rst b/project_legal_management/README.rst index 188fc786d..63fca10b8 100644 --- a/project_legal_management/README.rst +++ b/project_legal_management/README.rst @@ -16,13 +16,14 @@ Project legal management .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-nuobit%2Fodoo--addons-lightgray.png?logo=github - :target: https://github.com/nuobit/odoo-addons/tree/16.0/project_legal_management - :alt: nuobit/odoo-addons +.. |badge3| image:: https://img.shields.io/badge/github-NuoBiT%2Fodoo--addons-lightgray.png?logo=github + :target: https://github.com/NuoBiT/odoo-addons/tree/18.0/project_legal_management + :alt: NuoBiT/odoo-addons |badge1| |badge2| |badge3| -This module adds the necessary fields to work with the legal management in the project module +This module adds the necessary fields to work with the legal management +in the project module **Table of contents** @@ -32,10 +33,10 @@ This module adds the necessary fields to work with the legal management in the p Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -43,20 +44,21 @@ Credits ======= Authors -~~~~~~~ +------- * NuoBiT Solutions SL Contributors -~~~~~~~~~~~~ +------------ - [NuoBiT](https://www.nuobit.com): + - Kilian Niubo - Deniz Gallo Maintainers -~~~~~~~~~~~ +----------- -This module is part of the `nuobit/odoo-addons `_ project on GitHub. +This module is part of the `NuoBiT/odoo-addons `_ project on GitHub. You are welcome to contribute. diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py index 99d9a5eea..a6aea70c7 100644 --- a/project_legal_management/__manifest__.py +++ b/project_legal_management/__manifest__.py @@ -9,7 +9,7 @@ "version": "16.0.0.0.0", "category": "Project", "author": "NuoBiT Solutions SL", - "website": "https://github.com/nuobit/odoo-addons", + "website": "https://github.com/NuoBiT/odoo-addons", "license": "AGPL-3", "depends": [ "project_timeline", diff --git a/project_legal_management/pyproject.toml b/project_legal_management/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/project_legal_management/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/project_legal_management/readme/CONTRIBUTORS.md b/project_legal_management/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..5909aea74 --- /dev/null +++ b/project_legal_management/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- \[NuoBiT\](): + - Kilian Niubo \ + - Deniz Gallo \ diff --git a/project_legal_management/readme/CONTRIBUTORS.rst b/project_legal_management/readme/CONTRIBUTORS.rst deleted file mode 100644 index 5d535bfca..000000000 --- a/project_legal_management/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,3 +0,0 @@ -- [NuoBiT](https://www.nuobit.com): - - Kilian Niubo - - Deniz Gallo diff --git a/project_legal_management/readme/DESCRIPTION.rst b/project_legal_management/readme/DESCRIPTION.md similarity index 68% rename from project_legal_management/readme/DESCRIPTION.rst rename to project_legal_management/readme/DESCRIPTION.md index 88f328d8e..6f6ee86a0 100644 --- a/project_legal_management/readme/DESCRIPTION.rst +++ b/project_legal_management/readme/DESCRIPTION.md @@ -1 +1,2 @@ -This module adds the necessary fields to work with the legal management in the project module +This module adds the necessary fields to work with the legal management +in the project module diff --git a/project_legal_management/static/description/index.html b/project_legal_management/static/description/index.html index 226efefa3..ec1d6e6c6 100644 --- a/project_legal_management/static/description/index.html +++ b/project_legal_management/static/description/index.html @@ -1,4 +1,3 @@ - @@ -370,8 +369,9 @@

Project legal management

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:baae120d88450d94870c8cf077b2de973a668d7189a1f55548038f19744536bf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 nuobit/odoo-addons

-

This module adds the necessary fields to work with the legal management in the project module

+

Beta License: AGPL-3 NuoBiT/odoo-addons

+

This module adds the necessary fields to work with the legal management +in the project module

Table of contents

    @@ -386,10 +386,10 @@

    Project legal management

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -403,14 +403,16 @@

Authors

Contributors

Maintainers

-

This module is part of the nuobit/odoo-addons project on GitHub.

+

This module is part of the NuoBiT/odoo-addons project on GitHub.

You are welcome to contribute.

diff --git a/project_legal_management/views/project_tree.xml b/project_legal_management/views/project_tree.xml index 349866912..ae58b3f64 100644 --- a/project_legal_management/views/project_tree.xml +++ b/project_legal_management/views/project_tree.xml @@ -69,7 +69,6 @@ - From d73a6190095d2d5861214ec89d4738afae09fed8 Mon Sep 17 00:00:00 2001 From: ??? Date: Mon, 15 Sep 2025 18:31:02 +0200 Subject: [PATCH 12/12] [MIG] project_legal_management: Migration to 18.0 --- project_legal_management/README.rst | 6 +++--- project_legal_management/__manifest__.py | 6 +++--- project_legal_management/i18n/es.po | 2 +- project_legal_management/models/lm_issue.py | 2 +- project_legal_management/models/lm_probability.py | 2 +- project_legal_management/models/lm_resolution.py | 2 +- project_legal_management/models/project.py | 3 ++- project_legal_management/models/tree.py | 9 +++++---- project_legal_management/readme/CONTRIBUTORS.md | 6 +++--- project_legal_management/static/description/index.html | 6 +++--- project_legal_management/views/lm_issue_views.xml | 8 ++++---- project_legal_management/views/lm_probability_views.xml | 8 ++++---- project_legal_management/views/lm_resolution_views.xml | 8 ++++---- project_legal_management/views/project_tree.xml | 6 +++--- project_legal_management/views/project_views.xml | 2 +- 15 files changed, 39 insertions(+), 37 deletions(-) diff --git a/project_legal_management/README.rst b/project_legal_management/README.rst index 63fca10b8..a740f7fc5 100644 --- a/project_legal_management/README.rst +++ b/project_legal_management/README.rst @@ -51,10 +51,10 @@ Authors Contributors ------------ -- [NuoBiT](https://www.nuobit.com): +- `NuoBiT `__: - - Kilian Niubo - - Deniz Gallo + - Kilian Niubo kniubo@nuobit.com + - Deniz Gallo dgallo@nuobit.com Maintainers ----------- diff --git a/project_legal_management/__manifest__.py b/project_legal_management/__manifest__.py index a6aea70c7..47429fa06 100644 --- a/project_legal_management/__manifest__.py +++ b/project_legal_management/__manifest__.py @@ -1,12 +1,12 @@ -# Copyright 2021 NuoBiT Solutions - Kilian Niubo -# Copyright 2025 NuoBiT Solutions - Deniz Gallo +# Copyright 2021 NuoBiT Solutions SL - Kilian Niubo +# Copyright 2025 NuoBiT Solutions SL - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { "name": "Project legal management", "summary": "This module adds the necessary fields to work with " "the legal management in the project module", - "version": "16.0.0.0.0", + "version": "18.0.1.0.0", "category": "Project", "author": "NuoBiT Solutions SL", "website": "https://github.com/NuoBiT/odoo-addons", diff --git a/project_legal_management/i18n/es.po b/project_legal_management/i18n/es.po index 6c6856b47..41adce9a4 100644 --- a/project_legal_management/i18n/es.po +++ b/project_legal_management/i18n/es.po @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-12-01 15:02+0000\n" "PO-Revision-Date: 2021-12-01 15:02+0000\n" diff --git a/project_legal_management/models/lm_issue.py b/project_legal_management/models/lm_issue.py index be670c5a9..b99760671 100644 --- a/project_legal_management/models/lm_issue.py +++ b/project_legal_management/models/lm_issue.py @@ -1,4 +1,4 @@ -# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# Copyright 2021 NuoBiT Solutions SL - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import fields, models diff --git a/project_legal_management/models/lm_probability.py b/project_legal_management/models/lm_probability.py index 4e51f9f67..12a33bacd 100644 --- a/project_legal_management/models/lm_probability.py +++ b/project_legal_management/models/lm_probability.py @@ -1,4 +1,4 @@ -# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# Copyright 2021 NuoBiT Solutions SL - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import fields, models diff --git a/project_legal_management/models/lm_resolution.py b/project_legal_management/models/lm_resolution.py index 633a6a9be..462b46378 100644 --- a/project_legal_management/models/lm_resolution.py +++ b/project_legal_management/models/lm_resolution.py @@ -1,4 +1,4 @@ -# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# Copyright 2021 NuoBiT Solutions SL - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import fields, models diff --git a/project_legal_management/models/project.py b/project_legal_management/models/project.py index 007f629fc..c69b8d072 100644 --- a/project_legal_management/models/project.py +++ b/project_legal_management/models/project.py @@ -1,4 +1,4 @@ -# Copyright 2021 NuoBiT Solutions - Kilian Niubo +# Copyright 2021 NuoBiT Solutions SL - Kilian Niubo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import api, fields, models @@ -22,6 +22,7 @@ class Project(models.Model): lm_issues_complete_name = fields.Char( compute="_compute_lm_issues_complete_name", store=True, + recursive=True, ) @api.depends("lm_issue_ids") diff --git a/project_legal_management/models/tree.py b/project_legal_management/models/tree.py index fa75926d4..69278587d 100644 --- a/project_legal_management/models/tree.py +++ b/project_legal_management/models/tree.py @@ -1,6 +1,6 @@ -# Copyright 2021 NuoBiT Solutions - Eric Antones -# Copyright 2021 NuoBiT Solutions - Kilian Niubo -# Copyright 2025 NuoBiT Solutions - Deniz Gallo +# Copyright 2021 NuoBiT Solutions SL - Eric Antones +# Copyright 2021 NuoBiT Solutions SL - Kilian Niubo +# Copyright 2025 NuoBiT Solutions SL - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import _, api, fields, models @@ -16,6 +16,7 @@ class LMTreeMixin(models.AbstractModel): string="Full Name", compute="_compute_complete_name", search="_search_complete_name", + recursive=True, ) def name_get(self): @@ -45,7 +46,7 @@ def get_complete_name(self): def _compute_complete_name(self): for rec in self: if rec.parent_id: - rec.complete_name = "%s / %s" % (rec.parent_id.complete_name, rec.name) + rec.complete_name = f"{rec.parent_id.complete_name} / {rec.name}" else: rec.complete_name = rec.name diff --git a/project_legal_management/readme/CONTRIBUTORS.md b/project_legal_management/readme/CONTRIBUTORS.md index 5909aea74..5d535bfca 100644 --- a/project_legal_management/readme/CONTRIBUTORS.md +++ b/project_legal_management/readme/CONTRIBUTORS.md @@ -1,3 +1,3 @@ -- \[NuoBiT\](): - - Kilian Niubo \ - - Deniz Gallo \ +- [NuoBiT](https://www.nuobit.com): + - Kilian Niubo + - Deniz Gallo diff --git a/project_legal_management/static/description/index.html b/project_legal_management/static/description/index.html index ec1d6e6c6..770bf9717 100644 --- a/project_legal_management/static/description/index.html +++ b/project_legal_management/static/description/index.html @@ -403,9 +403,9 @@

Authors

Contributors

    -
  • [NuoBiT](https://www.nuobit.com): diff --git a/project_legal_management/views/lm_issue_views.xml b/project_legal_management/views/lm_issue_views.xml index 226f986c9..2ec10fbc4 100644 --- a/project_legal_management/views/lm_issue_views.xml +++ b/project_legal_management/views/lm_issue_views.xml @@ -1,5 +1,5 @@ - @@ -26,16 +26,16 @@ lm.issue.view.tree lm.issue - + - + Issues lm.issue - tree,form + list,form - @@ -26,16 +26,16 @@ lm.probability.view.tree lm.probability - + - + Probabilities lm.probability - tree,form + list,form - @@ -26,16 +26,16 @@ lm.resolution.view.tree lm.resolution - + - + Resolutions lm.resolution - tree,form + list,form - @@ -7,7 +7,7 @@ project.project - + @@ -19,7 +19,7 @@ - kanban,timeline,form,tree + kanban,timeline,form,list view.project.project.filter.legal.management diff --git a/project_legal_management/views/project_views.xml b/project_legal_management/views/project_views.xml index 66c12b2f0..1bed8cc3c 100644 --- a/project_legal_management/views/project_views.xml +++ b/project_legal_management/views/project_views.xml @@ -1,5 +1,5 @@ -