From da406678ce6e0baf70d012f7de22c785cdafeab4 Mon Sep 17 00:00:00 2001 From: Laetitia Da Costa Date: Fri, 17 Jan 2025 12:34:31 +0100 Subject: [PATCH 1/9] [ADD]helpdesk_portal_ticket_list --- helpdesk_portal_ticket_list/.gitignore | 2 + helpdesk_portal_ticket_list/README.rst | 50 +++++++++++++++++++ helpdesk_portal_ticket_list/__init__.py | 2 + helpdesk_portal_ticket_list/__manifest__.py | 36 +++++++++++++ .../views/portal_ticket_view.xml | 17 +++++++ 5 files changed, 107 insertions(+) create mode 100644 helpdesk_portal_ticket_list/.gitignore create mode 100644 helpdesk_portal_ticket_list/README.rst create mode 100644 helpdesk_portal_ticket_list/__init__.py create mode 100644 helpdesk_portal_ticket_list/__manifest__.py create mode 100644 helpdesk_portal_ticket_list/views/portal_ticket_view.xml diff --git a/helpdesk_portal_ticket_list/.gitignore b/helpdesk_portal_ticket_list/.gitignore new file mode 100644 index 0000000..6da5887 --- /dev/null +++ b/helpdesk_portal_ticket_list/.gitignore @@ -0,0 +1,2 @@ +*.*~ +*pyc diff --git a/helpdesk_portal_ticket_list/README.rst b/helpdesk_portal_ticket_list/README.rst new file mode 100644 index 0000000..6f1e700 --- /dev/null +++ b/helpdesk_portal_ticket_list/README.rst @@ -0,0 +1,50 @@ +=========================== +helpdesk_portal_ticket_list +=========================== + +Customize ticket portal view list + +Installation +============ + +Use Odoo normal module installation procedure to install +``helpdesk_portal_ticket_list``. + + +Description +============ +In ticket portal view list +- expand "name" column +- fix display bug on "Stage" column + +Known issues / Roadmap +====================== + +None yet. +Bug Tracker +=========== + +Bugs are tracked on `our issues website `_. In case of +trouble, please check there if your issue has already been +reported. If you spotted it first, help us smashing it by providing a +detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Laetitia Da Costa + +Funders +------- + +The development of this module has been financially supported by: +* Elabore (https://elabore.coop) + + +Maintainer +---------- + +This module is maintained by Elabore. diff --git a/helpdesk_portal_ticket_list/__init__.py b/helpdesk_portal_ticket_list/__init__.py new file mode 100644 index 0000000..633f866 --- /dev/null +++ b/helpdesk_portal_ticket_list/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- + diff --git a/helpdesk_portal_ticket_list/__manifest__.py b/helpdesk_portal_ticket_list/__manifest__.py new file mode 100644 index 0000000..145c2a0 --- /dev/null +++ b/helpdesk_portal_ticket_list/__manifest__.py @@ -0,0 +1,36 @@ +# Copyright 2022 Stéphan Sainléger (Elabore) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "helpdesk_portal_ticket_list", + "version": "16.0.1.0.0", + "author": "Elabore", + "website": "https://elabore.coop", + "maintainer": "Laetitia Da Costa", + "license": "AGPL-3", + "category": "Helpdesk", + "summary": "Customize ticket portal view list", + "description": "", + # any module necessary for this one to work correctly + "depends": [ + "base", + "helpdesk_mgmt", + ], + "qweb": [], + "external_dependencies": { + "python": [], + }, + # always loaded + "data": [ + "views/portal_ticket_view.xml", + ], + # only loaded in demonstration mode + "demo": [], + "js": [], + "css": [], + "installable": True, + # Install this module automatically if all dependency have been previously + # and independently installed. Used for synergetic or glue modules. + "auto_install": False, + "application": False, +} \ No newline at end of file diff --git a/helpdesk_portal_ticket_list/views/portal_ticket_view.xml b/helpdesk_portal_ticket_list/views/portal_ticket_view.xml new file mode 100644 index 0000000..bd42535 --- /dev/null +++ b/helpdesk_portal_ticket_list/views/portal_ticket_view.xml @@ -0,0 +1,17 @@ + + + + + + -- 2.49.1 From 4d0d5a0995b8254e4a238397f24a23cc9d737c47 Mon Sep 17 00:00:00 2001 From: Quentin Mondot Date: Tue, 28 Jan 2025 16:31:19 +0100 Subject: [PATCH 2/9] [FIX] helpdesk_request_type: corrected bug on attachments in new ticket form The param "max_upload_size" was missing when rendering "helpdesk_mgmt.portal_create_ticket". Instead of added it, I've overloaded the response from helpdesk_mgmt create_new_ticket --- helpdesk_request_type/controllers/main.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/helpdesk_request_type/controllers/main.py b/helpdesk_request_type/controllers/main.py index 83e7c4b..43d6c5e 100644 --- a/helpdesk_request_type/controllers/main.py +++ b/helpdesk_request_type/controllers/main.py @@ -5,22 +5,10 @@ class HelpdeskTicketControllerRequestType(HelpdeskTicketController): @http.route("/new/ticket", type="http", auth="user", website=True) def create_new_ticket(self, **kw): - categories = http.request.env["helpdesk.ticket.category"].search( - [("active", "=", True)] - ) + res = super(HelpdeskTicketControllerRequestType, self).create_new_ticket(**kw) request_types = http.request.env["helpdesk.request.type"].search([]) - email = http.request.env.user.email - name = http.request.env.user.name - return http.request.render( - "helpdesk_mgmt.portal_create_ticket", - { - "categories": categories, - "teams": self._get_teams(), - "email": email, - "name": name, - "request_types": request_types - }, - ) + res.qcontext["request_types"] = request_types + return res def _prepare_submit_ticket_vals(self, **kw): res = super()._prepare_submit_ticket_vals(**kw) -- 2.49.1 From 5d7978729ed8aa0b5407199ae23d817ebde6bb56 Mon Sep 17 00:00:00 2001 From: Quentin Mondot Date: Fri, 31 Jan 2025 17:10:10 +0100 Subject: [PATCH 3/9] [ADD] helpdesk_create_task_from_ticket: this module enriches task information when creating it from a ticket form --- helpdesk_create_task_from_ticket/.gitignore | 2 + helpdesk_create_task_from_ticket/README.md | 53 +++++++++++++++++++ helpdesk_create_task_from_ticket/__init__.py | 1 + .../__manifest__.py | 26 +++++++++ .../models/__init__.py | 1 + .../models/project_task.py | 28 ++++++++++ .../helpdesk_create_task_from_ticket.xml | 23 ++++++++ 7 files changed, 134 insertions(+) create mode 100644 helpdesk_create_task_from_ticket/.gitignore create mode 100644 helpdesk_create_task_from_ticket/README.md create mode 100644 helpdesk_create_task_from_ticket/__init__.py create mode 100644 helpdesk_create_task_from_ticket/__manifest__.py create mode 100644 helpdesk_create_task_from_ticket/models/__init__.py create mode 100644 helpdesk_create_task_from_ticket/models/project_task.py create mode 100644 helpdesk_create_task_from_ticket/views/helpdesk_create_task_from_ticket.xml diff --git a/helpdesk_create_task_from_ticket/.gitignore b/helpdesk_create_task_from_ticket/.gitignore new file mode 100644 index 0000000..6da5887 --- /dev/null +++ b/helpdesk_create_task_from_ticket/.gitignore @@ -0,0 +1,2 @@ +*.*~ +*pyc diff --git a/helpdesk_create_task_from_ticket/README.md b/helpdesk_create_task_from_ticket/README.md new file mode 100644 index 0000000..db74184 --- /dev/null +++ b/helpdesk_create_task_from_ticket/README.md @@ -0,0 +1,53 @@ +================================ +helpdesk_create_task_from_ticket +================================ + +This module changes the behavior of the buttons "create" and "create and edit" of the field `task` in a ticket form. + +It automatically fills up these tasks fields + +``` +Ticket (helpdesk.ticke) / Tâche (project.task) + +Intitulé (name) --> Titre (name) +Utilisateur assigné (user_id) --> Assignés (user_ids) +Projet (project_id) --> Projet (project_id) +Contact (partner_id) --> Client (partner_id) +Catégorie (category_id) --> service (service_id) +Request Type (request_type_id) --> Type de demande (request_type_id) +Priorité (priority) --> Priorité (priority) +``` + +# Installation + +Use Odoo normal module installation procedure to install +`helpdesk_create_task_from_ticket`. + +# Known issues / Roadmap + +A current limitation is that one task can be linked to many tickets. +Thus, the above task fields are filled up at the creation of the task from a ticket form +but are not updated when the linked tickets are updated. + +# Bug Tracker + +Bugs are tracked on `our issues website `\_. In case of +trouble, please check there if your issue has already been +reported. If you spotted it first, help us smashing it by providing a +detailed and welcomed feedback. + +# Credits + +## Contributors + +- Quentin Mondot + +## Funders + +The development of this module has been financially supported by: + +- Elabore (https://elabore.coop) + +## Maintainer + +This module is maintained by Elabore. diff --git a/helpdesk_create_task_from_ticket/__init__.py b/helpdesk_create_task_from_ticket/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/helpdesk_create_task_from_ticket/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/helpdesk_create_task_from_ticket/__manifest__.py b/helpdesk_create_task_from_ticket/__manifest__.py new file mode 100644 index 0000000..ce87f58 --- /dev/null +++ b/helpdesk_create_task_from_ticket/__manifest__.py @@ -0,0 +1,26 @@ +# Copyright 2024 Quentin Mondot +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "helpdesk_create_task_from_ticket", + "version": "16.0.1.0.0", + "author": "Elabore", + "website": "https://elabore.coop", + "maintainer": "Quentin Mondot", + "license": "AGPL-3", + "category": "Tools", + "summary": "This module enriches task information when creating it from a ticket form.", + "depends": [ + "base", + "helpdesk_mgmt", + "helpdesk_mgmt_project", + "helpdesk_request_type", # to create the helpdesk.request.type model and have the field request_type_id in the helpdesk.ticket model + "project_request_data", # to have the fields service_id and request_type_id in the project.task model + "project_task_add_very_high" # to have priority values 2 and 3 on tasks + ], + "data": [ + "views/helpdesk_create_task_from_ticket.xml", + ], + "installable": True, + "auto_install": False, + "application": False, +} diff --git a/helpdesk_create_task_from_ticket/models/__init__.py b/helpdesk_create_task_from_ticket/models/__init__.py new file mode 100644 index 0000000..edf2d36 --- /dev/null +++ b/helpdesk_create_task_from_ticket/models/__init__.py @@ -0,0 +1 @@ +from . import project_task diff --git a/helpdesk_create_task_from_ticket/models/project_task.py b/helpdesk_create_task_from_ticket/models/project_task.py new file mode 100644 index 0000000..e31c635 --- /dev/null +++ b/helpdesk_create_task_from_ticket/models/project_task.py @@ -0,0 +1,28 @@ +from odoo import models, api + + +class ProjectTask(models.Model): + """ + The function "create" is overloaded to adapt the field "user_ids" from the context of helpdesk.ticket to the one of project.task + This function is called when the user clicks on the button "create" in the task field of the ticket form + The function "onchange" is overloaded to adapt the field "user_ids" from the context of helpdesk.ticket to the one of project.task + This function is called when the user clicks on the button "create and modify" in the task field of the ticket form + """ + _inherit = "project.task" + + @api.model + def create(self, vals_list): + user_ids = [self.env.context["default_user_ids"]] + result = super(ProjectTask, self.with_context( + default_user_ids=user_ids + )).create(vals_list) + + return result + + def onchange(self, values, field_name, field_onchange): + user_ids = [self.env.context["default_user_ids"]] + result = super(ProjectTask, self.with_context( + default_user_ids=user_ids + )).onchange(values, field_name, field_onchange) + + return result diff --git a/helpdesk_create_task_from_ticket/views/helpdesk_create_task_from_ticket.xml b/helpdesk_create_task_from_ticket/views/helpdesk_create_task_from_ticket.xml new file mode 100644 index 0000000..6ca1ef7 --- /dev/null +++ b/helpdesk_create_task_from_ticket/views/helpdesk_create_task_from_ticket.xml @@ -0,0 +1,23 @@ + + + + helpdesk.ticket.form.task.from.ticket + helpdesk.ticket + + + + + + { + 'default_project_id': project_id, + 'default_user_ids': user_id, + 'default_partner_id': partner_id, + 'default_service_id': category_id, + 'default_request_type_id': request_type_id, + 'default_priority': priority + } + + + + + -- 2.49.1 From 189132107342d39b61929f12f7ae142391a3a2cd Mon Sep 17 00:00:00 2001 From: Laetitia Da Costa Date: Wed, 19 Feb 2025 08:59:18 +0100 Subject: [PATCH 4/9] [IMP]helpdesk_portal_ticket_list:hidde Create Date, Last Stage Update and Close Date in ticket portal view --- helpdesk_portal_ticket_list/__manifest__.py | 2 +- .../views/portal_ticket_view.xml | 89 +++++++++++++++++-- 2 files changed, 82 insertions(+), 9 deletions(-) diff --git a/helpdesk_portal_ticket_list/__manifest__.py b/helpdesk_portal_ticket_list/__manifest__.py index 145c2a0..ad9f5ed 100644 --- a/helpdesk_portal_ticket_list/__manifest__.py +++ b/helpdesk_portal_ticket_list/__manifest__.py @@ -3,7 +3,7 @@ { "name": "helpdesk_portal_ticket_list", - "version": "16.0.1.0.0", + "version": "16.0.1.1.0", "author": "Elabore", "website": "https://elabore.coop", "maintainer": "Laetitia Da Costa", diff --git a/helpdesk_portal_ticket_list/views/portal_ticket_view.xml b/helpdesk_portal_ticket_list/views/portal_ticket_view.xml index bd42535..d4ab965 100644 --- a/helpdesk_portal_ticket_list/views/portal_ticket_view.xml +++ b/helpdesk_portal_ticket_list/views/portal_ticket_view.xml @@ -1,17 +1,90 @@ - -