From cb28d74ee186c4d96fe2a7674af01cf1d5bd1bc9 Mon Sep 17 00:00:00 2001 From: cramos Date: Mon, 18 May 2020 13:48:38 +0200 Subject: [PATCH 01/57] [ADD] New module helpdesk.project --- helpdesk_mgmt_project/README.rst | 84 ++++++++++++++++++ helpdesk_mgmt_project/__init__.py | 1 + helpdesk_mgmt_project/__manifest__.py | 28 ++++++ helpdesk_mgmt_project/i18n/es.po | 60 +++++++++++++ helpdesk_mgmt_project/models/__init__.py | 3 + .../models/helpdesk_ticket.py | 19 ++++ helpdesk_mgmt_project/models/project.py | 23 +++++ helpdesk_mgmt_project/models/project_task.py | 18 ++++ helpdesk_mgmt_project/readme/CONTRIBUTORS.rst | 7 ++ helpdesk_mgmt_project/readme/DESCRIPTION.rst | 2 + .../static/description/icon.png | Bin 0 -> 23764 bytes .../views/helpdesk_ticket_view.xml | 45 ++++++++++ .../views/project_task_view.xml | 17 ++++ helpdesk_mgmt_project/views/project_view.xml | 42 +++++++++ 14 files changed, 349 insertions(+) create mode 100644 helpdesk_mgmt_project/README.rst create mode 100644 helpdesk_mgmt_project/__init__.py create mode 100644 helpdesk_mgmt_project/__manifest__.py create mode 100644 helpdesk_mgmt_project/i18n/es.po create mode 100644 helpdesk_mgmt_project/models/__init__.py create mode 100644 helpdesk_mgmt_project/models/helpdesk_ticket.py create mode 100644 helpdesk_mgmt_project/models/project.py create mode 100644 helpdesk_mgmt_project/models/project_task.py create mode 100644 helpdesk_mgmt_project/readme/CONTRIBUTORS.rst create mode 100644 helpdesk_mgmt_project/readme/DESCRIPTION.rst create mode 100755 helpdesk_mgmt_project/static/description/icon.png create mode 100644 helpdesk_mgmt_project/views/helpdesk_ticket_view.xml create mode 100644 helpdesk_mgmt_project/views/project_task_view.xml create mode 100644 helpdesk_mgmt_project/views/project_view.xml diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst new file mode 100644 index 0000000000..1883f60e78 --- /dev/null +++ b/helpdesk_mgmt_project/README.rst @@ -0,0 +1,84 @@ +=================== +Helpdesk Project +=================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |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-OCA%2Fhelpdesk-lightgray.png?logo=github + :target: https://github.com/OCA/helpdesk/tree/12.0/helpdesk_project + :alt: OCA/helpdesk +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_project + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/282/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds Project in Helpdesk. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* PuntSistemes S.L.U. + +Contributors +~~~~~~~~~~~~ + +* `PuntSistemes S.L.U. `_: + + * Carlos Ramos + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/helpdesk `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/helpdesk_mgmt_project/__init__.py b/helpdesk_mgmt_project/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/helpdesk_mgmt_project/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py new file mode 100644 index 0000000000..3e11457848 --- /dev/null +++ b/helpdesk_mgmt_project/__manifest__.py @@ -0,0 +1,28 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Helpdesk Project', + 'summary': """ + Helpdesk""", + 'version': '12.0.1.0.0', + 'license': 'AGPL-3', + 'category': 'After-Sales', + 'author': 'PuntSistemes S.L.U., ' + 'Odoo Community Association (OCA)', + 'website': 'https://github.com/OCA/helpdesk', + 'depends': [ + 'helpdesk_mgmt', + 'project', + ], + 'data': [ + 'views/helpdesk_ticket_view.xml', + 'views/project_view.xml', + 'views/project_task_view.xml', + ], + 'demo': [ + ], + 'development_status': 'Alpha', + 'application': False, + 'installable': True, + 'auto_install': True, +} diff --git a/helpdesk_mgmt_project/i18n/es.po b/helpdesk_mgmt_project/i18n/es.po new file mode 100644 index 0000000000..d0580bd48d --- /dev/null +++ b/helpdesk_mgmt_project/i18n/es.po @@ -0,0 +1,60 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 08:40+0000\n" +"PO-Revision-Date: 2020-05-19 10:41+0200\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" +"X-Generator: Poedit 2.3.1\n" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets +msgid "Gives label to tickets on project's kanban view." +msgstr "Da etiqueta a las entradas en la vista kanban del proyecto." + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "Ticket Helpdesk" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +msgid "Project" +msgstr "Proyecto" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_task +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id +msgid "Task" +msgstr "Tarea" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count +msgid "Ticket Count" +msgstr "Contador Tickets" + +#. module: helpdesk_mgmt_project +#: code:addons/helpdesk_mgmt_project/models/project.py:12 +#: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.edit_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 +#, python-format +msgid "Tickets" +msgstr "Tickets" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets +msgid "Use Tickets as" +msgstr "Usar tickets como" diff --git a/helpdesk_mgmt_project/models/__init__.py b/helpdesk_mgmt_project/models/__init__.py new file mode 100644 index 0000000000..a7f4c80105 --- /dev/null +++ b/helpdesk_mgmt_project/models/__init__.py @@ -0,0 +1,3 @@ +from . import helpdesk_ticket +from . import project +from . import project_task diff --git a/helpdesk_mgmt_project/models/helpdesk_ticket.py b/helpdesk_mgmt_project/models/helpdesk_ticket.py new file mode 100644 index 0000000000..09c3ba66e7 --- /dev/null +++ b/helpdesk_mgmt_project/models/helpdesk_ticket.py @@ -0,0 +1,19 @@ +from odoo import fields, models, api + + +class HelpdeskTicket(models.Model): + + _inherit = "helpdesk.ticket" + + project_id = fields.Many2one( + string='Project', + comodel_name='project.project' + ) + task_id = fields.Many2one( + string='Task', + comodel_name='project.task' + ) + + @api.onchange('project_id') + def _onchange_project(self): + self.task_id = False diff --git a/helpdesk_mgmt_project/models/project.py b/helpdesk_mgmt_project/models/project.py new file mode 100644 index 0000000000..ce678ad5fb --- /dev/null +++ b/helpdesk_mgmt_project/models/project.py @@ -0,0 +1,23 @@ +from odoo import fields, models, _ + + +class ProjectProject(models.Model): + _inherit = 'project.project' + + ticket_count = fields.Integer( + compute='_compute_ticket_count', + string="Ticket Count") + label_tickets = fields.Char( + string='Use Tickets as', + default=lambda s: _('Tickets'), + translate=True, + help="Gives label to tickets on project's kanban view.") + + def _compute_ticket_count(self): + ticket_data = self.env['helpdesk.ticket'].read_group( + [('project_id', 'in', self.ids)], ['project_id'], ['project_id'] + ) + result = dict((data['project_id'][0], data['project_id_count']) + for data in ticket_data) + for project in self: + project.ticket_count = result.get(project.id, 0) diff --git a/helpdesk_mgmt_project/models/project_task.py b/helpdesk_mgmt_project/models/project_task.py new file mode 100644 index 0000000000..d9fd5a8c9c --- /dev/null +++ b/helpdesk_mgmt_project/models/project_task.py @@ -0,0 +1,18 @@ +from odoo import fields, models + + +class ProjectTask(models.Model): + _inherit = 'project.task' + + ticket_count = fields.Integer( + compute='_compute_ticket_count', + string="Ticket Count") + + def _compute_ticket_count(self): + ticket_data = self.env['helpdesk.ticket'].read_group( + [('task_id', 'in', self.ids)], ['task_id'], ['task_id'] + ) + result = dict((data['task_id'][0], data['task_id_count']) + for data in ticket_data) + for task in self: + task.ticket_count = result.get(task.id, 0) diff --git a/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..4c0045ae30 --- /dev/null +++ b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst @@ -0,0 +1,7 @@ +* `Puntsistemes `_: + + * Carlos Ramos Hernández + +* `Tecnativa `_: + + * Pedro M. Baeza diff --git a/helpdesk_mgmt_project/readme/DESCRIPTION.rst b/helpdesk_mgmt_project/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..df9464e1bd --- /dev/null +++ b/helpdesk_mgmt_project/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module adds Project in Helpdesk. +We add to the project form view a ticket counter that redirects you to the helpdesk diff --git a/helpdesk_mgmt_project/static/description/icon.png b/helpdesk_mgmt_project/static/description/icon.png new file mode 100755 index 0000000000000000000000000000000000000000..414262152f791b2bdef650d9807583b8f73d930c GIT binary patch literal 23764 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 literal 0 HcmV?d00001 diff --git a/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml new file mode 100644 index 0000000000..62ae521fc8 --- /dev/null +++ b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml @@ -0,0 +1,45 @@ + + + + Tickets + helpdesk.ticket + kanban,tree,form + + + + + + helpdesk.ticket + + + + + + + + + + + helpdesk.ticket + + + + + + + + + + + + helpdesk.ticket + + + + + + + + + diff --git a/helpdesk_mgmt_project/views/project_task_view.xml b/helpdesk_mgmt_project/views/project_task_view.xml new file mode 100644 index 0000000000..77e355be13 --- /dev/null +++ b/helpdesk_mgmt_project/views/project_task_view.xml @@ -0,0 +1,17 @@ + + + + + project.task + + + + + + + + diff --git a/helpdesk_mgmt_project/views/project_view.xml b/helpdesk_mgmt_project/views/project_view.xml new file mode 100644 index 0000000000..e0ed81b2fc --- /dev/null +++ b/helpdesk_mgmt_project/views/project_view.xml @@ -0,0 +1,42 @@ + + + + + project.project + + + + + + + + + + project.project + + + + + + + + + + + + + + + + + + + + From 95e5a97b7e96b79b7becbbb878e8193468d6dc33 Mon Sep 17 00:00:00 2001 From: Dario Lodeiros Date: Sat, 30 May 2020 12:08:44 +0200 Subject: [PATCH 02/57] [ADD] Unit Tests --- helpdesk_mgmt_project/README.rst | 31 +- helpdesk_mgmt_project/__manifest__.py | 9 +- helpdesk_mgmt_project/models/project.py | 25 +- helpdesk_mgmt_project/models/project_task.py | 30 +- helpdesk_mgmt_project/readme/CONTRIBUTORS.rst | 4 + .../static/description/index.html | 437 ++++++++++++++++++ helpdesk_mgmt_project/tests/__init__.py | 1 + .../tests/test_helpdesk_ticket.py | 85 ++++ .../views/project_task_view.xml | 12 +- helpdesk_mgmt_project/views/project_view.xml | 15 +- 10 files changed, 607 insertions(+), 42 deletions(-) create mode 100644 helpdesk_mgmt_project/static/description/index.html create mode 100644 helpdesk_mgmt_project/tests/__init__.py create mode 100644 helpdesk_mgmt_project/tests/test_helpdesk_ticket.py diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst index 1883f60e78..fe438109b6 100644 --- a/helpdesk_mgmt_project/README.rst +++ b/helpdesk_mgmt_project/README.rst @@ -1,6 +1,6 @@ -=================== +================ Helpdesk Project -=================== +================ .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -14,18 +14,19 @@ Helpdesk Project :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github - :target: https://github.com/OCA/helpdesk/tree/12.0/helpdesk_project + :target: https://github.com/OCA/helpdesk/tree/12.0/helpdesk_mgmt_project :alt: OCA/helpdesk .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_project + :target: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_mgmt_project :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png :target: https://runbot.odoo-community.org/runbot/282/12.0 :alt: Try me on Runbot -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module adds Project in Helpdesk. +We add to the project form view a ticket counter that redirects you to the helpdesk .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. @@ -37,17 +38,13 @@ This module adds Project in Helpdesk. .. contents:: :local: -Configuration -============= - - 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -62,9 +59,17 @@ Authors Contributors ~~~~~~~~~~~~ -* `PuntSistemes S.L.U. `_: +* `Puntsistemes `_: + + * Carlos Ramos Hernández + +* `Tecnativa `_: + + * Pedro M. Baeza + +* `CommitSun `_: - * Carlos Ramos + * Darío Lodeiros Maintainers ~~~~~~~~~~~ @@ -79,6 +84,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/helpdesk `_ project on GitHub. +This module is part of the `OCA/helpdesk `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py index 3e11457848..66aa90fc24 100644 --- a/helpdesk_mgmt_project/__manifest__.py +++ b/helpdesk_mgmt_project/__manifest__.py @@ -2,8 +2,7 @@ { 'name': 'Helpdesk Project', - 'summary': """ - Helpdesk""", + 'summary': "Add the option to select project in the tickets.", 'version': '12.0.1.0.0', 'license': 'AGPL-3', 'category': 'After-Sales', @@ -19,10 +18,6 @@ 'views/project_view.xml', 'views/project_task_view.xml', ], - 'demo': [ - ], - 'development_status': 'Alpha', - 'application': False, - 'installable': True, + 'development_status': 'Beta', 'auto_install': True, } diff --git a/helpdesk_mgmt_project/models/project.py b/helpdesk_mgmt_project/models/project.py index ce678ad5fb..ae1088bfbd 100644 --- a/helpdesk_mgmt_project/models/project.py +++ b/helpdesk_mgmt_project/models/project.py @@ -1,23 +1,30 @@ -from odoo import fields, models, _ +from odoo import api, fields, models, _ class ProjectProject(models.Model): _inherit = 'project.project' + ticket_ids = fields.One2many( + 'helpdesk.ticket', + 'project_id', + string="Tickets") ticket_count = fields.Integer( compute='_compute_ticket_count', - string="Ticket Count") + string="Ticket Count", + store=True) label_tickets = fields.Char( string='Use Tickets as', default=lambda s: _('Tickets'), translate=True, help="Gives label to tickets on project's kanban view.") + todo_ticket_count = fields.Integer( + string="Number of tickets", + compute='_compute_ticket_count', + store=True) + @api.depends('ticket_ids', 'ticket_ids.stage_id') def _compute_ticket_count(self): - ticket_data = self.env['helpdesk.ticket'].read_group( - [('project_id', 'in', self.ids)], ['project_id'], ['project_id'] - ) - result = dict((data['project_id'][0], data['project_id_count']) - for data in ticket_data) - for project in self: - project.ticket_count = result.get(project.id, 0) + for record in self: + record.ticket_count = len(record.ticket_ids) + record.todo_ticket_count = len(record.ticket_ids.filtered( + lambda ticket: not ticket.closed)) diff --git a/helpdesk_mgmt_project/models/project_task.py b/helpdesk_mgmt_project/models/project_task.py index d9fd5a8c9c..708ccd8b5d 100644 --- a/helpdesk_mgmt_project/models/project_task.py +++ b/helpdesk_mgmt_project/models/project_task.py @@ -1,18 +1,30 @@ -from odoo import fields, models +from odoo import api, fields, models, _ class ProjectTask(models.Model): _inherit = 'project.task' + ticket_ids = fields.One2many( + 'helpdesk.ticket', + 'task_id', + string="Tickets") ticket_count = fields.Integer( compute='_compute_ticket_count', - string="Ticket Count") + string="Ticket Count", + store=True) + label_tickets = fields.Char( + string='Use Tickets as', + default=lambda s: _('Tickets'), + translate=True, + help="Gives label to tickets on project's kanban view.") + todo_ticket_count = fields.Integer( + string="Number of tickets", + compute='_compute_ticket_count', + store=True) + @api.depends('ticket_ids', 'ticket_ids.stage_id') def _compute_ticket_count(self): - ticket_data = self.env['helpdesk.ticket'].read_group( - [('task_id', 'in', self.ids)], ['task_id'], ['task_id'] - ) - result = dict((data['task_id'][0], data['task_id_count']) - for data in ticket_data) - for task in self: - task.ticket_count = result.get(task.id, 0) + for record in self: + record.ticket_count = len(record.ticket_ids) + record.todo_ticket_count = len(record.ticket_ids.filtered( + lambda ticket: not ticket.closed)) diff --git a/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst index 4c0045ae30..b1d161261d 100644 --- a/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst +++ b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst @@ -5,3 +5,7 @@ * `Tecnativa `_: * Pedro M. Baeza + +* `CommitSun `_: + + * Darío Lodeiros diff --git a/helpdesk_mgmt_project/static/description/index.html b/helpdesk_mgmt_project/static/description/index.html new file mode 100644 index 0000000000..c80e8ecfdf --- /dev/null +++ b/helpdesk_mgmt_project/static/description/index.html @@ -0,0 +1,437 @@ + + + + + + +Helpdesk Project + + + +
+

