diff --git a/odoo_website_helpdesk_dashboard/README.rst b/odoo_website_helpdesk_dashboard/README.rst new file mode 100644 index 000000000..424feb1dd --- /dev/null +++ b/odoo_website_helpdesk_dashboard/README.rst @@ -0,0 +1,61 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +Website HelpDesk Dashboard +========================== +Website HelpDesk Dashboard Module Brings a Multipurpose Graphical Dashboard +for Website HelpDesk module + +Depends +======= +[odoo_website_helpdesk] Custom addon by Cybrosys. + +Tech +==== +* [Python] - Models +* [XML] - Odoo views + +Installation +============ +- www.odoo.com/documentation/18.0/setup/install.html +- Install our custom addon + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +======= +General Public License, Version 3 (LGPL-3 v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Credits +======= +Developers: (V16) Robin K , + (V17) Fathima Mazlin AM, + (V18) Akhil Ashok, + Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + + +Bug Tracker +=========== +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/odoo_website_helpdesk_dashboard/__init__.py b/odoo_website_helpdesk_dashboard/__init__.py new file mode 100644 index 000000000..50349d36a --- /dev/null +++ b/odoo_website_helpdesk_dashboard/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import controllers +from . import models diff --git a/odoo_website_helpdesk_dashboard/__manifest__.py b/odoo_website_helpdesk_dashboard/__manifest__.py new file mode 100644 index 000000000..c53318cb6 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/__manifest__.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': "Website HelpDesk Dashboard", + 'version': '18.0.1.0.0', + 'category': 'Website', + 'summary': """Helpdesk Support Ticket Management Dashboard""", + 'description': """Website HelpDesk Dashboard Module Brings a Multipurpose""" + """Graphical Dashboard for Website HelpDesk module""", + 'author': "Cybrosys Techno Solutions", + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.openhrms.com", + 'depends': ['odoo_website_helpdesk', 'base'], + 'data': [ + 'views/menu_item.xml', + 'views/dashboard_templates.xml', + ], + 'assets': { + 'web.assets_backend': [ + 'odoo_website_helpdesk_dashboard/static/src/css/dashboard.css', + 'odoo_website_helpdesk_dashboard/static/src/js/lib/Chart.bundle.js', + 'odoo_website_helpdesk_dashboard/static/src/js/dashboard_view.js', + 'odoo_website_helpdesk_dashboard/static/src/xml/dashboard_view.xml', + 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js' + ], + }, + 'images': ['static/description/banner.png'], + 'license': 'LGPL-3', + 'auto_install': False, + 'installable': True, + 'application': False, +} diff --git a/odoo_website_helpdesk_dashboard/controllers/__init__.py b/odoo_website_helpdesk_dashboard/controllers/__init__.py new file mode 100644 index 000000000..aa2d75a77 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import odoo_website_helpdesk_dashboard diff --git a/odoo_website_helpdesk_dashboard/controllers/odoo_website_helpdesk_dashboard.py b/odoo_website_helpdesk_dashboard/controllers/odoo_website_helpdesk_dashboard.py new file mode 100644 index 000000000..a4d290d04 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/controllers/odoo_website_helpdesk_dashboard.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import http +from odoo.http import request + + +class HelpDeskTickets(http.Controller): + @http.route(['/help/tickets'], type="json", auth="user") + def elearning_snippet(self): + tickets = [] + help_tickets = request.env['ticket.helpdesk'].sudo().search( + [('stage_id.name', '=', 'Inbox')]) + for i in help_tickets: + tickets.append( + {'name': i.name, 'subject': i.subject, 'id': i.id}) + values = { + 'h_tickets': tickets + } + response = http.Response( + template='odoo_website_helpdesk_dashboard.dashboard_tickets', + qcontext=values) + return response.render() diff --git a/odoo_website_helpdesk_dashboard/doc/RELEASE_NOTES.md b/odoo_website_helpdesk_dashboard/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..084ff1ca8 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 09.12.2024 +#### Version 18.0.1.0.0 +#### ADD + +- Initial commit for Website HelpDesk Dashboard diff --git a/odoo_website_helpdesk_dashboard/models/__init__.py b/odoo_website_helpdesk_dashboard/models/__init__.py new file mode 100644 index 000000000..65fba3a54 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import ticket_helpdesk diff --git a/odoo_website_helpdesk_dashboard/models/ticket_helpdesk.py b/odoo_website_helpdesk_dashboard/models/ticket_helpdesk.py new file mode 100644 index 000000000..762731a1e --- /dev/null +++ b/odoo_website_helpdesk_dashboard/models/ticket_helpdesk.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +import calendar +from odoo import api, models + + +class TicketHelpdesk(models.Model): + """ Inherited class to get help desk ticket details....""" + _inherit = 'ticket.helpdesk' + + @api.model + def check_user_group(self): + """Checking user group""" + user = self.env.user + if user.has_group('base.group_user'): + return True + return False + + @api.model + def get_tickets_count(self): + """ Function To Get The Ticket Count""" + ticket_details = self.search([]) + ticket_data = [ + { + 'ticket_name': ticket.name, + 'customer_name': ticket.customer_id.name, + 'subject': ticket.subject, + 'priority': ticket.priority, + 'assigned_to': ticket.assigned_user_id.name, + 'assigned_image': ticket.assigned_user_id.image_1920, + } + for ticket in ticket_details + ] + tickets_new_count = self.search_count( + [('stage_id.name', 'in', ['Inbox', 'Draft'])]) + tickets_in_progress_count = self.search_count( + [('stage_id.name', '=', 'In Progress')]) + tickets_closed_count = self.search_count( + [('stage_id.name', '=', 'Done')]) + very_low_count = self.search_count([ + ('priority', '=', '0')]) + very_low_count1 = very_low_count * 10 + low_count = self.search_count([ + ('priority', '=', '1')]) + low_count1 = low_count * 10 + normal_count = self.search_count([ + ('priority', '=', '2')]) + normal_count1 = normal_count * 10 + high_count = self.search_count([ + ('priority', '=', '3')]) + high_count1 = high_count * 10 + very_high_count = self.search_count([ + ('priority', '=', '4')]) + very_high_count1 = very_high_count * 10 + response = self.search_count([ + ('review', '!=', None)]) + teams_count = self.env['team.helpdesk'].search_count([]) + tickets = self.search( + [('stage_id.name', 'in', ['Inbox', 'Draft'])]) + p_tickets = [ticket.name for ticket in tickets] + values = { + 'inbox_count': tickets_new_count, + 'progress_count': tickets_in_progress_count, + 'done_count': tickets_closed_count, + 'team_count': teams_count, + 'p_tickets': p_tickets, + 'very_low_count1': very_low_count1, + 'low_count1': low_count1, + 'normal_count1': normal_count1, + 'high_count1': high_count1, + 'very_high_count1': very_high_count1, + 'response': response, + 'ticket_details': ticket_data, + } + return values + + @api.model + def get_tickets_view(self): + """ Function To Get The Ticket View""" + tickets_new_count = self.search_count( + [('stage_id.name', 'in', ['Inbox', 'Draft'])]) + tickets_in_progress_count = self.search_count( + [('stage_id.name', '=', 'In Progress')]) + tickets_closed_count = self.search_count( + [('stage_id.name', '=', 'Done')]) + teams_count = self.search_count([]) + tickets_new = self.search( + [('stage_id.name', 'in', ['Inbox', 'Draft'])]) + tickets_in_progress = self.search( + [('stage_id.name', '=', 'In Progress')]) + tickets_closed = self.search( + [('stage_id.name', '=', 'Done')]) + teams = self.env['team.helpdesk'].search([]) + new_list = [f"{new.name} : {new.subject}" for new in tickets_new] + progress_list = [f"{progress.name} : {progress.subject}" for progress in + tickets_in_progress] + done_list = [f"{done.name} : {done.subject}" for done in tickets_closed] + teams_list = [team.name for team in teams] + + tickets = self.search( + [('stage_id.name', 'in', ['Inbox', 'Draft'])]) + p_tickets = [ticket.name for ticket in tickets] + values = { + 'inbox_count': tickets_new_count, + 'progress_count': tickets_in_progress_count, + 'done_count': tickets_closed_count, + 'team_count': teams_count, + 'new_tkts': new_list, + 'progress': progress_list, + 'done': done_list, + 'teams': teams_list, + 'p_tickets': p_tickets + } + return values + + @api.model + def get_ticket_month_pie(self): + """For pie chart""" + month_count = [] + month_value = [] + tickets = self.search([]) + for rec in tickets: + month = rec.create_date.month + if month not in month_value: + month_value.append(month) + month_count.append(month) + month_val = [] + for index in range(len(month_value)): + value = month_count.count(month_value[index]) + month_name = calendar.month_name[month_value[index]] + month_val.append({'label': month_name, 'value': value}) + name = [record.get('label') for record in month_val] + count = [record.get('value') for record in month_val] + month = [count, name] + return month + + @api.model + def get_team_ticket_count_pie(self): + """For bar chart""" + ticket_count = [] + team_list = [] + tickets = self.search([]) + for rec in tickets: + if rec.team_id: + team = rec.team_id.name + if team not in team_list: + team_list.append(team) + ticket_count.append(team) + team_val = [] + for index in range(len(team_list)): + value = ticket_count.count(team_list[index]) + team_name = team_list[index] + team_val.append({'label': team_name, 'value': value}) + name = [record.get('label') for record in team_val] + count = [record.get('value') for record in team_val] + team = [count, name] + return team diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/cybro-icon.png b/odoo_website_helpdesk_dashboard/static/description/assets/cybro-icon.png new file mode 100644 index 000000000..06e73e11d Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/cybro-icon.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/cybro-odoo.png b/odoo_website_helpdesk_dashboard/static/description/assets/cybro-odoo.png new file mode 100644 index 000000000..ed02e07a4 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/cybro-odoo.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/h2.png b/odoo_website_helpdesk_dashboard/static/description/assets/h2.png new file mode 100644 index 000000000..0bfc4707d Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/h2.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/arrows-repeat.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-1.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-1.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-2.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-bg.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-bg.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-bg.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-call.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-mail.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-pattern.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-promo.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/brand-pair.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/check.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/check.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/chevron.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/chevron.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/close-icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/cogs.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/cogs.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/collabarate-icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/consultation.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/consultation.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/cybro-logo.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/cybro-logo.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/down.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/ecom-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/ecom-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/education-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/education-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/faq.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/faq.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/feature-icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/feature.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/feature.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/gear.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/hero.gif b/odoo_website_helpdesk_dashboard/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..8962e3415 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/hero.gif differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/hire-odoo.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/hotel-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/hotel-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/license.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/license.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/life-ring-icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/lifebuoy.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/lifebuoy.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/mail.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/manufacturing-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/manufacturing-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/notes.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/notes.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/notification icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-consultancy.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-licencing.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-logo.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/odoo-logo.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/patter.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/pattern1.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/pattern1.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/pos-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/pos-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/puzzle-piece-icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/puzzle.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/puzzle.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/replace-icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/restaurant-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/restaurant-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/screenshot-main.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/screenshot-main.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/screenshot.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/screenshot.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/service-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/service-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype-fill.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/star-1.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/star-2.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/support.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/support.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-1 - Copy.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-1 - Copy.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-1.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-1.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-2.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/test-2.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/trading-black.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/trading-black.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/training.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/training.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/translate.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/update.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/update.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/user.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/user.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/video.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/video.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/whatsapp.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/whatsapp.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/wrench-icon.svg b/odoo_website_helpdesk_dashboard/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/icons/wrench.png b/odoo_website_helpdesk_dashboard/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/icons/wrench.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/modules/1.jpg b/odoo_website_helpdesk_dashboard/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..3cb15fe01 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/modules/1.jpg differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/modules/2.jpg b/odoo_website_helpdesk_dashboard/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..662cadcc3 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/modules/2.jpg differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/modules/3.jpg b/odoo_website_helpdesk_dashboard/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..717a00443 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/modules/3.jpg differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/modules/4.png b/odoo_website_helpdesk_dashboard/static/description/assets/modules/4.png new file mode 100644 index 000000000..00ebf54ad Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/modules/4.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/modules/5.jpg b/odoo_website_helpdesk_dashboard/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..7c67e2eec Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/modules/5.jpg differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/modules/6.gif b/odoo_website_helpdesk_dashboard/static/description/assets/modules/6.gif new file mode 100644 index 000000000..a35ece8df Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/modules/6.gif differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/1.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..632c77f46 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/1.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/2.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..6ddff16ed Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/2.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/3.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..9820ac602 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/3.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/4.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..e78a7eab3 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/4.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/5.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..8888963a0 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/5.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/6.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..56c4be422 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/6.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/7.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..c80bca0c5 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/7.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/8.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..288c454a9 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/8.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/9.png b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/9.png new file mode 100644 index 000000000..5e697990d Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/screenshots/9.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/assets/y18.jpg b/odoo_website_helpdesk_dashboard/static/description/assets/y18.jpg new file mode 100644 index 000000000..eea1714f2 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/assets/y18.jpg differ diff --git a/odoo_website_helpdesk_dashboard/static/description/banner.png b/odoo_website_helpdesk_dashboard/static/description/banner.png new file mode 100644 index 000000000..f8dfc2ee4 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/banner.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/icon.png b/odoo_website_helpdesk_dashboard/static/description/icon.png new file mode 100644 index 000000000..7e9e12447 Binary files /dev/null and b/odoo_website_helpdesk_dashboard/static/description/icon.png differ diff --git a/odoo_website_helpdesk_dashboard/static/description/index.html b/odoo_website_helpdesk_dashboard/static/description/index.html new file mode 100644 index 000000000..03b235385 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/description/index.html @@ -0,0 +1,1080 @@ + + + + + + Website HelpDesk Dashboard + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ Multipurpose Graphical Dashboard for Website HelpDesk module. +

