diff --git a/helpdesk_mgmt/tests/common.py b/helpdesk_mgmt/tests/common.py index b483085551..0331b50217 100644 --- a/helpdesk_mgmt/tests/common.py +++ b/helpdesk_mgmt/tests/common.py @@ -1,37 +1,30 @@ # Copyright 2023 Tecnativa - Víctor Martínez # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html -from odoo.tests import common, new_test_user +from odoo.tests import new_test_user +from odoo.addons.base.tests.common import BaseCommon -class TestHelpdeskTicketBase(common.TransactionCase): + +class TestHelpdeskTicketBase(BaseCommon): @classmethod def setUpClass(cls): super().setUpClass() helpdesk_ticket_team = cls.env["helpdesk.ticket.team"] - ctx = { - "mail_create_nolog": True, - "mail_create_nosubscribe": True, - "mail_notrack": True, - "no_reset_password": True, - } cls.company = cls.env.company cls.user_own = new_test_user( cls.env, login="helpdesk_mgmt-user_own", groups="helpdesk_mgmt.group_helpdesk_user_own", - context=ctx, ) cls.user_team = new_test_user( cls.env, login="helpdesk_mgmt-user_team", groups="helpdesk_mgmt.group_helpdesk_user_team", - context=ctx, ) cls.user = new_test_user( cls.env, login="helpdesk_mgmt-user", groups="helpdesk_mgmt.group_helpdesk_user", - context=ctx, ) cls.stage_closed = cls.env.ref("helpdesk_mgmt.helpdesk_ticket_stage_done") cls.team_a = helpdesk_ticket_team.create( @@ -41,16 +34,17 @@ def setUpClass(cls): {"name": "Team B", "user_ids": [(6, 0, [cls.user_team.id])]} ) cls.new_stage = cls.env.ref("helpdesk_mgmt.helpdesk_ticket_stage_new") - cls.ticket_a_unassigned = cls._create_ticket(cls, cls.team_a) + cls.ticket_a_unassigned = cls._create_ticket(cls.team_a) cls.ticket_a_unassigned.priority = "3" - cls.ticket_a_user_own = cls._create_ticket(cls, cls.team_a, cls.user_own) - cls.ticket_a_user_team = cls._create_ticket(cls, cls.team_a, cls.user_team) - cls.ticket_b_unassigned = cls._create_ticket(cls, cls.team_b) - cls.ticket_b_user_own = cls._create_ticket(cls, cls.team_b, cls.user_own) - cls.ticket_b_user_team = cls._create_ticket(cls, cls.team_b, cls.user_team) + cls.ticket_a_user_own = cls._create_ticket(cls.team_a, cls.user_own) + cls.ticket_a_user_team = cls._create_ticket(cls.team_a, cls.user_team) + cls.ticket_b_unassigned = cls._create_ticket(cls.team_b) + cls.ticket_b_user_own = cls._create_ticket(cls.team_b, cls.user_own) + cls.ticket_b_user_team = cls._create_ticket(cls.team_b, cls.user_team) - def _create_ticket(self, team, user=False): - ticket = self.env["helpdesk.ticket"].create( + @classmethod + def _create_ticket(cls, team, user=False): + ticket = cls.env["helpdesk.ticket"].create( { "name": "Ticket {} ({})".format( team.name, user.login if user else "unassigned" diff --git a/helpdesk_mgmt/tests/test_helpdesk_portal.py b/helpdesk_mgmt/tests/test_helpdesk_portal.py index a6a12a0635..b49fa68917 100644 --- a/helpdesk_mgmt/tests/test_helpdesk_portal.py +++ b/helpdesk_mgmt/tests/test_helpdesk_portal.py @@ -4,7 +4,7 @@ from odoo import http from odoo.tests.common import new_test_user, tagged -from odoo.addons.base.tests.common import HttpCaseWithUserPortal +from odoo.addons.base.tests.common import DISABLED_MAIL_CONTEXT, HttpCaseWithUserPortal @tagged("post_install", "-at_install") @@ -14,33 +14,30 @@ class TestHelpdeskPortalBase(HttpCaseWithUserPortal): HTML produced by our routes. """ - def setUp(self): - super().setUp() - ctx = { - "mail_create_nolog": True, - "mail_create_nosubscribe": True, - "mail_notrack": True, - "no_reset_password": True, - } - self.new_ticket_title = "portal-new-submitted-ticket-subject" - self.new_ticket_desc_lines = ( # multiline description to check line breaks + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, **DISABLED_MAIL_CONTEXT)) + cls.new_ticket_title = "portal-new-submitted-ticket-subject" + cls.new_ticket_desc_lines = ( # multiline description to check line breaks "portal-new-submitted-ticket-description-line-1", "portal-new-submitted-ticket-description-line-2", ) - self.company = self.env.ref("base.main_company") - self.partner_portal.parent_id = self.company.partner_id + cls.company = cls.env.ref("base.main_company") + cls.partner_portal.parent_id = cls.company.partner_id # Create a basic user with no helpdesk permissions. - self.basic_user = new_test_user(self.env, login="test-basic-user", context=ctx) - self.basic_user.parent_id = self.company.partner_id + cls.basic_user = new_test_user(cls.env, login="test-basic-user") + cls.basic_user.parent_id = cls.company.partner_id # Create a ticket submitted by our portal user. - self.portal_ticket = self._create_ticket( - self.partner_portal, "portal-ticket-title" + cls.portal_ticket = cls._create_ticket( + cls.partner_portal, "portal-ticket-title" ) def get_new_tickets(self, user): return self.env["helpdesk.ticket"].with_user(user).search([]) - def _create_ticket(self, partner, ticket_title, **values): + @classmethod + def _create_ticket(cls, partner, ticket_title, **values): """Create a ticket submitted by the specified partner.""" data = { "name": ticket_title, @@ -50,7 +47,7 @@ def _create_ticket(self, partner, ticket_title, **values): "partner_name": partner.name, } data.update(**values) - return self.env["helpdesk.ticket"].create(data) + return cls.env["helpdesk.ticket"].create(data) def _submit_ticket(self, **values): data = { diff --git a/helpdesk_mgmt/tests/test_res_partner.py b/helpdesk_mgmt/tests/test_res_partner.py index 8a349c9402..63187dc1b9 100644 --- a/helpdesk_mgmt/tests/test_res_partner.py +++ b/helpdesk_mgmt/tests/test_res_partner.py @@ -1,36 +1,37 @@ -from odoo.tests.common import TransactionCase +from odoo.addons.base.tests.common import BaseCommon -class TestPartner(TransactionCase): - def setUp(self): - super().setUp() - self.partner_obj = self.env["res.partner"] - self.ticket_obj = self.env["helpdesk.ticket"] - self.stage_id_closed = self.env.ref("helpdesk_mgmt.helpdesk_ticket_stage_done") - self.parent_id = self.partner_obj.create({"name": "Parent 1"}) - self.child_id_1 = self.partner_obj.create({"name": "Child 1"}) - self.child_id_2 = self.partner_obj.create({"name": "Child 2"}) - self.child_id_3 = self.partner_obj.create({"name": "Child 3"}) - self.tickets = [] - self.parent_id.child_ids = [ - (4, self.child_id_1.id), - (4, self.child_id_2.id), - (4, self.child_id_3.id), +class TestPartner(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.partner_obj = cls.env["res.partner"] + cls.ticket_obj = cls.env["helpdesk.ticket"] + cls.stage_id_closed = cls.env.ref("helpdesk_mgmt.helpdesk_ticket_stage_done") + cls.parent_id = cls.partner_obj.create({"name": "Parent 1"}) + cls.child_id_1 = cls.partner_obj.create({"name": "Child 1"}) + cls.child_id_2 = cls.partner_obj.create({"name": "Child 2"}) + cls.child_id_3 = cls.partner_obj.create({"name": "Child 3"}) + cls.tickets = [] + cls.parent_id.child_ids = [ + (4, cls.child_id_1.id), + (4, cls.child_id_2.id), + (4, cls.child_id_3.id), ] for i in [69, 155, 314, 420]: - self.tickets.append( - self.ticket_obj.create( + cls.tickets.append( + cls.ticket_obj.create( { "name": f"Nice ticket {i}", "description": f"Nice ticket {i} description", } ) ) - self.parent_id.helpdesk_ticket_ids = [(4, self.tickets[0].id)] - self.child_id_1.helpdesk_ticket_ids = [(4, self.tickets[1].id)] - self.child_id_2.helpdesk_ticket_ids = [(4, self.tickets[2].id)] - self.child_id_3.helpdesk_ticket_ids = [(4, self.tickets[3].id)] - self.child_id_3.helpdesk_ticket_ids[-1].stage_id = self.stage_id_closed + cls.parent_id.helpdesk_ticket_ids = [(4, cls.tickets[0].id)] + cls.child_id_1.helpdesk_ticket_ids = [(4, cls.tickets[1].id)] + cls.child_id_2.helpdesk_ticket_ids = [(4, cls.tickets[2].id)] + cls.child_id_3.helpdesk_ticket_ids = [(4, cls.tickets[3].id)] + cls.child_id_3.helpdesk_ticket_ids[-1].stage_id = cls.stage_id_closed def test_ticket_count(self): self.assertEqual(self.parent_id.helpdesk_ticket_count, 4) diff --git a/helpdesk_mgmt_project/README.rst b/helpdesk_mgmt_project/README.rst new file mode 100644 index 0000000000..f4518edcdf --- /dev/null +++ b/helpdesk_mgmt_project/README.rst @@ -0,0 +1,99 @@ +================ +Helpdesk Project +================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:ff13c3cd597a5fac1ba2aa9d3c495d175e52fdc65bc94f5381f1e12756e418bb + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |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/17.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-17-0/helpdesk-17-0-helpdesk_mgmt_project + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&target_branch=17.0 + :alt: Try me on Runboat + +|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 + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash 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 `__: + + - Carlos Ramos Hernández + +- `Tecnativa `__: + + - Pedro M. Baeza + +- `CommitSun `__: + + - Darío Lodeiros + +- `Solvos `__: + + - David Alonso + +- `Sygel `__: + + - Manuel Regidor + +- `ALBA Software `__: + + - Rafa Morant + +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..f96b84b1e6 --- /dev/null +++ b/helpdesk_mgmt_project/__manifest__.py @@ -0,0 +1,20 @@ +# 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": "17.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/helpdesk_ticket_team_view.xml", + "views/project_view.xml", + "views/project_task_view.xml", + ], + "development_status": "Production/Stable", + "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..03477fc70b --- /dev/null +++ b/helpdesk_mgmt_project/i18n/es.po @@ -0,0 +1,84 @@ +# 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: 2023-08-07 13:11+0000\n" +"Last-Translator: Marcos Oitabén Fernández \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: Weblate 4.17\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." + +#. 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_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "Equipo de asistencia para entradas" + +#. 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 "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 "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" + +#. 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 +#. 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 +#: 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 "Tiquets" + +#. 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/es_AR.po b/helpdesk_mgmt_project/i18n/es_AR.po new file mode 100644 index 0000000000..9f5b739a46 --- /dev/null +++ b/helpdesk_mgmt_project/i18n/es_AR.po @@ -0,0 +1,83 @@ +# 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" +"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 "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 "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 +msgid "Number of tickets" +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 "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" + +#. 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 "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 +#: 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 "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/fr.po b/helpdesk_mgmt_project/i18n/fr.po new file mode 100644 index 0000000000..98b9ccb52f --- /dev/null +++ b/helpdesk_mgmt_project/i18n/fr.po @@ -0,0 +1,83 @@ +# 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" +"PO-Revision-Date: 2024-02-29 10:33+0000\n" +"Last-Translator: Vincent Hatakeyama \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 4.17\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 "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 "Ticket d'assistance" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "Équipe d’assistance ticket" + +#. 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 "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 "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" + +#. 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 "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 "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 +#: 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 "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 "Utilisez les tickets comme" 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..cfed97f980 --- /dev/null +++ b/helpdesk_mgmt_project/i18n/helpdesk_mgmt_project.pot @@ -0,0 +1,80 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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,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 +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 +#: model:ir.model.fields,field_description:helpdesk_mgmt_project.field_helpdesk_ticket_team__default_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 +#. 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 +#: 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 "" diff --git a/helpdesk_mgmt_project/i18n/hu.po b/helpdesk_mgmt_project/i18n/hu.po new file mode 100644 index 0000000000..d8929765fe --- /dev/null +++ b/helpdesk_mgmt_project/i18n/hu.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-04-16 09:00+0000\n" +"Last-Translator: Tamás Dombos \n" +"Language-Team: none\n" +"Language: hu\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 4.3.2\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 "A projekt kanban nézetében az esetek megnevezésére használt kifejezés." + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +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 +msgid "Number of tickets" +msgstr "Esetek száma" + +#. 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 "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" + +#. 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 "Feladat" + +#. 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 "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 +#: 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 "Esetek" + +#. 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 "Esetek megnevezése" diff --git a/helpdesk_mgmt_project/i18n/it.po b/helpdesk_mgmt_project/i18n/it.po new file mode 100644 index 0000000000..da0d83e141 --- /dev/null +++ b/helpdesk_mgmt_project/i18n/it.po @@ -0,0 +1,83 @@ +# 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" +"PO-Revision-Date: 2024-04-29 16:34+0000\n" +"Last-Translator: mymage \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 4.17\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 "Aggiunge 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 "Ticket assistenza clienti" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "Team ticket assistenza clienti" + +#. 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 "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 "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" + +#. 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 "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 "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 +#: 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 "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 "Usa i ticket come" diff --git a/helpdesk_mgmt_project/i18n/pt.po b/helpdesk_mgmt_project/i18n/pt.po new file mode 100644 index 0000000000..5c2f34f42b --- /dev/null +++ b/helpdesk_mgmt_project/i18n/pt.po @@ -0,0 +1,83 @@ +# 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" +"PO-Revision-Date: 2024-02-29 20:34+0000\n" +"Last-Translator: Peter Romão \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 4.17\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 "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 "Ticket de Helpdesk" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "Equipa de 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 "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 "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" + +#. 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 "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 "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 +#: 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 "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/pt_BR.po b/helpdesk_mgmt_project/i18n/pt_BR.po new file mode 100644 index 0000000000..0cd7a54ac8 --- /dev/null +++ b/helpdesk_mgmt_project/i18n/pt_BR.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-10-28 20:12+0000\n" +"Last-Translator: Adriano Prado \n" +"Language-Team: none\n" +"Language: pt_BR\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 4.17\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 "Fornece rótulo aos chamados na visualização kanban do projeto." + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "Chamado da Central de Ajuda" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "Equipe do Chamado da Central de Ajuda" + +#. 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 "Número de chamados" + +#. 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 "Chamados 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" + +#. 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 "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 "Contagem de Chamados" + +#. 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 +#: 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 "Chamados" + +#. 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 "Use chamados como" diff --git a/helpdesk_mgmt_project/i18n/sv.po b/helpdesk_mgmt_project/i18n/sv.po new file mode 100644 index 0000000000..6fb3bd489b --- /dev/null +++ b/helpdesk_mgmt_project/i18n/sv.po @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * helpdesk_mgmt_project +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-09-26 14:06+0000\n" +"Last-Translator: jakobkrabbe \n" +"Language-Team: none\n" +"Language: sv\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 5.6.2\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 "Ger etikett till ärendet i projektets kanbanvy." + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket +msgid "Helpdesk Ticket" +msgstr "Helpdesk ärenden" + +#. module: helpdesk_mgmt_project +#: model:ir.model,name:helpdesk_mgmt_project.model_helpdesk_ticket_team +msgid "Helpdesk Ticket Team" +msgstr "Helpdesk ärenden team" + +#. 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 "Antal ärenden" + +#. 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 "Öppna ärenden" + +#. 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" + +#. 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 "Uppgift" + +#. 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 "Antal ärenden" + +#. 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 +#: 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 "Ärenden" + +#. 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 "Använd ärenden som" diff --git a/helpdesk_mgmt_project/models/__init__.py b/helpdesk_mgmt_project/models/__init__.py new file mode 100644 index 0000000000..6dc6335f76 --- /dev/null +++ b/helpdesk_mgmt_project/models/__init__.py @@ -0,0 +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.py b/helpdesk_mgmt_project/models/helpdesk_ticket.py new file mode 100644 index 0000000000..88ad0f5f80 --- /dev/null +++ b/helpdesk_mgmt_project/models/helpdesk_ticket.py @@ -0,0 +1,23 @@ +from odoo import api, fields, models + + +class HelpdeskTicket(models.Model): + _inherit = "helpdesk.ticket" + + project_id = fields.Many2one( + string="Project", comodel_name="project.project", tracking=True + ) + task_id = fields.Many2one( + string="Task", + comodel_name="project.task", + compute="_compute_task_id", + readonly=False, + store=True, + tracking=True, + ) + + @api.depends("project_id") + def _compute_task_id(self): + for record in self: + if record.task_id.project_id != record.project_id: + record.task_id = False 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..81ac909a7e --- /dev/null +++ b/helpdesk_mgmt_project/models/helpdesk_ticket_team.py @@ -0,0 +1,12 @@ +from odoo import fields, models + + +class HelpdeskTeam(models.Model): + _inherit = "helpdesk.ticket.team" + + default_project_id = fields.Many2one( + comodel_name="project.project", + string="Project", + readonly=False, + company_dependent=True, + ) diff --git a/helpdesk_mgmt_project/models/project.py b/helpdesk_mgmt_project/models/project.py new file mode 100644 index 0000000000..cf524e319b --- /dev/null +++ b/helpdesk_mgmt_project/models/project.py @@ -0,0 +1,38 @@ +from odoo import _, api, fields, models + + +class ProjectProject(models.Model): + _inherit = "project.project" + + ticket_ids = fields.One2many( + comodel_name="helpdesk.ticket", inverse_name="project_id", string="Tickets" + ) + ticket_count = fields.Integer(compute="_compute_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): + 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 = 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 new file mode 100644 index 0000000000..5e8ffd0af7 --- /dev/null +++ b/helpdesk_mgmt_project/models/project_task.py @@ -0,0 +1,66 @@ +from odoo import _, api, fields, models + + +class ProjectTask(models.Model): + _inherit = "project.task" + + ticket_ids = fields.One2many( + comodel_name="helpdesk.ticket", inverse_name="task_id", string="Tickets" + ) + ticket_count = fields.Integer(compute="_compute_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): + 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 = 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 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")] + 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 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: + 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/pyproject.toml b/helpdesk_mgmt_project/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/helpdesk_mgmt_project/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/helpdesk_mgmt_project/readme/CONTRIBUTORS.md b/helpdesk_mgmt_project/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..ca2e04dd9d --- /dev/null +++ b/helpdesk_mgmt_project/readme/CONTRIBUTORS.md @@ -0,0 +1,12 @@ +- [Puntsistemes](https://www.puntsistemes.es): + - Carlos Ramos Hernández +- [Tecnativa](https://www.tecnativa.com): + - Pedro M. Baeza +- [CommitSun](https://www.commitsun.com): + - Darío Lodeiros +- [Solvos](https://www.solvos.es): + - David Alonso +- [Sygel](https://www.sygel.es): + - Manuel Regidor +- [ALBA Software](https://www.albasoft.com): + - Rafa Morant diff --git a/helpdesk_mgmt_project/readme/DESCRIPTION.md b/helpdesk_mgmt_project/readme/DESCRIPTION.md new file mode 100644 index 0000000000..6ebc97bfa6 --- /dev/null +++ b/helpdesk_mgmt_project/readme/DESCRIPTION.md @@ -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 0000000000..414262152f Binary files /dev/null and b/helpdesk_mgmt_project/static/description/icon.png differ diff --git a/helpdesk_mgmt_project/static/description/index.html b/helpdesk_mgmt_project/static/description/index.html new file mode 100644 index 0000000000..e936895e0a --- /dev/null +++ b/helpdesk_mgmt_project/static/description/index.html @@ -0,0 +1,447 @@ + + + + + +Helpdesk Project + + + +
+