Helpdesk Project

+ + +

Alpha License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

+

This module adds Project in Helpdesk. +We add to the project form view a ticket counter that redirects you to the helpdesk

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • PuntSistemes S.L.U.
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/helpdesk project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/helpdesk_mgmt_project/tests/__init__.py b/helpdesk_mgmt_project/tests/__init__.py new file mode 100644 index 0000000000..5b420011e0 --- /dev/null +++ b/helpdesk_mgmt_project/tests/__init__.py @@ -0,0 +1 @@ +from . import test_helpdesk_ticket diff --git a/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py new file mode 100644 index 0000000000..4c8710d486 --- /dev/null +++ b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py @@ -0,0 +1,85 @@ +from odoo.addons.helpdesk_mgmt.tests import test_helpdesk_ticket + + +class TestHelpdeskTicketProject(test_helpdesk_ticket.TestHelpdeskTicket): + + @classmethod + def setUpClass(cls): + super(TestHelpdeskTicketProject, cls).setUpClass() + env = cls.env(user=cls.user_admin) + Ticket = env['helpdesk.ticket'] + Project = env["project.project"] + Task = env["project.task"] + cls.ticket2 = Ticket.create({ + 'name': 'Test 2', + 'description': 'Ticket test2', + }) + cls.project1 = Project.create({ + "name": "Test Helpdesk-Project 1", + }) + cls.task_project1 = Task.create({ + "name": "Test Task Helpdesk-Project 1", + "project_id": cls.project1.id, + }) + cls.project2 = Project.create({ + "name": "Test Helpdesk-Project 2", + }) + cls.task_project2 = Task.create({ + "name": "Test Task Helpdesk-Project 2", + "project_id": cls.project2.id, + }) + cls.ticket.write({ + 'project_id': cls.project1.id, + 'task_id': cls.task_project1.id, + }) + cls.ticket2.write({ + 'project_id': cls.project1.id, + 'task_id': cls.task_project1.id, + }) + + def test_helpdesk_ticket_project_task(self): + self.ticket._onchange_project() + self.assertFalse(self.ticket.task_id, + 'Helpdesk Ticket: When change the project ' + 'the ticket task should be reset.') + + def test_helpdesk_ticket_counts(self): + self.assertEqual(self.project1.ticket_count, + 2, + 'Helpdesk Ticket: Project should ' + 'have two related tickets.') + self.assertEqual(self.project1.todo_ticket_count, + 2, + 'Helpdesk Ticket: Project should ' + 'have two related todo tickets.') + self.assertEqual(self.task_project1.ticket_count, + 2, + 'Helpdesk Ticket: Task ' + 'have two realted tickets.') + self.assertEqual(self.task_project1.todo_ticket_count, + 2, + 'Helpdesk Ticket: Task ' + 'have two realted tickets.') + self.assertEqual(self.project2.ticket_count, + 0, + 'Helpdesk Ticket: Project should ' + 'have two related tickets.') + self.assertEqual(self.task_project2.ticket_count, + 0, + 'Helpdesk Ticket: Task ' + 'have two realted tickets.') + self.ticket.write({ + 'stage_id': self.stage_closed.id, + }) + self.assertEqual(self.project1.ticket_count, + 2, + 'Helpdesk Ticket: Project should ' + 'have two related tickets.') + self.assertEqual(self.project1.todo_ticket_count, + 1, + 'Helpdesk Ticket: Project should ' + 'have one related todo tickets.') + self.assertEqual(self.task_project1.todo_ticket_count, + 1, + 'Helpdesk Ticket: Task ' + 'have one realted tickets.') diff --git a/helpdesk_mgmt_project/views/project_task_view.xml b/helpdesk_mgmt_project/views/project_task_view.xml index 77e355be13..704a9ab31c 100644 --- a/helpdesk_mgmt_project/views/project_task_view.xml +++ b/helpdesk_mgmt_project/views/project_task_view.xml @@ -1,6 +1,6 @@ - + project.task @@ -14,4 +14,14 @@ + + + project.task + + + + + + + diff --git a/helpdesk_mgmt_project/views/project_view.xml b/helpdesk_mgmt_project/views/project_view.xml index e0ed81b2fc..e055dd90c9 100644 --- a/helpdesk_mgmt_project/views/project_view.xml +++ b/helpdesk_mgmt_project/views/project_view.xml @@ -1,6 +1,6 @@ - + project.project @@ -14,7 +14,7 @@ - + project.project @@ -38,5 +38,14 @@ - + + project.project + + + + + + + + From 598145decca2119b78304e4806d65b5913792e36 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Wed, 8 Jul 2020 18:49:35 +0000 Subject: [PATCH 03/57] [UPD] Update helpdesk_mgmt_project.pot --- helpdesk_mgmt_project/i18n/es.po | 22 +++++- .../i18n/helpdesk_mgmt_project.pot | 74 +++++++++++++++++++ 2 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot diff --git a/helpdesk_mgmt_project/i18n/es.po b/helpdesk_mgmt_project/i18n/es.po index d0580bd48d..7920afde67 100644 --- a/helpdesk_mgmt_project/i18n/es.po +++ b/helpdesk_mgmt_project/i18n/es.po @@ -10,15 +10,16 @@ msgstr "" "PO-Revision-Date: 2020-05-19 10:41+0200\n" "Last-Translator: <>\n" "Language-Team: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: es\n" "X-Generator: Poedit 2.3.1\n" #. module: helpdesk_mgmt_project #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Gives label to tickets on project's kanban view." msgstr "Da etiqueta a las entradas en la vista kanban del proyecto." @@ -27,6 +28,19 @@ msgstr "Da etiqueta a las entradas en la vista kanban del proyecto." msgid "Helpdesk Ticket" msgstr "Ticket Helpdesk" +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count +msgid "Number of tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search +#, fuzzy +msgid "Open Tickets" +msgstr "Tickets" + #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id @@ -46,8 +60,11 @@ msgid "Ticket Count" msgstr "Contador Tickets" #. module: helpdesk_mgmt_project -#: code:addons/helpdesk_mgmt_project/models/project.py:12 +#: code:addons/helpdesk_mgmt_project/models/project.py:17 +#: code:addons/helpdesk_mgmt_project/models/project_task.py:17 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_ids +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_ids #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.edit_project #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 #, python-format @@ -56,5 +73,6 @@ msgstr "Tickets" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Use Tickets as" msgstr "Usar tickets como" diff --git a/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot b/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot new file mode 100644 index 0000000000..f58e3e5052 --- /dev/null +++ b/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot @@ -0,0 +1,74 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \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: helpdesk_mgmt_project +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Gives label to tickets on project's kanban view." +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count +msgid "Number of tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search +msgid "Open Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +msgid "Project" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_task +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id +msgid "Task" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count +msgid "Ticket Count" +msgstr "" + +#. module: helpdesk_mgmt_project +#: code:addons/helpdesk_mgmt_project/models/project.py:17 +#: code:addons/helpdesk_mgmt_project/models/project_task.py:17 +#: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_ids +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_ids +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.edit_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 +#, python-format +msgid "Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Use Tickets as" +msgstr "" + From 88a818b2519ca74b5844a82c68f348be3506109a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 8 Jul 2020 18:53:09 +0000 Subject: [PATCH 04/57] [UPD] README.rst --- helpdesk_mgmt_project/README.rst | 9 ++------- helpdesk_mgmt_project/static/description/index.html | 8 +------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst index fe438109b6..81cdd237b6 100644 --- a/helpdesk_mgmt_project/README.rst +++ b/helpdesk_mgmt_project/README.rst @@ -7,9 +7,9 @@ Helpdesk Project !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status - :alt: Alpha + :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 @@ -28,11 +28,6 @@ Helpdesk Project This module adds Project in Helpdesk. We add to the project form view a ticket counter that redirects you to the helpdesk -.. IMPORTANT:: - This is an alpha version, the data model and design can change at any time without warning. - Only for development or testing purpose, do not use in production. - `More details on development status `_ - **Table of contents** .. contents:: diff --git a/helpdesk_mgmt_project/static/description/index.html b/helpdesk_mgmt_project/static/description/index.html index c80e8ecfdf..1c76e4e9c1 100644 --- a/helpdesk_mgmt_project/static/description/index.html +++ b/helpdesk_mgmt_project/static/description/index.html @@ -367,15 +367,9 @@