+

Website HelpDesk Dashboard +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Works in + Classified tickets according to their stages. +
+
+
+
+
+
+ +
+
+ Number of tickets allotted to each team can be seen in the bar chart. +
+
+
+
+
+
+ +
+
+ View status of tickets in the Doughnut Chart. +
+
+
+
+
+
+ +
+
+ Manage Tickets in the backend easily. +
+
+
+
+
+ +
+
+
+ Website HelpDesk Dashboard +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ View Tickets created from website and also in the draft stage together inside 'New tickets' tile along with the count. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Manage the tickets in backend by clicking on the 'New tickets' tiles. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ View Tickets that are in progress. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ View and manage tickets that are in the done/completed state. +

+
+
+
+ +
+
+
+
+
+ +
+
+
+
+

+ Manage helpdesk teams ,also shows the count of teams existing. +

+
+
+
+ +
+
+
+
+
+ +
+
+
+
+

+ To show the Ticket Priority. +

+
+
+
+ +
+
+
+
+
+ +
+
+
+
+

+ With the help of doughnut chart, Analyse the status of tickets. +

+
+
+
+ +
+
+
+
+
+ +
+
+
+
+

+ With the help of Bar graph, analyse ratio between the Helpdesk teams and No. of tickets assigned to them. +

+
+
+
+ +
+
+
+
+
+ +
+
+
+
+

