diff --git a/helpdesk_mgmt_ticket_document_page/README.rst b/helpdesk_mgmt_ticket_document_page/README.rst new file mode 100644 index 0000000000..229212bb2d --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/README.rst @@ -0,0 +1,210 @@ +================================== +Helpdesk Mgmt Ticket Document Page +================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:41a44ae3ff475fcb790bb8398d4bcb5f17a0490a9333ad4b4dabaeee55da4560 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github + :target: https://github.com/OCA/helpdesk/tree/16.0/helpdesk_mgmt_ticket_document_page + :alt: OCA/helpdesk +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/helpdesk-16-0/helpdesk-16-0-helpdesk_mgmt_ticket_document_page + :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=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the Helpdesk Management functionality to allow +associating a document page with a helpdesk ticket. + +The main purpose is to register which document was used to attend and +handle the ticket, providing a reference for future similar cases and +improving knowledge management within the helpdesk team. + +This module adds a field to link a document page (from the Document Page +module) to a ticket, allowing users to quickly access the documentation +that was used to resolve the issue. + +**Table of contents** + +.. contents:: + :local: + +Use Cases / Context +=================== + +Business Need +------------- + +In helpdesk operations, it's common to use documentation, knowledge base +articles, or procedure manuals to resolve tickets. This module addresses +the need to track which documents were used to handle each ticket, +providing several benefits: + +- **Knowledge Management**: Track which documents are most useful for + resolving specific types of issues +- **Quality Assurance**: Review which documentation was used to ensure + proper procedures were followed +- **Training**: New team members can see which documents were referenced + for similar past cases +- **Documentation Improvement**: Identify gaps in documentation when + tickets are resolved without using any document +- **Audit Trail**: Maintain a record of the documentation used for + compliance and reporting purposes + +Use Cases +--------- + +- A support agent resolves a ticket about password reset using the + "Password Reset Procedure" document page +- A technical issue is resolved following the steps in a troubleshooting + guide document +- A ticket about a specific product feature is handled using the product + documentation page +- Team leads can analyze which documents are most frequently used to + improve the knowledge base + +Approach +-------- + +This module extends the ``helpdesk.ticket`` model to add a Many2one +relationship with ``document.page``, allowing one document page to be +associated with each ticket. The implementation includes: + +- A field in the ticket form to select the document page +- A smart button for quick access to the associated document +- List and search views to filter and group tickets by document +- Tracking enabled to log changes to the document association + +Related Modules +--------------- + +- **helpdesk_mgmt**: Base helpdesk management module (required) +- **document_page**: Document/knowledge base module (required) +- **helpdesk_mgmt_project**: Can be used together to track both project + and document associations + +Installation +============ + +Installation +------------ + +This module has no special installation requirements. It can be +installed through the Odoo Apps menu like any other module. + +Dependencies +~~~~~~~~~~~~ + +The module requires the following modules to be installed: + +- ``helpdesk_mgmt`` - Base helpdesk management functionality +- ``document_page`` - Document/knowledge base functionality + +These dependencies will be automatically installed when you install this +module. + +Usage +===== + +How to use this module +---------------------- + +Associating a Document Page to a Ticket +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Open a helpdesk ticket in form view +2. In the ticket form, you will see a new field **"Document Page"** +3. Select the document page that was used to attend and handle this + ticket +4. Save the ticket + +Accessing the Document Page +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once a document page is associated with a ticket, you can: + +- **From the ticket form**: Click on the smart button with the book icon + (đź“–) in the top right corner to directly open the associated document + page +- **From the list view**: The document page field is available as an + optional column that can be shown/hidden +- **From the search view**: You can filter tickets by document page or + use the "With Document" filter to see only tickets that have an + associated document + +Filtering Tickets by Document +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Go to the Helpdesk Tickets list view +2. In the search bar, you can: + + - Search by document page name + - Use the "With Document" filter to show only tickets with an + associated document page + - Group tickets by document page to see how many tickets used each + document + +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 +------- + +* Escodoo + +Contributors +------------ + +- `Escodoo `__: + + - Marcel Savegnago marcel.savegnago@escodoo.com.br + +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. + +.. |maintainer-marcelsavegnago| image:: https://github.com/marcelsavegnago.png?size=40px + :target: https://github.com/marcelsavegnago + :alt: marcelsavegnago + +Current `maintainer `__: + +|maintainer-marcelsavegnago| + +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_ticket_document_page/__init__.py b/helpdesk_mgmt_ticket_document_page/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/helpdesk_mgmt_ticket_document_page/__manifest__.py b/helpdesk_mgmt_ticket_document_page/__manifest__.py new file mode 100644 index 0000000000..ef168a72ca --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2025 Escodoo +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Helpdesk Mgmt Ticket Document Page", + "summary": """Enable to associate a document_page on ticket""", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "author": "Escodoo,Odoo Community Association (OCA)", + "maintainers": ["marcelsavegnago"], + "website": "https://github.com/OCA/helpdesk", + "depends": [ + "helpdesk_mgmt", + "document_page", + ], + "data": [ + "views/helpdesk_ticket.xml", + ], + "demo": [], +} diff --git a/helpdesk_mgmt_ticket_document_page/models/__init__.py b/helpdesk_mgmt_ticket_document_page/models/__init__.py new file mode 100644 index 0000000000..8e082e7c81 --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/models/__init__.py @@ -0,0 +1 @@ +from . import helpdesk_ticket diff --git a/helpdesk_mgmt_ticket_document_page/models/helpdesk_ticket.py b/helpdesk_mgmt_ticket_document_page/models/helpdesk_ticket.py new file mode 100644 index 0000000000..1212e95519 --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/models/helpdesk_ticket.py @@ -0,0 +1,30 @@ +# Copyright 2025 Marcel Savegnago +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import _, fields, models + + +class HelpdeskTicket(models.Model): + + _inherit = "helpdesk.ticket" + + document_page_id = fields.Many2one( + string="Document Page", + comodel_name="document.page", + help="Document Page used to attend and handle this ticket", + tracking=True, + ) + + def action_open_document_page(self): + """Open the document page associated with the ticket.""" + self.ensure_one() + if not self.document_page_id: + return False + return { + "type": "ir.actions.act_window", + "name": _("Document Page"), + "res_model": "document.page", + "res_id": self.document_page_id.id, + "view_mode": "form", + "target": "current", + } diff --git a/helpdesk_mgmt_ticket_document_page/readme/CONTEXT.md b/helpdesk_mgmt_ticket_document_page/readme/CONTEXT.md new file mode 100644 index 0000000000..2b8dac414c --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/readme/CONTEXT.md @@ -0,0 +1,31 @@ +## Business Need + +In helpdesk operations, it's common to use documentation, knowledge base articles, or procedure manuals to resolve tickets. This module addresses the need to track which documents were used to handle each ticket, providing several benefits: + +- **Knowledge Management**: Track which documents are most useful for resolving specific types of issues +- **Quality Assurance**: Review which documentation was used to ensure proper procedures were followed +- **Training**: New team members can see which documents were referenced for similar past cases +- **Documentation Improvement**: Identify gaps in documentation when tickets are resolved without using any document +- **Audit Trail**: Maintain a record of the documentation used for compliance and reporting purposes + +## Use Cases + +- A support agent resolves a ticket about password reset using the "Password Reset Procedure" document page +- A technical issue is resolved following the steps in a troubleshooting guide document +- A ticket about a specific product feature is handled using the product documentation page +- Team leads can analyze which documents are most frequently used to improve the knowledge base + +## Approach + +This module extends the `helpdesk.ticket` model to add a Many2one relationship with `document.page`, allowing one document page to be associated with each ticket. The implementation includes: + +- A field in the ticket form to select the document page +- A smart button for quick access to the associated document +- List and search views to filter and group tickets by document +- Tracking enabled to log changes to the document association + +## Related Modules + +- **helpdesk_mgmt**: Base helpdesk management module (required) +- **document_page**: Document/knowledge base module (required) +- **helpdesk_mgmt_project**: Can be used together to track both project and document associations diff --git a/helpdesk_mgmt_ticket_document_page/readme/CONTRIBUTORS.md b/helpdesk_mgmt_ticket_document_page/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..ecaac7a6ee --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- [Escodoo](): + - Marcel Savegnago diff --git a/helpdesk_mgmt_ticket_document_page/readme/DESCRIPTION.md b/helpdesk_mgmt_ticket_document_page/readme/DESCRIPTION.md new file mode 100644 index 0000000000..591e7140e5 --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/readme/DESCRIPTION.md @@ -0,0 +1,5 @@ +This module extends the Helpdesk Management functionality to allow associating a document page with a helpdesk ticket. + +The main purpose is to register which document was used to attend and handle the ticket, providing a reference for future similar cases and improving knowledge management within the helpdesk team. + +This module adds a field to link a document page (from the Document Page module) to a ticket, allowing users to quickly access the documentation that was used to resolve the issue. diff --git a/helpdesk_mgmt_ticket_document_page/readme/INSTALL.md b/helpdesk_mgmt_ticket_document_page/readme/INSTALL.md new file mode 100644 index 0000000000..ca45dbc8f6 --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/readme/INSTALL.md @@ -0,0 +1,11 @@ +## Installation + +This module has no special installation requirements. It can be installed through the Odoo Apps menu like any other module. + +### Dependencies + +The module requires the following modules to be installed: +- `helpdesk_mgmt` - Base helpdesk management functionality +- `document_page` - Document/knowledge base functionality + +These dependencies will be automatically installed when you install this module. diff --git a/helpdesk_mgmt_ticket_document_page/readme/USAGE.md b/helpdesk_mgmt_ticket_document_page/readme/USAGE.md new file mode 100644 index 0000000000..0452d6da73 --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/readme/USAGE.md @@ -0,0 +1,24 @@ +## How to use this module + +### Associating a Document Page to a Ticket + +1. Open a helpdesk ticket in form view +2. In the ticket form, you will see a new field **"Document Page"** +3. Select the document page that was used to attend and handle this ticket +4. Save the ticket + +### Accessing the Document Page + +Once a document page is associated with a ticket, you can: + +- **From the ticket form**: Click on the smart button with the book icon (đź“–) in the top right corner to directly open the associated document page +- **From the list view**: The document page field is available as an optional column that can be shown/hidden +- **From the search view**: You can filter tickets by document page or use the "With Document" filter to see only tickets that have an associated document + +### Filtering Tickets by Document + +1. Go to the Helpdesk Tickets list view +2. In the search bar, you can: + - Search by document page name + - Use the "With Document" filter to show only tickets with an associated document page + - Group tickets by document page to see how many tickets used each document diff --git a/helpdesk_mgmt_ticket_document_page/static/description/icon.png b/helpdesk_mgmt_ticket_document_page/static/description/icon.png new file mode 100644 index 0000000000..3a0328b516 Binary files /dev/null and b/helpdesk_mgmt_ticket_document_page/static/description/icon.png differ diff --git a/helpdesk_mgmt_ticket_document_page/static/description/index.html b/helpdesk_mgmt_ticket_document_page/static/description/index.html new file mode 100644 index 0000000000..389ebb1147 --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/static/description/index.html @@ -0,0 +1,576 @@ + + + + + +Helpdesk Mgmt Ticket Document Page + + + +
+