Helpdesk Project

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Alpha License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

This module adds Project in Helpdesk. We add to the project form view a ticket counter that redirects you to the helpdesk

-
-

Important

-

This is an alpha version, the data model and design can change at any time without warning. -Only for development or testing purpose, do not use in production. -More details on development status

-

Table of contents

    From b5931f7ba22069d605cd39abf7ecf9ccc1934d13 Mon Sep 17 00:00:00 2001 From: "David Alonso (Solvos)" Date: Thu, 9 Jul 2020 09:23:40 +0000 Subject: [PATCH 05/57] Translated using Weblate (Spanish) Currently translated at 100.0% (9 of 9 strings) Translation: helpdesk-12.0/helpdesk-12.0-helpdesk_mgmt_project Translate-URL: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_mgmt_project/es/ --- helpdesk_mgmt_project/i18n/es.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/helpdesk_mgmt_project/i18n/es.po b/helpdesk_mgmt_project/i18n/es.po index 7920afde67..c6c3807f3c 100644 --- a/helpdesk_mgmt_project/i18n/es.po +++ b/helpdesk_mgmt_project/i18n/es.po @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-19 08:40+0000\n" -"PO-Revision-Date: 2020-05-19 10:41+0200\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2020-07-09 12:19+0000\n" +"Last-Translator: David Alonso (Solvos) \n" "Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.3.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" #. module: helpdesk_mgmt_project #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets @@ -32,14 +32,13 @@ msgstr "Ticket Helpdesk" #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count msgid "Number of tickets" -msgstr "" +msgstr "Número de tickets" #. module: helpdesk_mgmt_project #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search -#, fuzzy msgid "Open Tickets" -msgstr "Tickets" +msgstr "Tickets abiertos" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project From aa9aad1d5fac2f632e523fb205c55b90934bf29d Mon Sep 17 00:00:00 2001 From: Yann Papouin Date: Wed, 22 Jul 2020 11:34:02 +0000 Subject: [PATCH 06/57] Added translation using Weblate (French) --- helpdesk_mgmt_project/i18n/fr.po | 74 ++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 helpdesk_mgmt_project/i18n/fr.po diff --git a/helpdesk_mgmt_project/i18n/fr.po b/helpdesk_mgmt_project/i18n/fr.po new file mode 100644 index 0000000000..34cf48b0ab --- /dev/null +++ b/helpdesk_mgmt_project/i18n/fr.po @@ -0,0 +1,74 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Gives label to tickets on project's kanban view." +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count +msgid "Number of tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search +msgid "Open Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +msgid "Project" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_task +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id +msgid "Task" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count +msgid "Ticket Count" +msgstr "" + +#. module: helpdesk_mgmt_project +#: code:addons/helpdesk_mgmt_project/models/project.py:17 +#: code:addons/helpdesk_mgmt_project/models/project_task.py:17 +#: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_ids +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_ids +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.edit_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 +#, python-format +msgid "Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Use Tickets as" +msgstr "" From c761ef41a74e8fcf94519b1b6b9447fe5e5831bd Mon Sep 17 00:00:00 2001 From: Yann Papouin Date: Wed, 22 Jul 2020 11:38:34 +0000 Subject: [PATCH 07/57] Translated using Weblate (French) Currently translated at 100.0% (9 of 9 strings) Translation: helpdesk-12.0/helpdesk-12.0-helpdesk_mgmt_project Translate-URL: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_mgmt_project/fr/ --- helpdesk_mgmt_project/i18n/fr.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/helpdesk_mgmt_project/i18n/fr.po b/helpdesk_mgmt_project/i18n/fr.po index 34cf48b0ab..c191fc13ee 100644 --- a/helpdesk_mgmt_project/i18n/fr.po +++ b/helpdesk_mgmt_project/i18n/fr.po @@ -6,54 +6,56 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2020-07-22 14:19+0000\n" +"Last-Translator: Yann Papouin \n" "Language-Team: none\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.10\n" #. module: helpdesk_mgmt_project #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Gives label to tickets on project's kanban view." -msgstr "" +msgstr "Donne des étiquettes aux tickets sur la vue kanban du projet." #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket msgid "Helpdesk Ticket" -msgstr "" +msgstr "Ticket d'assistance" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count msgid "Number of tickets" -msgstr "" +msgstr "Nombre de tickets" #. module: helpdesk_mgmt_project #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search msgid "Open Tickets" -msgstr "" +msgstr "Tickets ouverts" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id msgid "Project" -msgstr "" +msgstr "Projet" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_task #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id msgid "Task" -msgstr "" +msgstr "Tâche" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count msgid "Ticket Count" -msgstr "" +msgstr "Nombre de tickets" #. module: helpdesk_mgmt_project #: code:addons/helpdesk_mgmt_project/models/project.py:17 @@ -65,10 +67,10 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 #, python-format msgid "Tickets" -msgstr "" +msgstr "Tickets" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Use Tickets as" -msgstr "" +msgstr "Utilisez les tickets comme" From e413b8a592c3a32b894879d270116dd5436d19ac Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Thu, 23 Jul 2020 23:03:57 +0000 Subject: [PATCH 08/57] Added translation using Weblate (Portuguese) --- helpdesk_mgmt_project/i18n/pt.po | 74 ++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 helpdesk_mgmt_project/i18n/pt.po diff --git a/helpdesk_mgmt_project/i18n/pt.po b/helpdesk_mgmt_project/i18n/pt.po new file mode 100644 index 0000000000..f0a368b2fd --- /dev/null +++ b/helpdesk_mgmt_project/i18n/pt.po @@ -0,0 +1,74 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Gives label to tickets on project's kanban view." +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count +msgid "Number of tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search +msgid "Open Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +msgid "Project" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_task +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id +msgid "Task" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count +msgid "Ticket Count" +msgstr "" + +#. module: helpdesk_mgmt_project +#: code:addons/helpdesk_mgmt_project/models/project.py:17 +#: code:addons/helpdesk_mgmt_project/models/project_task.py:17 +#: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_ids +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_ids +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.edit_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 +#, python-format +msgid "Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Use Tickets as" +msgstr "" From 85680f322a5341f013d20889613fa10a76626f51 Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Fri, 24 Jul 2020 09:11:44 +0000 Subject: [PATCH 09/57] Translated using Weblate (Portuguese) Currently translated at 88.9% (8 of 9 strings) Translation: helpdesk-12.0/helpdesk-12.0-helpdesk_mgmt_project Translate-URL: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_mgmt_project/pt/ --- helpdesk_mgmt_project/i18n/pt.po | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/helpdesk_mgmt_project/i18n/pt.po b/helpdesk_mgmt_project/i18n/pt.po index f0a368b2fd..3b0b241815 100644 --- a/helpdesk_mgmt_project/i18n/pt.po +++ b/helpdesk_mgmt_project/i18n/pt.po @@ -6,54 +6,56 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2020-07-24 11:19+0000\n" +"Last-Translator: Pedro Castro Silva \n" "Language-Team: none\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.10\n" #. module: helpdesk_mgmt_project #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Gives label to tickets on project's kanban view." -msgstr "" +msgstr "Fornece rótulos aos tickets na vista kanban dos projetos." #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket msgid "Helpdesk Ticket" -msgstr "" +msgstr "Ticket de Helpdesk" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count msgid "Number of tickets" -msgstr "" +msgstr "Número de tickets" #. module: helpdesk_mgmt_project #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search msgid "Open Tickets" -msgstr "" +msgstr "Tickets Abertos" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id msgid "Project" -msgstr "" +msgstr "Projeto" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_task #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id msgid "Task" -msgstr "" +msgstr "Tarefa" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count msgid "Ticket Count" -msgstr "" +msgstr "Nº de Tickets" #. module: helpdesk_mgmt_project #: code:addons/helpdesk_mgmt_project/models/project.py:17 @@ -71,4 +73,4 @@ msgstr "" #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Use Tickets as" -msgstr "" +msgstr "Use Tickets como" From e216a611f1ef8e5b8b774c1fdee153e21b10b832 Mon Sep 17 00:00:00 2001 From: "David Alonso (Solvos)" Date: Fri, 31 Jul 2020 13:17:19 +0200 Subject: [PATCH 10/57] [FIX] helpdesk_mgmt_project: missing context for task creation --- helpdesk_mgmt_project/views/helpdesk_ticket_view.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml index 62ae521fc8..b8144e327f 100644 --- a/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml +++ b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml @@ -38,7 +38,8 @@ + attrs="{'invisible':[('project_id', '=', False)]}" + context="{'default_project_id': project_id}"/> From a3a9f0a67abf271f5a51d33e34c7b529dc0e411c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 5 Aug 2020 12:01:23 +0000 Subject: [PATCH 11/57] helpdesk_mgmt_project 12.0.1.1.0 --- helpdesk_mgmt_project/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py index 66aa90fc24..79445b1614 100644 --- a/helpdesk_mgmt_project/__manifest__.py +++ b/helpdesk_mgmt_project/__manifest__.py @@ -3,7 +3,7 @@ { 'name': 'Helpdesk Project', 'summary': "Add the option to select project in the tickets.", - 'version': '12.0.1.0.0', + 'version': '12.0.1.1.0', 'license': 'AGPL-3', 'category': 'After-Sales', 'author': 'PuntSistemes S.L.U., ' From 19b665d1b8a8c1c55015f4e01d16c32585f3e4dc Mon Sep 17 00:00:00 2001 From: Ignacio Buioli Date: Wed, 12 Aug 2020 04:17:08 +0000 Subject: [PATCH 12/57] Added translation using Weblate (Spanish (Argentina)) --- helpdesk_mgmt_project/i18n/es_AR.po | 74 +++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 helpdesk_mgmt_project/i18n/es_AR.po diff --git a/helpdesk_mgmt_project/i18n/es_AR.po b/helpdesk_mgmt_project/i18n/es_AR.po new file mode 100644 index 0000000000..4cb924d447 --- /dev/null +++ b/helpdesk_mgmt_project/i18n/es_AR.po @@ -0,0 +1,74 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es_AR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Gives label to tickets on project's kanban view." +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count +msgid "Number of tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search +msgid "Open Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +msgid "Project" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_task +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id +msgid "Task" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count +msgid "Ticket Count" +msgstr "" + +#. module: helpdesk_mgmt_project +#: code:addons/helpdesk_mgmt_project/models/project.py:17 +#: code:addons/helpdesk_mgmt_project/models/project_task.py:17 +#: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_ids +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_ids +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.edit_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 +#, python-format +msgid "Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Use Tickets as" +msgstr "" From 8abfbe47cd91fd85d0eebafdf9bfd5271194ddc8 Mon Sep 17 00:00:00 2001 From: Ignacio Buioli Date: Wed, 12 Aug 2020 04:35:14 +0000 Subject: [PATCH 13/57] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (9 of 9 strings) Translation: helpdesk-12.0/helpdesk-12.0-helpdesk_mgmt_project Translate-URL: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_mgmt_project/es_AR/ --- helpdesk_mgmt_project/i18n/es_AR.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/helpdesk_mgmt_project/i18n/es_AR.po b/helpdesk_mgmt_project/i18n/es_AR.po index 4cb924d447..1892345603 100644 --- a/helpdesk_mgmt_project/i18n/es_AR.po +++ b/helpdesk_mgmt_project/i18n/es_AR.po @@ -6,54 +6,56 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2020-08-12 06:59+0000\n" +"Last-Translator: Ignacio Buioli \n" "Language-Team: none\n" "Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" #. module: helpdesk_mgmt_project #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Gives label to tickets on project's kanban view." -msgstr "" +msgstr "Otorga una etiqueta a los tickets en la vista kanban del proyecto." #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket msgid "Helpdesk Ticket" -msgstr "" +msgstr "Ticket de la Mesa de Ayuda" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count msgid "Number of tickets" -msgstr "" +msgstr "Número de tickets" #. module: helpdesk_mgmt_project #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search msgid "Open Tickets" -msgstr "" +msgstr "Tickets Abiertos" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id msgid "Project" -msgstr "" +msgstr "Proyecto" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_task #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id msgid "Task" -msgstr "" +msgstr "Tarea" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count msgid "Ticket Count" -msgstr "" +msgstr "Cuenta de Ticket" #. module: helpdesk_mgmt_project #: code:addons/helpdesk_mgmt_project/models/project.py:17 @@ -65,10 +67,10 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 #, python-format msgid "Tickets" -msgstr "" +msgstr "Tickets" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Use Tickets as" -msgstr "" +msgstr "Usar Tickets como" From fc9c2dd7a3db44ed9b4bc0a7fe4926a87626efe6 Mon Sep 17 00:00:00 2001 From: Mario Riva Date: Fri, 14 Aug 2020 08:38:21 +0000 Subject: [PATCH 14/57] Added translation using Weblate (Italian) --- helpdesk_mgmt_project/i18n/it.po | 74 ++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 helpdesk_mgmt_project/i18n/it.po diff --git a/helpdesk_mgmt_project/i18n/it.po b/helpdesk_mgmt_project/i18n/it.po new file mode 100644 index 0000000000..56c55214c9 --- /dev/null +++ b/helpdesk_mgmt_project/i18n/it.po @@ -0,0 +1,74 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Gives label to tickets on project's kanban view." +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count +msgid "Number of tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search +msgid "Open Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +msgid "Project" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_project_task +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id +msgid "Task" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count +msgid "Ticket Count" +msgstr "" + +#. module: helpdesk_mgmt_project +#: code:addons/helpdesk_mgmt_project/models/project.py:17 +#: code:addons/helpdesk_mgmt_project/models/project_task.py:17 +#: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_ids +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_ids +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.edit_project +#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 +#, python-format +msgid "Tickets" +msgstr "" + +#. module: helpdesk_mgmt_project +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets +msgid "Use Tickets as" +msgstr "" From 131bcf98cd10a0ef85518f2de5d523368291913d Mon Sep 17 00:00:00 2001 From: Mario Riva Date: Fri, 14 Aug 2020 08:39:35 +0000 Subject: [PATCH 15/57] Translated using Weblate (Italian) Currently translated at 100.0% (9 of 9 strings) Translation: helpdesk-12.0/helpdesk-12.0-helpdesk_mgmt_project Translate-URL: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_mgmt_project/it/ --- helpdesk_mgmt_project/i18n/it.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/helpdesk_mgmt_project/i18n/it.po b/helpdesk_mgmt_project/i18n/it.po index 56c55214c9..d0bf459f1f 100644 --- a/helpdesk_mgmt_project/i18n/it.po +++ b/helpdesk_mgmt_project/i18n/it.po @@ -6,54 +6,56 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2020-08-14 10:59+0000\n" +"Last-Translator: Mario Riva \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" #. module: helpdesk_mgmt_project #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Gives label to tickets on project's kanban view." -msgstr "" +msgstr "Dare un'etichetta ai ticket sulla vista kanban del progetto." #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket msgid "Helpdesk Ticket" -msgstr "" +msgstr "Ticket dell'Helpesk" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count msgid "Number of tickets" -msgstr "" +msgstr "Numero di ticket" #. module: helpdesk_mgmt_project #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_project_search #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_search msgid "Open Tickets" -msgstr "" +msgstr "Ticket aperti" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id msgid "Project" -msgstr "" +msgstr "Progetto" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_task #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__task_id msgid "Task" -msgstr "" +msgstr "Lavoro" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__ticket_count msgid "Ticket Count" -msgstr "" +msgstr "Conteggio ticket" #. module: helpdesk_mgmt_project #: code:addons/helpdesk_mgmt_project/models/project.py:17 @@ -65,10 +67,10 @@ msgstr "" #: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_project.view_task_form2 #, python-format msgid "Tickets" -msgstr "" +msgstr "Ticket" #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__label_tickets msgid "Use Tickets as" -msgstr "" +msgstr "Usa i ticket come" From f697cbe09df422676fa786faf077cf60f734a59f Mon Sep 17 00:00:00 2001 From: "David Alonso (Solvos)" Date: Mon, 17 Aug 2020 17:19:33 +0200 Subject: [PATCH 16/57] [IMP] helpdesk_mgmt_project: black, isort, prettier --- helpdesk_mgmt_project/__manifest__.py | 32 ++-- .../models/helpdesk_ticket.py | 14 +- helpdesk_mgmt_project/models/project.py | 33 ++--- helpdesk_mgmt_project/models/project_task.py | 33 ++--- .../tests/test_helpdesk_ticket.py | 139 +++++++++--------- .../views/helpdesk_ticket_view.xml | 30 ++-- .../views/project_task_view.xml | 26 ++-- helpdesk_mgmt_project/views/project_view.xml | 47 +++--- 8 files changed, 175 insertions(+), 179 deletions(-) diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py index 79445b1614..3fa4724eb9 100644 --- a/helpdesk_mgmt_project/__manifest__.py +++ b/helpdesk_mgmt_project/__manifest__.py @@ -1,23 +1,19 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - 'name': 'Helpdesk Project', - 'summary': "Add the option to select project in the tickets.", - 'version': '12.0.1.1.0', - 'license': 'AGPL-3', - 'category': 'After-Sales', - 'author': 'PuntSistemes S.L.U., ' - 'Odoo Community Association (OCA)', - 'website': 'https://github.com/OCA/helpdesk', - 'depends': [ - 'helpdesk_mgmt', - 'project', + "name": "Helpdesk Project", + "summary": "Add the option to select project in the tickets.", + "version": "12.0.1.1.0", + "license": "AGPL-3", + "category": "After-Sales", + "author": "PuntSistemes S.L.U., " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/helpdesk", + "depends": ["helpdesk_mgmt", "project",], + "data": [ + "views/helpdesk_ticket_view.xml", + "views/project_view.xml", + "views/project_task_view.xml", ], - 'data': [ - 'views/helpdesk_ticket_view.xml', - 'views/project_view.xml', - 'views/project_task_view.xml', - ], - 'development_status': 'Beta', - 'auto_install': True, + "development_status": "Beta", + "auto_install": True, } diff --git a/helpdesk_mgmt_project/models/helpdesk_ticket.py b/helpdesk_mgmt_project/models/helpdesk_ticket.py index 09c3ba66e7..8e841f2110 100644 --- a/helpdesk_mgmt_project/models/helpdesk_ticket.py +++ b/helpdesk_mgmt_project/models/helpdesk_ticket.py @@ -1,19 +1,13 @@ -from odoo import fields, models, api +from odoo import api, fields, models class HelpdeskTicket(models.Model): _inherit = "helpdesk.ticket" - project_id = fields.Many2one( - string='Project', - comodel_name='project.project' - ) - task_id = fields.Many2one( - string='Task', - comodel_name='project.task' - ) + project_id = fields.Many2one(string="Project", comodel_name="project.project") + task_id = fields.Many2one(string="Task", comodel_name="project.task") - @api.onchange('project_id') + @api.onchange("project_id") def _onchange_project(self): self.task_id = False diff --git a/helpdesk_mgmt_project/models/project.py b/helpdesk_mgmt_project/models/project.py index ae1088bfbd..26c82649c5 100644 --- a/helpdesk_mgmt_project/models/project.py +++ b/helpdesk_mgmt_project/models/project.py @@ -1,30 +1,27 @@ -from odoo import api, fields, models, _ +from odoo import _, api, fields, models class ProjectProject(models.Model): - _inherit = 'project.project' + _inherit = "project.project" - ticket_ids = fields.One2many( - 'helpdesk.ticket', - 'project_id', - string="Tickets") + ticket_ids = fields.One2many("helpdesk.ticket", "project_id", string="Tickets") ticket_count = fields.Integer( - compute='_compute_ticket_count', - string="Ticket Count", - store=True) + compute="_compute_ticket_count", string="Ticket Count", store=True + ) label_tickets = fields.Char( - string='Use Tickets as', - default=lambda s: _('Tickets'), + string="Use Tickets as", + default=lambda s: _("Tickets"), translate=True, - help="Gives label to tickets on project's kanban view.") + help="Gives label to tickets on project's kanban view.", + ) todo_ticket_count = fields.Integer( - string="Number of tickets", - compute='_compute_ticket_count', - store=True) + string="Number of tickets", compute="_compute_ticket_count", store=True + ) - @api.depends('ticket_ids', 'ticket_ids.stage_id') + @api.depends("ticket_ids", "ticket_ids.stage_id") def _compute_ticket_count(self): for record in self: record.ticket_count = len(record.ticket_ids) - record.todo_ticket_count = len(record.ticket_ids.filtered( - lambda ticket: not ticket.closed)) + record.todo_ticket_count = len( + record.ticket_ids.filtered(lambda ticket: not ticket.closed) + ) diff --git a/helpdesk_mgmt_project/models/project_task.py b/helpdesk_mgmt_project/models/project_task.py index 708ccd8b5d..26c7647b01 100644 --- a/helpdesk_mgmt_project/models/project_task.py +++ b/helpdesk_mgmt_project/models/project_task.py @@ -1,30 +1,27 @@ -from odoo import api, fields, models, _ +from odoo import _, api, fields, models class ProjectTask(models.Model): - _inherit = 'project.task' + _inherit = "project.task" - ticket_ids = fields.One2many( - 'helpdesk.ticket', - 'task_id', - string="Tickets") + ticket_ids = fields.One2many("helpdesk.ticket", "task_id", string="Tickets") ticket_count = fields.Integer( - compute='_compute_ticket_count', - string="Ticket Count", - store=True) + compute="_compute_ticket_count", string="Ticket Count", store=True + ) label_tickets = fields.Char( - string='Use Tickets as', - default=lambda s: _('Tickets'), + string="Use Tickets as", + default=lambda s: _("Tickets"), translate=True, - help="Gives label to tickets on project's kanban view.") + help="Gives label to tickets on project's kanban view.", + ) todo_ticket_count = fields.Integer( - string="Number of tickets", - compute='_compute_ticket_count', - store=True) + string="Number of tickets", compute="_compute_ticket_count", store=True + ) - @api.depends('ticket_ids', 'ticket_ids.stage_id') + @api.depends("ticket_ids", "ticket_ids.stage_id") def _compute_ticket_count(self): for record in self: record.ticket_count = len(record.ticket_ids) - record.todo_ticket_count = len(record.ticket_ids.filtered( - lambda ticket: not ticket.closed)) + record.todo_ticket_count = len( + record.ticket_ids.filtered(lambda ticket: not ticket.closed) + ) diff --git a/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py index 4c8710d486..b5bdb7269a 100644 --- a/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py +++ b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py @@ -2,84 +2,83 @@ class TestHelpdeskTicketProject(test_helpdesk_ticket.TestHelpdeskTicket): - @classmethod def setUpClass(cls): super(TestHelpdeskTicketProject, cls).setUpClass() env = cls.env(user=cls.user_admin) - Ticket = env['helpdesk.ticket'] + Ticket = env["helpdesk.ticket"] Project = env["project.project"] Task = env["project.task"] - cls.ticket2 = Ticket.create({ - 'name': 'Test 2', - 'description': 'Ticket test2', - }) - cls.project1 = Project.create({ - "name": "Test Helpdesk-Project 1", - }) - cls.task_project1 = Task.create({ - "name": "Test Task Helpdesk-Project 1", - "project_id": cls.project1.id, - }) - cls.project2 = Project.create({ - "name": "Test Helpdesk-Project 2", - }) - cls.task_project2 = Task.create({ - "name": "Test Task Helpdesk-Project 2", - "project_id": cls.project2.id, - }) - cls.ticket.write({ - 'project_id': cls.project1.id, - 'task_id': cls.task_project1.id, - }) - cls.ticket2.write({ - 'project_id': cls.project1.id, - 'task_id': cls.task_project1.id, - }) + cls.ticket2 = Ticket.create({"name": "Test 2", "description": "Ticket test2",}) + cls.project1 = Project.create({"name": "Test Helpdesk-Project 1",}) + cls.task_project1 = Task.create( + {"name": "Test Task Helpdesk-Project 1", "project_id": cls.project1.id,} + ) + cls.project2 = Project.create({"name": "Test Helpdesk-Project 2",}) + cls.task_project2 = Task.create( + {"name": "Test Task Helpdesk-Project 2", "project_id": cls.project2.id,} + ) + cls.ticket.write( + {"project_id": cls.project1.id, "task_id": cls.task_project1.id,} + ) + cls.ticket2.write( + {"project_id": cls.project1.id, "task_id": cls.task_project1.id,} + ) def test_helpdesk_ticket_project_task(self): self.ticket._onchange_project() - self.assertFalse(self.ticket.task_id, - 'Helpdesk Ticket: When change the project ' - 'the ticket task should be reset.') + self.assertFalse( + self.ticket.task_id, + "Helpdesk Ticket: When change the project " + "the ticket task should be reset.", + ) def test_helpdesk_ticket_counts(self): - self.assertEqual(self.project1.ticket_count, - 2, - 'Helpdesk Ticket: Project should ' - 'have two related tickets.') - self.assertEqual(self.project1.todo_ticket_count, - 2, - 'Helpdesk Ticket: Project should ' - 'have two related todo tickets.') - self.assertEqual(self.task_project1.ticket_count, - 2, - 'Helpdesk Ticket: Task ' - 'have two realted tickets.') - self.assertEqual(self.task_project1.todo_ticket_count, - 2, - 'Helpdesk Ticket: Task ' - 'have two realted tickets.') - self.assertEqual(self.project2.ticket_count, - 0, - 'Helpdesk Ticket: Project should ' - 'have two related tickets.') - self.assertEqual(self.task_project2.ticket_count, - 0, - 'Helpdesk Ticket: Task ' - 'have two realted tickets.') - self.ticket.write({ - 'stage_id': self.stage_closed.id, - }) - self.assertEqual(self.project1.ticket_count, - 2, - 'Helpdesk Ticket: Project should ' - 'have two related tickets.') - self.assertEqual(self.project1.todo_ticket_count, - 1, - 'Helpdesk Ticket: Project should ' - 'have one related todo tickets.') - self.assertEqual(self.task_project1.todo_ticket_count, - 1, - 'Helpdesk Ticket: Task ' - 'have one realted tickets.') + self.assertEqual( + self.project1.ticket_count, + 2, + "Helpdesk Ticket: Project should " "have two related tickets.", + ) + self.assertEqual( + self.project1.todo_ticket_count, + 2, + "Helpdesk Ticket: Project should " "have two related todo tickets.", + ) + self.assertEqual( + self.task_project1.ticket_count, + 2, + "Helpdesk Ticket: Task " "have two realted tickets.", + ) + self.assertEqual( + self.task_project1.todo_ticket_count, + 2, + "Helpdesk Ticket: Task " "have two realted tickets.", + ) + self.assertEqual( + self.project2.ticket_count, + 0, + "Helpdesk Ticket: Project should " "have two related tickets.", + ) + self.assertEqual( + self.task_project2.ticket_count, + 0, + "Helpdesk Ticket: Task " "have two realted tickets.", + ) + self.ticket.write( + {"stage_id": self.stage_closed.id,} + ) + self.assertEqual( + self.project1.ticket_count, + 2, + "Helpdesk Ticket: Project should " "have two related tickets.", + ) + self.assertEqual( + self.project1.todo_ticket_count, + 1, + "Helpdesk Ticket: Project should " "have one related todo tickets.", + ) + self.assertEqual( + self.task_project1.todo_ticket_count, + 1, + "Helpdesk Ticket: Task " "have one realted tickets.", + ) diff --git a/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml index b8144e327f..a6a4e23c08 100644 --- a/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml +++ b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml @@ -1,45 +1,45 @@ - + Tickets helpdesk.ticket kanban,tree,form - + - helpdesk.ticket - + - + - helpdesk.ticket - + - - + + - helpdesk.ticket - + - - + + diff --git a/helpdesk_mgmt_project/views/project_task_view.xml b/helpdesk_mgmt_project/views/project_task_view.xml index 704a9ab31c..030cc8e0cc 100644 --- a/helpdesk_mgmt_project/views/project_task_view.xml +++ b/helpdesk_mgmt_project/views/project_task_view.xml @@ -1,26 +1,32 @@ - + - project.task - + - - project.task - + - + diff --git a/helpdesk_mgmt_project/views/project_view.xml b/helpdesk_mgmt_project/views/project_view.xml index e055dd90c9..fe3752401b 100644 --- a/helpdesk_mgmt_project/views/project_view.xml +++ b/helpdesk_mgmt_project/views/project_view.xml @@ -1,50 +1,57 @@ - + - project.project - + - - project.project - + - - + + - + - + - + - project.project - + - + From 229897541898a13c6eb2b7c5c12125dbf04cefcf Mon Sep 17 00:00:00 2001 From: "David Alonso (Solvos)" Date: Mon, 17 Aug 2020 17:57:05 +0200 Subject: [PATCH 17/57] [MIG] helpdesk_mgmt_project: Migration to 13.0 --- helpdesk_mgmt_project/README.rst | 14 ++++++++----- helpdesk_mgmt_project/__manifest__.py | 4 ++-- .../models/helpdesk_ticket.py | 15 ++++++++++---- helpdesk_mgmt_project/readme/CONTRIBUTORS.rst | 4 ++++ .../static/description/index.html | 10 +++++++--- .../tests/test_helpdesk_ticket.py | 20 +++++++++---------- .../views/project_task_view.xml | 2 +- helpdesk_mgmt_project/views/project_view.xml | 2 +- 8 files changed, 44 insertions(+), 27 deletions(-) diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst index 81cdd237b6..1142dfe490 100644 --- a/helpdesk_mgmt_project/README.rst +++ b/helpdesk_mgmt_project/README.rst @@ -14,13 +14,13 @@ Helpdesk Project :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github - :target: https://github.com/OCA/helpdesk/tree/12.0/helpdesk_mgmt_project + :target: https://github.com/OCA/helpdesk/tree/13.0/helpdesk_mgmt_project :alt: OCA/helpdesk .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/helpdesk-12-0/helpdesk-12-0-helpdesk_mgmt_project + :target: https://translation.odoo-community.org/projects/helpdesk-13-0/helpdesk-13-0-helpdesk_mgmt_project :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/282/12.0 + :target: https://runbot.odoo-community.org/runbot/282/13.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -39,7 +39,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -66,6 +66,10 @@ Contributors * Darío Lodeiros +* `Solvos `_: + + * David Alonso + Maintainers ~~~~~~~~~~~ @@ -79,6 +83,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/helpdesk `_ project on GitHub. +This module is part of the `OCA/helpdesk `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py index 3fa4724eb9..7b9c224e04 100644 --- a/helpdesk_mgmt_project/__manifest__.py +++ b/helpdesk_mgmt_project/__manifest__.py @@ -3,12 +3,12 @@ { "name": "Helpdesk Project", "summary": "Add the option to select project in the tickets.", - "version": "12.0.1.1.0", + "version": "13.0.1.0.0", "license": "AGPL-3", "category": "After-Sales", "author": "PuntSistemes S.L.U., " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/helpdesk", - "depends": ["helpdesk_mgmt", "project",], + "depends": ["helpdesk_mgmt", "project"], "data": [ "views/helpdesk_ticket_view.xml", "views/project_view.xml", diff --git a/helpdesk_mgmt_project/models/helpdesk_ticket.py b/helpdesk_mgmt_project/models/helpdesk_ticket.py index 8e841f2110..473f6597e4 100644 --- a/helpdesk_mgmt_project/models/helpdesk_ticket.py +++ b/helpdesk_mgmt_project/models/helpdesk_ticket.py @@ -6,8 +6,15 @@ class HelpdeskTicket(models.Model): _inherit = "helpdesk.ticket" project_id = fields.Many2one(string="Project", comodel_name="project.project") - task_id = fields.Many2one(string="Task", comodel_name="project.task") + task_id = fields.Many2one( + string="Task", + comodel_name="project.task", + compute="_compute_task_id", + readonly=False, + store=True, + ) - @api.onchange("project_id") - def _onchange_project(self): - self.task_id = False + @api.depends("project_id") + def _compute_task_id(self): + for record in self: + record.task_id = False diff --git a/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst index b1d161261d..92a03f7923 100644 --- a/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst +++ b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst @@ -9,3 +9,7 @@ * `CommitSun `_: * Darío Lodeiros + +* `Solvos `_: + + * David Alonso diff --git a/helpdesk_mgmt_project/static/description/index.html b/helpdesk_mgmt_project/static/description/index.html index 1c76e4e9c1..72634128ea 100644 --- a/helpdesk_mgmt_project/static/description/index.html +++ b/helpdesk_mgmt_project/static/description/index.html @@ -367,7 +367,7 @@

    Helpdesk Project

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

    +

    Beta License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

    This module adds Project in Helpdesk. We add to the project form view a ticket counter that redirects you to the helpdesk

    Table of contents

    @@ -387,7 +387,7 @@

    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.

    +feedback.

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

