Skip to content

Commit

Permalink
[MIG] helpdesk_mgmt_stage_validation: Migration to 17.0
Browse files Browse the repository at this point in the history
  • Loading branch information
yankinmax authored and ivantodorovich committed Nov 27, 2024
1 parent a584331 commit 30960b3
Show file tree
Hide file tree
Showing 17 changed files with 76 additions and 64 deletions.
39 changes: 20 additions & 19 deletions helpdesk_mgmt_stage_validation/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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**

Expand All @@ -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
Expand All @@ -63,25 +64,25 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/helpdesk/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 <https://github.com/OCA/helpdesk/issues/new?body=module:%20helpdesk_mgmt_stage_validation%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/helpdesk/issues/new?body=module:%20helpdesk_mgmt_stage_validation%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
~~~~~~~
-------

* Camptocamp

Contributors
~~~~~~~~~~~~
------------

* Bojan Anchev <[email protected]>
- Bojan Anchev <[email protected]>

Maintainers
~~~~~~~~~~~
-----------

This module is maintained by the OCA.

Expand All @@ -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 <https://github.com/OCA/helpdesk/tree/14.0/helpdesk_mgmt_stage_validation>`_ project on GitHub.
This module is part of the `OCA/helpdesk <https://github.com/OCA/helpdesk/tree/17.0/helpdesk_mgmt_stage_validation>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 0 additions & 2 deletions helpdesk_mgmt_stage_validation/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
# Copyright 2022 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models
2 changes: 1 addition & 1 deletion helpdesk_mgmt_stage_validation/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 ""
8 changes: 4 additions & 4 deletions helpdesk_mgmt_stage_validation/i18n/it.po
Original file line number Diff line number Diff line change
Expand Up @@ -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."
9 changes: 6 additions & 3 deletions helpdesk_mgmt_stage_validation/models/helpdesk_ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")],
)
3 changes: 3 additions & 0 deletions helpdesk_mgmt_stage_validation/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
3 changes: 3 additions & 0 deletions helpdesk_mgmt_stage_validation/readme/CONFIGURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Go to Helpdesk \> Configuration \> Stages
- Create or select a stage
- Select one or more fields to be validated
3 changes: 0 additions & 3 deletions helpdesk_mgmt_stage_validation/readme/CONFIGURE.rst

This file was deleted.

1 change: 1 addition & 0 deletions helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Bojan Anchev \<<[email protected]>\>
1 change: 0 additions & 1 deletion helpdesk_mgmt_stage_validation/readme/CONTRIBUTORS.rst

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions helpdesk_mgmt_stage_validation/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 0 additions & 3 deletions helpdesk_mgmt_stage_validation/readme/USAGE.rst

This file was deleted.

28 changes: 16 additions & 12 deletions helpdesk_mgmt_stage_validation/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@

/*
:Author: David Goodger ([email protected])
: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.
Expand Down Expand Up @@ -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 }
Expand All @@ -300,7 +301,7 @@
span.pre {
white-space: pre }

span.problematic {
span.problematic, pre.problematic {
color: red }

span.section-subtitle {
Expand Down Expand Up @@ -368,14 +369,15 @@ <h1 class="title">Helpdesk Ticket Stage Validation</h1>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:5d936cd9571b9a6a9218317dcc9a8d0ccf0aa6cf87060637d02109f2abb9319b
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/helpdesk/tree/14.0/helpdesk_mgmt_stage_validation"><img alt="OCA/helpdesk" src="https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/helpdesk-14-0/helpdesk-14-0-helpdesk_mgmt_stage_validation"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&amp;target_branch=14.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>As the stage of a helpdesk ticket document progresses, it may be important for
specific fields of the document be completed.</p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/helpdesk/tree/17.0/helpdesk_mgmt_stage_validation"><img alt="OCA/helpdesk" src="https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/helpdesk-17-0/helpdesk-17-0-helpdesk_mgmt_stage_validation"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>As the stage of a helpdesk ticket document progresses, it may be
important for specific fields of the document be completed.</p>
<p>For example, when a helpdesk ticket enters the ‘Complete’ stage, the
fields for ‘Actual End Date’ and/or ‘Resolution Notes’ should be set.</p>
<p>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.</p>
<p>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.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
Expand Down Expand Up @@ -411,7 +413,7 @@ <h1><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/helpdesk/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/helpdesk/issues/new?body=module:%20helpdesk_mgmt_stage_validation%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/helpdesk/issues/new?body=module:%20helpdesk_mgmt_stage_validation%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
Expand All @@ -431,11 +433,13 @@ <h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/helpdesk/tree/14.0/helpdesk_mgmt_stage_validation">OCA/helpdesk</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/helpdesk/tree/17.0/helpdesk_mgmt_stage_validation">OCA/helpdesk</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -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"]
Expand Down Expand Up @@ -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):
Expand Down

0 comments on commit 30960b3

Please sign in to comment.