Helpdesk Mgmt Ticket Document Page

+ + +

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

+

This module extends the Helpdesk Management functionality to allow +associating a document page with a helpdesk ticket.

+

The main purpose is to register which document was used to attend and +handle the ticket, providing a reference for future similar cases and +improving knowledge management within the helpdesk team.

+

This module adds a field to link a document page (from the Document Page +module) to a ticket, allowing users to quickly access the documentation +that was used to resolve the issue.

+

Table of contents

+ +
+

Use Cases / Context

+
+

Business Need

+

In helpdesk operations, it’s common to use documentation, knowledge base +articles, or procedure manuals to resolve tickets. This module addresses +the need to track which documents were used to handle each ticket, +providing several benefits:

+
    +
  • Knowledge Management: Track which documents are most useful for +resolving specific types of issues
  • +
  • Quality Assurance: Review which documentation was used to ensure +proper procedures were followed
  • +
  • Training: New team members can see which documents were referenced +for similar past cases
  • +
  • Documentation Improvement: Identify gaps in documentation when +tickets are resolved without using any document
  • +
  • Audit Trail: Maintain a record of the documentation used for +compliance and reporting purposes
  • +
+
+
+

Use Cases

+
    +
  • A support agent resolves a ticket about password reset using the +“Password Reset Procedure” document page
  • +
  • A technical issue is resolved following the steps in a troubleshooting +guide document
  • +
  • A ticket about a specific product feature is handled using the product +documentation page
  • +
  • Team leads can analyze which documents are most frequently used to +improve the knowledge base
  • +