@@ -413,6 +413,10 @@

Contributors

  • Darío Lodeiros
  • +
  • Solvos:
      +
    • David Alonso
    • +
    +
  • @@ -422,7 +426,7 @@

    Maintainers

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    -

    This module is part of the OCA/helpdesk project on GitHub.

    +

    This module is part of the OCA/helpdesk project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py index b5bdb7269a..9cf42fffbc 100644 --- a/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py +++ b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py @@ -9,24 +9,24 @@ def setUpClass(cls): Ticket = env["helpdesk.ticket"] Project = env["project.project"] Task = env["project.task"] - cls.ticket2 = Ticket.create({"name": "Test 2", "description": "Ticket test2",}) - cls.project1 = Project.create({"name": "Test Helpdesk-Project 1",}) + cls.ticket2 = Ticket.create({"name": "Test 2", "description": "Ticket test2"}) + cls.project1 = Project.create({"name": "Test Helpdesk-Project 1"}) cls.task_project1 = Task.create( - {"name": "Test Task Helpdesk-Project 1", "project_id": cls.project1.id,} + {"name": "Test Task Helpdesk-Project 1", "project_id": cls.project1.id} ) - cls.project2 = Project.create({"name": "Test Helpdesk-Project 2",}) + cls.project2 = Project.create({"name": "Test Helpdesk-Project 2"}) cls.task_project2 = Task.create( - {"name": "Test Task Helpdesk-Project 2", "project_id": cls.project2.id,} + {"name": "Test Task Helpdesk-Project 2", "project_id": cls.project2.id} ) cls.ticket.write( - {"project_id": cls.project1.id, "task_id": cls.task_project1.id,} + {"project_id": cls.project1.id, "task_id": cls.task_project1.id} ) cls.ticket2.write( - {"project_id": cls.project1.id, "task_id": cls.task_project1.id,} + {"project_id": cls.project1.id, "task_id": cls.task_project1.id} ) def test_helpdesk_ticket_project_task(self): - self.ticket._onchange_project() + self.ticket.write({"project_id": self.project2.id}) self.assertFalse( self.ticket.task_id, "Helpdesk Ticket: When change the project " @@ -64,9 +64,7 @@ def test_helpdesk_ticket_counts(self): 0, "Helpdesk Ticket: Task " "have two realted tickets.", ) - self.ticket.write( - {"stage_id": self.stage_closed.id,} - ) + self.ticket.write({"stage_id": self.stage_closed.id}) self.assertEqual( self.project1.ticket_count, 2, diff --git a/helpdesk_mgmt_project/views/project_task_view.xml b/helpdesk_mgmt_project/views/project_task_view.xml index 030cc8e0cc..0a740c9357 100644 --- a/helpdesk_mgmt_project/views/project_task_view.xml +++ b/helpdesk_mgmt_project/views/project_task_view.xml @@ -4,7 +4,7 @@ project.task - + @@ -25,7 +25,7 @@ diff --git a/helpdesk_mgmt_project/views/project_view.xml b/helpdesk_mgmt_project/views/project_view.xml index e539616891..1114496e1e 100644 --- a/helpdesk_mgmt_project/views/project_view.xml +++ b/helpdesk_mgmt_project/views/project_view.xml @@ -50,7 +50,7 @@ From d36749a6c196d5993754167440c925e4a5cbd5be Mon Sep 17 00:00:00 2001 From: oca-ci Date: Sun, 12 Jun 2022 07:29:21 +0000 Subject: [PATCH 31/57] [UPD] Update helpdesk_mgmt_project.pot --- .../i18n/helpdesk_mgmt_project.pot | 23 +------------------ 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot b/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot index 7aac7becfa..90eb3dae1b 100644 --- a/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot +++ b/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 15.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,13 +13,6 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: helpdesk_mgmt_project -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__display_name -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__display_name -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__display_name -msgid "Display Name" -msgstr "" - #. module: helpdesk_mgmt_project #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_project__label_tickets #: model:ir.model.fields,help:helpdesk_mgmt_project.field_project_task__label_tickets @@ -31,20 +24,6 @@ msgstr "" msgid "Helpdesk Ticket" msgstr "" -#. module: helpdesk_mgmt_project -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__id -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__id -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__id -msgid "ID" -msgstr "" - -#. module: helpdesk_mgmt_project -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket____last_update -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project____last_update -#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task____last_update -msgid "Last Modified on" -msgstr "" - #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count From 53f767754c58aa14470961f5fc8090c0c8c2e7c8 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sun, 12 Jun 2022 07:31:44 +0000 Subject: [PATCH 32/57] [UPD] README.rst --- helpdesk_mgmt_project/README.rst | 10 +++++----- helpdesk_mgmt_project/static/description/index.html | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst index 198256c790..1cd2ea04bf 100644 --- a/helpdesk_mgmt_project/README.rst +++ b/helpdesk_mgmt_project/README.rst @@ -14,13 +14,13 @@ Helpdesk Project :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github - :target: https://github.com/OCA/helpdesk/tree/14.0/helpdesk_mgmt_project + :target: https://github.com/OCA/helpdesk/tree/15.0/helpdesk_mgmt_project :alt: OCA/helpdesk .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/helpdesk-14-0/helpdesk-14-0-helpdesk_mgmt_project + :target: https://translation.odoo-community.org/projects/helpdesk-15-0/helpdesk-15-0-helpdesk_mgmt_project :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/282/14.0 + :target: https://runbot.odoo-community.org/runbot/282/15.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -39,7 +39,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -87,6 +87,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/helpdesk `_ project on GitHub. +This module is part of the `OCA/helpdesk `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/helpdesk_mgmt_project/static/description/index.html b/helpdesk_mgmt_project/static/description/index.html index 618b5650e1..a7b2e33e0f 100644 --- a/helpdesk_mgmt_project/static/description/index.html +++ b/helpdesk_mgmt_project/static/description/index.html @@ -367,7 +367,7 @@

    Helpdesk Project

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

    +

    Beta License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

    This module adds Project in Helpdesk. We add to the project form view a ticket counter that redirects you to the helpdesk

    Table of contents

    @@ -387,7 +387,7 @@

    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.

    +feedback.

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

    @@ -430,7 +430,7 @@

    Maintainers

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    -

    This module is part of the OCA/helpdesk project on GitHub.

    +

    This module is part of the OCA/helpdesk project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    From a3506810002f43e59366da7c79cefdb53fd72cd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Wed, 11 Jan 2023 13:07:59 +0100 Subject: [PATCH 33/57] [IMP] helpdesk_mgmt: Only show tickets of the user's helpdesk team with "User: Team tickets" permission. TT41172 --- helpdesk_mgmt_project/tests/test_helpdesk_ticket.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py index c0d2ca171d..eba4affe20 100644 --- a/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py +++ b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py @@ -4,11 +4,10 @@ class TestHelpdeskTicketProject(test_helpdesk_ticket.TestHelpdeskTicket): @classmethod def setUpClass(cls): - super(TestHelpdeskTicketProject, cls).setUpClass() - env = cls.env(user=cls.user_admin) - Ticket = env["helpdesk.ticket"] - Project = env["project.project"] - Task = env["project.task"] + super().setUpClass() + Ticket = cls.env["helpdesk.ticket"] + Project = cls.env["project.project"] + Task = cls.env["project.task"] cls.ticket2 = Ticket.create({"name": "Test 2", "description": "Ticket test2"}) cls.project1 = Project.create({"name": "Test Helpdesk-Project 1"}) cls.task_project1 = Task.create( From 3b20f231ba39374c3dff1440e14485ab9c9c0dd5 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Wed, 11 Jan 2023 10:45:58 +0100 Subject: [PATCH 34/57] [IMP] helpdesk_mgmt_project: apply default project to tickets from portal. --- helpdesk_mgmt_project/__init__.py | 1 + helpdesk_mgmt_project/controllers/__init__.py | 1 + helpdesk_mgmt_project/controllers/main.py | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 helpdesk_mgmt_project/controllers/__init__.py create mode 100644 helpdesk_mgmt_project/controllers/main.py diff --git a/helpdesk_mgmt_project/__init__.py b/helpdesk_mgmt_project/__init__.py index 0650744f6b..f7209b1710 100644 --- a/helpdesk_mgmt_project/__init__.py +++ b/helpdesk_mgmt_project/__init__.py @@ -1 +1,2 @@ from . import models +from . import controllers diff --git a/helpdesk_mgmt_project/controllers/__init__.py b/helpdesk_mgmt_project/controllers/__init__.py new file mode 100644 index 0000000000..12a7e529b6 --- /dev/null +++ b/helpdesk_mgmt_project/controllers/__init__.py @@ -0,0 +1 @@ +from . import main diff --git a/helpdesk_mgmt_project/controllers/main.py b/helpdesk_mgmt_project/controllers/main.py new file mode 100644 index 0000000000..88f6506899 --- /dev/null +++ b/helpdesk_mgmt_project/controllers/main.py @@ -0,0 +1,23 @@ +# Copyright 2023 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +import odoo.http as http + +from odoo.addons.helpdesk_mgmt.controllers.main import HelpdeskTicketController + +_logger = logging.getLogger(__name__) + + +class CustomHelpdeskTicketController(HelpdeskTicketController): + def _prepare_submit_ticket_vals(self, **kw): + vals = super(CustomHelpdeskTicketController, self)._prepare_submit_ticket_vals( + **kw + ) + team = ( + http.request.env["helpdesk.ticket.team"].sudo().browse(vals.get("team_id")) + ) + if team.default_project_id and not vals.get("project_id"): + vals["project_id"] = team.default_project_id.id + return vals From 54d8f177f04468a762920de9aedfbbe6fe3965c1 Mon Sep 17 00:00:00 2001 From: DavidJForgeFlow Date: Wed, 4 Jan 2023 12:19:24 +0100 Subject: [PATCH 35/57] [14.0][IMP] helpdesk_mgmt_project: link kanban task with tickets --- helpdesk_mgmt_project/models/project_task.py | 27 +++++++++++++++++++ .../views/project_task_view.xml | 25 +++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/helpdesk_mgmt_project/models/project_task.py b/helpdesk_mgmt_project/models/project_task.py index dfd309bb9d..919747b735 100644 --- a/helpdesk_mgmt_project/models/project_task.py +++ b/helpdesk_mgmt_project/models/project_task.py @@ -25,3 +25,30 @@ def _compute_ticket_count(self): record.todo_ticket_count = len( record.ticket_ids.filtered(lambda ticket: not ticket.closed) ) + + def action_view_ticket(self): + result = self.env["ir.actions.act_window"]._for_xml_id( + "helpdesk_mgmt.action_helpdesk_ticket_kanban_from_dashboard" + ) + # choose the view_mode accordingly + if not self.ticket_ids or len(self.ticket_ids) > 1: + result["domain"] = "[('id','in',%s)]" % (self.ticket_ids.ids) + res = self.env.ref("helpdesk_mgmt.ticket_view_tree", False) + tree_view = [(res and res.id or False, "tree")] + if "views" in result: + result["views"] = tree_view + [ + (state, view) for state, view in result["views"] if view != "tree" + ] + else: + result["views"] = tree_view + elif len(self.ticket_ids) == 1: + res = self.env.ref("helpdesk_mgmt.ticket_view_form", False) + form_view = [(res and res.id or False, "form")] + if "views" in result: + result["views"] = form_view + [ + (state, view) for state, view in result["views"] if view != "form" + ] + else: + result["views"] = form_view + result["res_id"] = self.ticket_ids.id + return result diff --git a/helpdesk_mgmt_project/views/project_task_view.xml b/helpdesk_mgmt_project/views/project_task_view.xml index f9b6546b32..5ab329da38 100644 --- a/helpdesk_mgmt_project/views/project_task_view.xml +++ b/helpdesk_mgmt_project/views/project_task_view.xml @@ -30,4 +30,29 @@ + + project.task + + +
    + +
    +
    +
    From 1afcb3503dc24565a9f78224be72b7898c4ddb6b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 9 Feb 2023 11:12:08 +0000 Subject: [PATCH 36/57] helpdesk_mgmt_project 15.0.1.1.0 --- helpdesk_mgmt_project/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py index 3679e56a13..d9d25a46d8 100644 --- a/helpdesk_mgmt_project/__manifest__.py +++ b/helpdesk_mgmt_project/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Helpdesk Project", "summary": "Add the option to select project in the tickets.", - "version": "15.0.1.0.0", + "version": "15.0.1.1.0", "license": "AGPL-3", "category": "After-Sales", "author": "PuntSistemes S.L.U., " "Odoo Community Association (OCA)", From dd815e1a00b9b46ce8da0e11741f7c872b25db45 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 9 Feb 2023 16:00:55 +0000 Subject: [PATCH 37/57] helpdesk_mgmt_project 15.0.1.1.1 --- helpdesk_mgmt_project/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py index d9d25a46d8..f0a85b8d6b 100644 --- a/helpdesk_mgmt_project/__manifest__.py +++ b/helpdesk_mgmt_project/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Helpdesk Project", "summary": "Add the option to select project in the tickets.", - "version": "15.0.1.1.0", + "version": "15.0.1.1.1", "license": "AGPL-3", "category": "After-Sales", "author": "PuntSistemes S.L.U., " "Odoo Community Association (OCA)", From ca49af9dc4c74ffdfc866d25dc8e45e2dd19cb5a Mon Sep 17 00:00:00 2001 From: Zu83 Date: Wed, 1 Mar 2023 12:31:01 +0100 Subject: [PATCH 38/57] [MIG] helpdesk_mgmt_project: migration to 16.0 --- helpdesk_mgmt_project/__manifest__.py | 3 ++- helpdesk_mgmt_project/controllers/main.py | 4 ---- helpdesk_mgmt_project/models/__init__.py | 1 + helpdesk_mgmt_project/models/helpdesk_ticket_team.py | 9 +++++++++ .../views/helpdesk_ticket_team_view.xml | 12 ++++++++++++ helpdesk_mgmt_project/views/project_task_view.xml | 4 ++-- 6 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 helpdesk_mgmt_project/models/helpdesk_ticket_team.py create mode 100644 helpdesk_mgmt_project/views/helpdesk_ticket_team_view.xml diff --git a/helpdesk_mgmt_project/__manifest__.py b/helpdesk_mgmt_project/__manifest__.py index f0a85b8d6b..1a60886c90 100644 --- a/helpdesk_mgmt_project/__manifest__.py +++ b/helpdesk_mgmt_project/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Helpdesk Project", "summary": "Add the option to select project in the tickets.", - "version": "15.0.1.1.1", + "version": "16.0.1.0.0", "license": "AGPL-3", "category": "After-Sales", "author": "PuntSistemes S.L.U., " "Odoo Community Association (OCA)", @@ -11,6 +11,7 @@ "depends": ["helpdesk_mgmt", "project"], "data": [ "views/helpdesk_ticket_view.xml", + "views/helpdesk_ticket_team_view.xml", "views/project_view.xml", "views/project_task_view.xml", ], diff --git a/helpdesk_mgmt_project/controllers/main.py b/helpdesk_mgmt_project/controllers/main.py index 88f6506899..53e3c16006 100644 --- a/helpdesk_mgmt_project/controllers/main.py +++ b/helpdesk_mgmt_project/controllers/main.py @@ -1,14 +1,10 @@ # Copyright 2023 ForgeFlow S.L. (https://www.forgeflow.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -import logging - import odoo.http as http from odoo.addons.helpdesk_mgmt.controllers.main import HelpdeskTicketController -_logger = logging.getLogger(__name__) - class CustomHelpdeskTicketController(HelpdeskTicketController): def _prepare_submit_ticket_vals(self, **kw): diff --git a/helpdesk_mgmt_project/models/__init__.py b/helpdesk_mgmt_project/models/__init__.py index a7f4c80105..6dc6335f76 100644 --- a/helpdesk_mgmt_project/models/__init__.py +++ b/helpdesk_mgmt_project/models/__init__.py @@ -1,3 +1,4 @@ from . import helpdesk_ticket +from . import helpdesk_ticket_team from . import project from . import project_task diff --git a/helpdesk_mgmt_project/models/helpdesk_ticket_team.py b/helpdesk_mgmt_project/models/helpdesk_ticket_team.py new file mode 100644 index 0000000000..3aca93ad3d --- /dev/null +++ b/helpdesk_mgmt_project/models/helpdesk_ticket_team.py @@ -0,0 +1,9 @@ +from odoo import fields, models + + +class HelpdeskTeam(models.Model): + _inherit = "helpdesk.ticket.team" + + default_project_id = fields.Many2one( + "project.project", string="Project", readonly=False + ) diff --git a/helpdesk_mgmt_project/views/helpdesk_ticket_team_view.xml b/helpdesk_mgmt_project/views/helpdesk_ticket_team_view.xml new file mode 100644 index 0000000000..6f163dcccc --- /dev/null +++ b/helpdesk_mgmt_project/views/helpdesk_ticket_team_view.xml @@ -0,0 +1,12 @@ + + + + helpdesk.ticket.team + + + + + + + + diff --git a/helpdesk_mgmt_project/views/project_task_view.xml b/helpdesk_mgmt_project/views/project_task_view.xml index 5ab329da38..b6797437c8 100644 --- a/helpdesk_mgmt_project/views/project_task_view.xml +++ b/helpdesk_mgmt_project/views/project_task_view.xml @@ -34,7 +34,7 @@ project.task -
    +
    - +   From 0e46158a195d65b5d41e8391bcaa57b037d50773 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 29 May 2023 12:10:44 +0000 Subject: [PATCH 39/57] [UPD] Update helpdesk_mgmt_project.pot --- helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot b/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot index 90eb3dae1b..cfed97f980 100644 --- a/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot +++ b/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -24,6 +24,11 @@ msgstr "" msgid "Helpdesk Ticket" msgstr "" +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "" + #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count @@ -39,6 +44,7 @@ msgstr "" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_project_id msgid "Project" msgstr "" @@ -55,6 +61,7 @@ msgid "Ticket Count" msgstr "" #. module: helpdesk_mgmt_project +#. odoo-python #: code:addons/helpdesk_mgmt_project/models/project.py:0 #: code:addons/helpdesk_mgmt_project/models/project_task.py:0 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project From 8e4a8553800f91fea22cb9c7804a805a80556efe Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 29 May 2023 12:13:46 +0000 Subject: [PATCH 40/57] [UPD] README.rst --- helpdesk_mgmt_project/README.rst | 10 +++++----- helpdesk_mgmt_project/static/description/index.html | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst index 1cd2ea04bf..bffeb8d0c8 100644 --- a/helpdesk_mgmt_project/README.rst +++ b/helpdesk_mgmt_project/README.rst @@ -14,13 +14,13 @@ Helpdesk Project :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github - :target: https://github.com/OCA/helpdesk/tree/15.0/helpdesk_mgmt_project + :target: https://github.com/OCA/helpdesk/tree/16.0/helpdesk_mgmt_project :alt: OCA/helpdesk .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/helpdesk-15-0/helpdesk-15-0-helpdesk_mgmt_project + :target: https://translation.odoo-community.org/projects/helpdesk-16-0/helpdesk-16-0-helpdesk_mgmt_project :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/282/15.0 + :target: https://runbot.odoo-community.org/runbot/282/16.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -39,7 +39,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -87,6 +87,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/helpdesk `_ project on GitHub. +This module is part of the `OCA/helpdesk `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/helpdesk_mgmt_project/static/description/index.html b/helpdesk_mgmt_project/static/description/index.html index a7b2e33e0f..d62ec50f03 100644 --- a/helpdesk_mgmt_project/static/description/index.html +++ b/helpdesk_mgmt_project/static/description/index.html @@ -367,7 +367,7 @@

    Helpdesk Project

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

    +

    Beta License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runbot

    This module adds Project in Helpdesk. We add to the project form view a ticket counter that redirects you to the helpdesk

    Table of contents

    @@ -387,7 +387,7 @@

    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.

    +feedback.

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

    @@ -430,7 +430,7 @@

    Maintainers

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    -

    This module is part of the OCA/helpdesk project on GitHub.

    +

    This module is part of the OCA/helpdesk project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    From 10d7cd065885d21558ac35dc2c24ce1c19fe404a Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 29 May 2023 15:12:08 +0000 Subject: [PATCH 41/57] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: helpdesk-16.0/helpdesk-16.0-helpdesk_mgmt_project Translate-URL: https://translation.odoo-community.org/projects/helpdesk-16-0/helpdesk-16-0-helpdesk_mgmt_project/ --- helpdesk_mgmt_project/i18n/es.po | 7 +++++++ helpdesk_mgmt_project/i18n/es_AR.po | 7 +++++++ helpdesk_mgmt_project/i18n/fr.po | 7 +++++++ helpdesk_mgmt_project/i18n/hu.po | 7 +++++++ helpdesk_mgmt_project/i18n/it.po | 7 +++++++ helpdesk_mgmt_project/i18n/pt.po | 7 +++++++ 6 files changed, 42 insertions(+) diff --git a/helpdesk_mgmt_project/i18n/es.po b/helpdesk_mgmt_project/i18n/es.po index 74247cddf9..3ea082e22a 100644 --- a/helpdesk_mgmt_project/i18n/es.po +++ b/helpdesk_mgmt_project/i18n/es.po @@ -28,6 +28,11 @@ msgstr "Da etiqueta a las entradas en la vista kanban del proyecto." msgid "Helpdesk Ticket" msgstr "Ticket Helpdesk" +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "" + #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count @@ -43,6 +48,7 @@ msgstr "Tickets abiertos" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_project_id msgid "Project" msgstr "Proyecto" @@ -59,6 +65,7 @@ msgid "Ticket Count" msgstr "Contador Tickets" #. module: helpdesk_mgmt_project +#. odoo-python #: code:addons/helpdesk_mgmt_project/models/project.py:0 #: code:addons/helpdesk_mgmt_project/models/project_task.py:0 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project diff --git a/helpdesk_mgmt_project/i18n/es_AR.po b/helpdesk_mgmt_project/i18n/es_AR.po index 74d71d9faa..9f5b739a46 100644 --- a/helpdesk_mgmt_project/i18n/es_AR.po +++ b/helpdesk_mgmt_project/i18n/es_AR.po @@ -27,6 +27,11 @@ msgstr "Otorga una etiqueta a los tickets en la vista kanban del proyecto." msgid "Helpdesk Ticket" msgstr "Ticket de la Mesa de Ayuda" +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "" + #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count @@ -42,6 +47,7 @@ msgstr "Tickets Abiertos" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_project_id msgid "Project" msgstr "Proyecto" @@ -58,6 +64,7 @@ msgid "Ticket Count" msgstr "Cuenta de Ticket" #. module: helpdesk_mgmt_project +#. odoo-python #: code:addons/helpdesk_mgmt_project/models/project.py:0 #: code:addons/helpdesk_mgmt_project/models/project_task.py:0 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project diff --git a/helpdesk_mgmt_project/i18n/fr.po b/helpdesk_mgmt_project/i18n/fr.po index aee8caefe7..b0d17bfa63 100644 --- a/helpdesk_mgmt_project/i18n/fr.po +++ b/helpdesk_mgmt_project/i18n/fr.po @@ -27,6 +27,11 @@ msgstr "Donne des étiquettes aux tickets sur la vue kanban du projet." msgid "Helpdesk Ticket" msgstr "Ticket d'assistance" +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "" + #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count @@ -42,6 +47,7 @@ msgstr "Tickets ouverts" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_project_id msgid "Project" msgstr "Projet" @@ -58,6 +64,7 @@ msgid "Ticket Count" msgstr "Nombre de tickets" #. module: helpdesk_mgmt_project +#. odoo-python #: code:addons/helpdesk_mgmt_project/models/project.py:0 #: code:addons/helpdesk_mgmt_project/models/project_task.py:0 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project diff --git a/helpdesk_mgmt_project/i18n/hu.po b/helpdesk_mgmt_project/i18n/hu.po index 1f31bc40e8..d8929765fe 100644 --- a/helpdesk_mgmt_project/i18n/hu.po +++ b/helpdesk_mgmt_project/i18n/hu.po @@ -27,6 +27,11 @@ msgstr "A projekt kanban nézetében az esetek megnevezésére használt kifejez msgid "Helpdesk Ticket" msgstr "Eset" +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "" + #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count @@ -42,6 +47,7 @@ msgstr "Nyitott esetek" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_project_id msgid "Project" msgstr "Projekt" @@ -58,6 +64,7 @@ msgid "Ticket Count" msgstr "Esetek száma" #. module: helpdesk_mgmt_project +#. odoo-python #: code:addons/helpdesk_mgmt_project/models/project.py:0 #: code:addons/helpdesk_mgmt_project/models/project_task.py:0 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project diff --git a/helpdesk_mgmt_project/i18n/it.po b/helpdesk_mgmt_project/i18n/it.po index fbe15417c0..ed73b578ff 100644 --- a/helpdesk_mgmt_project/i18n/it.po +++ b/helpdesk_mgmt_project/i18n/it.po @@ -27,6 +27,11 @@ msgstr "Aggiunge un'etichetta ai ticket sulla vista kanban del progetto." msgid "Helpdesk Ticket" msgstr "Ticket Helpdesk" +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "" + #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count @@ -42,6 +47,7 @@ msgstr "Ticket aperti" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_project_id msgid "Project" msgstr "Progetto" @@ -58,6 +64,7 @@ msgid "Ticket Count" msgstr "Conteggio ticket" #. module: helpdesk_mgmt_project +#. odoo-python #: code:addons/helpdesk_mgmt_project/models/project.py:0 #: code:addons/helpdesk_mgmt_project/models/project_task.py:0 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project diff --git a/helpdesk_mgmt_project/i18n/pt.po b/helpdesk_mgmt_project/i18n/pt.po index f4671ca9c2..c672dccb21 100644 --- a/helpdesk_mgmt_project/i18n/pt.po +++ b/helpdesk_mgmt_project/i18n/pt.po @@ -27,6 +27,11 @@ msgstr "Fornece rótulos aos tickets na vista kanban dos projetos." msgid "Helpdesk Ticket" msgstr "Ticket de Helpdesk" +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "" + #. module: helpdesk_mgmt_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_project__todo_ticket_count #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_project_task__todo_ticket_count @@ -42,6 +47,7 @@ msgstr "Tickets Abertos" #. module: helpdesk_mgmt_project #: model:ir.model,name:helpdesk_mgmt_project.model_project_project #: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket__project_id +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_project_id msgid "Project" msgstr "Projeto" @@ -58,6 +64,7 @@ msgid "Ticket Count" msgstr "Nº de Tickets" #. module: helpdesk_mgmt_project +#. odoo-python #: code:addons/helpdesk_mgmt_project/models/project.py:0 #: code:addons/helpdesk_mgmt_project/models/project_task.py:0 #: model:ir.actions.act_window,name:helpdesk_mgmt_project.ticket_action_from_project From c9a1f9ebec31dfa36d7dd74b4c41b893d1e1770b Mon Sep 17 00:00:00 2001 From: Rafa Morant Date: Wed, 21 Jun 2023 14:00:28 +0200 Subject: [PATCH 42/57] [FIX] helpdesk_mgmt_project: improve performance counting tickets --- helpdesk_mgmt_project/README.rst | 4 ++++ helpdesk_mgmt_project/models/project.py | 19 +++++++++++---- helpdesk_mgmt_project/models/project_task.py | 24 ++++++++++++++----- helpdesk_mgmt_project/readme/CONTRIBUTORS.rst | 4 ++++ .../static/description/index.html | 6 ++++- 5 files changed, 46 insertions(+), 11 deletions(-) diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst index bffeb8d0c8..fb4ba84817 100644 --- a/helpdesk_mgmt_project/README.rst +++ b/helpdesk_mgmt_project/README.rst @@ -74,6 +74,10 @@ Contributors * Manuel Regidor +* `ALBA Software `_: + + * Rafa Morant + Maintainers ~~~~~~~~~~~ diff --git a/helpdesk_mgmt_project/models/project.py b/helpdesk_mgmt_project/models/project.py index 13109eb76e..cf524e319b 100644 --- a/helpdesk_mgmt_project/models/project.py +++ b/helpdesk_mgmt_project/models/project.py @@ -20,8 +20,19 @@ class ProjectProject(models.Model): @api.depends("ticket_ids", "ticket_ids.stage_id") def _compute_ticket_count(self): + HelpdeskTicket = self.env["helpdesk.ticket"] + domain = [("project_id", "in", self.ids)] + fields = ["project_id"] + groupby = ["project_id"] + counts = { + pr["project_id"][0]: pr["project_id_count"] + for pr in HelpdeskTicket.read_group(domain, fields, groupby) + } + domain.append(("closed", "=", False)) + counts_todo = { + pr["project_id"][0]: pr["project_id_count"] + for pr in HelpdeskTicket.read_group(domain, fields, groupby) + } for record in self: - record.ticket_count = len(record.ticket_ids) - record.todo_ticket_count = len( - record.ticket_ids.filtered(lambda ticket: not ticket.closed) - ) + record.ticket_count = counts.get(record.id, 0) + record.todo_ticket_count = counts_todo.get(record.id, 0) diff --git a/helpdesk_mgmt_project/models/project_task.py b/helpdesk_mgmt_project/models/project_task.py index 919747b735..5e8ffd0af7 100644 --- a/helpdesk_mgmt_project/models/project_task.py +++ b/helpdesk_mgmt_project/models/project_task.py @@ -20,18 +20,30 @@ class ProjectTask(models.Model): @api.depends("ticket_ids", "ticket_ids.stage_id") def _compute_ticket_count(self): + HelpdeskTicket = self.env["helpdesk.ticket"] + invname = "task_id" + domain = [(invname, "in", self.ids)] + fields = [invname] + groupby = [invname] + counts = { + pr[invname][0]: pr[f"{invname}_count"] + for pr in HelpdeskTicket.read_group(domain, fields, groupby) + } + domain.append(("closed", "=", False)) + counts_todo = { + pr[invname][0]: pr[f"{invname}_count"] + for pr in HelpdeskTicket.read_group(domain, fields, groupby) + } for record in self: - record.ticket_count = len(record.ticket_ids) - record.todo_ticket_count = len( - record.ticket_ids.filtered(lambda ticket: not ticket.closed) - ) + record.ticket_count = counts.get(record.id, 0) + record.todo_ticket_count = counts_todo.get(record.id, 0) def action_view_ticket(self): result = self.env["ir.actions.act_window"]._for_xml_id( "helpdesk_mgmt.action_helpdesk_ticket_kanban_from_dashboard" ) # choose the view_mode accordingly - if not self.ticket_ids or len(self.ticket_ids) > 1: + if not self.ticket_ids or self.ticket_count > 1: result["domain"] = "[('id','in',%s)]" % (self.ticket_ids.ids) res = self.env.ref("helpdesk_mgmt.ticket_view_tree", False) tree_view = [(res and res.id or False, "tree")] @@ -41,7 +53,7 @@ def action_view_ticket(self): ] else: result["views"] = tree_view - elif len(self.ticket_ids) == 1: + elif self.ticket_count == 1: res = self.env.ref("helpdesk_mgmt.ticket_view_form", False) form_view = [(res and res.id or False, "form")] if "views" in result: diff --git a/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst index eaa2b34a5e..557940de99 100644 --- a/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst +++ b/helpdesk_mgmt_project/readme/CONTRIBUTORS.rst @@ -17,3 +17,7 @@ * `Sygel `_: * Manuel Regidor + +* `ALBA Software `_: + + * Rafa Morant diff --git a/helpdesk_mgmt_project/static/description/index.html b/helpdesk_mgmt_project/static/description/index.html index d62ec50f03..235a28fed3 100644 --- a/helpdesk_mgmt_project/static/description/index.html +++ b/helpdesk_mgmt_project/static/description/index.html @@ -3,7 +3,7 @@ - + Helpdesk Project