diff --git a/helpdesk_mgmt_stage_validation/README.rst b/helpdesk_mgmt_stage_validation/README.rst index 8a056df7c2..3fb97b52bd 100644 --- a/helpdesk_mgmt_stage_validation/README.rst +++ b/helpdesk_mgmt_stage_validation/README.rst @@ -17,26 +17,27 @@ Helpdesk Ticket Stage Validation :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_stage_validation + :target: https://github.com/OCA/helpdesk/tree/17.0/helpdesk_mgmt_stage_validation :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_stage_validation + :target: https://translation.odoo-community.org/projects/helpdesk-17-0/helpdesk-17-0-helpdesk_mgmt_stage_validation :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=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -As the stage of a helpdesk ticket document progresses, it may be important for -specific fields of the document be completed. +As the stage of a helpdesk ticket document progresses, it may be +important for specific fields of the document be completed. For example, when a helpdesk ticket enters the 'Complete' stage, the fields for 'Actual End Date' and/or 'Resolution Notes' should be set. -This module allows you to raise a Validation Error if the designated fields -are not set when moving to a new stage. Since stages can be used for helpdesk ticket, workers, locations, or equipments, this logic is available -to be applied to each document type. +This module allows you to raise a Validation Error if the designated +fields are not set when moving to a new stage. Since stages can be used +for helpdesk ticket, workers, locations, or equipments, this logic is +available to be applied to each document type. **Table of contents** @@ -46,15 +47,15 @@ to be applied to each document type. Configuration ============= -* Go to Helpdesk > Configuration > Stages -* Create or select a stage -* Select one or more fields to be validated +- Go to Helpdesk > Configuration > Stages +- Create or select a stage +- Select one or more fields to be validated Usage ===== -* Follow steps outlined in Configuration. -* User will receive validation error if a field is not set when +- Follow steps outlined in Configuration. +- User will receive validation error if a field is not set when attempting to move to a new stage. Bug Tracker @@ -63,7 +64,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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -71,17 +72,17 @@ Credits ======= Authors -~~~~~~~ +------- * Camptocamp Contributors -~~~~~~~~~~~~ +------------ -* Bojan Anchev +- Bojan Anchev Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -93,6 +94,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_stage_validation/__init__.py b/helpdesk_mgmt_stage_validation/__init__.py index baafcef3cf..0650744f6b 100644 --- a/helpdesk_mgmt_stage_validation/__init__.py +++ b/helpdesk_mgmt_stage_validation/__init__.py @@ -1,3 +1 @@ -# Copyright 2022 Camptocamp SA -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import models diff --git a/helpdesk_mgmt_stage_validation/__manifest__.py b/helpdesk_mgmt_stage_validation/__manifest__.py index 7f4b726496..a60a14d9d0 100644 --- a/helpdesk_mgmt_stage_validation/__manifest__.py +++ b/helpdesk_mgmt_stage_validation/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Helpdesk Ticket Stage Validation", "summary": "Validate input data when reaching a Helpdesk Ticket stage", - "version": "14.0.1.0.0", + "version": "17.0.1.0.0", "category": "After-Sales", "author": "Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/helpdesk", diff --git a/helpdesk_mgmt_stage_validation/i18n/helpdesk_mgmt_stage_validation.pot b/helpdesk_mgmt_stage_validation/i18n/helpdesk_mgmt_stage_validation.pot index 2f34b8eee0..e58c1dacbe 100644 --- a/helpdesk_mgmt_stage_validation/i18n/helpdesk_mgmt_stage_validation.pot +++ b/helpdesk_mgmt_stage_validation/i18n/helpdesk_mgmt_stage_validation.pot @@ -56,6 +56,6 @@ msgstr "" #: code:addons/helpdesk_mgmt_stage_validation/tests/test_helpdesk_ticket_stage_validation.py:0 #, python-format msgid "" -"Ticket %s can't be moved to the stage %s until the following fields are set:" -" %s." +"Ticket %(ticket)s can't be moved to the stage %(stage)s until the following " +"fields are set: %(fields)s." msgstr "" diff --git a/helpdesk_mgmt_stage_validation/i18n/it.po b/helpdesk_mgmt_stage_validation/i18n/it.po index 02f625e12d..a3532d0408 100644 --- a/helpdesk_mgmt_stage_validation/i18n/it.po +++ b/helpdesk_mgmt_stage_validation/i18n/it.po @@ -60,8 +60,8 @@ msgstr "" #: code:addons/helpdesk_mgmt_stage_validation/tests/test_helpdesk_ticket_stage_validation.py:0 #, python-format msgid "" -"Ticket %s can't be moved to the stage %s until the following fields are set:" -" %s." +"Ticket %(ticket)s can't be moved to the stage %(stage)s until the following " +"fields are set: %(fields)s." msgstr "" -"Il ticket %s non può essere spostato alla fase %s finché i sequenti campi " -"non sono impostati: %s." +"Il ticket %(ticket)s non può essere spostato alla fase %(stage)s finché i " +"seguenti campi non sono impostati: %(fields)s." diff --git a/helpdesk_mgmt_stage_validation/models/helpdesk_ticket.py b/helpdesk_mgmt_stage_validation/models/helpdesk_ticket.py index daeb62fff0..0689ade9c0 100644 --- a/helpdesk_mgmt_stage_validation/models/helpdesk_ticket.py +++ b/helpdesk_mgmt_stage_validation/models/helpdesk_ticket.py @@ -20,9 +20,12 @@ def _check_ticket_has_empty_fields(self): fields = ", ".join(fields) if fields: error_message = _( - "Ticket %s can't be moved to the stage %s until " - "the following fields are set: %s." - ) % (self.name, self.stage_id.name, fields) + "Ticket %(ticket)s can't be moved to the stage %(stage)s until " + "the following fields are set: %(fields)s.", + ticket=self.name, + stage=self.stage_id.name, + fields=fields, + ) return error_message def _validate_stage_fields_error_message(self): diff --git a/helpdesk_mgmt_stage_validation/models/helpdesk_ticket_stage.py b/helpdesk_mgmt_stage_validation/models/helpdesk_ticket_stage.py index d707ba8292..6e43e9ced8 100644 --- a/helpdesk_mgmt_stage_validation/models/helpdesk_ticket_stage.py +++ b/helpdesk_mgmt_stage_validation/models/helpdesk_ticket_stage.py @@ -11,5 +11,5 @@ class HelpdeskTicketStage(models.Model): "ir.model.fields", string="Fields to Validate", help="Select fields which must be set on the document in this stage", - domain='[("model", "=", "helpdesk.ticket")]', + domain=[("model", "=", "helpdesk.ticket")], ) diff --git a/helpdesk_mgmt_stage_validation/pyproject.toml b/helpdesk_mgmt_stage_validation/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/helpdesk_mgmt_stage_validation/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/helpdesk_mgmt_stage_validation/readme/CONFIGURE.md b/helpdesk_mgmt_stage_validation/readme/CONFIGURE.md new file mode 100644 index 0000000000..4cf0fb8aad --- /dev/null +++ b/helpdesk_mgmt_stage_validation/readme/CONFIGURE.md @@ -0,0 +1,3 @@ +- Go to Helpdesk \> Configuration \> Stages +- Create or select a stage +- Select one or more fields to be validated diff --git a/helpdesk_mgmt_stage_validation/readme/CONFIGURE.rst b/helpdesk_mgmt_stage_validation/readme/CONFIGURE.rst deleted file mode 100644 index 0bdd8e2bdf..0000000000 --- a/helpdesk_mgmt_stage_validation/readme/CONFIGURE.rst +++ /dev/null @@ -1,3 +0,0 @@ -* Go to Helpdesk > Configuration > Stages -* Create or select a stage -* Select one or more fields to be validated diff --git a/helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.md b/helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..2be296829f --- /dev/null +++ b/helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Bojan Anchev \<\> diff --git a/helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.rst b/helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.rst deleted file mode 100644 index 7d1a526704..0000000000 --- a/helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1 +0,0 @@ -* Bojan Anchev diff --git a/helpdesk_mgmt_stage_validation/readme/DESCRIPTION.rst b/helpdesk_mgmt_stage_validation/readme/DESCRIPTION.md similarity index 51% rename from helpdesk_mgmt_stage_validation/readme/DESCRIPTION.rst rename to helpdesk_mgmt_stage_validation/readme/DESCRIPTION.md index 0eb84ae12c..c16d407a27 100644 --- a/helpdesk_mgmt_stage_validation/readme/DESCRIPTION.rst +++ b/helpdesk_mgmt_stage_validation/readme/DESCRIPTION.md @@ -1,9 +1,10 @@ -As the stage of a helpdesk ticket document progresses, it may be important for -specific fields of the document be completed. +As the stage of a helpdesk ticket document progresses, it may be +important for specific fields of the document be completed. For example, when a helpdesk ticket enters the 'Complete' stage, the fields for 'Actual End Date' and/or 'Resolution Notes' should be set. -This module allows you to raise a Validation Error if the designated fields -are not set when moving to a new stage. Since stages can be used for helpdesk ticket, workers, locations, or equipments, this logic is available -to be applied to each document type. +This module allows you to raise a Validation Error if the designated +fields are not set when moving to a new stage. Since stages can be used +for helpdesk ticket, workers, locations, or equipments, this logic is +available to be applied to each document type. diff --git a/helpdesk_mgmt_stage_validation/readme/USAGE.md b/helpdesk_mgmt_stage_validation/readme/USAGE.md new file mode 100644 index 0000000000..c92d6ab280 --- /dev/null +++ b/helpdesk_mgmt_stage_validation/readme/USAGE.md @@ -0,0 +1,3 @@ +- Follow steps outlined in Configuration. +- User will receive validation error if a field is not set when + attempting to move to a new stage. diff --git a/helpdesk_mgmt_stage_validation/readme/USAGE.rst b/helpdesk_mgmt_stage_validation/readme/USAGE.rst deleted file mode 100644 index 19d952495a..0000000000 --- a/helpdesk_mgmt_stage_validation/readme/USAGE.rst +++ /dev/null @@ -1,3 +0,0 @@ -* Follow steps outlined in Configuration. -* User will receive validation error if a field is not set when - attempting to move to a new stage. diff --git a/helpdesk_mgmt_stage_validation/static/description/index.html b/helpdesk_mgmt_stage_validation/static/description/index.html index 39e6b06eba..78c719e33e 100644 --- a/helpdesk_mgmt_stage_validation/static/description/index.html +++ b/helpdesk_mgmt_stage_validation/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,14 +369,15 @@