Helpdesk Project

+ + +

Production/Stable License: AGPL-3 OCA/helpdesk Translate me on Weblate Try me on Runboat

+

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

+ +
+

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 to smash 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..a51c8c6777 --- /dev/null +++ b/helpdesk_mgmt_project/tests/test_helpdesk_ticket.py @@ -0,0 +1,82 @@ +from odoo.addons.helpdesk_mgmt.tests.common import TestHelpdeskTicketBase + + +class TestHelpdeskTicketProject(TestHelpdeskTicketBase): + @classmethod + def setUpClass(cls): + super().setUpClass() + Ticket = cls.env["helpdesk.ticket"] + Project = cls.env["project.project"] + Task = cls.env["project.task"] + cls.ticket = cls.ticket_a_unassigned + 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.write({"project_id": self.project2.id}) + 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/helpdesk_ticket_team_view.xml b/helpdesk_mgmt_project/views/helpdesk_ticket_team_view.xml new file mode 100644 index 0000000000..bbc71500bd --- /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/helpdesk_ticket_view.xml b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml new file mode 100644 index 0000000000..81ad6d8825 --- /dev/null +++ b/helpdesk_mgmt_project/views/helpdesk_ticket_view.xml @@ -0,0 +1,49 @@ + + + + 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..1d9921fb89 --- /dev/null +++ b/helpdesk_mgmt_project/views/project_task_view.xml @@ -0,0 +1,64 @@ + + + + project.task + + + + + + + + + project.task + + + + + + + + + + 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..8aca46029d --- /dev/null +++ b/helpdesk_mgmt_project/views/project_view.xml @@ -0,0 +1,73 @@ + + + + project.project + + + + + + + + + + + + project.project + + + + + + + + +
+ + + + + + +
+
+
+
+
+ + project.project + + + + + + + + +