+ In this view can analyze all tickets and their details. +

+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+ +
+

+ Available in + Number of tickets allotted to each team can be seen in the bar chart.

+
+ +
+
+
+
+
+
+ +
+

+ View status of tickets in the Doughnut Chart.

+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ No, it doesn't work with Odosh. +

+
+
+ +
+ +
+

+ We can see the number of tickets at various stages from the dashboard. +

+
+
+
+ +
+

+ You can track the ticket status from the dashboard. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 9th December, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/odoo_website_helpdesk_dashboard/static/src/css/dashboard.css b/odoo_website_helpdesk_dashboard/static/src/css/dashboard.css new file mode 100644 index 000000000..7d0f5f06e --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/src/css/dashboard.css @@ -0,0 +1,267 @@ + +.o_action_manager { + overflow: auto !important; +} + +.help_dashboards { + padding-top: 10px; + background-color: #f8faff !important; +} + +.dashboard_card h4 { + font-size: 1.1rem; +} + +.main-section { + margin-left: 6px; +} + +.breadcrumbs { + margin-top: 0; +} + +/* Widget One +---------------------------*/ +.stat-content { + display: inline-block; + width: 66%; +} + +.stat-icon { + display: inline-block; +} + +.stat-widget-one .stat-icon { + vertical-align: top; + margin: auto; + width: 100%; + color: #01c490; +} + +.stat-widget-one .stat-icon i { + font-size: 30px; + font-weight: 900; + display: inline-block; + color: #01c490; +} + +.stat-widget-one .stat-text { + font-size: 11px; + color: #868e96; + font-weight: bold; +} + +.stat-widget-one .stat-digit { + font-size: 24px; + color: #02448b; +} + +.stat-count { + font-size: 20px; + text-align: center; + color: #00438b; +} + +.stat-title { + font-size: 17px; + text-align: center; + color: #00438b; +} + +/*=====================Dashboard===========================*/ + +.dashboard_card { + padding: 0px; + margin-bottom: 1.5rem; + border-radius: 0px; + box-shadow: none; + background: none; + transition: transform 0.2s ease, box-shadow 0.2s ease; + will-change: transform, box-shadow; +} + +.dashboard_card:hover { + transform: translateY(-2px) translateZ(0) !important; + box-shadow: 0 10px 10px 0 rgba(62, 57, 107, 0.12), 0 0 0 transparent !important; +} + +.helpdesk { + margin-top: 3%; + margin-bottom: 2%; +} + +.helpdesk .stat-icon { + border-radius: 15px 0 0 15px; + width: 30%; + height: 100px; + text-align: center; + padding-top: 11%; + background: #4a5c9a; + color: #fff; +} + +#team_ico { + -webkit-text-stroke: 1px #8e8e8e; +} + +.helpdesk .dashboard_card { + border-radius: 15px; + transition: transform 0.2s ease, box-shadow 0.2s ease; + will-change: transform, box-shadow; + box-shadow: 0 10px 40px 0 rgba(62, 57, 107, 0.07), + 0 2px 9px 0 rgba(62, 57, 107, 0.06); +} + +.stat-widget-one .stat-text { + font-size: 14px; + color: #314384ff; + margin: 2rem 0rem 1rem 0rem; + text-align: center; +} + +.stat-widget-one .stat-digit { + font-size: 20px; + font-weight: bolder; + padding: 1px 10px 2px 0; + color: #8061a9; + text-shadow: 0px 0px 20px #000000; + text-align: center; +} + +.stat-widget-one .stat-icon i { + font-size: 25px; + font-weight: 900; + display: inline-block; + color: #fff; +} + +.stat-widget-one { + border-radius: 15px; + background-color: white; + text-align: inherit !important; +} + +.stat-widget-one { + width: 100%; +} + + +.inbox_tickets .stat-widget-one .stat-text { + color: #706F8E; +} + +.inbox_tickets .stat-icon { + background: #706F8E !important; +} + +.inprogress_tickets .stat-widget-one .stat-text { + color: #9AA8A8; +} + +.inprogress_tickets .stat-icon { + background: #9AA8A8 !important; +} + +.done_tickets .stat-icon { + background: #847A9F !important; +} + +.done_tickets .stat-widget-one .stat-text { + color: #847A9F; +} + +.team_card .stat-icon { + background: #66719a !important; +} + +.team_card .stat-widget-one .stat-text { + color: #66719a; +} + +.dashboard_card-body { + display: flex; + justify-content: space-between; + align-items: center; +} + +.pending_detail { + width: 75%; + padding: 0 0 0 40px; + margin: 0 0 0 4px; +} + +.ticket_box { + height: 32rem; + overflow-y: auto; +} + +.ticket_box_head { + text-align: center; + padding: 12px 0; + color: rgb(73 80 87 / 76%); + font-weight: bold; + font-size: 20px; + background: #b1cccc; + margin-bottom: 9px; +} + +.tickets_head { + margin-left: 10px; +} + +.pending_tickets { + padding-left: 0 ! important; +} + +.tickets_list { + font-weight: 500; + font-size: 14px; + margin: 10px; + list-style-type: none; + border-radius: 5px; + border: 1px solid rgba(69, 72, 103, 0.71); + background: #f3f3f3bd; + padding: 10px !important; +} + +.half_chart.chart-container.card-shadow { + height: 32rem; +} +.chart-container.card-shadow { + height: 32rem; +} +.row { + /* Define your styles here */ + font-weight: bold; + margin-bottom: 20px; + /* Add more styles as needed */ + transition: background-color 0.3s ease-in-out; +} +.td{ +width:20%; +padding:15px; + transition: background-color 0.3s ease-in-out; /* Add a transition for background-color */ + +} +.td:hover { + background-color: #e0e0e0; /* Change the background color on hover */ +} +.custom-tr{ +width:10%; + +} +.custom-tr:hover { + background-color: #ff8080; /* Change the background color on hover */ + color: white; /* Change the text color on hover */ + font-size: 18px; /* Change the font size on hover */ + font-weight: normal; /* Change the font weight on hover */ + border: 2px solid #ff8080; /* Add a border on hover */ + /* Add more hover styles as needed */ +} +.user-image{ + width: 10%; + height: auto; /* Let the height adjust proportionally to maintain aspect ratio */ + border-radius: 50%; /* This will create a circular shape */ + display: block; /* Ensures it's a block element for proper centering */ + margin: 0 auto; /* Centers the circular image horizontally */ +} diff --git a/odoo_website_helpdesk_dashboard/static/src/js/dashboard_view.js b/odoo_website_helpdesk_dashboard/static/src/js/dashboard_view.js new file mode 100644 index 000000000..778a5a50e --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/src/js/dashboard_view.js @@ -0,0 +1,290 @@ +/** @odoo-module **/ +import { registry } from "@web/core/registry"; +import { rpc } from '@web/core/network/rpc'; +import { _t } from "@web/core/l10n/translation"; +import { Component } from "@odoo/owl"; +import { onMounted, useRef } from "@odoo/owl"; +import { useService } from "@web/core/utils/hooks"; +/** Initializes the HelpDeskDashBoard component**/ +class HelpDeskDashBoard extends Component{ + /**Set up function**/ + setup() { + super.setup(); + var self = this; + this.ref = useRef("helpDeskDashboard") + this.actionService = useService("action"); + onMounted(this.onMounted); + } + /**Function for onMounted**/ + onMounted(){ + this.render_dashboards(); + this.render_graphs(); + } + /**To render the charts**/ + render_graphs() { + var self = this; + self.render_tickets_month_graph(); + self.render_team_ticket_count_graph(); + } + /**Doughnut chart: TICKET STATUS**/ + render_tickets_month_graph() { + var self = this; + var ctx = this.ref.el.querySelector('#ticket_month') + rpc('/web/dataset/call_kw/ticket.helpdesk/get_tickets_count', { + model: "ticket.helpdesk", + method: "get_tickets_view", + args: [], + kwargs: {}, + }).then(function (values) { + var data = { + labels: ['New', 'In Progress', 'Solved'], + datasets: [{ + data: [values.inbox_count, values.progress_count, values.done_count], + backgroundColor: [ + "#665191", + "#ff7c43", + "#ffa600" + ], + borderColor: [ + "#003f5c", + "#2f4b7c", + "#f95d6a" + ], + borderWidth: 1 + }] + }; + /** Options **/ + var options = { + responsive: true, + title: false, + legend: { + display: true, + position: "right", + labels: { + fontColor: "#333", + fontSize: 16 + } + }, + scales: { + yAxes: [{ + gridLines: { + color: "rgba(0, 0, 0, 0)", + display: false, + }, + ticks: { + min: 0, + display: false, + } + }] + } + }; + /** Create Chart class object **/ + var chart = new Chart(ctx, { + type: "doughnut", + data: data, + options: options + }); + }); + } + /** Bar chart: Team - Tickets Count Ratio **/ + render_team_ticket_count_graph() { + var self = this + var ctx = this.ref.el.querySelector('.team_ticket_count'); + rpc('/web/dataset/call_kw/ticket.helpdesk/get_tickets_count', { + model: "ticket.helpdesk", + method: "get_team_ticket_count_pie", + args: [], + kwargs: {}, + }).then(function (arrays) { + var data = { + labels: arrays[1], + datasets: [{ + label: "", + data: arrays[0], + backgroundColor: [ + 'rgba(255, 99, 132, 0.2)', + 'rgba(255, 159, 64, 0.2)', + 'rgba(255, 205, 86, 0.2)', + 'rgba(75, 192, 192, 0.2)', + 'rgba(54, 162, 235, 0.2)', + 'rgba(153, rpc102, 255, 0.2)', + 'rgba(201, 203, 207, 0.2)' + ], + borderColor: ['rgb(255, 99, 132)', + 'rgb(255, 159, 64)', + 'rgb(255, 205, 86)', + 'rgb(75, 192, 192)', + 'rgb(54, 162, 235)', + 'rgb(153, 102, 255)', + 'rgb(201, 203, 207)' + ], + borderWidth: 1 + },] + }; + /** Options **/ + var options = { + responsive: true, + title: false, + maintainAspectRatio: true, + legend: { + display: false + }, + scales: { + yAxes: [{ + display: true, + ticks: { + beginAtZero: true, + steps: 10, + stepValue: 5, + // max: 100 + } + }] + } + }; + /** Create Chart class object **/ + var chart = new Chart(ctx, { + type: "bar", + data: data, + options: options + }); + }); + } + /** List view of tickets in dashboard **/ + render_dashboards() { + var self = this; + rpc('/web/dataset/call_kw/ticket.helpdesk/get_tickets_count', { + model: 'ticket.helpdesk', + method: 'get_tickets_count', + args: [], + kwargs: {}, + }).then(function(result) { + var inbox_count_span = document.createElement("span"); + inbox_count_span.textContent = result.inbox_count + self.ref.el.querySelector('#inbox_count').appendChild(inbox_count_span); + var progress_count_span = document.createElement("span"); + progress_count_span.textContent = result.progress_count + self.ref.el.querySelector('#inprogress_count').appendChild(progress_count_span); + var done_count_span = document.createElement("span"); + done_count_span.textContent = result.done_count + self.ref.el.querySelector('#done_count').appendChild(done_count_span); + var team_count_span = document.createElement("span"); + team_count_span.textContent = result.team_count + self.ref.el.querySelector('#team_count').appendChild(team_count_span); + var priorityCounts = { + very_low: result.very_low_count1, + low: result.low_count1, + normal: result.normal_count1, + high: result.high_count1, + very_high : result.very_high_count1 + }; + /**Loop through the priorities and create progress bars**/ + for (var priority in priorityCounts) { + var progressBarWidth = priorityCounts[priority] + "%"; + var progressBar = $("
").css("width", progressBarWidth); + var progressBarContainer = $("
").append(progressBar); + var progressValue = $("
").text(priorityCounts[priority] + "%"); + // Append the progress bar container to elements with class corresponding to the priority + $("." + priority + "_count").append(progressBarContainer); + $("." + priority + "_count .progress-value").append(progressValue); + } + var tbody = $(".ticket-details"); + var ticket_details = result.ticket_details; + for (var i = 0; i < ticket_details.length; i++) { + /** Get the current ticket object **/ + var ticket = ticket_details[i]; + var row = $(""); + /** Assuming you have the Base64-encoded image data in a + variable called ticket.assigned_image **/ + var base64Image = ticket.assigned_image; + var assignedUserCell = $(""); + var imgElement = $(""); + /** Set the image source **/ + imgElement.attr("src", "data:image/png;base64," + base64Image); + /** Set an alt attribute for accessibility **/ + imgElement.attr("alt", "User Image"); + /** Add the 'oe-avatar' class to the element **/ + imgElement.addClass("user-image"); + + /** Append the img element to the assignedUserCell **/ + assignedUserCell.append(imgElement); + /** Append the assignedUserCell to the row **/ + row.append(assignedUserCell); + row.append("" + ticket.customer_name + ""); + row.append("" + ticket.ticket_name + ""); + row.append(assignedUserCell); + row.append("" + ticket.assigned_to + ""); + row.append("" + ticket.subject + ""); + row.append("" + ticket.priority + ""); + tbody.append(row); + } + $(".response").append(result.response); + rpc('/help/tickets', {}).then((values) => { + $('.pending_tickets').append(values); + }); + }); + } + /** To show new tickets **/ + tickets_inbox(ev) { + var self = this; + ev.stopPropagation(); + ev.preventDefault(); + self.actionService.doAction({ + name: _t("Inbox"), + type: 'ir.actions.act_window', + res_model: 'ticket.helpdesk', + view_mode: 'tree,form', + views: [[false, 'list'], [false, 'form']], + domain: [['stage_id.name', 'in', ['Inbox', 'Draft']]], + context: {default_stage_id_name: 'Draft'}, + target: 'current' + }); + } + /** To show in progress tickets **/ + tickets_inprogress(ev) { + var self = this; + ev.stopPropagation(); + ev.preventDefault(); + self.actionService.doAction({ + name: _t("In Progress"), + type: 'ir.actions.act_window', + res_model: 'ticket.helpdesk', + view_mode: 'tree,form', + views: [[false, 'list'], [false, 'form']], + domain: [['stage_id.name', '=', 'In Progress']], + context: {create: false}, + target: 'current' + }); + } + /** To show done tickets **/ + tickets_done(ev) { + var self = this; + ev.stopPropagation(); + ev.preventDefault(); + self.actionService.doAction({ + name: _t("Done"), + type: 'ir.actions.act_window', + res_model: 'ticket.helpdesk', + view_mode: 'tree,form', + views: [[false, 'list'], [false, 'form']], + domain: [['stage_id.name', '=', 'Done']], + context: {create: false}, + target: 'current' + }); + } + /** To show the helpdesk teams**/ + helpdesk_teams(ev) { + var self = this; + ev.stopPropagation(); + ev.preventDefault(); + self.actionService.doAction({ + name: _t("Teams"), + type: 'ir.actions.act_window', + res_model: 'team.helpdesk', + view_mode: 'tree,form', + views: [[false, 'list'], [false, 'form']], + target: 'current' + }); + } +} +HelpDeskDashBoard.template = 'DashBoardHelpDesk' +registry.category("actions").add("helpdesk_dashboard", HelpDeskDashBoard) diff --git a/odoo_website_helpdesk_dashboard/static/src/xml/dashboard_view.xml b/odoo_website_helpdesk_dashboard/static/src/xml/dashboard_view.xml new file mode 100644 index 000000000..90959f1e4 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/static/src/xml/dashboard_view.xml @@ -0,0 +1,224 @@ + + + +
+
+
+ + + +
+

HelpDesk Dashboard

+
+
+
+
+
+ +
+
+
New Tickets
+
+
+
+
+
+
+
+
+
+

+

+
+
+
+
+
+
+
+
+ +
+
+
Tickets In Progress
+
+
+
+
+
+
+
+
+
+

+

+
+
+
+
+
+
+
+
+ +
+
+
Done Tickets
+
+
+
+
+
+
+
+
+
+

+

+
+
+
+
+
+
+
+
+ +
+
+
HelpDesk Teams
+
+
+
+
+
+
+
+
+
+

+

+
+
+
+
+
+ CUSTOMER SATISFACTION: +
+ 😃 + Response Received: +
+
+
+
+
+
+
+

Ticket Priority

+
+
+
+
+ Very low : +
+
+
+
+
+
+
+
+
+
+ Low : +
+
+
+
+
+
+
+
+ Normal : +
+
+
+
+
+
+
+
+
+ High : +
+
+
+
+
+
+
+
+
+ Very High : +
+
+
+
+
+
+
+
+
+

TICKET STATUS

+
+
+ +
+
+
+
+
+

Team - Tickets Count Ratio

+
+
+ +
+
+
+
+
+

ISSUE

+
+ + + + + + + + + + + + + + +
Customer NameTicket Assigned toSubjectPriority
+
+
+
+
+ + diff --git a/odoo_website_helpdesk_dashboard/views/dashboard_templates.xml b/odoo_website_helpdesk_dashboard/views/dashboard_templates.xml new file mode 100644 index 000000000..ed51ad7e8 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/views/dashboard_templates.xml @@ -0,0 +1,47 @@ + + + + + + + diff --git a/odoo_website_helpdesk_dashboard/views/menu_item.xml b/odoo_website_helpdesk_dashboard/views/menu_item.xml new file mode 100644 index 000000000..556c68033 --- /dev/null +++ b/odoo_website_helpdesk_dashboard/views/menu_item.xml @@ -0,0 +1,13 @@ + + + + HelpDesk + helpdesk_dashboard + + + +