Helpdesk Ticket Stage Validation

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:5d936cd9571b9a6a9218317dcc9a8d0ccf0aa6cf87060637d02109f2abb9319b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

-

As the stage of a helpdesk ticket document progresses, it may be important for -specific fields of the document be completed.

+

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

+

As the stage of a helpdesk ticket document progresses, it may be +important for specific fields of the document be completed.

For example, when a helpdesk ticket enters the ‘Complete’ stage, the fields for ‘Actual End Date’ and/or ‘Resolution Notes’ should be set.

-

This module allows you to raise a Validation Error if the designated fields -are not set when moving to a new stage. Since stages can be used for helpdesk ticket, workers, locations, or equipments, this logic is available -to be applied to each document type.

+

This module allows you to raise a Validation Error if the designated +fields are not set when moving to a new stage. Since stages can be used +for helpdesk ticket, workers, locations, or equipments, this logic is +available to be applied to each document type.

Table of contents

    @@ -411,7 +413,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 to smash it by providing a detailed and welcomed -feedback.

    +feedback.

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

@@ -431,11 +433,13 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +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.

+

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_stage_validation/tests/test_helpdesk_ticket_stage_validation.py b/helpdesk_mgmt_stage_validation/tests/test_helpdesk_ticket_stage_validation.py index b30d376dd8..24a0ad666a 100644 --- a/helpdesk_mgmt_stage_validation/tests/test_helpdesk_ticket_stage_validation.py +++ b/helpdesk_mgmt_stage_validation/tests/test_helpdesk_ticket_stage_validation.py @@ -1,16 +1,18 @@ # Copyright 2022 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import _, fields +from odoo import fields from odoo.exceptions import ValidationError -from odoo.tests import SavepointCase +from odoo.tests.common import TransactionCase +from odoo.addons.base.tests.common import DISABLED_MAIL_CONTEXT -class TestHelpdeskStageValidation(SavepointCase): + +class TestHelpdeskStageValidation(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() - cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.env = cls.env["base"].with_context(**DISABLED_MAIL_CONTEXT).env cls.stage = cls.env["helpdesk.ticket.stage"] cls.helpdesk_ticket = cls.env["helpdesk.ticket"] cls.ir_model_fields = cls.env["ir.model.fields"] @@ -47,10 +49,10 @@ def get_validate_message(self, ticket, stage): ] fields = ", ".join(fields) if fields: - validate_message = _( - "Ticket %s can't be moved to the stage %s until " - "the following fields are set: %s." - ) % (ticket.name, stage.name, fields) + validate_message = ( + f"Ticket {ticket.name} can't be moved to the stage " + f"{stage.name} until the following fields are set: {fields}." + ) return validate_message def test_helpdesk_ticket_stage_validation(self):