+
+
+

Approach

+

This module extends the helpdesk.ticket model to add a Many2one +relationship with document.page, allowing one document page to be +associated with each ticket. The implementation includes:

+
    +
  • A field in the ticket form to select the document page
  • +
  • A smart button for quick access to the associated document
  • +
  • List and search views to filter and group tickets by document
  • +
  • Tracking enabled to log changes to the document association
  • +
+
+ +
+
+

Installation

+
+

Installation

+

This module has no special installation requirements. It can be +installed through the Odoo Apps menu like any other module.

+
+

Dependencies

+

The module requires the following modules to be installed:

+
    +
  • helpdesk_mgmt - Base helpdesk management functionality
  • +
  • document_page - Document/knowledge base functionality
  • +
+

These dependencies will be automatically installed when you install this +module.

+
+
+
+
+

Usage

+
+

How to use this module

+
+

Associating a Document Page to a Ticket

+
    +
  1. Open a helpdesk ticket in form view
  2. +
  3. In the ticket form, you will see a new field “Document Page”
  4. +
  5. Select the document page that was used to attend and handle this +ticket
  6. +
  7. Save the ticket
  8. +
+
+
+

Accessing the Document Page

+

Once a document page is associated with a ticket, you can:

+
    +
  • From the ticket form: Click on the smart button with the book icon +(đź“–) in the top right corner to directly open the associated document +page
  • +
  • From the list view: The document page field is available as an +optional column that can be shown/hidden
  • +
  • From the search view: You can filter tickets by document page or +use the “With Document” filter to see only tickets that have an +associated document
  • +
+
+
+

Filtering Tickets by Document

+
    +
  1. Go to the Helpdesk Tickets list view
  2. +
  3. In the search bar, you can:
      +
    • Search by document page name
    • +
    • Use the “With Document” filter to show only tickets with an +associated document page
    • +
    • Group tickets by document page to see how many tickets used each +document
    • +
    +
  4. +
+
+
+
+
+

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

+
    +
  • Escodoo
  • +
+
+
+

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.

+

Current maintainer:

+

marcelsavegnago

+

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_ticket_document_page/views/helpdesk_ticket.xml b/helpdesk_mgmt_ticket_document_page/views/helpdesk_ticket.xml new file mode 100644 index 0000000000..c4d1e73e9f --- /dev/null +++ b/helpdesk_mgmt_ticket_document_page/views/helpdesk_ticket.xml @@ -0,0 +1,61 @@ + + + + + + + helpdesk.ticket + + +
+ +
+ + + + +
+ + + + helpdesk.ticket + + + + + + + + + + + helpdesk.ticket + + + + + + + + + + + +
diff --git a/setup/helpdesk_mgmt_ticket_document_page/odoo/addons/helpdesk_mgmt_ticket_document_page b/setup/helpdesk_mgmt_ticket_document_page/odoo/addons/helpdesk_mgmt_ticket_document_page new file mode 120000 index 0000000000..10661c5f0a --- /dev/null +++ b/setup/helpdesk_mgmt_ticket_document_page/odoo/addons/helpdesk_mgmt_ticket_document_page @@ -0,0 +1 @@ +../../../../helpdesk_mgmt_ticket_document_page \ No newline at end of file diff --git a/setup/helpdesk_mgmt_ticket_document_page/setup.py b/setup/helpdesk_mgmt_ticket_document_page/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/helpdesk_mgmt_ticket_document_page/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)