diff --git a/MANIFEST.in b/MANIFEST.in index 6b27f4b55..2883b6193 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,15 +4,15 @@ include *.json include *.md include *.py include *.txt -recursive-include frappedesk *.css -recursive-include frappedesk *.csv -recursive-include frappedesk *.html -recursive-include frappedesk *.ico -recursive-include frappedesk *.js -recursive-include frappedesk *.json -recursive-include frappedesk *.md -recursive-include frappedesk *.png -recursive-include frappedesk *.py -recursive-include frappedesk *.svg -recursive-include frappedesk *.txt -recursive-exclude frappedesk *.pyc \ No newline at end of file +recursive-include helpdesk *.css +recursive-include helpdesk *.csv +recursive-include helpdesk *.html +recursive-include helpdesk *.ico +recursive-include helpdesk *.js +recursive-include helpdesk *.json +recursive-include helpdesk *.md +recursive-include helpdesk *.png +recursive-include helpdesk *.py +recursive-include helpdesk *.svg +recursive-include helpdesk *.txt +recursive-exclude helpdesk *.pyc diff --git a/desk/package.json b/desk/package.json index 9a6cc4e74..4e4498865 100644 --- a/desk/package.json +++ b/desk/package.json @@ -5,9 +5,9 @@ "scripts": { "dev": "vite", "preview": "vite preview", - "build": "vite build --base=/assets/frappedesk/desk/ && yarn copy-html-entry", + "build": "vite build --base=/assets/helpdesk/desk/ && yarn copy-html-entry", "serve": "vite preview", - "copy-html-entry": "cp ../frappedesk/public/desk/index.html ../frappedesk/www/frappedesk/index.html" + "copy-html-entry": "cp ../helpdesk/public/desk/index.html ../helpdesk/www/frappedesk/index.html" }, "dependencies": { "@headlessui/vue": "^1.7.12", diff --git a/frappedesk/hooks.py b/frappedesk/hooks.py deleted file mode 100644 index cad7d5e7c..000000000 --- a/frappedesk/hooks.py +++ /dev/null @@ -1,71 +0,0 @@ -app_name = "frappedesk" -app_title = "FrappeDesk" -app_publisher = "Frappe Technologies" -app_description = "Customer Service Software" -app_icon = "octicon octicon-file-directory" -app_color = "grey" -app_email = "hello@frappe.io" -app_license = "AGPLv3" - -before_install = "frappedesk.setup.install.before_install" -after_install = "frappedesk.setup.install.after_install" - -website_route_rules = [ - { - "from_route": "/frappedesk/", - "to_route": "frappedesk", - }, - { - "from_route": "/support/", - "to_route": "frappedesk", - }, -] - -has_website_permission = { - "Ticket": "frappedesk.frappedesk.doctype.hd_ticket.hd_ticket.has_website_permission", -} - -scheduler_events = { - "daily": [ - "frappedesk.frappedesk.doctype.hd_ticket.hd_ticket.auto_close_tickets", - "frappedesk.frappedesk.doctype.hd_service_level_agreement.hd_service_level_agreement.check_agreement_status", - ], - "cron": {"* * * * * 0/5": ["frappedesk.overrides.pull_support_emails"]}, -} - -doc_events = { - "*": { - "validate": "frappedesk.frappedesk.doctype.hd_service_level_agreement.hd_service_level_agreement.apply", - }, - "Communication": { - "on_update": [ - "frappedesk.frappedesk.doctype.hd_service_level_agreement.hd_service_level_agreement.on_communication_update", - "frappedesk.frappedesk.doctype.hd_ticket.hd_ticket.set_first_response_time", - ], - "after_insert": [ - "frappedesk.frappedesk.doctype.hd_ticket.hd_ticket.set_descritption_from_communication", - "frappedesk.frappedesk.hooks.communication.after_insert", - ], - }, - "Contact": { - "on_trash": [ - "frappedesk.frappedesk.doctype.hd_ticket.hd_ticket.update_ticket", - "frappedesk.frappedesk.doctype.hd_customer.hd_customer.get_contact_count", - ], - "after_insert": [ - "frappedesk.frappedesk.doctype.hd_customer.hd_customer.get_contact_count" - ], - }, - "Assignment Rule": { - "on_trash": "frappedesk.overrides.on_assignment_rule_trash", - }, - "Agent": { - "before_insert": "frappedesk.limits.validate_agent_count", - }, - "Ticket": { - "after_insert": ( - "frappedesk.frappedesk.doctype.hd_customer.hd_customer.get_ticket_count" - ), - "on_trash": "frappedesk.frappedesk.doctype.hd_customer.hd_customer.get_ticket_count", - }, -} diff --git a/frappedesk/modules.txt b/frappedesk/modules.txt deleted file mode 100644 index 3631dcd42..000000000 --- a/frappedesk/modules.txt +++ /dev/null @@ -1 +0,0 @@ -FrappeDesk diff --git a/frappedesk/patches/add_default_agent_groups.py b/frappedesk/patches/add_default_agent_groups.py deleted file mode 100644 index 339213b88..000000000 --- a/frappedesk/patches/add_default_agent_groups.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import add_default_agent_groups - - -def execute(): - add_default_agent_groups() diff --git a/frappedesk/patches/add_default_assignment_rule.py b/frappedesk/patches/add_default_assignment_rule.py deleted file mode 100644 index 2e6717636..000000000 --- a/frappedesk/patches/add_default_assignment_rule.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import add_default_assignment_rule - - -def execute(): - add_default_assignment_rule() diff --git a/frappedesk/patches/add_default_ticket_priorities.py b/frappedesk/patches/add_default_ticket_priorities.py deleted file mode 100644 index 9517e1353..000000000 --- a/frappedesk/patches/add_default_ticket_priorities.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import add_default_ticket_priorities - - -def execute(): - add_default_ticket_priorities() diff --git a/frappedesk/patches/add_default_ticket_template.py b/frappedesk/patches/add_default_ticket_template.py deleted file mode 100644 index 12f97e724..000000000 --- a/frappedesk/patches/add_default_ticket_template.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import add_default_ticket_template - - -def execute(): - add_default_ticket_template() diff --git a/frappedesk/patches/add_default_ticket_types.py b/frappedesk/patches/add_default_ticket_types.py deleted file mode 100644 index ef3e42217..000000000 --- a/frappedesk/patches/add_default_ticket_types.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import add_default_ticket_types - - -def execute(): - add_default_ticket_types() diff --git a/frappedesk/patches/add_on_ticket_create_script.py b/frappedesk/patches/add_on_ticket_create_script.py deleted file mode 100644 index d8aa19757..000000000 --- a/frappedesk/patches/add_on_ticket_create_script.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import add_on_ticket_create_script - - -def execute(): - add_on_ticket_create_script() diff --git a/frappedesk/patches/add_support_redirect_to_tickets.py b/frappedesk/patches/add_support_redirect_to_tickets.py deleted file mode 100644 index f9cb0e517..000000000 --- a/frappedesk/patches/add_support_redirect_to_tickets.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import add_support_redirect_to_tickets - - -def execute(): - add_support_redirect_to_tickets() diff --git a/frappedesk/patches/update_agent_role_permissions.py b/frappedesk/patches/update_agent_role_permissions.py deleted file mode 100644 index 076e56dee..000000000 --- a/frappedesk/patches/update_agent_role_permissions.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import update_agent_role_permissions - - -def execute(): - update_agent_role_permissions() diff --git a/frappedesk/patches/update_agent_role_permissions_2.py b/frappedesk/patches/update_agent_role_permissions_2.py deleted file mode 100644 index 076e56dee..000000000 --- a/frappedesk/patches/update_agent_role_permissions_2.py +++ /dev/null @@ -1,5 +0,0 @@ -from frappedesk.setup.install import update_agent_role_permissions - - -def execute(): - update_agent_role_permissions() diff --git a/frappedesk/__init__.py b/helpdesk/__init__.py similarity index 100% rename from frappedesk/__init__.py rename to helpdesk/__init__.py diff --git a/frappedesk/api/account.py b/helpdesk/api/account.py similarity index 100% rename from frappedesk/api/account.py rename to helpdesk/api/account.py diff --git a/frappedesk/api/agent.py b/helpdesk/api/agent.py similarity index 100% rename from frappedesk/api/agent.py rename to helpdesk/api/agent.py diff --git a/frappedesk/api/auth.py b/helpdesk/api/auth.py similarity index 100% rename from frappedesk/api/auth.py rename to helpdesk/api/auth.py diff --git a/frappedesk/api/cannedResponse.py b/helpdesk/api/cannedResponse.py similarity index 100% rename from frappedesk/api/cannedResponse.py rename to helpdesk/api/cannedResponse.py diff --git a/frappedesk/api/dashboard.py b/helpdesk/api/dashboard.py similarity index 100% rename from frappedesk/api/dashboard.py rename to helpdesk/api/dashboard.py diff --git a/frappedesk/api/doc.py b/helpdesk/api/doc.py similarity index 100% rename from frappedesk/api/doc.py rename to helpdesk/api/doc.py diff --git a/frappedesk/api/fdCustomer.py b/helpdesk/api/fdCustomer.py similarity index 100% rename from frappedesk/api/fdCustomer.py rename to helpdesk/api/fdCustomer.py diff --git a/frappedesk/api/general.py b/helpdesk/api/general.py similarity index 100% rename from frappedesk/api/general.py rename to helpdesk/api/general.py diff --git a/frappedesk/api/kb.py b/helpdesk/api/kb.py similarity index 100% rename from frappedesk/api/kb.py rename to helpdesk/api/kb.py diff --git a/frappedesk/api/settings.py b/helpdesk/api/settings.py similarity index 100% rename from frappedesk/api/settings.py rename to helpdesk/api/settings.py diff --git a/frappedesk/api/setup.py b/helpdesk/api/setup.py similarity index 95% rename from frappedesk/api/setup.py rename to helpdesk/api/setup.py index 51406f688..83419e844 100644 --- a/frappedesk/api/setup.py +++ b/helpdesk/api/setup.py @@ -1,5 +1,5 @@ import frappe -from frappedesk.frappedesk.doctype.hd_ticket.hd_ticket import create_communication_via_contact +from helpdesk.helpdesk.doctype.hd_ticket.hd_ticket import create_communication_via_contact @frappe.whitelist() diff --git a/frappedesk/api/ticket.py b/helpdesk/api/ticket.py similarity index 98% rename from frappedesk/api/ticket.py rename to helpdesk/api/ticket.py index 8eed97028..7c0f2b192 100644 --- a/frappedesk/api/ticket.py +++ b/helpdesk/api/ticket.py @@ -2,16 +2,16 @@ import json import frappe from frappe.website.utils import cleanup_page_name -from frappedesk.frappedesk.doctype.hd_ticket_activity.hd_ticket_activity import ( +from helpdesk.helpdesk.doctype.hd_ticket_activity.hd_ticket_activity import ( log_ticket_activity, ) -from frappedesk.frappedesk.doctype.hd_ticket.hd_ticket import ( +from helpdesk.helpdesk.doctype.hd_ticket.hd_ticket import ( create_communication_via_contact, get_all_conversations, ) from frappe.utils import datetime -from frappedesk.frappedesk.doctype.hd_service_level_agreement.hd_service_level_agreement import ( +from helpdesk.helpdesk.doctype.hd_service_level_agreement.hd_service_level_agreement import ( get_expected_time_for, ) from frappe.automation.doctype.assignment_rule.assignment_rule import apply diff --git a/frappedesk/api/website.py b/helpdesk/api/website.py similarity index 100% rename from frappedesk/api/website.py rename to helpdesk/api/website.py diff --git a/frappedesk/config/__init__.py b/helpdesk/config/__init__.py similarity index 100% rename from frappedesk/config/__init__.py rename to helpdesk/config/__init__.py diff --git a/frappedesk/config/desktop.py b/helpdesk/config/desktop.py similarity index 100% rename from frappedesk/config/desktop.py rename to helpdesk/config/desktop.py diff --git a/frappedesk/config/docs.py b/helpdesk/config/docs.py similarity index 100% rename from frappedesk/config/docs.py rename to helpdesk/config/docs.py diff --git a/frappedesk/extends/client.py b/helpdesk/extends/client.py similarity index 100% rename from frappedesk/extends/client.py rename to helpdesk/extends/client.py diff --git a/frappedesk/extends/qb.py b/helpdesk/extends/qb.py similarity index 100% rename from frappedesk/extends/qb.py rename to helpdesk/extends/qb.py diff --git a/frappedesk/frappedesk/__init__.py b/helpdesk/helpdesk/__init__.py similarity index 100% rename from frappedesk/frappedesk/__init__.py rename to helpdesk/helpdesk/__init__.py diff --git a/frappedesk/frappedesk/doctype/__init__.py b/helpdesk/helpdesk/doctype/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/__init__.py rename to helpdesk/helpdesk/doctype/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_agent/__init__.py b/helpdesk/helpdesk/doctype/hd_agent/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_agent/__init__.py rename to helpdesk/helpdesk/doctype/hd_agent/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_agent/hd_agent.js b/helpdesk/helpdesk/doctype/hd_agent/hd_agent.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_agent/hd_agent.js rename to helpdesk/helpdesk/doctype/hd_agent/hd_agent.js diff --git a/frappedesk/frappedesk/doctype/hd_agent/hd_agent.json b/helpdesk/helpdesk/doctype/hd_agent/hd_agent.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_agent/hd_agent.json rename to helpdesk/helpdesk/doctype/hd_agent/hd_agent.json index 09799a027..5c66eb29a 100644 --- a/frappedesk/frappedesk/doctype/hd_agent/hd_agent.json +++ b/helpdesk/helpdesk/doctype/hd_agent/hd_agent.json @@ -52,7 +52,7 @@ "links": [], "modified": "2023-03-26 23:16:09.421336", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Agent", "owner": "Administrator", "permissions": [ @@ -96,4 +96,4 @@ "states": [], "title_field": "agent_name", "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_agent/hd_agent.py b/helpdesk/helpdesk/doctype/hd_agent/hd_agent.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_agent/hd_agent.py rename to helpdesk/helpdesk/doctype/hd_agent/hd_agent.py diff --git a/frappedesk/frappedesk/doctype/hd_agent/test_hd_agent.py b/helpdesk/helpdesk/doctype/hd_agent/test_hd_agent.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_agent/test_hd_agent.py rename to helpdesk/helpdesk/doctype/hd_agent/test_hd_agent.py diff --git a/frappedesk/frappedesk/doctype/hd_article/__init__.py b/helpdesk/helpdesk/doctype/hd_article/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article/__init__.py rename to helpdesk/helpdesk/doctype/hd_article/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_article/hd_article.js b/helpdesk/helpdesk/doctype/hd_article/hd_article.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article/hd_article.js rename to helpdesk/helpdesk/doctype/hd_article/hd_article.js diff --git a/frappedesk/frappedesk/doctype/hd_article/hd_article.json b/helpdesk/helpdesk/doctype/hd_article/hd_article.json similarity index 99% rename from frappedesk/frappedesk/doctype/hd_article/hd_article.json rename to helpdesk/helpdesk/doctype/hd_article/hd_article.json index 4ecb34ef4..ae8302e73 100644 --- a/frappedesk/frappedesk/doctype/hd_article/hd_article.json +++ b/helpdesk/helpdesk/doctype/hd_article/hd_article.json @@ -135,7 +135,7 @@ "links": [], "modified": "2023-03-27 14:39:39.750824", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Article", "naming_rule": "Random", "owner": "Administrator", @@ -178,4 +178,4 @@ "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_article/hd_article.py b/helpdesk/helpdesk/doctype/hd_article/hd_article.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article/hd_article.py rename to helpdesk/helpdesk/doctype/hd_article/hd_article.py diff --git a/frappedesk/frappedesk/doctype/hd_article/test_hd_article.py b/helpdesk/helpdesk/doctype/hd_article/test_hd_article.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article/test_hd_article.py rename to helpdesk/helpdesk/doctype/hd_article/test_hd_article.py diff --git a/frappedesk/frappedesk/doctype/hd_article_category/__init__.py b/helpdesk/helpdesk/doctype/hd_article_category/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_category/__init__.py rename to helpdesk/helpdesk/doctype/hd_article_category/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_article_category/hd_article_category.js b/helpdesk/helpdesk/doctype/hd_article_category/hd_article_category.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_category/hd_article_category.js rename to helpdesk/helpdesk/doctype/hd_article_category/hd_article_category.js diff --git a/frappedesk/frappedesk/doctype/hd_article_category/hd_article_category.json b/helpdesk/helpdesk/doctype/hd_article_category/hd_article_category.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_article_category/hd_article_category.json rename to helpdesk/helpdesk/doctype/hd_article_category/hd_article_category.json index 0d179a743..5951e5236 100644 --- a/frappedesk/frappedesk/doctype/hd_article_category/hd_article_category.json +++ b/helpdesk/helpdesk/doctype/hd_article_category/hd_article_category.json @@ -84,7 +84,7 @@ "links": [], "modified": "2022-10-31 15:05:28.396778", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Article Category", "naming_rule": "Random", "nsm_parent_field": "parent_category", diff --git a/frappedesk/frappedesk/doctype/hd_article_category/hd_article_category.py b/helpdesk/helpdesk/doctype/hd_article_category/hd_article_category.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_category/hd_article_category.py rename to helpdesk/helpdesk/doctype/hd_article_category/hd_article_category.py diff --git a/frappedesk/frappedesk/doctype/hd_article_category/test_hd_article_category.py b/helpdesk/helpdesk/doctype/hd_article_category/test_hd_article_category.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_category/test_hd_article_category.py rename to helpdesk/helpdesk/doctype/hd_article_category/test_hd_article_category.py diff --git a/frappedesk/frappedesk/doctype/hd_article_feedback/__init__.py b/helpdesk/helpdesk/doctype/hd_article_feedback/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_feedback/__init__.py rename to helpdesk/helpdesk/doctype/hd_article_feedback/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_article_feedback/hd_article_feedback.js b/helpdesk/helpdesk/doctype/hd_article_feedback/hd_article_feedback.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_feedback/hd_article_feedback.js rename to helpdesk/helpdesk/doctype/hd_article_feedback/hd_article_feedback.js diff --git a/frappedesk/frappedesk/doctype/hd_article_feedback/hd_article_feedback.json b/helpdesk/helpdesk/doctype/hd_article_feedback/hd_article_feedback.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_article_feedback/hd_article_feedback.json rename to helpdesk/helpdesk/doctype/hd_article_feedback/hd_article_feedback.json index 1c8626688..1114e3462 100644 --- a/frappedesk/frappedesk/doctype/hd_article_feedback/hd_article_feedback.json +++ b/helpdesk/helpdesk/doctype/hd_article_feedback/hd_article_feedback.json @@ -33,7 +33,7 @@ "links": [], "modified": "2023-03-26 23:06:42.029313", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Article Feedback", "owner": "Administrator", "permissions": [ @@ -64,4 +64,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_article_feedback/hd_article_feedback.py b/helpdesk/helpdesk/doctype/hd_article_feedback/hd_article_feedback.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_feedback/hd_article_feedback.py rename to helpdesk/helpdesk/doctype/hd_article_feedback/hd_article_feedback.py diff --git a/frappedesk/frappedesk/doctype/hd_article_feedback/test_hd_article_feedback.py b/helpdesk/helpdesk/doctype/hd_article_feedback/test_hd_article_feedback.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_feedback/test_hd_article_feedback.py rename to helpdesk/helpdesk/doctype/hd_article_feedback/test_hd_article_feedback.py diff --git a/frappedesk/frappedesk/doctype/hd_article_item/__init__.py b/helpdesk/helpdesk/doctype/hd_article_item/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_item/__init__.py rename to helpdesk/helpdesk/doctype/hd_article_item/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_article_item/hd_article_item.json b/helpdesk/helpdesk/doctype/hd_article_item/hd_article_item.json similarity index 96% rename from frappedesk/frappedesk/doctype/hd_article_item/hd_article_item.json rename to helpdesk/helpdesk/doctype/hd_article_item/hd_article_item.json index 9eaffbb8c..1340d673b 100644 --- a/frappedesk/frappedesk/doctype/hd_article_item/hd_article_item.json +++ b/helpdesk/helpdesk/doctype/hd_article_item/hd_article_item.json @@ -22,7 +22,7 @@ "links": [], "modified": "2023-03-26 23:06:42.234015", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Article Item", "owner": "Administrator", "permissions": [], @@ -30,4 +30,4 @@ "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_article_item/hd_article_item.py b/helpdesk/helpdesk/doctype/hd_article_item/hd_article_item.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_item/hd_article_item.py rename to helpdesk/helpdesk/doctype/hd_article_item/hd_article_item.py diff --git a/frappedesk/frappedesk/doctype/hd_article_sub_category_item/__init__.py b/helpdesk/helpdesk/doctype/hd_article_sub_category_item/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_sub_category_item/__init__.py rename to helpdesk/helpdesk/doctype/hd_article_sub_category_item/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.json b/helpdesk/helpdesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.json similarity index 96% rename from frappedesk/frappedesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.json rename to helpdesk/helpdesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.json index 2a349fc30..a4ad44bfc 100644 --- a/frappedesk/frappedesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.json +++ b/helpdesk/helpdesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.json @@ -25,7 +25,7 @@ "links": [], "modified": "2023-03-27 14:39:40.473841", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Article Sub Category Item", "naming_rule": "By fieldname", "owner": "Administrator", @@ -33,4 +33,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.py b/helpdesk/helpdesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.py rename to helpdesk/helpdesk/doctype/hd_article_sub_category_item/hd_article_sub_category_item.py diff --git a/frappedesk/frappedesk/doctype/hd_canned_response/__init__.py b/helpdesk/helpdesk/doctype/hd_canned_response/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_canned_response/__init__.py rename to helpdesk/helpdesk/doctype/hd_canned_response/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_canned_response/hd_canned_response.js b/helpdesk/helpdesk/doctype/hd_canned_response/hd_canned_response.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_canned_response/hd_canned_response.js rename to helpdesk/helpdesk/doctype/hd_canned_response/hd_canned_response.js diff --git a/frappedesk/frappedesk/doctype/hd_canned_response/hd_canned_response.json b/helpdesk/helpdesk/doctype/hd_canned_response/hd_canned_response.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_canned_response/hd_canned_response.json rename to helpdesk/helpdesk/doctype/hd_canned_response/hd_canned_response.json index c120ab638..e0752420e 100644 --- a/frappedesk/frappedesk/doctype/hd_canned_response/hd_canned_response.json +++ b/helpdesk/helpdesk/doctype/hd_canned_response/hd_canned_response.json @@ -27,7 +27,7 @@ "links": [], "modified": "2023-03-12 12:05:42.429658", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Canned Response", "naming_rule": "By fieldname", "owner": "Administrator", @@ -60,4 +60,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_canned_response/hd_canned_response.py b/helpdesk/helpdesk/doctype/hd_canned_response/hd_canned_response.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_canned_response/hd_canned_response.py rename to helpdesk/helpdesk/doctype/hd_canned_response/hd_canned_response.py diff --git a/frappedesk/frappedesk/doctype/hd_canned_response/test_hd_canned_response.py b/helpdesk/helpdesk/doctype/hd_canned_response/test_hd_canned_response.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_canned_response/test_hd_canned_response.py rename to helpdesk/helpdesk/doctype/hd_canned_response/test_hd_canned_response.py diff --git a/frappedesk/frappedesk/doctype/hd_customer/__init__.py b/helpdesk/helpdesk/doctype/hd_customer/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_customer/__init__.py rename to helpdesk/helpdesk/doctype/hd_customer/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_customer/hd_customer.js b/helpdesk/helpdesk/doctype/hd_customer/hd_customer.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_customer/hd_customer.js rename to helpdesk/helpdesk/doctype/hd_customer/hd_customer.js diff --git a/frappedesk/frappedesk/doctype/hd_customer/hd_customer.json b/helpdesk/helpdesk/doctype/hd_customer/hd_customer.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_customer/hd_customer.json rename to helpdesk/helpdesk/doctype/hd_customer/hd_customer.json index 033381dea..e5b324595 100644 --- a/frappedesk/frappedesk/doctype/hd_customer/hd_customer.json +++ b/helpdesk/helpdesk/doctype/hd_customer/hd_customer.json @@ -65,7 +65,7 @@ "links": [], "modified": "2023-03-12 12:02:34.172337", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Customer", "naming_rule": "Expression (old style)", "owner": "Administrator", @@ -98,4 +98,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_customer/hd_customer.py b/helpdesk/helpdesk/doctype/hd_customer/hd_customer.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_customer/hd_customer.py rename to helpdesk/helpdesk/doctype/hd_customer/hd_customer.py diff --git a/frappedesk/frappedesk/doctype/hd_customer/test_hd_customer.py b/helpdesk/helpdesk/doctype/hd_customer/test_hd_customer.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_customer/test_hd_customer.py rename to helpdesk/helpdesk/doctype/hd_customer/test_hd_customer.py diff --git a/frappedesk/frappedesk/doctype/hd_desk_account_request/__init__.py b/helpdesk/helpdesk/doctype/hd_desk_account_request/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_desk_account_request/__init__.py rename to helpdesk/helpdesk/doctype/hd_desk_account_request/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_desk_account_request/hd_desk_account_request.js b/helpdesk/helpdesk/doctype/hd_desk_account_request/hd_desk_account_request.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_desk_account_request/hd_desk_account_request.js rename to helpdesk/helpdesk/doctype/hd_desk_account_request/hd_desk_account_request.js diff --git a/frappedesk/frappedesk/doctype/hd_desk_account_request/hd_desk_account_request.json b/helpdesk/helpdesk/doctype/hd_desk_account_request/hd_desk_account_request.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_desk_account_request/hd_desk_account_request.json rename to helpdesk/helpdesk/doctype/hd_desk_account_request/hd_desk_account_request.json index 98a28d2a1..f27275dd4 100644 --- a/frappedesk/frappedesk/doctype/hd_desk_account_request/hd_desk_account_request.json +++ b/helpdesk/helpdesk/doctype/hd_desk_account_request/hd_desk_account_request.json @@ -38,7 +38,7 @@ "links": [], "modified": "2022-04-11 07:56:25.283329", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Desk Account Request", "owner": "Administrator", "permissions": [ @@ -58,4 +58,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_desk_account_request/hd_desk_account_request.py b/helpdesk/helpdesk/doctype/hd_desk_account_request/hd_desk_account_request.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_desk_account_request/hd_desk_account_request.py rename to helpdesk/helpdesk/doctype/hd_desk_account_request/hd_desk_account_request.py diff --git a/frappedesk/frappedesk/doctype/hd_desk_account_request/test_hd_desk_account_request.py b/helpdesk/helpdesk/doctype/hd_desk_account_request/test_hd_desk_account_request.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_desk_account_request/test_hd_desk_account_request.py rename to helpdesk/helpdesk/doctype/hd_desk_account_request/test_hd_desk_account_request.py diff --git a/frappedesk/frappedesk/doctype/hd_holiday/README.md b/helpdesk/helpdesk/doctype/hd_holiday/README.md similarity index 100% rename from frappedesk/frappedesk/doctype/hd_holiday/README.md rename to helpdesk/helpdesk/doctype/hd_holiday/README.md diff --git a/frappedesk/frappedesk/doctype/hd_holiday/__init__.py b/helpdesk/helpdesk/doctype/hd_holiday/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_holiday/__init__.py rename to helpdesk/helpdesk/doctype/hd_holiday/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_holiday/hd_holiday.json b/helpdesk/helpdesk/doctype/hd_holiday/hd_holiday.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_holiday/hd_holiday.json rename to helpdesk/helpdesk/doctype/hd_holiday/hd_holiday.json index 96311c943..8ab409bb1 100644 --- a/frappedesk/frappedesk/doctype/hd_holiday/hd_holiday.json +++ b/helpdesk/helpdesk/doctype/hd_holiday/hd_holiday.json @@ -51,10 +51,10 @@ "links": [], "modified": "2021-12-23 19:03:23.507845", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Holiday", "owner": "Administrator", "permissions": [], "sort_field": "modified", "sort_order": "ASC" -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_holiday/hd_holiday.py b/helpdesk/helpdesk/doctype/hd_holiday/hd_holiday.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_holiday/hd_holiday.py rename to helpdesk/helpdesk/doctype/hd_holiday/hd_holiday.py diff --git a/frappedesk/frappedesk/doctype/hd_notification/__init__.py b/helpdesk/helpdesk/doctype/hd_notification/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_notification/__init__.py rename to helpdesk/helpdesk/doctype/hd_notification/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_notification/hd_notification.js b/helpdesk/helpdesk/doctype/hd_notification/hd_notification.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_notification/hd_notification.js rename to helpdesk/helpdesk/doctype/hd_notification/hd_notification.js diff --git a/frappedesk/frappedesk/doctype/hd_notification/hd_notification.json b/helpdesk/helpdesk/doctype/hd_notification/hd_notification.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_notification/hd_notification.json rename to helpdesk/helpdesk/doctype/hd_notification/hd_notification.json index 03a16402d..b631bc43d 100644 --- a/frappedesk/frappedesk/doctype/hd_notification/hd_notification.json +++ b/helpdesk/helpdesk/doctype/hd_notification/hd_notification.json @@ -54,7 +54,7 @@ "links": [], "modified": "2023-03-26 23:50:51.129825", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Notification", "owner": "Administrator", "permissions": [ diff --git a/frappedesk/frappedesk/doctype/hd_notification/hd_notification.py b/helpdesk/helpdesk/doctype/hd_notification/hd_notification.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_notification/hd_notification.py rename to helpdesk/helpdesk/doctype/hd_notification/hd_notification.py diff --git a/frappedesk/frappedesk/doctype/hd_notification/test_hd_notification.py b/helpdesk/helpdesk/doctype/hd_notification/test_hd_notification.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_notification/test_hd_notification.py rename to helpdesk/helpdesk/doctype/hd_notification/test_hd_notification.py diff --git a/frappedesk/frappedesk/doctype/hd_organization/__init__.py b/helpdesk/helpdesk/doctype/hd_organization/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_organization/__init__.py rename to helpdesk/helpdesk/doctype/hd_organization/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_organization/hd_organization.js b/helpdesk/helpdesk/doctype/hd_organization/hd_organization.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_organization/hd_organization.js rename to helpdesk/helpdesk/doctype/hd_organization/hd_organization.js diff --git a/frappedesk/frappedesk/doctype/hd_organization/hd_organization.json b/helpdesk/helpdesk/doctype/hd_organization/hd_organization.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_organization/hd_organization.json rename to helpdesk/helpdesk/doctype/hd_organization/hd_organization.json index cd7e1152b..66aa5c8d7 100644 --- a/frappedesk/frappedesk/doctype/hd_organization/hd_organization.json +++ b/helpdesk/helpdesk/doctype/hd_organization/hd_organization.json @@ -28,7 +28,7 @@ "links": [], "modified": "2023-03-26 23:31:13.325932", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Organization", "naming_rule": "By fieldname", "owner": "Administrator", @@ -49,4 +49,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_organization/hd_organization.py b/helpdesk/helpdesk/doctype/hd_organization/hd_organization.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_organization/hd_organization.py rename to helpdesk/helpdesk/doctype/hd_organization/hd_organization.py diff --git a/frappedesk/frappedesk/doctype/hd_organization/test_hd_organization.py b/helpdesk/helpdesk/doctype/hd_organization/test_hd_organization.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_organization/test_hd_organization.py rename to helpdesk/helpdesk/doctype/hd_organization/test_hd_organization.py diff --git a/frappedesk/frappedesk/doctype/hd_organization_contact_item/__init__.py b/helpdesk/helpdesk/doctype/hd_organization_contact_item/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_organization_contact_item/__init__.py rename to helpdesk/helpdesk/doctype/hd_organization_contact_item/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_organization_contact_item/hd_organization_contact_item.json b/helpdesk/helpdesk/doctype/hd_organization_contact_item/hd_organization_contact_item.json similarity index 95% rename from frappedesk/frappedesk/doctype/hd_organization_contact_item/hd_organization_contact_item.json rename to helpdesk/helpdesk/doctype/hd_organization_contact_item/hd_organization_contact_item.json index 5b30f768d..106b91679 100644 --- a/frappedesk/frappedesk/doctype/hd_organization_contact_item/hd_organization_contact_item.json +++ b/helpdesk/helpdesk/doctype/hd_organization_contact_item/hd_organization_contact_item.json @@ -22,11 +22,11 @@ "links": [], "modified": "2022-03-23 10:33:48.137526", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Organization Contact Item", "owner": "Administrator", "permissions": [], "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_organization_contact_item/hd_organization_contact_item.py b/helpdesk/helpdesk/doctype/hd_organization_contact_item/hd_organization_contact_item.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_organization_contact_item/hd_organization_contact_item.py rename to helpdesk/helpdesk/doctype/hd_organization_contact_item/hd_organization_contact_item.py diff --git a/frappedesk/frappedesk/doctype/hd_pause_service_level_agreement_on_status/__init__.py b/helpdesk/helpdesk/doctype/hd_pause_service_level_agreement_on_status/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_pause_service_level_agreement_on_status/__init__.py rename to helpdesk/helpdesk/doctype/hd_pause_service_level_agreement_on_status/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.json b/helpdesk/helpdesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.json similarity index 96% rename from frappedesk/frappedesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.json rename to helpdesk/helpdesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.json index 875c56a57..cddd0ac94 100644 --- a/frappedesk/frappedesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.json +++ b/helpdesk/helpdesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.json @@ -21,7 +21,7 @@ "migration_hash": "ce4e06e89021c8f57de5128bf63dd079", "modified": "2021-10-21 14:27:08.994829", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Pause Service Level Agreement On Status", "owner": "Administrator", "permissions": [], @@ -29,4 +29,4 @@ "sort_field": "modified", "sort_order": "DESC", "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.py b/helpdesk/helpdesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.py rename to helpdesk/helpdesk/doctype/hd_pause_service_level_agreement_on_status/hd_pause_service_level_agreement_on_status.py diff --git a/frappedesk/frappedesk/doctype/hd_portal_signup_request/__init__.py b/helpdesk/helpdesk/doctype/hd_portal_signup_request/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_portal_signup_request/__init__.py rename to helpdesk/helpdesk/doctype/hd_portal_signup_request/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_portal_signup_request/hd_portal_signup_request.js b/helpdesk/helpdesk/doctype/hd_portal_signup_request/hd_portal_signup_request.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_portal_signup_request/hd_portal_signup_request.js rename to helpdesk/helpdesk/doctype/hd_portal_signup_request/hd_portal_signup_request.js diff --git a/frappedesk/frappedesk/doctype/hd_portal_signup_request/hd_portal_signup_request.json b/helpdesk/helpdesk/doctype/hd_portal_signup_request/hd_portal_signup_request.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_portal_signup_request/hd_portal_signup_request.json rename to helpdesk/helpdesk/doctype/hd_portal_signup_request/hd_portal_signup_request.json index edf3cd426..690f65886 100644 --- a/frappedesk/frappedesk/doctype/hd_portal_signup_request/hd_portal_signup_request.json +++ b/helpdesk/helpdesk/doctype/hd_portal_signup_request/hd_portal_signup_request.json @@ -26,7 +26,7 @@ "links": [], "modified": "2022-04-08 07:58:54.899238", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Portal Signup Request", "owner": "Administrator", "permissions": [ @@ -46,4 +46,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_portal_signup_request/hd_portal_signup_request.py b/helpdesk/helpdesk/doctype/hd_portal_signup_request/hd_portal_signup_request.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_portal_signup_request/hd_portal_signup_request.py rename to helpdesk/helpdesk/doctype/hd_portal_signup_request/hd_portal_signup_request.py diff --git a/frappedesk/frappedesk/doctype/hd_portal_signup_request/test_hd_portal_signup_request.py b/helpdesk/helpdesk/doctype/hd_portal_signup_request/test_hd_portal_signup_request.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_portal_signup_request/test_hd_portal_signup_request.py rename to helpdesk/helpdesk/doctype/hd_portal_signup_request/test_hd_portal_signup_request.py diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter/__init__.py b/helpdesk/helpdesk/doctype/hd_preset_filter/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_preset_filter/__init__.py rename to helpdesk/helpdesk/doctype/hd_preset_filter/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter/hd_preset_filter.js b/helpdesk/helpdesk/doctype/hd_preset_filter/hd_preset_filter.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_preset_filter/hd_preset_filter.js rename to helpdesk/helpdesk/doctype/hd_preset_filter/hd_preset_filter.js diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter/hd_preset_filter.json b/helpdesk/helpdesk/doctype/hd_preset_filter/hd_preset_filter.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_preset_filter/hd_preset_filter.json rename to helpdesk/helpdesk/doctype/hd_preset_filter/hd_preset_filter.json index f904dc0d0..b17235cd5 100644 --- a/frappedesk/frappedesk/doctype/hd_preset_filter/hd_preset_filter.json +++ b/helpdesk/helpdesk/doctype/hd_preset_filter/hd_preset_filter.json @@ -65,7 +65,7 @@ "links": [], "modified": "2023-03-26 23:34:29.849463", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Preset Filter", "naming_rule": "Random", "owner": "Administrator", @@ -99,4 +99,4 @@ "sort_order": "DESC", "states": [], "title_field": "title" -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter/hd_preset_filter.py b/helpdesk/helpdesk/doctype/hd_preset_filter/hd_preset_filter.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_preset_filter/hd_preset_filter.py rename to helpdesk/helpdesk/doctype/hd_preset_filter/hd_preset_filter.py diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter/test_hd_preset_filter.py b/helpdesk/helpdesk/doctype/hd_preset_filter/test_hd_preset_filter.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_preset_filter/test_hd_preset_filter.py rename to helpdesk/helpdesk/doctype/hd_preset_filter/test_hd_preset_filter.py diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter_item/__init__.py b/helpdesk/helpdesk/doctype/hd_preset_filter_item/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_preset_filter_item/__init__.py rename to helpdesk/helpdesk/doctype/hd_preset_filter_item/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter_item/hd_preset_filter_item.json b/helpdesk/helpdesk/doctype/hd_preset_filter_item/hd_preset_filter_item.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_preset_filter_item/hd_preset_filter_item.json rename to helpdesk/helpdesk/doctype/hd_preset_filter_item/hd_preset_filter_item.json index 6b09ac552..f14b7d059 100644 --- a/frappedesk/frappedesk/doctype/hd_preset_filter_item/hd_preset_filter_item.json +++ b/helpdesk/helpdesk/doctype/hd_preset_filter_item/hd_preset_filter_item.json @@ -43,7 +43,7 @@ "links": [], "modified": "2022-11-09 01:50:55.644187", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Preset Filter Item", "naming_rule": "Autoincrement", "owner": "Administrator", @@ -51,4 +51,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_preset_filter_item/hd_preset_filter_item.py b/helpdesk/helpdesk/doctype/hd_preset_filter_item/hd_preset_filter_item.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_preset_filter_item/hd_preset_filter_item.py rename to helpdesk/helpdesk/doctype/hd_preset_filter_item/hd_preset_filter_item.py diff --git a/frappedesk/frappedesk/doctype/hd_service_day/__init__.py b/helpdesk/helpdesk/doctype/hd_service_day/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_day/__init__.py rename to helpdesk/helpdesk/doctype/hd_service_day/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_service_day/hd_service_day.json b/helpdesk/helpdesk/doctype/hd_service_day/hd_service_day.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_service_day/hd_service_day.json rename to helpdesk/helpdesk/doctype/hd_service_day/hd_service_day.json index ffac5b289..dd8b7f164 100644 --- a/frappedesk/frappedesk/doctype/hd_service_day/hd_service_day.json +++ b/helpdesk/helpdesk/doctype/hd_service_day/hd_service_day.json @@ -48,7 +48,7 @@ "migration_hash": "496266f1e7762d83bdd34c7359c26cff", "modified": "2021-10-21 14:27:08.190239", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Service Day", "owner": "Administrator", "permissions": [], @@ -56,4 +56,4 @@ "sort_field": "modified", "sort_order": "DESC", "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_service_day/hd_service_day.py b/helpdesk/helpdesk/doctype/hd_service_day/hd_service_day.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_day/hd_service_day.py rename to helpdesk/helpdesk/doctype/hd_service_day/hd_service_day.py diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/README.md b/helpdesk/helpdesk/doctype/hd_service_holiday_list/README.md similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/README.md rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/README.md diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/__init__.py b/helpdesk/helpdesk/doctype/hd_service_holiday_list/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/__init__.py rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list.js b/helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list.js rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list.js diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list.json b/helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list.json similarity index 99% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list.json rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list.json index 9b204e883..d76a01463 100644 --- a/frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list.json +++ b/helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list.json @@ -114,7 +114,7 @@ "links": [], "modified": "2023-03-26 23:20:54.906720", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Service Holiday List", "naming_rule": "By fieldname", "owner": "Administrator", diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list.py b/helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list.py rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list.py diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list_calendar.js b/helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list_calendar.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list_calendar.js rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list_calendar.js diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list_dashboard.py b/helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list_dashboard.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/hd_service_holiday_list_dashboard.py rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/hd_service_holiday_list_dashboard.py diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/test_hd_service_holiday_list.py b/helpdesk/helpdesk/doctype/hd_service_holiday_list/test_hd_service_holiday_list.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/test_hd_service_holiday_list.py rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/test_hd_service_holiday_list.py diff --git a/frappedesk/frappedesk/doctype/hd_service_holiday_list/test_records.json b/helpdesk/helpdesk/doctype/hd_service_holiday_list/test_records.json similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_holiday_list/test_records.json rename to helpdesk/helpdesk/doctype/hd_service_holiday_list/test_records.json diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement/__init__.py b/helpdesk/helpdesk/doctype/hd_service_level_agreement/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement/__init__.py rename to helpdesk/helpdesk/doctype/hd_service_level_agreement/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.js b/helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.js rename to helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.js diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.json b/helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.json similarity index 99% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.json rename to helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.json index 3c94b936b..3b0633434 100644 --- a/frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.json +++ b/helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.json @@ -195,7 +195,7 @@ "links": [], "modified": "2023-03-27 01:01:40.067560", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Service Level Agreement", "naming_rule": "By fieldname", "owner": "Administrator", @@ -241,4 +241,4 @@ "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.py b/helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.py similarity index 99% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.py rename to helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.py index 299bee84f..d05d4478e 100644 --- a/frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement.py +++ b/helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement.py @@ -23,7 +23,7 @@ from frappe.utils import ( ) from frappe.utils.safe_exec import get_safe_globals -from frappedesk.frappedesk.doctype.hd_ticket.hd_ticket import get_holidays +from helpdesk.helpdesk.doctype.hd_ticket.hd_ticket import get_holidays class HDServiceLevelAgreement(Document): diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement_dashboard.py b/helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement_dashboard.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement/hd_service_level_agreement_dashboard.py rename to helpdesk/helpdesk/doctype/hd_service_level_agreement/hd_service_level_agreement_dashboard.py diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement/test_hd_service_level_agreement.py b/helpdesk/helpdesk/doctype/hd_service_level_agreement/test_hd_service_level_agreement.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement/test_hd_service_level_agreement.py rename to helpdesk/helpdesk/doctype/hd_service_level_agreement/test_hd_service_level_agreement.py diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement_fulfilled_on_status/__init__.py b/helpdesk/helpdesk/doctype/hd_service_level_agreement_fulfilled_on_status/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement_fulfilled_on_status/__init__.py rename to helpdesk/helpdesk/doctype/hd_service_level_agreement_fulfilled_on_status/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.json b/helpdesk/helpdesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.json similarity index 96% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.json rename to helpdesk/helpdesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.json index 679c5fe1a..51c19827f 100644 --- a/frappedesk/frappedesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.json +++ b/helpdesk/helpdesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.json @@ -21,7 +21,7 @@ "migration_hash": "bca91b0e57956157b4326c47cbc90187", "modified": "2021-10-21 14:27:09.773165", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Service Level Agreement Fulfilled On Status", "owner": "Administrator", "permissions": [], @@ -29,4 +29,4 @@ "sort_field": "modified", "sort_order": "DESC", "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.py b/helpdesk/helpdesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.py rename to helpdesk/helpdesk/doctype/hd_service_level_agreement_fulfilled_on_status/hd_service_level_agreement_fulfilled_on_status.py diff --git a/frappedesk/frappedesk/doctype/hd_service_level_priority/__init__.py b/helpdesk/helpdesk/doctype/hd_service_level_priority/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_priority/__init__.py rename to helpdesk/helpdesk/doctype/hd_service_level_priority/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_service_level_priority/hd_service_level_priority.json b/helpdesk/helpdesk/doctype/hd_service_level_priority/hd_service_level_priority.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_service_level_priority/hd_service_level_priority.json rename to helpdesk/helpdesk/doctype/hd_service_level_priority/hd_service_level_priority.json index e9d0fb75a..0436fd69c 100644 --- a/frappedesk/frappedesk/doctype/hd_service_level_priority/hd_service_level_priority.json +++ b/helpdesk/helpdesk/doctype/hd_service_level_priority/hd_service_level_priority.json @@ -66,7 +66,7 @@ "links": [], "modified": "2023-03-26 22:41:29.978960", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Service Level Priority", "owner": "Administrator", "permissions": [], diff --git a/frappedesk/frappedesk/doctype/hd_service_level_priority/hd_service_level_priority.py b/helpdesk/helpdesk/doctype/hd_service_level_priority/hd_service_level_priority.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_service_level_priority/hd_service_level_priority.py rename to helpdesk/helpdesk/doctype/hd_service_level_priority/hd_service_level_priority.py diff --git a/frappedesk/frappedesk/doctype/hd_settings/__init__.py b/helpdesk/helpdesk/doctype/hd_settings/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_settings/__init__.py rename to helpdesk/helpdesk/doctype/hd_settings/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_settings/hd_settings.js b/helpdesk/helpdesk/doctype/hd_settings/hd_settings.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_settings/hd_settings.js rename to helpdesk/helpdesk/doctype/hd_settings/hd_settings.js diff --git a/frappedesk/frappedesk/doctype/hd_settings/hd_settings.json b/helpdesk/helpdesk/doctype/hd_settings/hd_settings.json similarity index 99% rename from frappedesk/frappedesk/doctype/hd_settings/hd_settings.json rename to helpdesk/helpdesk/doctype/hd_settings/hd_settings.json index 446d365c1..24379b677 100644 --- a/frappedesk/frappedesk/doctype/hd_settings/hd_settings.json +++ b/helpdesk/helpdesk/doctype/hd_settings/hd_settings.json @@ -212,7 +212,7 @@ "links": [], "modified": "2023-03-26 23:55:16.000707", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Settings", "owner": "Administrator", "permissions": [ diff --git a/frappedesk/frappedesk/doctype/hd_settings/hd_settings.py b/helpdesk/helpdesk/doctype/hd_settings/hd_settings.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_settings/hd_settings.py rename to helpdesk/helpdesk/doctype/hd_settings/hd_settings.py diff --git a/frappedesk/frappedesk/doctype/hd_settings/test_hd_settings.py b/helpdesk/helpdesk/doctype/hd_settings/test_hd_settings.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_settings/test_hd_settings.py rename to helpdesk/helpdesk/doctype/hd_settings/test_hd_settings.py diff --git a/frappedesk/frappedesk/doctype/hd_support_search_source/__init__.py b/helpdesk/helpdesk/doctype/hd_support_search_source/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_support_search_source/__init__.py rename to helpdesk/helpdesk/doctype/hd_support_search_source/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_support_search_source/hd_support_search_source.json b/helpdesk/helpdesk/doctype/hd_support_search_source/hd_support_search_source.json similarity index 99% rename from frappedesk/frappedesk/doctype/hd_support_search_source/hd_support_search_source.json rename to helpdesk/helpdesk/doctype/hd_support_search_source/hd_support_search_source.json index 3125199d5..ac9189028 100644 --- a/frappedesk/frappedesk/doctype/hd_support_search_source/hd_support_search_source.json +++ b/helpdesk/helpdesk/doctype/hd_support_search_source/hd_support_search_source.json @@ -140,7 +140,7 @@ "migration_hash": "4fd3a744c52d14f75af9ccf2c386d915", "modified": "2021-10-21 14:27:09.210992", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Support Search Source", "owner": "Administrator", "permissions": [], @@ -148,4 +148,4 @@ "sort_field": "modified", "sort_order": "DESC", "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_support_search_source/hd_support_search_source.py b/helpdesk/helpdesk/doctype/hd_support_search_source/hd_support_search_source.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_support_search_source/hd_support_search_source.py rename to helpdesk/helpdesk/doctype/hd_support_search_source/hd_support_search_source.py diff --git a/frappedesk/frappedesk/doctype/hd_team/__init__.py b/helpdesk/helpdesk/doctype/hd_team/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team/__init__.py rename to helpdesk/helpdesk/doctype/hd_team/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_team/hd_team.js b/helpdesk/helpdesk/doctype/hd_team/hd_team.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team/hd_team.js rename to helpdesk/helpdesk/doctype/hd_team/hd_team.js diff --git a/frappedesk/frappedesk/doctype/hd_team/hd_team.json b/helpdesk/helpdesk/doctype/hd_team/hd_team.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_team/hd_team.json rename to helpdesk/helpdesk/doctype/hd_team/hd_team.json index eef8f5d88..b54004e20 100644 --- a/frappedesk/frappedesk/doctype/hd_team/hd_team.json +++ b/helpdesk/helpdesk/doctype/hd_team/hd_team.json @@ -50,7 +50,7 @@ "links": [], "modified": "2023-03-26 22:50:53.995572", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Team", "naming_rule": "By fieldname", "owner": "Administrator", diff --git a/frappedesk/frappedesk/doctype/hd_team/hd_team.py b/helpdesk/helpdesk/doctype/hd_team/hd_team.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team/hd_team.py rename to helpdesk/helpdesk/doctype/hd_team/hd_team.py diff --git a/frappedesk/frappedesk/doctype/hd_team/test_hd_team.py b/helpdesk/helpdesk/doctype/hd_team/test_hd_team.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team/test_hd_team.py rename to helpdesk/helpdesk/doctype/hd_team/test_hd_team.py diff --git a/frappedesk/frappedesk/doctype/hd_team_item/__init__.py b/helpdesk/helpdesk/doctype/hd_team_item/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team_item/__init__.py rename to helpdesk/helpdesk/doctype/hd_team_item/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_team_item/hd_team_item.json b/helpdesk/helpdesk/doctype/hd_team_item/hd_team_item.json similarity index 96% rename from frappedesk/frappedesk/doctype/hd_team_item/hd_team_item.json rename to helpdesk/helpdesk/doctype/hd_team_item/hd_team_item.json index a580e6d06..1b82092dd 100644 --- a/frappedesk/frappedesk/doctype/hd_team_item/hd_team_item.json +++ b/helpdesk/helpdesk/doctype/hd_team_item/hd_team_item.json @@ -23,7 +23,7 @@ "links": [], "modified": "2023-03-26 22:24:12.237903", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Team Item", "naming_rule": "Autoincrement", "owner": "Administrator", @@ -31,4 +31,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_team_item/hd_team_item.py b/helpdesk/helpdesk/doctype/hd_team_item/hd_team_item.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team_item/hd_team_item.py rename to helpdesk/helpdesk/doctype/hd_team_item/hd_team_item.py diff --git a/frappedesk/frappedesk/doctype/hd_team_member/__init__.py b/helpdesk/helpdesk/doctype/hd_team_member/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team_member/__init__.py rename to helpdesk/helpdesk/doctype/hd_team_member/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_team_member/hd_team_member.json b/helpdesk/helpdesk/doctype/hd_team_member/hd_team_member.json similarity index 96% rename from frappedesk/frappedesk/doctype/hd_team_member/hd_team_member.json rename to helpdesk/helpdesk/doctype/hd_team_member/hd_team_member.json index ff8ea8d3c..8a8e7f0ef 100644 --- a/frappedesk/frappedesk/doctype/hd_team_member/hd_team_member.json +++ b/helpdesk/helpdesk/doctype/hd_team_member/hd_team_member.json @@ -23,7 +23,7 @@ "links": [], "modified": "2022-12-22 18:52:50.658355", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Team Member", "naming_rule": "Autoincrement", "owner": "Administrator", @@ -31,4 +31,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_team_member/hd_team_member.py b/helpdesk/helpdesk/doctype/hd_team_member/hd_team_member.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_team_member/hd_team_member.py rename to helpdesk/helpdesk/doctype/hd_team_member/hd_team_member.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.js b/helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.js rename to helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.js diff --git a/frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.json b/helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.json similarity index 99% rename from frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.json rename to helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.json index fa678ad51..b554a2a75 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.json +++ b/helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.json @@ -444,7 +444,7 @@ "links": [], "modified": "2023-03-27 00:26:28.368993", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket", "naming_rule": "Expression", "owner": "Administrator", diff --git a/frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.py b/helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.py similarity index 99% rename from frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.py rename to helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.py index 990c0d0c0..0bdb6af53 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket/hd_ticket.py +++ b/helpdesk/helpdesk/doctype/hd_ticket/hd_ticket.py @@ -18,10 +18,10 @@ from frappe.query_builder.functions import Count from frappe.utils import date_diff, get_datetime, now_datetime, time_diff_in_seconds from frappe.utils.user import is_website_user -from frappedesk.frappedesk.doctype.hd_ticket_activity.hd_ticket_activity import ( +from helpdesk.helpdesk.doctype.hd_ticket_activity.hd_ticket_activity import ( log_ticket_activity, ) -from frappedesk.frappedesk.utils.email import ( +from helpdesk.helpdesk.utils.email import ( default_outgoing_email_account, default_ticket_outgoing_email_account, ) diff --git a/frappedesk/frappedesk/doctype/hd_ticket/test_hd_ticket.py b/helpdesk/helpdesk/doctype/hd_ticket/test_hd_ticket.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket/test_hd_ticket.py rename to helpdesk/helpdesk/doctype/hd_ticket/test_hd_ticket.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_activity/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_activity/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_activity/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_activity/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_activity/hd_ticket_activity.js b/helpdesk/helpdesk/doctype/hd_ticket_activity/hd_ticket_activity.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_activity/hd_ticket_activity.js rename to helpdesk/helpdesk/doctype/hd_ticket_activity/hd_ticket_activity.js diff --git a/frappedesk/frappedesk/doctype/hd_ticket_activity/hd_ticket_activity.json b/helpdesk/helpdesk/doctype/hd_ticket_activity/hd_ticket_activity.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_ticket_activity/hd_ticket_activity.json rename to helpdesk/helpdesk/doctype/hd_ticket_activity/hd_ticket_activity.json index 191dd80dc..121e48978 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_activity/hd_ticket_activity.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_activity/hd_ticket_activity.json @@ -26,7 +26,7 @@ "links": [], "modified": "2023-03-26 23:50:50.650044", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Activity", "naming_rule": "Expression", "owner": "Administrator", @@ -59,4 +59,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_activity/hd_ticket_activity.py b/helpdesk/helpdesk/doctype/hd_ticket_activity/hd_ticket_activity.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_activity/hd_ticket_activity.py rename to helpdesk/helpdesk/doctype/hd_ticket_activity/hd_ticket_activity.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_activity/test_hd_ticket_activity.py b/helpdesk/helpdesk/doctype/hd_ticket_activity/test_hd_ticket_activity.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_activity/test_hd_ticket_activity.py rename to helpdesk/helpdesk/doctype/hd_ticket_activity/test_hd_ticket_activity.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_comment/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_comment/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_comment/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_comment/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.js b/helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.js rename to helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.js diff --git a/frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.json b/helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.json rename to helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.json index 8d8f5ee7e..ab37aacbe 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.json @@ -40,7 +40,7 @@ "links": [], "modified": "2023-03-26 23:50:50.945844", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Comment", "naming_rule": "Expression", "owner": "Administrator", @@ -72,4 +72,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.py b/helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.py similarity index 95% rename from frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.py rename to helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.py index e1da50eac..716b6a0a4 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_comment/hd_ticket_comment.py +++ b/helpdesk/helpdesk/doctype/hd_ticket_comment/hd_ticket_comment.py @@ -3,7 +3,7 @@ import frappe from frappe.model.document import Document -from frappedesk.utils import extract_mentions +from helpdesk.utils import extract_mentions from frappe.utils import get_fullname diff --git a/frappedesk/frappedesk/doctype/hd_ticket_comment/test_hd_ticket_comment.py b/helpdesk/helpdesk/doctype/hd_ticket_comment/test_hd_ticket_comment.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_comment/test_hd_ticket_comment.py rename to helpdesk/helpdesk/doctype/hd_ticket_comment/test_hd_ticket_comment.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_custom_field/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.json b/helpdesk/helpdesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.json rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.json index 75fe961b9..fbc5d3b93 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.json @@ -48,11 +48,11 @@ "links": [], "modified": "2022-11-23 00:32:56.111155", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Custom Field", "owner": "Administrator", "permissions": [], "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.py b/helpdesk/helpdesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.py rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field/hd_ticket_custom_field.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.js b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.js rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.js diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.json b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.json similarity index 96% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.json rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.json index 0a156b9af..ef338c251 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.json @@ -22,7 +22,7 @@ "links": [], "modified": "2023-03-27 00:27:37.654581", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Custom Field Config", "owner": "Administrator", "permissions": [ @@ -40,4 +40,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.py b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.py rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/hd_ticket_custom_field_config.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/test_hd_ticket_custom_field_config.py b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/test_hd_ticket_custom_field_config.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_config/test_hd_ticket_custom_field_config.py rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_config/test_hd_ticket_custom_field_config.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_item/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_item/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_item/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_item/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.json b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.json rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.json index 790e775d4..55fef9814 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.json @@ -76,7 +76,7 @@ "links": [], "modified": "2022-11-24 11:57:01.014816", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Custom Field Item", "naming_rule": "Autoincrement", "owner": "Administrator", @@ -84,4 +84,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.py b/helpdesk/helpdesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.py rename to helpdesk/helpdesk/doctype/hd_ticket_custom_field_item/hd_ticket_custom_field_item.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_priority/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_priority/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_priority/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_priority/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_priority/hd_ticket_priority.js b/helpdesk/helpdesk/doctype/hd_ticket_priority/hd_ticket_priority.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_priority/hd_ticket_priority.js rename to helpdesk/helpdesk/doctype/hd_ticket_priority/hd_ticket_priority.js diff --git a/frappedesk/frappedesk/doctype/hd_ticket_priority/hd_ticket_priority.json b/helpdesk/helpdesk/doctype/hd_ticket_priority/hd_ticket_priority.json similarity index 97% rename from frappedesk/frappedesk/doctype/hd_ticket_priority/hd_ticket_priority.json rename to helpdesk/helpdesk/doctype/hd_ticket_priority/hd_ticket_priority.json index 9f204765e..499c139e8 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_priority/hd_ticket_priority.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_priority/hd_ticket_priority.json @@ -17,7 +17,7 @@ "links": [], "modified": "2022-02-17 17:57:30.628251", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Priority", "naming_rule": "Set by user", "owner": "Administrator", @@ -64,4 +64,4 @@ "sort_order": "ASC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_priority/hd_ticket_priority.py b/helpdesk/helpdesk/doctype/hd_ticket_priority/hd_ticket_priority.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_priority/hd_ticket_priority.py rename to helpdesk/helpdesk/doctype/hd_ticket_priority/hd_ticket_priority.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_priority/test_hd_ticket_priority.py b/helpdesk/helpdesk/doctype/hd_ticket_priority/test_hd_ticket_priority.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_priority/test_hd_ticket_priority.py rename to helpdesk/helpdesk/doctype/hd_ticket_priority/test_hd_ticket_priority.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_template/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_template/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_template/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template/hd_ticket_template.js b/helpdesk/helpdesk/doctype/hd_ticket_template/hd_ticket_template.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_template/hd_ticket_template.js rename to helpdesk/helpdesk/doctype/hd_ticket_template/hd_ticket_template.js diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template/hd_ticket_template.json b/helpdesk/helpdesk/doctype/hd_ticket_template/hd_ticket_template.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_ticket_template/hd_ticket_template.json rename to helpdesk/helpdesk/doctype/hd_ticket_template/hd_ticket_template.json index 55ffaa23d..f433c7b2d 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_template/hd_ticket_template.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_template/hd_ticket_template.json @@ -42,7 +42,7 @@ "links": [], "modified": "2023-03-27 00:28:50.972089", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Template", "naming_rule": "By fieldname", "owner": "Administrator", @@ -72,4 +72,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template/hd_ticket_template.py b/helpdesk/helpdesk/doctype/hd_ticket_template/hd_ticket_template.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_template/hd_ticket_template.py rename to helpdesk/helpdesk/doctype/hd_ticket_template/hd_ticket_template.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template/test_hd_ticket_template.py b/helpdesk/helpdesk/doctype/hd_ticket_template/test_hd_ticket_template.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_template/test_hd_ticket_template.py rename to helpdesk/helpdesk/doctype/hd_ticket_template/test_hd_ticket_template.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template_docfield/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_template_docfield/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_template_docfield/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_template_docfield/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.json b/helpdesk/helpdesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.json similarity index 99% rename from frappedesk/frappedesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.json rename to helpdesk/helpdesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.json index fdd6c5b1d..ef6296b4c 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.json @@ -137,7 +137,7 @@ "links": [], "modified": "2022-11-23 00:32:43.222772", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Template DocField", "naming_rule": "Random", "owner": "Administrator", @@ -145,4 +145,4 @@ "sort_field": "modified", "sort_order": "DESC", "states": [] -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.py b/helpdesk/helpdesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.py rename to helpdesk/helpdesk/doctype/hd_ticket_template_docfield/hd_ticket_template_docfield.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_type/__init__.py b/helpdesk/helpdesk/doctype/hd_ticket_type/__init__.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_type/__init__.py rename to helpdesk/helpdesk/doctype/hd_ticket_type/__init__.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_type/hd_ticket_type.js b/helpdesk/helpdesk/doctype/hd_ticket_type/hd_ticket_type.js similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_type/hd_ticket_type.js rename to helpdesk/helpdesk/doctype/hd_ticket_type/hd_ticket_type.js diff --git a/frappedesk/frappedesk/doctype/hd_ticket_type/hd_ticket_type.json b/helpdesk/helpdesk/doctype/hd_ticket_type/hd_ticket_type.json similarity index 98% rename from frappedesk/frappedesk/doctype/hd_ticket_type/hd_ticket_type.json rename to helpdesk/helpdesk/doctype/hd_ticket_type/hd_ticket_type.json index b1095f8a7..53efecc67 100644 --- a/frappedesk/frappedesk/doctype/hd_ticket_type/hd_ticket_type.json +++ b/helpdesk/helpdesk/doctype/hd_ticket_type/hd_ticket_type.json @@ -29,7 +29,7 @@ "links": [], "modified": "2023-03-26 22:41:29.459274", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "HD Ticket Type", "naming_rule": "Set by user", "owner": "Administrator", @@ -88,4 +88,4 @@ "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappedesk/frappedesk/doctype/hd_ticket_type/hd_ticket_type.py b/helpdesk/helpdesk/doctype/hd_ticket_type/hd_ticket_type.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_type/hd_ticket_type.py rename to helpdesk/helpdesk/doctype/hd_ticket_type/hd_ticket_type.py diff --git a/frappedesk/frappedesk/doctype/hd_ticket_type/test_hd_ticket_type.py b/helpdesk/helpdesk/doctype/hd_ticket_type/test_hd_ticket_type.py similarity index 100% rename from frappedesk/frappedesk/doctype/hd_ticket_type/test_hd_ticket_type.py rename to helpdesk/helpdesk/doctype/hd_ticket_type/test_hd_ticket_type.py diff --git a/frappedesk/frappedesk/hooks/communication.py b/helpdesk/helpdesk/hooks/communication.py similarity index 100% rename from frappedesk/frappedesk/hooks/communication.py rename to helpdesk/helpdesk/hooks/communication.py diff --git a/frappedesk/frappedesk/hooks/contact.py b/helpdesk/helpdesk/hooks/contact.py similarity index 100% rename from frappedesk/frappedesk/hooks/contact.py rename to helpdesk/helpdesk/hooks/contact.py diff --git a/frappedesk/frappedesk/report/__init__.py b/helpdesk/helpdesk/report/__init__.py similarity index 100% rename from frappedesk/frappedesk/report/__init__.py rename to helpdesk/helpdesk/report/__init__.py diff --git a/frappedesk/frappedesk/report/first_response_time_for_tickets/__init__.py b/helpdesk/helpdesk/report/first_response_time_for_tickets/__init__.py similarity index 100% rename from frappedesk/frappedesk/report/first_response_time_for_tickets/__init__.py rename to helpdesk/helpdesk/report/first_response_time_for_tickets/__init__.py diff --git a/frappedesk/frappedesk/report/first_response_time_for_tickets/first_response_time_for_tickets.js b/helpdesk/helpdesk/report/first_response_time_for_tickets/first_response_time_for_tickets.js similarity index 100% rename from frappedesk/frappedesk/report/first_response_time_for_tickets/first_response_time_for_tickets.js rename to helpdesk/helpdesk/report/first_response_time_for_tickets/first_response_time_for_tickets.js diff --git a/frappedesk/frappedesk/report/first_response_time_for_tickets/first_response_time_for_tickets.json b/helpdesk/helpdesk/report/first_response_time_for_tickets/first_response_time_for_tickets.json similarity index 96% rename from frappedesk/frappedesk/report/first_response_time_for_tickets/first_response_time_for_tickets.json rename to helpdesk/helpdesk/report/first_response_time_for_tickets/first_response_time_for_tickets.json index ca69209f3..2b84aad5f 100644 --- a/frappedesk/frappedesk/report/first_response_time_for_tickets/first_response_time_for_tickets.json +++ b/helpdesk/helpdesk/report/first_response_time_for_tickets/first_response_time_for_tickets.json @@ -12,7 +12,7 @@ "letter_head": "", "modified": "2021-10-21 14:31:29.437910", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "First Response Time for Tickets", "owner": "Administrator", "prepared_report": 0, diff --git a/frappedesk/frappedesk/report/first_response_time_for_tickets/first_response_time_for_tickets.py b/helpdesk/helpdesk/report/first_response_time_for_tickets/first_response_time_for_tickets.py similarity index 100% rename from frappedesk/frappedesk/report/first_response_time_for_tickets/first_response_time_for_tickets.py rename to helpdesk/helpdesk/report/first_response_time_for_tickets/first_response_time_for_tickets.py diff --git a/frappedesk/frappedesk/report/support_hour_distribution/__init__.py b/helpdesk/helpdesk/report/support_hour_distribution/__init__.py similarity index 100% rename from frappedesk/frappedesk/report/support_hour_distribution/__init__.py rename to helpdesk/helpdesk/report/support_hour_distribution/__init__.py diff --git a/frappedesk/frappedesk/report/support_hour_distribution/support_hour_distribution.js b/helpdesk/helpdesk/report/support_hour_distribution/support_hour_distribution.js similarity index 100% rename from frappedesk/frappedesk/report/support_hour_distribution/support_hour_distribution.js rename to helpdesk/helpdesk/report/support_hour_distribution/support_hour_distribution.js diff --git a/frappedesk/frappedesk/report/support_hour_distribution/support_hour_distribution.json b/helpdesk/helpdesk/report/support_hour_distribution/support_hour_distribution.json similarity index 95% rename from frappedesk/frappedesk/report/support_hour_distribution/support_hour_distribution.json rename to helpdesk/helpdesk/report/support_hour_distribution/support_hour_distribution.json index 8035f3ff2..bf4210b95 100644 --- a/frappedesk/frappedesk/report/support_hour_distribution/support_hour_distribution.json +++ b/helpdesk/helpdesk/report/support_hour_distribution/support_hour_distribution.json @@ -12,7 +12,7 @@ "letter_head": "", "modified": "2021-10-21 14:31:29.524026", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "Support Hour Distribution", "owner": "Administrator", "prepared_report": 0, diff --git a/frappedesk/frappedesk/report/support_hour_distribution/support_hour_distribution.py b/helpdesk/helpdesk/report/support_hour_distribution/support_hour_distribution.py similarity index 100% rename from frappedesk/frappedesk/report/support_hour_distribution/support_hour_distribution.py rename to helpdesk/helpdesk/report/support_hour_distribution/support_hour_distribution.py diff --git a/frappedesk/frappedesk/report/ticket_analytics/__init__.py b/helpdesk/helpdesk/report/ticket_analytics/__init__.py similarity index 100% rename from frappedesk/frappedesk/report/ticket_analytics/__init__.py rename to helpdesk/helpdesk/report/ticket_analytics/__init__.py diff --git a/frappedesk/frappedesk/report/ticket_analytics/test_ticket_analytics.py b/helpdesk/helpdesk/report/ticket_analytics/test_ticket_analytics.py similarity index 100% rename from frappedesk/frappedesk/report/ticket_analytics/test_ticket_analytics.py rename to helpdesk/helpdesk/report/ticket_analytics/test_ticket_analytics.py diff --git a/frappedesk/frappedesk/report/ticket_analytics/ticket_analytics.js b/helpdesk/helpdesk/report/ticket_analytics/ticket_analytics.js similarity index 100% rename from frappedesk/frappedesk/report/ticket_analytics/ticket_analytics.js rename to helpdesk/helpdesk/report/ticket_analytics/ticket_analytics.js diff --git a/frappedesk/frappedesk/report/ticket_analytics/ticket_analytics.json b/helpdesk/helpdesk/report/ticket_analytics/ticket_analytics.json similarity index 95% rename from frappedesk/frappedesk/report/ticket_analytics/ticket_analytics.json rename to helpdesk/helpdesk/report/ticket_analytics/ticket_analytics.json index 509934a7e..decd3a944 100644 --- a/frappedesk/frappedesk/report/ticket_analytics/ticket_analytics.json +++ b/helpdesk/helpdesk/report/ticket_analytics/ticket_analytics.json @@ -11,7 +11,7 @@ "is_standard": "Yes", "modified": "2021-10-21 14:31:29.591583", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "Ticket Analytics", "owner": "Administrator", "prepared_report": 0, diff --git a/frappedesk/frappedesk/report/ticket_analytics/ticket_analytics.py b/helpdesk/helpdesk/report/ticket_analytics/ticket_analytics.py similarity index 100% rename from frappedesk/frappedesk/report/ticket_analytics/ticket_analytics.py rename to helpdesk/helpdesk/report/ticket_analytics/ticket_analytics.py diff --git a/frappedesk/frappedesk/report/ticket_summary/__init__.py b/helpdesk/helpdesk/report/ticket_summary/__init__.py similarity index 100% rename from frappedesk/frappedesk/report/ticket_summary/__init__.py rename to helpdesk/helpdesk/report/ticket_summary/__init__.py diff --git a/frappedesk/frappedesk/report/ticket_summary/ticket_summary.js b/helpdesk/helpdesk/report/ticket_summary/ticket_summary.js similarity index 100% rename from frappedesk/frappedesk/report/ticket_summary/ticket_summary.js rename to helpdesk/helpdesk/report/ticket_summary/ticket_summary.js diff --git a/frappedesk/frappedesk/report/ticket_summary/ticket_summary.json b/helpdesk/helpdesk/report/ticket_summary/ticket_summary.json similarity index 95% rename from frappedesk/frappedesk/report/ticket_summary/ticket_summary.json rename to helpdesk/helpdesk/report/ticket_summary/ticket_summary.json index 2cdfb3fab..d1bad408e 100644 --- a/frappedesk/frappedesk/report/ticket_summary/ticket_summary.json +++ b/helpdesk/helpdesk/report/ticket_summary/ticket_summary.json @@ -11,7 +11,7 @@ "is_standard": "Yes", "modified": "2022-11-21 13:02:56.691256", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "Ticket Summary", "owner": "Administrator", "prepared_report": 0, diff --git a/frappedesk/frappedesk/report/ticket_summary/ticket_summary.py b/helpdesk/helpdesk/report/ticket_summary/ticket_summary.py similarity index 100% rename from frappedesk/frappedesk/report/ticket_summary/ticket_summary.py rename to helpdesk/helpdesk/report/ticket_summary/ticket_summary.py diff --git a/frappedesk/frappedesk/utils/email.py b/helpdesk/helpdesk/utils/email.py similarity index 100% rename from frappedesk/frappedesk/utils/email.py rename to helpdesk/helpdesk/utils/email.py diff --git a/frappedesk/frappedesk/web_form/__init__.py b/helpdesk/helpdesk/web_form/__init__.py similarity index 100% rename from frappedesk/frappedesk/web_form/__init__.py rename to helpdesk/helpdesk/web_form/__init__.py diff --git a/frappedesk/frappedesk/web_form/tickets/__init__.py b/helpdesk/helpdesk/web_form/tickets/__init__.py similarity index 100% rename from frappedesk/frappedesk/web_form/tickets/__init__.py rename to helpdesk/helpdesk/web_form/tickets/__init__.py diff --git a/frappedesk/frappedesk/web_form/tickets/tickets.js b/helpdesk/helpdesk/web_form/tickets/tickets.js similarity index 100% rename from frappedesk/frappedesk/web_form/tickets/tickets.js rename to helpdesk/helpdesk/web_form/tickets/tickets.js diff --git a/frappedesk/frappedesk/web_form/tickets/tickets.json b/helpdesk/helpdesk/web_form/tickets/tickets.json similarity index 99% rename from frappedesk/frappedesk/web_form/tickets/tickets.json rename to helpdesk/helpdesk/web_form/tickets/tickets.json index d3780f29b..b5cf7af5f 100644 --- a/frappedesk/frappedesk/web_form/tickets/tickets.json +++ b/helpdesk/helpdesk/web_form/tickets/tickets.json @@ -21,7 +21,7 @@ "max_attachment_size": 0, "modified": "2021-10-21 14:32:33.249540", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "tickets", "owner": "Administrator", "published": 1, diff --git a/frappedesk/frappedesk/web_form/tickets/tickets.py b/helpdesk/helpdesk/web_form/tickets/tickets.py similarity index 100% rename from frappedesk/frappedesk/web_form/tickets/tickets.py rename to helpdesk/helpdesk/web_form/tickets/tickets.py diff --git a/frappedesk/frappedesk/workspace/frappe_desk/frappe_desk.json b/helpdesk/helpdesk/workspace/frappe_desk/frappe_desk.json similarity index 99% rename from frappedesk/frappedesk/workspace/frappe_desk/frappe_desk.json rename to helpdesk/helpdesk/workspace/frappe_desk/frappe_desk.json index 51b90bd35..a2c9aa7ce 100644 --- a/frappedesk/frappedesk/workspace/frappe_desk/frappe_desk.json +++ b/helpdesk/helpdesk/workspace/frappe_desk/frappe_desk.json @@ -153,7 +153,7 @@ ], "modified": "2022-12-02 16:07:39.761267", "modified_by": "Administrator", - "module": "FrappeDesk", + "module": "Helpdesk", "name": "Frappe Desk", "owner": "Administrator", "parent_page": "", diff --git a/helpdesk/hooks.py b/helpdesk/hooks.py new file mode 100644 index 000000000..c9c864673 --- /dev/null +++ b/helpdesk/hooks.py @@ -0,0 +1,71 @@ +app_name = "frappedesk" +app_title = "FrappeDesk" +app_publisher = "Frappe Technologies" +app_description = "Customer Service Software" +app_icon = "octicon octicon-file-directory" +app_color = "grey" +app_email = "hello@frappe.io" +app_license = "AGPLv3" + +before_install = "helpdesk.setup.install.before_install" +after_install = "helpdesk.setup.install.after_install" + +website_route_rules = [ + { + "from_route": "/frappedesk/", + "to_route": "frappedesk", + }, + { + "from_route": "/support/", + "to_route": "frappedesk", + }, +] + +has_website_permission = { + "Ticket": "helpdesk.helpdesk.doctype.hd_ticket.hd_ticket.has_website_permission", +} + +scheduler_events = { + "daily": [ + "helpdesk.helpdesk.doctype.hd_ticket.hd_ticket.auto_close_tickets", + "helpdesk.helpdesk.doctype.hd_service_level_agreement.hd_service_level_agreement.check_agreement_status", + ], + "cron": {"* * * * * 0/5": ["helpdesk.overrides.pull_support_emails"]}, +} + +doc_events = { + "*": { + "validate": "helpdesk.helpdesk.doctype.hd_service_level_agreement.hd_service_level_agreement.apply", + }, + "Communication": { + "on_update": [ + "helpdesk.helpdesk.doctype.hd_service_level_agreement.hd_service_level_agreement.on_communication_update", + "helpdesk.helpdesk.doctype.hd_ticket.hd_ticket.set_first_response_time", + ], + "after_insert": [ + "helpdesk.helpdesk.doctype.hd_ticket.hd_ticket.set_descritption_from_communication", + "helpdesk.helpdesk.hooks.communication.after_insert", + ], + }, + "Contact": { + "on_trash": [ + "helpdesk.helpdesk.doctype.hd_ticket.hd_ticket.update_ticket", + "helpdesk.helpdesk.doctype.hd_customer.hd_customer.get_contact_count", + ], + "after_insert": [ + "helpdesk.helpdesk.doctype.hd_customer.hd_customer.get_contact_count" + ], + }, + "Assignment Rule": { + "on_trash": "helpdesk.overrides.on_assignment_rule_trash", + }, + "Agent": { + "before_insert": "helpdesk.limits.validate_agent_count", + }, + "Ticket": { + "after_insert": ( + "helpdesk.helpdesk.doctype.hd_customer.hd_customer.get_ticket_count" + ), + "on_trash": "helpdesk.helpdesk.doctype.hd_customer.hd_customer.get_ticket_count", + }, +} diff --git a/frappedesk/limits.py b/helpdesk/limits.py similarity index 100% rename from frappedesk/limits.py rename to helpdesk/limits.py diff --git a/helpdesk/modules.txt b/helpdesk/modules.txt new file mode 100644 index 000000000..acd651de1 --- /dev/null +++ b/helpdesk/modules.txt @@ -0,0 +1 @@ +Helpdesk diff --git a/frappedesk/overrides.py b/helpdesk/overrides.py similarity index 100% rename from frappedesk/overrides.py rename to helpdesk/overrides.py diff --git a/frappedesk/patches.txt b/helpdesk/patches.txt similarity index 100% rename from frappedesk/patches.txt rename to helpdesk/patches.txt diff --git a/frappedesk/patches/add_agent_group_to_agent_groups.py b/helpdesk/patches/add_agent_group_to_agent_groups.py similarity index 100% rename from frappedesk/patches/add_agent_group_to_agent_groups.py rename to helpdesk/patches/add_agent_group_to_agent_groups.py diff --git a/frappedesk/patches/add_all_tickets_system_preset_filter.py b/helpdesk/patches/add_all_tickets_system_preset_filter.py similarity index 100% rename from frappedesk/patches/add_all_tickets_system_preset_filter.py rename to helpdesk/patches/add_all_tickets_system_preset_filter.py diff --git a/frappedesk/patches/add_base_assignment_rule_to_frappe_desk_settings.py b/helpdesk/patches/add_base_assignment_rule_to_frappe_desk_settings.py similarity index 100% rename from frappedesk/patches/add_base_assignment_rule_to_frappe_desk_settings.py rename to helpdesk/patches/add_base_assignment_rule_to_frappe_desk_settings.py diff --git a/frappedesk/patches/add_contact_and_email_account_permissions_for_agent_role.py b/helpdesk/patches/add_contact_and_email_account_permissions_for_agent_role.py similarity index 100% rename from frappedesk/patches/add_contact_and_email_account_permissions_for_agent_role.py rename to helpdesk/patches/add_contact_and_email_account_permissions_for_agent_role.py diff --git a/helpdesk/patches/add_default_agent_groups.py b/helpdesk/patches/add_default_agent_groups.py new file mode 100644 index 000000000..e534eeea5 --- /dev/null +++ b/helpdesk/patches/add_default_agent_groups.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import add_default_agent_groups + + +def execute(): + add_default_agent_groups() diff --git a/helpdesk/patches/add_default_assignment_rule.py b/helpdesk/patches/add_default_assignment_rule.py new file mode 100644 index 000000000..7040a085c --- /dev/null +++ b/helpdesk/patches/add_default_assignment_rule.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import add_default_assignment_rule + + +def execute(): + add_default_assignment_rule() diff --git a/helpdesk/patches/add_default_ticket_priorities.py b/helpdesk/patches/add_default_ticket_priorities.py new file mode 100644 index 000000000..840b2cb43 --- /dev/null +++ b/helpdesk/patches/add_default_ticket_priorities.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import add_default_ticket_priorities + + +def execute(): + add_default_ticket_priorities() diff --git a/helpdesk/patches/add_default_ticket_template.py b/helpdesk/patches/add_default_ticket_template.py new file mode 100644 index 000000000..07a33516c --- /dev/null +++ b/helpdesk/patches/add_default_ticket_template.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import add_default_ticket_template + + +def execute(): + add_default_ticket_template() diff --git a/frappedesk/patches/add_default_ticket_type.py b/helpdesk/patches/add_default_ticket_type.py similarity index 100% rename from frappedesk/patches/add_default_ticket_type.py rename to helpdesk/patches/add_default_ticket_type.py diff --git a/helpdesk/patches/add_default_ticket_types.py b/helpdesk/patches/add_default_ticket_types.py new file mode 100644 index 000000000..ce94d11cf --- /dev/null +++ b/helpdesk/patches/add_default_ticket_types.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import add_default_ticket_types + + +def execute(): + add_default_ticket_types() diff --git a/frappedesk/patches/add_description_for_tickets_created_via_email.py b/helpdesk/patches/add_description_for_tickets_created_via_email.py similarity index 88% rename from frappedesk/patches/add_description_for_tickets_created_via_email.py rename to helpdesk/patches/add_description_for_tickets_created_via_email.py index 8ba26028f..a2cd21b27 100644 --- a/frappedesk/patches/add_description_for_tickets_created_via_email.py +++ b/helpdesk/patches/add_description_for_tickets_created_via_email.py @@ -1,4 +1,4 @@ -from frappedesk.frappedesk.doctype.hd_ticket.hd_ticket import ( +from helpdesk.helpdesk.doctype.hd_ticket.hd_ticket import ( set_descritption_from_communication, ) import frappe diff --git a/helpdesk/patches/add_on_ticket_create_script.py b/helpdesk/patches/add_on_ticket_create_script.py new file mode 100644 index 000000000..3bb1f80f5 --- /dev/null +++ b/helpdesk/patches/add_on_ticket_create_script.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import add_on_ticket_create_script + + +def execute(): + add_on_ticket_create_script() diff --git a/frappedesk/patches/add_roles_to_agent_user.py b/helpdesk/patches/add_roles_to_agent_user.py similarity index 100% rename from frappedesk/patches/add_roles_to_agent_user.py rename to helpdesk/patches/add_roles_to_agent_user.py diff --git a/helpdesk/patches/add_support_redirect_to_tickets.py b/helpdesk/patches/add_support_redirect_to_tickets.py new file mode 100644 index 000000000..cdca24890 --- /dev/null +++ b/helpdesk/patches/add_support_redirect_to_tickets.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import add_support_redirect_to_tickets + + +def execute(): + add_support_redirect_to_tickets() diff --git a/frappedesk/patches/add_system_manager_role_in_agent_profile.py b/helpdesk/patches/add_system_manager_role_in_agent_profile.py similarity index 100% rename from frappedesk/patches/add_system_manager_role_in_agent_profile.py rename to helpdesk/patches/add_system_manager_role_in_agent_profile.py diff --git a/frappedesk/patches/add_system_preset_filters.py b/helpdesk/patches/add_system_preset_filters.py similarity index 75% rename from frappedesk/patches/add_system_preset_filters.py rename to helpdesk/patches/add_system_preset_filters.py index 6d6e5ceb5..c2b084d79 100644 --- a/frappedesk/patches/add_system_preset_filters.py +++ b/helpdesk/patches/add_system_preset_filters.py @@ -1,5 +1,5 @@ import frappe -from frappedesk.setup.install import add_system_preset_filters +from helpdesk.setup.install import add_system_preset_filters def execute(): diff --git a/frappedesk/patches/add_type_to_default_ticket_template.py b/helpdesk/patches/add_type_to_default_ticket_template.py similarity index 100% rename from frappedesk/patches/add_type_to_default_ticket_template.py rename to helpdesk/patches/add_type_to_default_ticket_template.py diff --git a/frappedesk/patches/create_and_set_contact_using_user_who_created_the_ticket.py b/helpdesk/patches/create_and_set_contact_using_user_who_created_the_ticket.py similarity index 100% rename from frappedesk/patches/create_and_set_contact_using_user_who_created_the_ticket.py rename to helpdesk/patches/create_and_set_contact_using_user_who_created_the_ticket.py diff --git a/frappedesk/patches/create_assignment_rules_for_agent_groups.py b/helpdesk/patches/create_assignment_rules_for_agent_groups.py similarity index 100% rename from frappedesk/patches/create_assignment_rules_for_agent_groups.py rename to helpdesk/patches/create_assignment_rules_for_agent_groups.py diff --git a/frappedesk/patches/create_frappedesk_comments_from_ticket_comments.py b/helpdesk/patches/create_frappedesk_comments_from_ticket_comments.py similarity index 100% rename from frappedesk/patches/create_frappedesk_comments_from_ticket_comments.py rename to helpdesk/patches/create_frappedesk_comments_from_ticket_comments.py diff --git a/frappedesk/patches/mark_assignment_rule_disabled_if_no_agents_is_active.py b/helpdesk/patches/mark_assignment_rule_disabled_if_no_agents_is_active.py similarity index 100% rename from frappedesk/patches/mark_assignment_rule_disabled_if_no_agents_is_active.py rename to helpdesk/patches/mark_assignment_rule_disabled_if_no_agents_is_active.py diff --git a/frappedesk/patches/mark_categories_as_is_group.py b/helpdesk/patches/mark_categories_as_is_group.py similarity index 100% rename from frappedesk/patches/mark_categories_as_is_group.py rename to helpdesk/patches/mark_categories_as_is_group.py diff --git a/frappedesk/patches/mark_track_service_level_agreement_true.py b/helpdesk/patches/mark_track_service_level_agreement_true.py similarity index 79% rename from frappedesk/patches/mark_track_service_level_agreement_true.py rename to helpdesk/patches/mark_track_service_level_agreement_true.py index 23e29c68b..544ec0701 100644 --- a/frappedesk/patches/mark_track_service_level_agreement_true.py +++ b/helpdesk/patches/mark_track_service_level_agreement_true.py @@ -1,5 +1,5 @@ import frappe -from frappedesk.setup.install import ( +from helpdesk.setup.install import ( enable_track_service_level_agreement_in_support_settings, ) diff --git a/frappedesk/patches/populate_ticket_activities.py b/helpdesk/patches/populate_ticket_activities.py similarity index 100% rename from frappedesk/patches/populate_ticket_activities.py rename to helpdesk/patches/populate_ticket_activities.py diff --git a/frappedesk/patches/refactor_rout_path_for_articles_and_categories.py b/helpdesk/patches/refactor_rout_path_for_articles_and_categories.py similarity index 100% rename from frappedesk/patches/refactor_rout_path_for_articles_and_categories.py rename to helpdesk/patches/refactor_rout_path_for_articles_and_categories.py diff --git a/frappedesk/patches/refactor_ticket_activity_grammar.py b/helpdesk/patches/refactor_ticket_activity_grammar.py similarity index 100% rename from frappedesk/patches/refactor_ticket_activity_grammar.py rename to helpdesk/patches/refactor_ticket_activity_grammar.py diff --git a/frappedesk/patches/remove_agent_role_profile.py b/helpdesk/patches/remove_agent_role_profile.py similarity index 100% rename from frappedesk/patches/remove_agent_role_profile.py rename to helpdesk/patches/remove_agent_role_profile.py diff --git a/frappedesk/patches/remove_base_route_redirect_and_set_home_page_to_kb.py b/helpdesk/patches/remove_base_route_redirect_and_set_home_page_to_kb.py similarity index 52% rename from frappedesk/patches/remove_base_route_redirect_and_set_home_page_to_kb.py rename to helpdesk/patches/remove_base_route_redirect_and_set_home_page_to_kb.py index 0c80537fb..7fa409153 100644 --- a/frappedesk/patches/remove_base_route_redirect_and_set_home_page_to_kb.py +++ b/helpdesk/patches/remove_base_route_redirect_and_set_home_page_to_kb.py @@ -1,4 +1,4 @@ -from frappedesk.setup.install import set_home_page_to_kb +from helpdesk.setup.install import set_home_page_to_kb import frappe diff --git a/frappedesk/patches/remove_support_redirects_from_website_settings.py b/helpdesk/patches/remove_support_redirects_from_website_settings.py similarity index 100% rename from frappedesk/patches/remove_support_redirects_from_website_settings.py rename to helpdesk/patches/remove_support_redirects_from_website_settings.py diff --git a/frappedesk/patches/restructure_categories_hierarchy.py b/helpdesk/patches/restructure_categories_hierarchy.py similarity index 100% rename from frappedesk/patches/restructure_categories_hierarchy.py rename to helpdesk/patches/restructure_categories_hierarchy.py diff --git a/frappedesk/patches/set_assignment_rule_field_of_agent_groups.py b/helpdesk/patches/set_assignment_rule_field_of_agent_groups.py similarity index 100% rename from frappedesk/patches/set_assignment_rule_field_of_agent_groups.py rename to helpdesk/patches/set_assignment_rule_field_of_agent_groups.py diff --git a/frappedesk/patches/set_category_as_none_for_archived_articles.py b/helpdesk/patches/set_category_as_none_for_archived_articles.py similarity index 100% rename from frappedesk/patches/set_category_as_none_for_archived_articles.py rename to helpdesk/patches/set_category_as_none_for_archived_articles.py diff --git a/frappedesk/patches/set_home_page_to_kb.py b/helpdesk/patches/set_home_page_to_kb.py similarity index 100% rename from frappedesk/patches/set_home_page_to_kb.py rename to helpdesk/patches/set_home_page_to_kb.py diff --git a/frappedesk/patches/set_initial_order_for_articles_and_categories.py b/helpdesk/patches/set_initial_order_for_articles_and_categories.py similarity index 100% rename from frappedesk/patches/set_initial_order_for_articles_and_categories.py rename to helpdesk/patches/set_initial_order_for_articles_and_categories.py diff --git a/frappedesk/patches/set_satisfaction_rating_from_satisfied_field_in_tickets.py b/helpdesk/patches/set_satisfaction_rating_from_satisfied_field_in_tickets.py similarity index 100% rename from frappedesk/patches/set_satisfaction_rating_from_satisfied_field_in_tickets.py rename to helpdesk/patches/set_satisfaction_rating_from_satisfied_field_in_tickets.py diff --git a/helpdesk/patches/update_agent_role_permissions.py b/helpdesk/patches/update_agent_role_permissions.py new file mode 100644 index 000000000..7820ad8c7 --- /dev/null +++ b/helpdesk/patches/update_agent_role_permissions.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import update_agent_role_permissions + + +def execute(): + update_agent_role_permissions() diff --git a/helpdesk/patches/update_agent_role_permissions_2.py b/helpdesk/patches/update_agent_role_permissions_2.py new file mode 100644 index 000000000..7820ad8c7 --- /dev/null +++ b/helpdesk/patches/update_agent_role_permissions_2.py @@ -0,0 +1,5 @@ +from helpdesk.setup.install import update_agent_role_permissions + + +def execute(): + update_agent_role_permissions() diff --git a/helpdesk/public/desk/assets/Agent-d4bfcfaf.js b/helpdesk/public/desk/assets/Agent-d4bfcfaf.js new file mode 100644 index 000000000..dc9d411de --- /dev/null +++ b/helpdesk/public/desk/assets/Agent-d4bfcfaf.js @@ -0,0 +1 @@ +import{_ as v,s as $,I as A,p as _,o as m,d as u,b as n,t as x,i as s,w as l,k as h,c as T,m as N,r as a,F as S,e as V,h as F,T as C}from"./index-d9377e3a.js";import{F as U}from"./FileUploader-997fc331.js";import{U as D}from"./UserAvatar-3798c645.js";import{L as P}from"./ListManager-d2a1afc7.js";import{L}from"./ListViewer-af42e401.js";import{T as R,a as j,S as B}from"./Subject-97b60af0.js";import{T as M}from"./TicketStatus-1f4b539e.js";import"./Avatar-166461f8.js";import"./Dropdown-e0c50cd3.js";import"./use-tracked-pointer-4b3ac621.js";import"./use-resolve-button-type-390b11ae.js";import"./CustomIcons-60888788.js";import"./listFilters-8ea4c2e9.js";import"./Autocomplete-c752a27e.js";import"./use-controllable-93c8440b.js";import"./CustomSwitch-323f8131.js";import"./ErrorMessage-e4ff6432.js";const z={name:"AgentInfo",props:["agent"],components:{FeatherIcon:$,Input:A,FileUploader:U,UserAvatar:D},setup(){const t=_(!1),e=_(""),d=_(!1);return{editingName:t,tempAgentName:e,updatingValues:d}},computed:{agentDoc(){return this.tempAgentName=this.$resources.agent?.doc?.agent_name,this.$resources.agent.doc||null},userDoc(){return this.$resources.user.doc||null},values(){return this.updatingValues?this.values||null:{agentName:this.agentDoc?.agent_name||null,profilePicture:this.userDoc?.user_image||null,team:this.agentDoc?.group||null,email:this.userDoc?.email||null,signature:this.userDoc?.email_signature||null}},teams(){return this.$resources.teams.data?this.$resources.teams.data.map(t=>t.name):[]}},deactivated(){this.resetForm()},resources:{agent(){return{type:"document",doctype:"HD Agent",name:this.agent,setValue:{onSuccess:()=>{this.resetForm(),this.updatingValues=!1,this.$toast({title:"Agent Updated.",icon:"check",iconClasses:"text-green-500"}),this.$router.go()}}}},user(){return{type:"document",doctype:"User",name:this.agent}},teams(){return{type:"list",doctype:"HD Team",fields:["name"]}}},methods:{setUserImage(t){this.$resources.user.setValue.submit({user_image:t}),this.$router.go()},resetForm(){this.editingName=!1,this.tempAgentName=this.values.agentName},save(){this.updatingValues=!0;const t=this.values;this.$resources.user.setValue.submit({email:t.email,email_signature:t.signature,first_name:this.tempAgentName.split(" ")[0],last_name:this.tempAgentName.slice(this.tempAgentName.indexOf(" ")+1)}).then(()=>{this.$resources.agent.setValue.submit({agent_name:this.tempAgentName,group:t.team})})},cancel(){this.$router.go()}}},E={class:"min-w-[390px] px-[24px] py-[10px]"},H={class:"form w-full flex flex-col"},K={key:0,class:"flex space-x-2 items-center cursor-pointer"},O={class:"font-semibold"},q={key:1,class:"flex space-x-2 items-center"},G={class:"flex flex-col space-y-[24px]"},J=n("span",{class:"block mb-2 text-sm leading-4 text-gray-700"},"Profile Picture",-1),Q={class:"flex flex-row space-x-[8px] items-center"},W={class:"flex items-center space-x-2"},X=n("div",{class:"flex flex-row space-x-[16px]"},null,-1),Y={class:"w-full flex flex-row"},Z={class:"grow flex flex-row-reverse"};function ee(t,e,d,i,k,o){const r=a("FeatherIcon"),g=a("Input"),b=a("UserAvatar"),f=a("Button"),y=a("FileUploader");return m(),u("div",E,[n("div",H,[n("div",{class:"float-left mb-[16px]",onClick:e[2]||(e[2]=()=>{i.editingName=!0,i.tempAgentName=o.values.agentName})},[i.editingName?(m(),u("div",q,[s(g,{id:"agentNameInput",modelValue:i.tempAgentName,"onUpdate:modelValue":e[0]||(e[0]=p=>i.tempAgentName=p),type:"text"},null,8,["modelValue"]),s(r,{class:"w-4 h-4",role:"button",name:"x",onClick:e[1]||(e[1]=()=>{i.editingName=!1,i.tempAgentName=o.values.agentName})})])):(m(),u("div",K,[n("div",O,x(o.values.agentName),1),s(r,{class:"w-3 h-3",name:"edit"})]))]),n("div",G,[n("div",null,[J,n("div",Q,[s(y,{onSuccess:e[4]||(e[4]=p=>o.setUserImage(p.file_url))},{default:l(({file:p,progress:w,uploading:c,openFileSelector:I})=>[n("div",W,[s(b,{size:"lg",fullName:o.userDoc?.full_name,userImage:o.userDoc?.user_image},null,8,["fullName","userImage"]),s(f,{onClick:I},{default:l(()=>[h(x(c?`Uploading ${w}%`:"Upload Image"),1)]),_:2},1032,["onClick"]),o.userDoc?.user_image?(m(),T(f,{key:0,onClick:e[3]||(e[3]=ke=>o.setUserImage(null))},{default:l(()=>[h(" Remove ")]),_:1})):N("",!0)])]),_:1})])]),X,n("div",Y,[n("div",null,[s(f,{onClick:e[5]||(e[5]=p=>o.cancel())},{default:l(()=>[h("Cancel")]),_:1})]),n("div",Z,[s(f,{loading:this.$resources.agent.setValue.loading||this.$resources.user.setValue.loading,appearance:"primary",onClick:e[6]||(e[6]=p=>o.save())},{default:l(()=>[h("Save")]),_:1},8,["loading"])])])])])])}const te=v(z,[["render",ee]]),se={name:"AgentRelatedInfoTopPanel",setup(){return{options:_([])}},mounted(){this.options=[{label:"Tickets",name:"tickets",action:()=>{this.changeSection("tickets")},selected:!0},{label:"Knowledge Base",name:"kb",action:()=>{this.changeSection("kb")}}]},methods:{changeSection(t){this.options.forEach(e=>{e.selected=e.name===t}),this.$event.emit("agent-related-info-top-panel-selection-change",t)}}},ne={class:"flex flex-row border-b border-[#F4F5F6] text-base font-normal"},ae=["onClick"];function oe(t,e,d,i,k,o){return m(),u("div",ne,[(m(!0),u(S,null,V(i.options,r=>(m(),u("div",{key:r.name,class:"grow"},[n("div",{role:"button",onClick:g=>r.action(),class:F(["text-center py-[12px] mb-[-1px]",r.selected?"border-b border-blue-500 text-gray-900":"text-gray-600"])},x(r.label),11,ae)]))),128))])}const ie=v(se,[["render",oe]]),le={name:"RelatedInfo",props:["agent"],components:{AgentRelatedInfoTopPanel:ie,FeatherIcon:$,Tooltip:C,ListManager:P,ListViewer:L,TicketType:R,TicketStatus:M,TicketPriority:j,Subject:B},setup(){return{relatedInfoToShow:_("tickets")}},mounted(){this.$event.on("agent-related-info-top-panel-selection-change",t=>{this.relatedInfoToShow=t})},unmounted(){this.$event.off("agent-related-info-top-panel-selection-change")}},re={class:"flex flex-col w-full"},ce={key:0,class:"w-full px-4"},me=n("div",null,null,-1),ue={class:"text-xs text-gray-500"},de={key:1,class:"h-full w-full flex max-w-full grow-0"},pe=n("div",{class:"mx-auto my-auto text-base font-normal"}," Comming Soon ",-1),ge=[pe];function fe(t,e,d,i,k,o){const r=a("AgentRelatedInfoTopPanel"),g=a("Subject"),b=a("TicketStatus"),f=a("TicketPriority"),y=a("TicketType"),p=a("ListViewer"),w=a("ListManager");return m(),u("div",re,[s(r),i.relatedInfoToShow==="tickets"?(m(),u("div",ce,[s(w,{ref:"miniTicketList",options:{doctype:"Ticket",fields:["_assign","status","priority","subject","ticket_type","name","_seen"],limit:20,order_by:"modified desc",filters:{_assign:["like",`%${d.agent}%`]}}},{body:l(()=>[s(p,{options:{base:12,fields:{name:{label:"#",width:"1"},subject:{label:"Subject",width:"5"},status:{label:"Status",width:"2"},ticket_type:{label:"Type",width:"2"},priority:{label:"Priority",width:"2",align:"right"}}},class:"text-base h-[calc(100vh-9rem)] pt-4"},{"top-section":l(()=>[me]),"field-name":l(({value:c})=>[n("div",ue,x(c),1)]),"field-subject":l(({row:c})=>[s(g,{ticket:c},null,8,["ticket"])]),"field-status":l(({value:c})=>[s(b,{value:c},null,8,["value"])]),"field-priority":l(({value:c})=>[s(f,{value:c},null,8,["value"])]),"field-ticket_type":l(({value:c})=>[s(y,{value:c},null,8,["value"])]),_:1})]),_:1},8,["options"])])):(m(),u("div",de,ge))])}const _e=v(le,[["render",fe]]),he={name:"Agent",props:["agentId"],components:{AgentInfo:te,AgentRelatedInfo:_e},setup(){},mounted(){this.$event.emit("set-selected-setting","Agents"),this.$event.emit("show-top-panel-actions-settings","Agent")}},xe={class:"flex flex-row w-full h-full"};function ve(t,e,d,i,k,o){const r=a("AgentInfo"),g=a("AgentRelatedInfo");return m(),u("div",xe,[s(r,{class:"shrink-0 border-r border-[#F4F5F6]",agent:d.agentId},null,8,["agent"]),s(g,{class:"grow",agent:d.agentId},null,8,["agent"])])}const je=v(he,[["render",ve]]);export{je as default}; diff --git a/helpdesk/public/desk/assets/Agents-88c7058e.js b/helpdesk/public/desk/assets/Agents-88c7058e.js new file mode 100644 index 000000000..3239add16 --- /dev/null +++ b/helpdesk/public/desk/assets/Agents-88c7058e.js @@ -0,0 +1 @@ +import{_ as b,I as A,s as $,aw as D,r as l,o as i,d as u,b as s,i as c,w as r,t as I,c as k,k as g,m as v,h as C,F as E,e as S,f as F,v as Q,D as L,p as y,q as B}from"./index-d9377e3a.js";import{C as N}from"./CustomIcons-60888788.js";import{L as V}from"./ListManager-d2a1afc7.js";import{L as T}from"./ListViewer-af42e401.js";import"./Dropdown-e0c50cd3.js";import"./use-tracked-pointer-4b3ac621.js";import"./use-resolve-button-type-390b11ae.js";import"./listFilters-8ea4c2e9.js";import"./Autocomplete-c752a27e.js";import"./use-controllable-93c8440b.js";import"./CustomSwitch-323f8131.js";import"./ErrorMessage-e4ff6432.js";const M={name:"AgentListItem",props:["agent","selected"],components:{Input:A,FeatherIcon:$,Badge:D}},P={key:0,role:"button",class:"flex items-center text-base"},R={class:"w-[37px] h-[14px] flex items-center"},W={class:"sm:w-5/12 truncate pr-10"},H={class:"sm:w-5/12 truncate pr-10"},j={class:"sm:w-2/12 truncate"},z={class:"w-full flex flex-row-reverse"};function q(t,e,n,a,p,d){const h=l("Input"),m=l("Badge"),_=l("router-link");return i(),u("div",{class:C(["block select-none rounded-[6px] py-[7px] px-[11px]",n.selected?"bg-blue-50 hover:bg-blue-100":"hover:bg-gray-50"])},[n.agent?(i(),u("div",P,[s("div",R,[c(h,{type:"checkbox",onClick:e[0]||(e[0]=x=>t.$emit("toggleSelect")),checked:n.selected,role:"button"},null,8,["checked"])]),c(_,{to:`/frappedesk/settings/agents/${n.agent.name}`,class:"w-full group flex items-center"},{default:r(()=>[s("div",W,I(n.agent.full_name),1),s("div",H,I(n.agent.email),1),s("div",j,[s("div",z,[n.agent.send_welcome_email?(i(),k(m,{key:0,color:"yellow"},{default:r(()=>[g(" Pending ")]),_:1})):v("",!0)])])]),_:1},8,["to"])])):v("",!0)],2)}const O=b(M,[["render",q]]),U={name:"AgentList",props:["manager"],components:{AgentListItem:O,CustomIcons:N,Input:A},setup(){return{viewportWidth:Q("viewportWidth")}}},Y={class:"bg-[#F7F7F7] group flex items-center text-base font-medium text-gray-500 py-[10px] px-[11px] rounded-[6px] select-none"},G={class:"w-[37px] h-[14px]"},J=s("div",{class:"flex flex-row items-center group w-full"},[s("div",{class:"sm:w-5/12"},"Name"),s("div",{class:"sm:w-5/12"},"Email"),s("div",{class:"sm:w-2/12"})],-1),K={key:0},X={key:0},Z={key:1},ee={class:"grid place-content-center h-48 w-full"},te=s("div",{class:"text-gray-500 mb-2"}," No agents found ",-1),ne={class:"pb-2"};function se(t,e,n,a,p,d){const h=l("Input"),m=l("AgentListItem"),_=l("CustomIcons"),x=l("Button");return i(),u("div",null,[s("div",Y,[s("div",G,[c(h,{type:"checkbox",onClick:e[0]||(e[0]=o=>n.manager.selectAll()),checked:n.manager.allItemsSelected,role:"button"},null,8,["checked"])]),J]),s("div",{id:"rows",class:"flex flex-col space-y-2 overflow-auto",style:F({height:a.viewportWidth>768?"calc(100vh - 120px)":null})},[n.manager.loading?v("",!0):(i(),u("div",K,[n.manager.list.length>0?(i(),u("div",X,[(i(!0),u(E,null,S(n.manager.list,(o,w)=>(i(),u("div",{key:o.name},[c(m,{class:C(w==0?"mt-[9px] mb-[2px]":"my-[2px]"),agent:o,onToggleSelect:f=>n.manager.select(o),selected:n.manager.itemSelected(o)},null,8,["class","agent","onToggleSelect","selected"])]))),128))])):(i(),u("div",Z,[s("div",ee,[s("div",null,[c(_,{name:"empty-list",class:"h-12 w-12 mx-auto mb-2"}),te])])]))])),s("div",ne,[n.manager.hasNextPage?(i(),k(x,{key:0,onClick:e[1]||(e[1]=o=>n.manager.nextPage())},{default:r(()=>[g(" Load More ")]),_:1})):v("",!0)])],4)])}const oe=b(U,[["render",se]]),ae={name:"AddNewAgentsDialog",props:["show"],components:{Dialog:L,Input:A,FeatherIcon:$},setup(){const t=y(""),e=y([]),n=y(!1);return{searchInput:t,inviteQueue:e,currentInputIsValidEmail:n}},methods:{testEmailRegex(t){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(t)},onSearchInputChange(t){if(t=t.replaceAll(" ",""),t==""){document.getElementById("searchInput").value="";return}const e=t,n=t.split(",");let a=!1;this.currentInputIsValidEmail=!1,n.forEach(p=>{this.testEmailRegex(p)&&(n.length>1?(this.addToInviteQueue(p),a=!0):e.includes(",")?(this.addToInviteQueue(p),a=!0):this.currentInputIsValidEmail=!0)}),a&&this.clearSearchInput()},addToInviteQueue(t){this.inviteQueue=[...new Set([...this.inviteQueue,t])]},removeEmailFromQueue(t){this.inviteQueue=this.inviteQueue.filter(e=>e!==t)},removeAllEmailFromQueue(){this.inviteQueue=[]},clearSearchInput(){this.currentInputIsValidEmail=!1,this.searchInput="";const t=document.getElementById("searchInput");t.value="",t.focus()},close(){this.searchInput="",this.inviteQueue=[],this.$emit("close")},sentInvites(){this.$resources.sentInvites.submit({emails:this.inviteQueue})}},resources:{sentInvites(){return{url:"frappedesk.api.agent.sent_invites",onSuccess:t=>{this.currentInputIsValidEmail=!1,this.searchInput="",this.inviteQueue=[],this.$clearToasts(),this.$toast({title:"Invites Sent Successfully!",icon:"check",iconClasses:"text-green-500"}),this.close()},onError:t=>{t.exc_type=="PaywallReachedError"?this.$toast({title:"Paywall Reached!",text:"You have reached the maximum number of agents you can add. Please upgrade your plan to add more agents.",icon:"x",iconClasses:"text-red-500"}):this.$toast({title:"Error Sending Invites!",icon:"x",iconClasses:"text-red-500"})}}}}},ie={class:"space-y-3"},le={class:"bg-gray-100 min-h-[100px] max-h-[300px] overflow-y-auto px-2 rounded border flex flex-col"},re={key:0,class:"flex flex-wrap gap-2 py-2"},ce=["title"],ue={class:"text-base ml-2"},de=["onClick"],me={class:"grow"};function ge(t,e,n,a,p,d){const h=l("Input"),m=l("Button"),_=l("FeatherIcon"),x=l("Dialog");return i(),u("div",null,[c(x,{options:{title:"Add Agents"},show:n.show,onClose:e[7]||(e[7]=o=>d.close())},{"body-content":r(()=>[s("div",ie,[s("form",{onSubmit:e[3]||(e[3]=B((...o)=>t.onSubmit&&t.onSubmit(...o),["prevent"])),class:"flex flex-row space-x-2 items-center"},[c(h,{id:"searchInput",class:"w-full",type:"text",modelValue:a.searchInput,"onUpdate:modelValue":e[0]||(e[0]=o=>a.searchInput=o),placeholder:"Type emails",onInput:e[1]||(e[1]=o=>d.onSearchInputChange(o))},null,8,["modelValue"]),a.currentInputIsValidEmail?(i(),k(m,{key:0,appearance:"primary",type:"submit",icon:"arrow-down",onClick:e[2]||(e[2]=()=>{d.addToInviteQueue(a.searchInput),d.clearSearchInput()})},{default:r(()=>[g(" Add ")]),_:1})):v("",!0)],32),s("div",le,[a.inviteQueue.length?(i(),u("ul",re,[(i(!0),u(E,null,S(a.inviteQueue.slice().reverse(),o=>(i(),u("li",{class:"flex items-center p-1 space-x-2 bg-white shadow rounded",key:o,title:o},[s("span",ue,I(o),1),s("button",{class:"grid w-4 h-4 text-gray-700 rounded hover:bg-gray-300 place-items-center",onClick:w=>d.removeEmailFromQueue(o)},[c(_,{class:"w-3",name:"x"})],8,de)],8,ce))),128))])):v("",!0)])])]),actions:r(()=>[c(m,{disabled:a.inviteQueue.length==0,appearance:"primary",onClick:e[4]||(e[4]=o=>d.sentInvites()),loading:t.$resources.sentInvites.loading},{default:r(()=>[g("Send Invites")]),_:1},8,["disabled","loading"]),c(m,{appearance:"secondary",onClick:e[5]||(e[5]=o=>d.close())},{default:r(()=>[g("Cancel")]),_:1}),s("div",me,[a.inviteQueue.length>1?(i(),k(m,{key:0,onClick:e[6]||(e[6]=o=>d.removeAllEmailFromQueue())},{default:r(()=>[g(" Clear All ")]),_:1})):v("",!0)])]),_:1},8,["show"])])}const pe=b(ae,[["render",ge]]),he={name:"Agents",components:{AgentList:oe,ListManager:V,AddNewAgentsDialog:pe,ListViewer:T},setup(){const t=Q("viewportWidth"),e=y(!1);return{viewportWidth:t,showNewAgentDialog:e}},resources:{deleteAgent(){return{url:"frappe.client.delete"}},bulk_delete_agents(){return{url:"frappedesk.api.doc.delete_items",onSuccess:()=>{this.$router.go()},onError:t=>{this.$refs.listManager.manager.reload(),this.$toast({title:"Error while deleting agents",text:t,icon:"check",iconClasses:"text-red-500"})}}}}},_e={class:"flex flex-col px-4"},fe={class:"text-[13px] font-inter text-gray-600"},ve={class:"flex flex-row space-x-2"};function xe(t,e,n,a,p,d){const h=l("router-link"),m=l("Button"),_=l("ListViewer"),x=l("ListManager"),o=l("AddNewAgentsDialog");return i(),u("div",_e,[c(x,{ref:"listManager",options:{cache:["Agents","Desk"],doctype:"HD Agent",urlQueryFilters:!0,saveFiltersLocally:!0,fields:["user","agent_name"],limit:20}},{body:r(({manager:w})=>[c(_,{options:{name:"HD Agent",base:"12",listTitle:"Agents",filterBox:!0,presetFilters:!0,fields:{agent_name:{label:"Name",width:"4"},user:{label:"Email",width:"2"}}},class:"text-base h-[calc(100vh-9.5rem)] pt-4",onAddItem:e[0]||(e[0]=()=>{a.showNewAgentDialog=!0})},{"field-agent_name":r(({row:f})=>[c(h,{to:{path:`/frappedesk/settings/agents/${f.user}`},class:"text-[13px] text-gray-600 font-inter hover:text-gray-900"},{default:r(()=>[g(I(`${f.agent_name}`),1)]),_:2},1032,["to"])]),"field-user":r(({row:f})=>[s("div",fe,I(`${f.user}`),1)]),"bulk-actions":r(({selectedItems:f})=>[s("div",ve,[c(m,{onClick:()=>{t.$resources.deleteAgent.submit({doctype:"HD Agent",name:Object.keys(f)}).then(()=>{w.unselect(),w.reload()})}},{default:r(()=>[g("Delete")]),_:2},1032,["onClick"])])]),_:2},1024)]),_:1},512),c(o,{show:a.showNewAgentDialog,onClose:e[1]||(e[1]=()=>{a.showNewAgentDialog=!1,t.$refs.listManager.manager.reload(),t.$router.go()})},null,8,["show"])])}const Fe=b(he,[["render",xe]]);export{Fe as default}; diff --git a/helpdesk/public/desk/assets/Article-11d26e9e.js b/helpdesk/public/desk/assets/Article-11d26e9e.js new file mode 100644 index 000000000..431e1467f --- /dev/null +++ b/helpdesk/public/desk/assets/Article-11d26e9e.js @@ -0,0 +1 @@ +import{_ as w,s as V,o as l,d,c as g,w as p,b as i,t as x,i as n,m as f,v,r as c,ca as C,h as y,u as B,F as j,e as R,p as _,G as L,k as S,H as I}from"./index-d9377e3a.js";import{D as O}from"./Dropdown-e0c50cd3.js";import{E as q,S as U}from"./SearchSection-0e11276b.js";import{B as K}from"./Breadcrumbs-4289cef3.js";import{E as M}from"./ErrorMessage-e4ff6432.js";import{A as z}from"./Autocomplete-c752a27e.js";import{C as G}from"./CategorySelector-c2fcec0b.js";import{T as J,a as Q}from"./TextEditor-b1ee2b34.js";import{B as W}from"./BaseBreadcrumbs-472c50b6.js";import"./use-tracked-pointer-4b3ac621.js";import"./use-resolve-button-type-390b11ae.js";import"./LoadingText-f736f9e5.js";import"./CustomIcons-60888788.js";import"./use-controllable-93c8440b.js";const X={name:"ArticleDetails",props:{article:{type:Object,default:null},articleResource:{type:Object,default:null},isNew:{type:Boolean,default:!1}},components:{FeatherIcon:V,ErrorMessage:M,Autocomplete:z,CategorySelector:G},setup(){const e=v("updateArticleTempValues"),s=v("articleTempValues"),r=v("articleInputErrors");return{updateArticleTempValues:e,articleTempValues:s,articleInputErrors:r}},resources:{users(){return{url:"frappedesk.extends.client.get_list",params:{doctype:"User",fields:["name","full_name"],filters:{enabled:1},limit:9999},auto:!0}}},methods:{setArticleDetail(e,s){if(this.isNew)this.updateArticleTempValues({field:e,value:s});else{let r={};r[e]=s,this.articleResource.setValue.submit(r).then(()=>{e==="category"&&this.$router.go()})}}}},Y={class:"flex flex-col rounded shadow p-5 text-base space-y-[12px]"},Z=i("div",{class:"font-semibold"},"Details",-1),$=i("div",{class:"border-b w-full"},null,-1),ee={key:1,class:"flex flex-col"},te=i("span",{class:"block mb-2 text-sm leading-4 text-gray-700"}," Author ",-1),re={key:2,class:"flex flex-row items-center text-[12px] text-gray-700"},se={class:"flex flex-row items-center space-x-[6px]"},ae={class:"w-[28px] text-left"},ie={class:"flex flex-row items-center space-x-[6px]"},le={class:"w-[28px] text-left"},oe={class:"flex flex-row items-center space-x-[6px]"},ce={class:"w-[28px] text-left"};function ne(e,s,r,t,k,a){const o=c("FeatherIcon"),u=c("router-link"),h=c("Autocomplete"),b=c("ErrorMessage"),A=c("CategorySelector");return l(),d("div",Y,[Z,$,r.article.published_on?(l(),g(u,{key:0,to:`/support/kb/articles/${r.article.name}`,target:"_blank",class:"flex flex-row justify-between items-center"},{default:p(()=>[i("div",null," Published "+x(e.$dayjs.shortFormating(e.$dayjs(r.article.published_on).fromNow(),!0)),1),n(o,{name:"external-link",class:"w-4"})]),_:1},8,["to"])):f("",!0),e.$resources.users.data?(l(),d("div",ee,[te,n(h,{options:e.$resources.users.data.map(m=>({label:m.name,value:m.name})),placeholder:"Choose author",value:r.isNew?t.articleTempValues?.author:r.article.author,onChange:s[0]||(s[0]=m=>{m&&a.setArticleDetail("author",m.value)})},null,8,["options","value"]),n(b,{message:t.articleInputErrors.author},null,8,["message"])])):f("",!0),i("div",null,[n(A,{selectedCategory:r.isNew?t.articleTempValues?.category:r.article.category,onSelection:s[1]||(s[1]=m=>{a.setArticleDetail("category",m.name)})},null,8,["selectedCategory"]),n(b,{message:t.articleInputErrors.category},null,8,["message"])]),r.isNew?f("",!0):(l(),d("div",re,[i("div",se,[n(o,{name:"eye",class:"w-[16px] stroke-gray-500"}),i("div",ae,x(r.article.views||0),1)]),i("div",ie,[n(o,{name:"smile",class:"w-[14px] stroke-gray-500"}),i("div",le,x(r.article.helpful||0),1)]),i("div",oe,[n(o,{name:"frown",class:"w-[14px] stroke-gray-500"}),i("div",ce,x(r.article.not_helpful||0),1)])]))])}const de=w(X,[["render",ne]]),ue={name:"ArticleTitleAndContent",props:["article","editable","editMode"],components:{ErrorMessage:M,TextEditor:J,TextEditorFixedMenu:Q},setup(){const e=v("updateArticleTempValues");return{articleInputErrors:v("articleInputErrors"),updateArticleTempValues:e}},watch:{editMode(e){e||this.$refs.textEditor.editor.commands.setContent(this.article.content)}},computed:{textEditorMenuButtons(){return["Paragraph",["Heading 2","Heading 3","Heading 4","Heading 5","Heading 6"],"Separator","Bold","Italic","Separator","Bullet List","Numbered List","Separator","Align Left","Align Center","Align Right","Separator","Image","Video","Link","Blockquote","Code","Horizontal Rule",["InsertTable","AddColumnBefore","AddColumnAfter","DeleteColumn","AddRowBefore","AddRowAfter","DeleteRow","MergeCells","SplitCell","ToggleHeaderColumn","ToggleHeaderRow","ToggleHeaderCell","DeleteTable"],"Separator","Undo","Redo"]}},methods:{onTitleInput:C(function(e){this.updateArticleTempValues({field:"title",value:e})},300),onContentInput:C(function(e){this.updateArticleTempValues({field:"content",value:e})},300)}},he={class:"flex h-full flex-col space-y-[16px]"},me={key:0,class:"flex flex-col"},pe={key:1,class:"text-[24px] font-semibold"},fe={class:"flex flex-col"},be={key:0,class:"mb-2 block text-sm leading-4 text-gray-700"},_e={key:0};function ge(e,s,r,t,k,a){const o=c("Input"),u=c("ErrorMessage"),h=c("TextEditorFixedMenu"),b=c("TextEditor");return l(),d("div",he,[i("div",null,[r.editMode?(l(),d("div",me,[n(o,{label:"Title",type:"text",value:r.article.title,onInput:a.onTitleInput},null,8,["value","onInput"]),n(u,{message:t.articleInputErrors.title},null,8,["message"])])):(l(),d("div",pe,x(r.article.title),1))]),i("div",null,[i("div",fe,[r.editMode?(l(),d("div",be," Content ")):f("",!0),n(b,{class:y(r.editMode?"bg-gray-100":""),ref:"textEditor","editor-class":r.editable?r.editMode?"min-h-[20rem] overflow-y-auto max-h-[73vh] w-full px-3":"min-h-[20rem] overflow-y-auto max-h-[85vh]":"flex flex-col",content:r.article.content,"starterkit-options":{heading:{levels:[2,3,4,5,6]}},onChange:a.onContentInput,editable:r.editMode},{top:p(()=>[r.editMode?(l(),d("div",_e,[n(h,{class:"m-3 overflow-x-auto",buttons:a.textEditorMenuButtons},null,8,["buttons"])])):f("",!0)]),_:1},8,["class","editor-class","content","onChange","editable"]),n(u,{message:t.articleInputErrors.content},null,8,["message"])])])])}const xe=w(ue,[["render",ge]]),ke={name:"ArticleFeedback",props:{article:{type:Object,default:null}},setup(){return{authStore:B()}},data(){return{refreshKey:0}},computed:{feedback(){if(this.refreshKey,this.authStore.isLoggedIn){const e=this.$resources.articleFeedback.data||[];return e.length>0?e[0].feedback:null}else return JSON.parse(localStorage.getItem(`article-${this.article.name}-feedback`))},feedbackOptions(){return[{score:0,emoji:"😞"},{score:1,emoji:"😃"}]}},resources:{articleFeedback(){if(this.authStore.isLoggedIn)return{url:"frappedesk.extends.client.get_list",params:{doctype:"User Article Feedback",filters:{article:this.article.name,user:this.authStore.userId},fields:["*"]},auto:!0}},submitArticleFeedback(){return{url:"frappedesk.api.kb.submit_article_feedback",onSuccess:e=>{}}}},methods:{async submitFeedback(e){return this.authStore.isLoggedIn||localStorage.setItem(`article-${this.article.name}-feedback`,e),await this.$resources.submitArticleFeedback.submit({article:this.article.name,score:e,previous_score:this.feedback}).then(()=>{this.authStore.isLoggedIn?this.$resources.articleFeedback.fetch():this.refreshKey+=1})}}},ve={class:"py-3 px-20 border-t pt-5 mt-5"},ye={class:"flex flex-col space-y-2 items-center text-base text-gray-700"},we=i("div",null,"Did you find this useful?",-1),Ae={class:"flex flex-row space-x-5"},Ie=["onClick"];function Ee(e,s,r,t,k,a){return l(),d("div",ve,[i("div",ye,[we,i("div",Ae,[(l(!0),d(j,null,R(a.feedbackOptions,o=>(l(),d("div",{key:o},[i("div",{onClick:()=>{a.submitFeedback(o.score).then(()=>{e.$toast({title:"Thanks for your feedback!",customIcon:"circle-check",appearance:"success"})})},class:y(["hover:text-5xl cursor-pointer text-5xl hover:saturate-100",a.feedback!==null?a.feedback===o.score?"":"saturate-0":"saturated-100"]),style:{color:"#855223"}},x(o.emoji),11,Ie)]))),128))])])])}const Te=w(ke,[["render",Ee]]),Ce={name:"Article",components:{EditableBlock:q,SearchSection:U,Breadcrumbs:K,ArticleDetails:de,ArticleTitleAndContent:xe,Dropdown:O,FeatherIcon:V,BaseBreadcrumbs:W,ArticleFeedback:Te},props:{articleId:{type:String,default:null}},setup(){const e=B(),s=L(),r=_(s.meta.editable),t=_(s.meta.isNew||!1),k=_(s.meta.editMode||!1),a=_(!1),o=_({});t.value&&(o.value={author:e.userId,category:s.meta.category||null});const u=_(()=>{}),h=_({}),b=_({});return I("updateArticleTempValues",u),I("articleTempValues",o),I("articleInputErrors",h),{editable:r,isNew:t,editMode:k,saveInProgress:a,articleTempValues:o,updateArticleTempValues:u,articleInputErrors:h,validators:b}},computed:{disableSaving(){return!1},article(){return this.isNew?{}:this.editable?this.$resources.article.doc||{}:this.$resources.article.data||{}}},mounted(){this.validators={title:this.validateTitle,content:this.validateContent,author:this.validateAuthor,category:this.validateCategory},this.updateArticleTempValues=e=>{this.articleTempValues[e.field]=e.value,this.validators[e.field](e.value)},this.editable||this.$resources.incrementArtileViews.submit({article:this.articleId})},resources:{incrementArtileViews:{url:"frappedesk.api.kb.increment_article_views"},article(){return this.isNew?{}:this.editable?{type:"document",doctype:"HD Article",name:this.articleId,setValue:{onSuccess:()=>{this.$toast({title:"Article updated",icon:"check",iconClasses:"text-green-500"})},onError:e=>{this.$toast({title:"Error while updating article",text:e,icon:"x",iconClasses:"text-red-500"})}}}:{url:"frappedesk.api.kb.get_article",params:{article:this.articleId},auto:!0}},newArticle(){return{url:"frappe.client.insert",onSuccess:e=>{this.$router.push(`/frappedesk/kb/articles/${e.name}`)},onError:e=>{this.$toast({title:"Error while creating article",text:e,icon:"x",iconClasses:"text-red-500"})}}},checkIfTitleExists(){return{url:"frappedesk.api.kb.check_if_article_title_exists",onSuccess:e=>{e?this.articleInputErrors.title="Article with this title already exists":this.articleInputErrors.title=""}}}},methods:{async validateTitle(e){return this.articleInputErrors.titlle="",!e||e==""?this.articleInputErrors.title="Title is required":e.length<=3?this.articleInputErrors.title="Title should be atleast 3 characters long":await this.$resources.checkIfTitleExists.submit({title:e,name:this.isNew?null:this.article.name}),this.articleInputErrors.title},validateContent(e){return this.articleInputErrors.content="",(!e||e.replaceAll(" ","")=="

")&&(this.articleInputErrors.content="Content is required"),this.articleInputErrors.content},validateAuthor(e){return this.articleInputErrors.author="",e||(this.articleInputErrors.author="Author is required"),this.articleInputErrors.author},validateCategory(e){return this.articleInputErrors.category="",e||(this.articleInputErrors.category="Category is required"),this.articleInputErrors.category},async validateChanges(){const e=this.articleTempValues;let s="";return s+=await this.validateTitle(e.title),s+=this.validateContent(e.content),s+=this.validateAuthor(e.author),s+=this.validateCategory(e.category),s.length==0},async saveChanges(e=!1){if(await this.validateChanges()){if(this.saveInProgress=!0,this.isNew)this.articleTempValues.status=e?"Published":"Draft",await this.$resources.newArticle.submit({doc:{doctype:"HD Article",...this.articleTempValues}});else{let s=this.articleTempValues.title!=this.article.title;await this.$resources.article.setValue.submit({title:this.articleTempValues.title,content:this.articleTempValues.content,status:e?"Published":"Draft"}),s&&this.$router.go()}this.editMode=!1,this.saveInProgress=!1}}}},Se={class:"grid h-full grid-cols-1"},Ve={class:"flex grow flex-row space-x-[24px]"},Be={class:"w-[250px] shrink-0"};function Me(e,s,r,t,k,a){const o=c("Breadcrumbs"),u=c("BaseBreadcrumbs"),h=c("Button"),b=c("Dropdown"),A=c("SearchSection"),m=c("ArticleTitleAndContent"),D=c("ArticleDetails"),F=c("ArticleFeedback"),N=c("EditableBlock");return l(),g(N,{class:"h-full",editable:t.editable,"edit-mode":t.editMode,"save-in-progress":t.saveInProgress,"disable-saving":a.disableSaving,onEdit:s[1]||(s[1]=()=>{t.editMode=!0,t.articleTempValues={...a.article}}),onDiscard:s[2]||(s[2]=()=>{t.isNew?e.$router.push({path:"/frappedesk/kb/articles"}):t.editMode=!1}),onSave:a.saveChanges},{"top-left-section":p(()=>[i("div",null,[t.isNew?(l(),g(u,{key:1,breadcrumbs:[{label:"Articles",name:"articles",handler:()=>{e.$router.push({path:`/${t.editable?"frappedesk":"support"}/kb/articles`})}},{label:"New",name:"new"}]},null,8,["breadcrumbs"])):(l(),g(o,{key:0,"doc-type":"HD Article","doc-name":r.articleId,"is-desk":t.editable},null,8,["doc-name","is-desk"]))])]),"other-main-actions":p(()=>[i("div",null,[n(h,{loading:t.saveInProgress,appearance:a.article.status==="Published"?"secondary":"primary",onClick:s[0]||(s[0]=()=>{t.articleTempValues={...a.article},a.saveChanges(a.article.status!=="Published")})},{default:p(()=>[S(x(a.article.status==="Published"?"Unpublish":"Publish"),1)]),_:1},8,["loading","appearance"])])]),"save-action":p(({save:E,disableSaving:T,saveInProgress:P})=>[n(b,{placement:"right",options:[{label:"Save",handler:()=>{E()}},{label:"Save and Publish",handler:()=>{E(!0)}}]},{default:p(({toggleDropdown:H})=>[n(h,{loading:P,"icon-right":"chevron-down",class:y(["ml-2",T?"cursor-not-allowed":""]),disable:T,onClick:H},{default:p(()=>[S(" Save ")]),_:2},1032,["loading","class","disable","onClick"])]),_:2},1032,["options"])]),body:p(()=>[i("div",Se,[t.editable?f("",!0):(l(),g(A,{key:0,disabled:t.editable,class:"mb-5"},null,8,["disabled"])),i("div",{class:y(["flex h-full flex-col",t.editable?"":"container mx-auto"])},[t.editable?f("",!0):(l(),g(o,{key:0,"doc-type":"HD Article","doc-name":r.articleId,"is-desk":t.editable,class:"mb-5"},null,8,["doc-name","is-desk"])),i("div",Ve,[n(m,{class:"grow",editable:t.editable,"edit-mode":t.editMode,article:a.article},null,8,["editable","edit-mode","article"]),i("div",Be,[t.editable?(l(),g(D,{key:0,article:a.article,"article-resource":e.$resources.article,"is-new":t.isNew},null,8,["article","article-resource","is-new"])):f("",!0)])]),t.editable?f("",!0):(l(),g(F,{key:1,article:a.article},null,8,["article"]))],2)])]),_:1},8,["editable","edit-mode","save-in-progress","disable-saving","onSave"])}const Je=w(Ce,[["render",Me]]);export{Je as default}; diff --git a/helpdesk/public/desk/assets/Articles-539604a8.js b/helpdesk/public/desk/assets/Articles-539604a8.js new file mode 100644 index 000000000..c877e20a2 --- /dev/null +++ b/helpdesk/public/desk/assets/Articles-539604a8.js @@ -0,0 +1 @@ +import{L as y}from"./ListManager-d2a1afc7.js";import{L as g}from"./ListViewer-af42e401.js";import{C as w}from"./CategorySelector-c2fcec0b.js";import{_ as v,d as C,i as o,w as t,r as i,o as A,b as n,k as c,t as p,h as S}from"./index-d9377e3a.js";import{D as T}from"./Dropdown-e0c50cd3.js";import{T as $}from"./Breadcrumbs-4289cef3.js";import"./CustomIcons-60888788.js";import"./listFilters-8ea4c2e9.js";import"./Autocomplete-c752a27e.js";import"./use-tracked-pointer-4b3ac621.js";import"./use-resolve-button-type-390b11ae.js";import"./use-controllable-93c8440b.js";import"./CustomSwitch-323f8131.js";import"./ErrorMessage-e4ff6432.js";import"./BaseBreadcrumbs-472c50b6.js";const D={name:"Articles",components:{ListManager:y,ListViewer:g,CategorySelector:w,Dropdown:T,TabButtons:$},props:{categoryId:{type:String,default:""}},data(){return{activeTab:"Articles"}},resources:{moveArticlesToCategory(){return{url:"frappedesk.api.kb.move_articles_to_category"}},setStatusForArticles(){return{url:"frappedesk.api.kb.set_status_for_articles"}},deleteArticles(){return{url:"frappedesk.api.kb.delete_articles"}},knowledgeBase(){this.activeTab=="Webview"&&this.$router.push({path:"/frappedesk/kb"})}}},V={class:"flex flex-col"},B={class:"flex flex-row space-x-2"};function L(r,l,x,j,u,M){const m=i("TabButtons"),d=i("Button"),f=i("CategorySelector"),b=i("Dropdown"),_=i("router-link"),k=i("ListViewer"),h=i("ListManager");return A(),C("div",V,[o(h,{ref:"articleList",options:{doctype:"HD Article",order_by:"modified DESC",limit:20}},{body:t(({manager:a})=>[o(k,{options:{fields:{title:{label:"Title",width:"5",priority:1},category_name:{label:"Category",width:"3",priority:1},status:{label:"Status",width:"2",priority:1},views:{label:"Views",width:"1",priority:3},modified:{label:"Modified",width:"1",priority:2,align:"right"}}},class:"h-[calc(100vh-6.5rem)] text-base",onAddItem:l[1]||(l[1]=()=>{r.$router.push("/frappedesk/kb/articles/new")})},{"top-sub-section-1":t(()=>[o(m,{modelValue:u.activeTab,"onUpdate:modelValue":l[0]||(l[0]=e=>u.activeTab=e),buttons:[{label:"Articles",active:!0},{label:"Webview"}]},null,8,["modelValue"])]),"bulk-actions":t(({selectedItems:e})=>[n("div",B,[o(f,{onSelection:s=>{r.$resources.moveArticlesToCategory.submit({articles:Object.keys(e),category:s.name}).then(()=>{a.unselect()})}},{"selector-main":t(({show:s})=>[o(d,{onClick:s},{default:t(()=>[c("Move to")]),_:2},1032,["onClick"])]),_:2},1032,["onSelection"]),o(b,{placement:"right",options:[{label:"Draft",handler:()=>{r.$resources.setStatusForArticles.submit({articles:Object.keys(e),status:"Draft"}).then(()=>{a.unselect()})}},{label:"Published",handler:()=>{r.$resources.setStatusForArticles.submit({articles:Object.keys(e),status:"Published"}).then(()=>{a.unselect()})}}]},{default:t(({toggleDropdown:s})=>[o(d,{loading:r.$resources.setStatusForArticles.loading,"icon-right":"chevron-down",class:"ml-2",onClick:s},{default:t(()=>[c(" Mark as ")]),_:2},1032,["loading","onClick"])]),_:2},1032,["options"]),o(d,{onClick:()=>{r.$resources.deleteArticles.submit({articles:Object.keys(e)}).then(()=>{a.unselect(),a.reload()})}},{default:t(()=>[c("Delete")]),_:2},1032,["onClick"])])]),"field-title":t(({value:e,row:s})=>[o(_,{to:{path:`/frappedesk/kb/articles/${s.name}`},class:"cursor-pointer text-gray-600 hover:text-gray-900"},{default:t(()=>[c(p(e),1)]),_:2},1032,["to"])]),"field-status":t(({value:e})=>[n("div",{class:S(e==="Published"?"text-green-500":"text-gray-500")},p(e),3)]),"field-views":t(({value:e})=>[n("div",null,p(e),1)]),"field-modified":t(({value:e})=>[n("div",null,p(r.$dayjs.shortFormating(r.$dayjs(e).fromNow(),!1)),1)]),_:2},1024)]),_:1},512)])}const X=v(D,[["render",L]]);export{X as default}; diff --git a/helpdesk/public/desk/assets/Autocomplete-c752a27e.js b/helpdesk/public/desk/assets/Autocomplete-c752a27e.js new file mode 100644 index 000000000..81cf4f640 --- /dev/null +++ b/helpdesk/public/desk/assets/Autocomplete-c752a27e.js @@ -0,0 +1 @@ +import{C as M,p as k,M as g,W as E,X as h,Y as ie,H as re,a1 as se,a2 as W,a0 as S,R as te,O as $,U as oe,a3 as de,a4 as pe,a5 as ce,a6 as q,a7 as le,F as ne,a8 as H,aa as X,Q as ee,a9 as ve,ab as be,V as L,v as fe,ac as me,ad as _,cF as xe,_ as he,P as ye,ca as ge,r as D,o as F,c as z,w as N,i as K,b as j,a as Z,h as G,d as J,t as Q,m as ae,x as Oe,e as Ce,at as Se}from"./index-d9377e3a.js";import{C as Re}from"./CustomIcons-60888788.js";import{x as we,a as P,p as Ie,u as Pe}from"./use-tracked-pointer-4b3ac621.js";import{b as Ve}from"./use-resolve-button-type-390b11ae.js";import{d as _e,e as ke}from"./use-controllable-93c8440b.js";function Te(e,f){return e===f}var Be=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Be||{}),De=(e=>(e[e.Single=0]="Single",e[e.Multi=1]="Multi",e))(De||{}),Ee=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(Ee||{});let ue=Symbol("ComboboxContext");function U(e){let f=fe(ue,null);if(f===null){let c=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(c,U),c}return f}let Fe=M({name:"Combobox",emits:{"update:modelValue":e=>!0},props:{as:{type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>Te},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},name:{type:String},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(e,{slots:f,attrs:c,emit:V}){let t=k(1),o=k(null),d=k(null),O=k(null),u=k(null),b=k({static:!1,hold:!1}),m=k([]),y=k(null),R=k(1),w=k(!1);function T(n=p=>p){let p=y.value!==null?m.value[y.value]:null,v=me(n(m.value.slice()),x=>S(x.dataRef.domRef)),i=p?v.indexOf(p):null;return i===-1&&(i=null),{options:v,activeOptionIndex:i}}let a=g(()=>e.multiple?1:0),l=g(()=>e.nullable),[r,I]=_e(g(()=>e.modelValue===void 0?E(a.value,{[1]:[],[0]:void 0}):e.modelValue),n=>V("update:modelValue",n),g(()=>e.defaultValue)),s={comboboxState:t,value:r,mode:a,compare(n,p){if(typeof e.by=="string"){let v=e.by;return n?.[v]===p?.[v]}return e.by(n,p)},defaultValue:g(()=>e.defaultValue),nullable:l,inputRef:d,labelRef:o,buttonRef:O,optionsRef:u,disabled:g(()=>e.disabled),options:m,change(n){I(n)},activeOptionIndex:g(()=>{if(w.value&&y.value===null&&m.value.length>0){let n=m.value.findIndex(p=>!p.dataRef.disabled);if(n!==-1)return n}return y.value}),activationTrigger:R,optionsPropsRef:b,closeCombobox(){w.value=!1,!e.disabled&&t.value!==1&&(t.value=1,y.value=null)},openCombobox(){if(w.value=!0,e.disabled||t.value===0)return;let n=m.value.findIndex(p=>{let v=h(p.dataRef.value);return E(a.value,{[0]:()=>s.compare(h(s.value.value),h(v)),[1]:()=>h(s.value.value).some(i=>s.compare(h(i),h(v)))})});n!==-1&&(y.value=n),t.value=0},goToOption(n,p,v){if(w.value=!1,e.disabled||u.value&&!b.value.static&&t.value===1)return;let i=T();if(i.activeOptionIndex===null){let C=i.options.findIndex(Y=>!Y.dataRef.disabled);C!==-1&&(i.activeOptionIndex=C)}let x=we(n===P.Specific?{focus:P.Specific,id:p}:{focus:n},{resolveItems:()=>i.options,resolveActiveIndex:()=>i.activeOptionIndex,resolveId:C=>C.id,resolveDisabled:C=>C.dataRef.disabled});y.value=x,R.value=v??1,m.value=i.options},selectOption(n){let p=m.value.find(i=>i.id===n);if(!p)return;let{dataRef:v}=p;I(E(a.value,{[0]:()=>v.value,[1]:()=>{let i=h(s.value.value).slice(),x=h(v.value),C=i.findIndex(Y=>s.compare(x,h(Y)));return C===-1?i.push(x):i.splice(C,1),i}}))},selectActiveOption(){if(s.activeOptionIndex.value===null)return;let{dataRef:n,id:p}=m.value[s.activeOptionIndex.value];I(E(a.value,{[0]:()=>n.value,[1]:()=>{let v=h(s.value.value).slice(),i=h(n.value),x=v.findIndex(C=>s.compare(i,h(C)));return x===-1?v.push(i):v.splice(x,1),v}})),s.goToOption(P.Specific,p)},registerOption(n,p){let v={id:n,dataRef:p},i=T(x=>[...x,v]);if(y.value===null){let x=p.value.value;E(a.value,{[0]:()=>s.compare(h(s.value.value),h(x)),[1]:()=>h(s.value.value).some(C=>s.compare(h(C),h(x)))})&&(i.activeOptionIndex=i.options.indexOf(v))}m.value=i.options,y.value=i.activeOptionIndex,R.value=1},unregisterOption(n){var p;s.activeOptionIndex.value!==null&&((p=s.options.value[s.activeOptionIndex.value])==null?void 0:p.id)===n&&(w.value=!0);let v=T(i=>{let x=i.findIndex(C=>C.id===n);return x!==-1&&i.splice(x,1),i});m.value=v.options,y.value=v.activeOptionIndex,R.value=1}};ie([d,O,u],()=>s.closeCombobox(),g(()=>t.value===0)),re(ue,s),se(g(()=>E(t.value,{[0]:W.Open,[1]:W.Closed})));let A=g(()=>s.activeOptionIndex.value===null?null:m.value[s.activeOptionIndex.value].dataRef.value),B=g(()=>{var n;return(n=S(d))==null?void 0:n.closest("form")});return te(()=>{$([B],()=>{if(!B.value||e.defaultValue===void 0)return;function n(){s.change(e.defaultValue)}return B.value.addEventListener("reset",n),()=>{var p;(p=B.value)==null||p.removeEventListener("reset",n)}},{immediate:!0})}),()=>{let{name:n,disabled:p,...v}=e,i={open:t.value===0,disabled:p,activeIndex:s.activeOptionIndex.value,activeOption:A.value,value:r.value};return oe(ne,[...n!=null&&r.value!=null?ke({[n]:r.value}).map(([x,C])=>oe(de,pe({features:ce.Hidden,key:x,as:"input",type:"hidden",hidden:!0,readOnly:!0,name:x,value:C}))):[],q({theirProps:{...c,...le(v,["modelValue","defaultValue","nullable","multiple","onUpdate:modelValue","by"])},ourProps:{},slot:i,slots:f,attrs:c,name:"Combobox"})])}}});M({name:"ComboboxLabel",props:{as:{type:[Object,String],default:"label"},id:{type:String,default:()=>`headlessui-combobox-label-${H()}`}},setup(e,{attrs:f,slots:c}){let V=U("ComboboxLabel");function t(){var o;(o=S(V.inputRef))==null||o.focus({preventScroll:!0})}return()=>{let o={open:V.comboboxState.value===0,disabled:V.disabled.value},{id:d,...O}=e,u={id:d,ref:V.labelRef,onClick:t};return q({ourProps:u,theirProps:O,slot:o,attrs:f,slots:c,name:"ComboboxLabel"})}}});let Ae=M({name:"ComboboxButton",props:{as:{type:[Object,String],default:"button"},id:{type:String,default:()=>`headlessui-combobox-button-${H()}`}},setup(e,{attrs:f,slots:c,expose:V}){let t=U("ComboboxButton");V({el:t.buttonRef,$el:t.buttonRef});function o(u){t.disabled.value||(t.comboboxState.value===0?t.closeCombobox():(u.preventDefault(),t.openCombobox()),L(()=>{var b;return(b=S(t.inputRef))==null?void 0:b.focus({preventScroll:!0})}))}function d(u){switch(u.key){case _.ArrowDown:u.preventDefault(),u.stopPropagation(),t.comboboxState.value===1&&t.openCombobox(),L(()=>{var b;return(b=t.inputRef.value)==null?void 0:b.focus({preventScroll:!0})});return;case _.ArrowUp:u.preventDefault(),u.stopPropagation(),t.comboboxState.value===1&&(t.openCombobox(),L(()=>{t.value.value||t.goToOption(P.Last)})),L(()=>{var b;return(b=t.inputRef.value)==null?void 0:b.focus({preventScroll:!0})});return;case _.Escape:if(t.comboboxState.value!==0)return;u.preventDefault(),t.optionsRef.value&&!t.optionsPropsRef.value.static&&u.stopPropagation(),t.closeCombobox(),L(()=>{var b;return(b=t.inputRef.value)==null?void 0:b.focus({preventScroll:!0})});return}}let O=Ve(g(()=>({as:e.as,type:f.type})),t.buttonRef);return()=>{var u,b;let m={open:t.comboboxState.value===0,disabled:t.disabled.value,value:t.value.value},{id:y,...R}=e,w={ref:t.buttonRef,id:y,type:O.value,tabindex:"-1","aria-haspopup":"listbox","aria-controls":(u=S(t.optionsRef))==null?void 0:u.id,"aria-expanded":t.disabled.value?void 0:t.comboboxState.value===0,"aria-labelledby":t.labelRef.value?[(b=S(t.labelRef))==null?void 0:b.id,y].join(" "):void 0,disabled:t.disabled.value===!0?!0:void 0,onKeydown:d,onClick:o};return q({ourProps:w,theirProps:R,slot:m,attrs:f,slots:c,name:"ComboboxButton"})}}}),Ne=M({name:"ComboboxInput",props:{as:{type:[Object,String],default:"input"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:()=>`headlessui-combobox-input-${H()}`}},emits:{change:e=>!0},setup(e,{emit:f,attrs:c,slots:V,expose:t}){let o=U("ComboboxInput"),d={value:!1};t({el:o.inputRef,$el:o.inputRef});let O=g(()=>{var a;let l=o.value.value;return S(o.inputRef)?typeof e.displayValue<"u"&&l!==void 0?(a=e.displayValue(l))!=null?a:"":typeof l=="string"?l:"":""});te(()=>{$([O,o.comboboxState],([a,l],[r,I])=>{if(d.value)return;let s=S(o.inputRef);s&&(I===0&&l===1||a!==r)&&(s.value=a)},{immediate:!0}),$([o.comboboxState],([a],[l])=>{if(a===0&&l===1){let r=S(o.inputRef);if(!r)return;let I=r.value,{selectionStart:s,selectionEnd:A,selectionDirection:B}=r;r.value="",r.value=I,B!==null?r.setSelectionRange(s,A,B):r.setSelectionRange(s,A)}})});let u=k(!1);function b(){u.value=!0}function m(){setTimeout(()=>{u.value=!1})}function y(a){switch(d.value=!0,a.key){case _.Backspace:case _.Delete:if(o.mode.value!==0||!o.nullable.value)return;let l=a.currentTarget;requestAnimationFrame(()=>{if(l.value===""){o.change(null);let r=S(o.optionsRef);r&&(r.scrollTop=0),o.goToOption(P.Nothing)}});break;case _.Enter:if(d.value=!1,o.comboboxState.value!==0||u.value)return;if(a.preventDefault(),a.stopPropagation(),o.activeOptionIndex.value===null){o.closeCombobox();return}o.selectActiveOption(),o.mode.value===0&&o.closeCombobox();break;case _.ArrowDown:return d.value=!1,a.preventDefault(),a.stopPropagation(),E(o.comboboxState.value,{[0]:()=>o.goToOption(P.Next),[1]:()=>o.openCombobox()});case _.ArrowUp:return d.value=!1,a.preventDefault(),a.stopPropagation(),E(o.comboboxState.value,{[0]:()=>o.goToOption(P.Previous),[1]:()=>{o.openCombobox(),L(()=>{o.value.value||o.goToOption(P.Last)})}});case _.Home:if(a.shiftKey)break;return d.value=!1,a.preventDefault(),a.stopPropagation(),o.goToOption(P.First);case _.PageUp:return d.value=!1,a.preventDefault(),a.stopPropagation(),o.goToOption(P.First);case _.End:if(a.shiftKey)break;return d.value=!1,a.preventDefault(),a.stopPropagation(),o.goToOption(P.Last);case _.PageDown:return d.value=!1,a.preventDefault(),a.stopPropagation(),o.goToOption(P.Last);case _.Escape:if(d.value=!1,o.comboboxState.value!==0)return;a.preventDefault(),o.optionsRef.value&&!o.optionsPropsRef.value.static&&a.stopPropagation(),o.closeCombobox();break;case _.Tab:if(d.value=!1,o.comboboxState.value!==0)return;o.mode.value===0&&o.selectActiveOption(),o.closeCombobox();break}}function R(a){o.openCombobox(),f("change",a)}function w(){d.value=!1}let T=g(()=>{var a,l,r,I;return(I=(r=(l=e.defaultValue)!=null?l:o.defaultValue.value!==void 0?(a=e.displayValue)==null?void 0:a.call(e,o.defaultValue.value):null)!=null?r:o.defaultValue.value)!=null?I:""});return()=>{var a,l,r,I,s,A;let B={open:o.comboboxState.value===0},{id:n,displayValue:p,onChange:v,...i}=e,x={"aria-controls":(a=o.optionsRef.value)==null?void 0:a.id,"aria-expanded":o.disabled.value?void 0:o.comboboxState.value===0,"aria-activedescendant":o.activeOptionIndex.value===null||(l=o.options.value[o.activeOptionIndex.value])==null?void 0:l.id,"aria-labelledby":(s=(r=S(o.labelRef))==null?void 0:r.id)!=null?s:(I=S(o.buttonRef))==null?void 0:I.id,"aria-autocomplete":"list",id:n,onCompositionstart:b,onCompositionend:m,onKeydown:y,onInput:R,onBlur:w,role:"combobox",type:(A=c.type)!=null?A:"text",tabIndex:0,ref:o.inputRef,defaultValue:T.value};return q({ourProps:x,theirProps:i,slot:B,attrs:c,slots:V,features:X.RenderStrategy|X.Static,name:"ComboboxInput"})}}}),Le=M({name:"ComboboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(e,{attrs:f,slots:c,expose:V}){let t=U("ComboboxOptions"),o=`headlessui-combobox-options-${H()}`;V({el:t.optionsRef,$el:t.optionsRef}),ee(()=>{t.optionsPropsRef.value.static=e.static}),ee(()=>{t.optionsPropsRef.value.hold=e.hold});let d=ve(),O=g(()=>d!==null?(d.value&W.Open)===W.Open:t.comboboxState.value===0);return Ie({container:g(()=>S(t.optionsRef)),enabled:g(()=>t.comboboxState.value===0),accept(u){return u.getAttribute("role")==="option"?NodeFilter.FILTER_REJECT:u.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(u){u.setAttribute("role","none")}}),()=>{var u,b,m;let y={open:t.comboboxState.value===0},R={"aria-labelledby":(m=(u=S(t.labelRef))==null?void 0:u.id)!=null?m:(b=S(t.buttonRef))==null?void 0:b.id,id:o,ref:t.optionsRef,role:"listbox","aria-multiselectable":t.mode.value===1?!0:void 0},w=le(e,["hold"]);return q({ourProps:R,theirProps:w,slot:y,attrs:f,slots:c,features:X.RenderStrategy|X.Static,visible:O.value,name:"ComboboxOptions"})}}}),je=M({name:"ComboboxOption",props:{as:{type:[Object,String],default:"li"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1}},setup(e,{slots:f,attrs:c,expose:V}){let t=U("ComboboxOption"),o=`headlessui-combobox-option-${H()}`,d=k(null);V({el:d,$el:d});let O=g(()=>t.activeOptionIndex.value!==null?t.options.value[t.activeOptionIndex.value].id===o:!1),u=g(()=>E(t.mode.value,{[0]:()=>t.compare(h(t.value.value),h(e.value)),[1]:()=>h(t.value.value).some(l=>t.compare(h(l),h(e.value)))})),b=g(()=>({disabled:e.disabled,value:e.value,domRef:d}));te(()=>t.registerOption(o,b)),be(()=>t.unregisterOption(o)),ee(()=>{t.comboboxState.value===0&&O.value&&t.activationTrigger.value!==0&&L(()=>{var l,r;return(r=(l=S(d))==null?void 0:l.scrollIntoView)==null?void 0:r.call(l,{block:"nearest"})})});function m(l){if(e.disabled)return l.preventDefault();t.selectOption(o),t.mode.value===0&&t.closeCombobox(),xe()||requestAnimationFrame(()=>{var r;return(r=S(t.inputRef))==null?void 0:r.focus()})}function y(){if(e.disabled)return t.goToOption(P.Nothing);t.goToOption(P.Specific,o)}let R=Pe();function w(l){R.update(l)}function T(l){R.wasMoved(l)&&(e.disabled||O.value||t.goToOption(P.Specific,o,0))}function a(l){R.wasMoved(l)&&(e.disabled||O.value&&(t.optionsPropsRef.value.hold||t.goToOption(P.Nothing)))}return()=>{let{disabled:l}=e,r={active:O.value,selected:u.value,disabled:l},I={id:o,ref:d,role:"option",tabIndex:l===!0?void 0:-1,"aria-disabled":l===!0?!0:void 0,"aria-selected":u.value,disabled:void 0,onClick:m,onFocus:y,onPointerenter:w,onMouseenter:w,onPointermove:T,onMousemove:T,onPointerleave:a,onMouseleave:a};return q({ourProps:I,theirProps:e,slot:r,attrs:c,slots:f,name:"ComboboxOption"})}}});const Me={name:"Autocomplete",props:{modelValue:{type:Object,default:null},options:{type:Array,default:()=>[]},resourceOptions:{type:Function,default:()=>{}},placeholder:{type:String},searchable:{type:Boolean,default:!0},width:{type:Number,default:250},show:{type:Boolean,default:!1}},emits:["update:modelValue","change"],components:{Popover:ye,CustomIcons:Re,Combobox:Fe,ComboboxInput:Ne,ComboboxOptions:Le,ComboboxOption:je,ComboboxButton:Ae},data(){return{query:""}},mounted(){this.dsearch("")},computed:{valuePropPassed(){return"value"in this.$attrs},selectedValue:{get(){return this.valuePropPassed?this.$attrs.value:this.modelValue},set(e){this.query="",this.$emit(this.valuePropPassed?"change":"update:modelValue",e)}},filteredOptions(){if(this.resourceOptions){let e=this.$resources.search.data||[];return e.length==0?[]:this.resourceOptions.responseMap(e)}else return this.query?this.options.filter(e=>[e.label,e.value].some(c=>(c||"").toLowerCase().includes(this.query.toLowerCase()))):this.options}},methods:{displayValue(e){return typeof e=="string"?e:e?.label},dsearch:ge(function(e){this.search(e)},300),search(e){this.searchable&&this.$resources.search.fetch(this.resourceOptions.inputMap(e))}},watch:{resourceOptions(e){e&&this.$nextTick(()=>{this.search("")})}},resources:{search(){if(this.resourceOptions)return{url:this.resourceOptions.url}}}},qe={class:"w-full"},Ue={key:0,class:"text-base line-clamp-1"},Ke={key:1,class:"text-base text-gray-500"},He={class:"flex items-st items-stretch space-x-1.5 sticky top-0 pt-1.5 mb-1.5 bg-white"},ze={key:1},Ge=j("li",{class:"px-2.5 py-1.5 rounded-md text-base text-gray-600"}," No results found ",-1);function Je(e,f,c,V,t,o){const d=D("CustomIcons"),O=D("ComboboxButton"),u=D("ComboboxInput"),b=D("Button"),m=D("Tooltip"),y=D("ComboboxOption"),R=D("ComboboxOptions"),w=D("Popover"),T=D("Combobox");return F(),z(T,{modelValue:o.selectedValue,"onUpdate:modelValue":f[2]||(f[2]=a=>o.selectedValue=a),nullable:""},{default:N(({open:a})=>[K(w,{class:"w-full"},{target:N(({open:l})=>[j("div",qe,[K(O,{class:"w-full",onClick:()=>{c.searchable&&l()}},{default:N(()=>[Z(e.$slots,"input-holder",{open:e.foo,selectedValue:o.selectedValue},()=>[j("div",{class:G(["h-[28px] flex items-center justify-between w-full py-1.5 pl-3 pr-2 rounded-md bg-gray-100",{"rounded-b-none":a}])},[Z(e.$slots,"input",{selectedValue:o.selectedValue,placeholder:c.searchable?c.placeholder:""},()=>[o.selectedValue?(F(),J("span",Ue,Q(o.displayValue(o.selectedValue)),1)):(F(),J("span",Ke,Q(c.searchable?c.placeholder:""),1))]),c.searchable?(F(),z(d,{key:0,name:"select",class:"w-[12px] h-[12px] stroke-gray-500"})):ae("",!0)],2)])]),_:2},1032,["onClick"])])]),body:N(()=>[Oe(K(R,{class:G(["max-w-[240px] px-1.5 pb-1.5 bg-white rounded-md mt-2 border shadow-md max-h-[11rem] overflow-y-auto",c.width?`w-[${c.width}px]`:"w-[250px]"]),static:""},{default:N(()=>[j("div",He,[K(u,{class:"w-full placeholder-gray-500 form-input",type:"text",onChange:f[0]||(f[0]=l=>{t.query=l.target.value,c.resourceOptions&&o.dsearch(t.query)}),value:t.query,autocomplete:"off",placeholder:"Search by keyword"},null,8,["value"]),K(b,{icon:"x",onClick:f[1]||(f[1]=l=>o.selectedValue=null)})]),(F(!0),J(ne,null,Ce(o.filteredOptions,l=>(F(),z(y,{as:"template",key:l.value,value:l},{default:N(({active:r,selected:I})=>[j("li",{class:G(["px-2.5 py-1.5 cursor-pointer rounded-md text-base",[{"bg-gray-100":r}]])},[l.label.length>20*c.width/220?(F(),z(m,{key:0,placement:"top",text:l.label},{default:N(()=>[j("div",{class:G(["line-clamp-1",`w-[${c.width-25+"px"}]`])},Q(l.label),3)]),_:2},1032,["text"])):(F(),J("div",ze,Q(l.label),1))],2)]),_:2},1032,["value"]))),128)),o.filteredOptions?.length==0?Z(e.$slots,"no-result-found",{key:0},()=>[Ge]):ae("",!0)]),_:2},1032,["class"]),[[Se,a]])]),_:2},1024)]),_:3},8,["modelValue"])}const $e=he(Me,[["render",Je]]);export{$e as A}; diff --git a/helpdesk/public/desk/assets/Avatar-166461f8.js b/helpdesk/public/desk/assets/Avatar-166461f8.js new file mode 100644 index 000000000..a6ccd2e9c --- /dev/null +++ b/helpdesk/public/desk/assets/Avatar-166461f8.js @@ -0,0 +1 @@ +import{_ as n,o as t,d as l,h as r,t as o}from"./index-d9377e3a.js";const i=["square","circle"],d={name:"Avatar",props:{imageURL:String,label:String,size:{default:"md"},shape:{default:"circle",validator(s){const a=i.includes(s);return a||console.warn("shape property for must be one of ",i),a}}},computed:{styleClasses(){const s={sm:"w-5 h-5",md:"w-8 h-8",lg:"w-12 h-12"}[this.size];return`${{circle:"rounded-full",square:"rounded-lg"}[this.shape]} ${s}`}}},u=["src"];function m(s,a,e,h,f,c){return t(),l("div",{class:r(["shrink-0 overflow-hidden",c.styleClasses])},[e.imageURL?(t(),l("img",{key:0,src:e.imageURL,class:r(["object-cover",c.styleClasses]),loading:"lazy"},null,10,u)):(t(),l("div",{key:1,class:r(["flex h-full w-full items-center justify-center bg-gray-200 uppercase text-gray-600",{sm:"text-xs",md:"text-base",lg:"text-lg"}[e.size]])},o(e.label&&e.label[0]),3))],2)}const y=n(d,[["render",m]]);export{y as A}; diff --git a/helpdesk/public/desk/assets/BaseBreadcrumbs-472c50b6.js b/helpdesk/public/desk/assets/BaseBreadcrumbs-472c50b6.js new file mode 100644 index 000000000..9f1b201fa --- /dev/null +++ b/helpdesk/public/desk/assets/BaseBreadcrumbs-472c50b6.js @@ -0,0 +1 @@ +import{_ as l,s as d,o as t,d as s,F as m,e as _,b as n,h,t as u,i as f,m as p,r as B}from"./index-d9377e3a.js";const x={name:"BaseBreadcrumbs",props:{breadcrumbs:{type:Array,default:()=>[]},interactable:{type:Boolean,default:!0}},components:{FeatherIcon:d},methods:{isBreadcrumbLast(a){return a===this.breadcrumbs.length-1}}},y={class:"flex flex-row space-x-2 items-center text-gray-600 text-base"},b={class:"flex flex-row items-center space-x-2"},k=["onClick"],v={key:0};function g(a,C,o,F,L,c){const i=B("FeatherIcon");return t(),s("div",y,[(t(!0),s(m,null,_(o.breadcrumbs,(e,r)=>(t(),s("div",{key:e},[n("div",b,[n("div",{onClick:()=>{e.handler&&e.handler(),a.$emit("item-click",e,r)},class:h(!c.isBreadcrumbLast(r)&&o.interactable?"cursor-pointer hover:text-gray-900":"")},u(e.label),11,k),c.isBreadcrumbLast(r)?p("",!0):(t(),s("div",v,[f(i,{class:"h-3 w-3 stroke-gray-500",name:"chevron-right"})]))])]))),128))])}const I=l(x,[["render",g]]);export{I as B}; diff --git a/helpdesk/public/desk/assets/Breadcrumbs-4289cef3.js b/helpdesk/public/desk/assets/Breadcrumbs-4289cef3.js new file mode 100644 index 000000000..2ad22d4e5 --- /dev/null +++ b/helpdesk/public/desk/assets/Breadcrumbs-4289cef3.js @@ -0,0 +1 @@ +import{_ as u,o as s,d as l,F as m,e as b,h as p,t as f,c as y,r as B}from"./index-d9377e3a.js";import{B as h}from"./BaseBreadcrumbs-472c50b6.js";const _={name:"TabButtons",props:{buttons:{type:Array,required:!0},modelValue:{type:String}},emits:["update:modelValue"]},g={class:"flex p-1 text-sm bg-gray-100 rounded-md"},k=["onClick"];function $(e,n,t,d,i,o){return s(),l("div",g,[(s(!0),l(m,null,b(t.buttons,a=>(s(),l("button",{class:p(["px-2 py-1 leading-none transition-all rounded",t.modelValue===a.label?"bg-white shadow text-gray-900":"text-gray-700"]),onClick:r=>e.$emit("update:modelValue",a.label)},f(a.label),11,k))),256))])}const I=u(_,[["render",$]]),T={name:"Breadcrumbs",props:{isDesk:{type:Boolean,default:!1},isRoot:{type:Boolean,default:!1},docType:{type:String,default:"Category"},docName:{type:String,default:null},interactable:{type:Boolean,default:!0},overrideInteraction:{type:Function,default:null}},components:{BaseBreadcrumbs:h},computed:{breadcrumbs(){const e=[{name:"",label:"Home"}];return this.isRoot?e:[...e,...this.$resources.breadcrumbs.data||[]]}},resources:{breadcrumbs(){if(!(this.isRoot||!this.docType&&!this.docName))return{url:"frappedesk.api.kb.get_breadcrumbs",params:{docType:this.docType,docName:this.docName},auto:!0}}},methods:{isBreadcrumbLast(e){return e==this.breadcrumbs.length-1}}};function v(e,n,t,d,i,o){const a=B("BaseBreadcrumbs");return s(),y(a,{breadcrumbs:o.breadcrumbs,interactable:t.interactable,onItemClick:n[0]||(n[0]=(r,c)=>{t.interactable&&c{t.tempNewTitle=x})},null,8,["value"])]),l("div",E,[t.editMode?(i(),r("div",H," Message ")):w("",!0),a(c,{class:T(t.editMode?"bg-gray-100":""),ref:"textEditor","editor-class":n.editable?t.editMode?"min-h-[20rem] overflow-y-auto max-h-[73vh] px-3 max-w-full":"min-h-[20rem] overflow-y-auto max-h-[85vh]":"flex flex-col",content:n.message,"starterkit-options":{heading:{levels:[2,3,4,5,6]}},onChange:s[1]||(s[1]=x=>{t.tempNewMessage=x}),editable:t.editMode},{top:g(()=>[t.editMode?(i(),r("div",F,[a(h,{class:"m-3 overflow-x-auto",buttons:o.textEditorMenuButtons},null,8,["buttons"])])):w("",!0)]),_:1},8,["class","editor-class","content","editable"])])])])):(i(),r("div",I,[l("div",A,M(n.title),1),l("div",{class:"overflow-y-auto",style:{"min-height":"calc(100vh - 500px)","max-height":"calc(100vh - 245px)"},innerHTML:n.message},null,8,V)]))])}const S=R(k,[["render",D]]),L={name:"CannedResponseInfo",props:["canned_response"],components:{FeatherIcon:C,Input:b,ResponseTitleAndMessage:S},setup(e){const s=d(!1),n=d({}),t=d(c=>{n.value[c.field]=c.value});_("updateNewResponseInput",t),_("newResponseTempValues",n);const u=d(()=>{});_("saveResponseTitleAndMessage",u);const o=d(""),m=d(!1),h=d(!e.canned_response);return _("editMode",h),{editingName:s,tempCannedResponseName:o,updatingValues:m,editMode:h,newResponseTempValues:n,saveResponseTitleAndMessage:u}},computed:{cannedResponseDoc(){return this.$resources.cannedResponse.doc||null},values(){return this.updatingValues?this.values||null:{cannedResponseName:this.cannedResponseDoc?.title||null,message:this.cannedResponseDoc?.message||null}}},deactivated(){this.resetForm()},resources:{cannedResponse(){return{type:"document",doctype:"HD Canned Response",name:this.canned_response,setValue:{onSuccess:()=>{this.$toast({title:"Canned Response Updated.",icon:"check",iconClasses:"text-green-500"})},onError:e=>{this.$toast({title:"Error while updating canned response",text:e,icon:"x",iconClasses:"text-red-500"})}}}}},methods:{resetForm(){this.editingName=!1,this.tempCannedResponseName=this.values.cannedResponseName},save(){this.updatingValues=!0;const e=this.values;this.$resources.user.setValue.submit({title:e.title,message:e.message}).then(()=>{this.$resources.cannedResponse.setValue.submit({title:this.tempCannedResponseName})})},saveResponse(){const e={title:this.newResponseTempValues.title,message:this.newResponseTempValues.message};this.$resources.cannedResponse.setValue.submit({...e}),this.editMode=!1},cancel(){this.$router.go()}}},z={class:"min-w-[490px] px-[24px] py-[10px]"},P={class:"shrink-0 h-[72px] py-[22px] flow-root px-[16px]"},U={class:"float-left"},j=l("div",null,"Back to response list",-1),q={class:"float-right"},G={key:0,class:"flex flex-row space-x-2"},J={key:1,class:"flex flex-row space-x-2"},K={class:"flex flex-row space-x-[24px] h-full border-t px-[16px] py-[22px]"};function O(e,s,n,t,u,o){const m=p("FeatherIcon"),h=p("router-link"),c=p("Button"),x=p("ResponseTitleAndMessage");return i(),r("div",z,[l("div",P,[l("div",U,[a(h,{to:"/frappedesk/settings/canned_response",class:"my-1 text-[12px] text-gray-600 stroke-gray-600 flex flex-row items-center space-x-1 hover:text-gray-700 hover:stroke-gray-700 select-none",role:"button"},{default:g(()=>[a(m,{name:"arrow-left",class:"w-[13px] h-[13px]"}),j]),_:1})]),l("div",q,[t.editMode?(i(),r("div",J,[a(c,{appearance:"secondary",onClick:s[1]||(s[1]=()=>{this.$router.go()})},{default:g(()=>[v(" Cancel ")]),_:1}),a(c,{appearance:"primary",onClick:s[2]||(s[2]=Z=>o.saveResponse())},{default:g(()=>[v(" Save ")]),_:1})])):(i(),r("div",G,[a(c,{appearance:"secondary",onClick:s[0]||(s[0]=()=>{t.editMode=!0,e.newAResponseTempValues={title:o.cannedResponseDoc.title,message:o.cannedResponseDoc.message}})},{default:g(()=>[v("Edit")]),_:1})]))])]),l("div",K,[a(x,{class:"grow",title:o.values?.cannedResponseName,message:o.values?.message,editable:t.editMode,responseResource:e.$resources.cannedResponse},null,8,["title","message","editable","responseResource"])])])}const Q=R(L,[["render",O]]),W={name:"CannedResponse",props:["canned_responseId"],components:{CannedResponseInfo:Q},setup(){},mounted(){this.$event.emit("set-selected-setting","Canned Responses"),this.$event.emit("show-top-panel-actions-settings","CannedResponse")}},X={class:"flex flex-col"};function Y(e,s,n,t,u,o){const m=p("CannedResponseInfo");return i(),r("div",X,[a(m,{class:"shrink-0 border-r border-[#F4F5F6]",canned_response:n.canned_responseId},null,8,["canned_response"])])}const te=R(W,[["render",Y]]);export{te as default}; diff --git a/helpdesk/public/desk/assets/CannedResponses-0f9a1f3c.js b/helpdesk/public/desk/assets/CannedResponses-0f9a1f3c.js new file mode 100644 index 000000000..dcac7b8ca --- /dev/null +++ b/helpdesk/public/desk/assets/CannedResponses-0f9a1f3c.js @@ -0,0 +1 @@ +import{L as R}from"./ListManager-d2a1afc7.js";import{_ as C,D as b,I as T,s as V,p as f,o as E,d as v,i as o,w as r,b as a,k as w,r as n,v as M,t as x}from"./index-d9377e3a.js";import{E as D}from"./ErrorMessage-e4ff6432.js";import{T as k,a as y}from"./TextEditor-b1ee2b34.js";import{L as A}from"./ListViewer-af42e401.js";import"./Dropdown-e0c50cd3.js";import"./use-tracked-pointer-4b3ac621.js";import"./use-resolve-button-type-390b11ae.js";import"./CustomIcons-60888788.js";import"./listFilters-8ea4c2e9.js";import"./Autocomplete-c752a27e.js";import"./use-controllable-93c8440b.js";import"./CustomSwitch-323f8131.js";const $={name:"AddNewCannedResponsesDialog",props:["show"],components:{Dialog:b,Input:T,FeatherIcon:V,ErrorMessage:D,TextEditor:k,TextEditorFixedMenu:y},setup(){const e=f(""),t=f("");return{titleValidationError:e,messageValidationError:t}},data(){return{title:"",message:""}},watch:{title(e){this.validateTitle(e)},message(e){this.validateMessage(e)}},computed:{textEditorMenuButtons(){return["Paragraph",["Heading 2","Heading 3","Heading 4","Heading 5","Heading 6"],"Separator","Bold","Italic","Separator","Bullet List","Numbered List","Separator","Align Left","Align Center","Align Right","Separator","Image","Video","Link","Blockquote","Code","Horizontal Rule",["InsertTable","AddColumnBefore","AddColumnAfter","DeleteColumn","AddRowBefore","AddRowAfter","DeleteRow","MergeCells","SplitCell","ToggleHeaderColumn","ToggleHeaderRow","ToggleHeaderCell","DeleteTable"],"Separator","Undo","Redo"]}},methods:{close(){this.title="",this.message="",this.$emit("close")},addResponse(){if(this.validateInputs())return;const e={title:this.title,message:this.message};this.$resources.newResponse.submit({doc:{doctype:"HD Canned Response",...e}})},validateInputs(){let e=this.validateTitle(this.title);return e+=this.validateMessage(this.message),e},validateTitle(e){return this.titleValidationError="",e?e.trim()==""&&(this.titleValidationError="Title is required"):this.titleValidationError="Title is required",this.titleValidationError},validateMessage(e){return this.messageValidationError="",e?["


","

"].includes(e.replaceAll(" ",""))&&(this.messageValidationError="Message is required"):this.messageValidationError="Message is required",this.messageValidationError}},resources:{newResponse(){return{url:"frappe.client.insert",onSuccess:e=>{this.$router.push(`/frappedesk/settings/canned_responses/${e.name}`)},onError:e=>{this.$toast({title:"Error while creating canned response",text:e,icon:"x",iconClasses:"text-red-500"})}}}}},B={class:"flex flex-col mt-6"},L=a("div",{class:"mb-2 block text-sm leading-4 text-gray-700 mt-4"}," Message ",-1);function N(e,t,_,i,l,d){const m=n("Input"),p=n("ErrorMessage"),u=n("TextEditorFixedMenu"),g=n("TextEditor"),h=n("Button"),c=n("Dialog");return E(),v("div",null,[o(c,{options:{title:"New canned response",size:"3xl"},show:_.show,onClose:t[3]||(t[3]=s=>d.close()),class:"bg-white px-6 py-5 pb-1 pt-6"},{"body-content":r(()=>[a("div",B,[o(m,{id:"searchInput",class:"w-full",type:"text",label:"Title",placeholder:"Enter Title",modelValue:l.title,"onUpdate:modelValue":t[0]||(t[0]=s=>l.title=s)},null,8,["modelValue"]),o(p,{message:i.titleValidationError},null,8,["message"])]),L,a("div",null,[o(g,{class:"bg-gray-100",ref:"textEditor","editor-class":"min-h-[20rem] overflow-y-auto max-h-[73vh] w-full px-3 max-w-full",content:l.message,"starterkit-options":{heading:{levels:[2,3,4,5,6]}},onChange:t[1]||(t[1]=s=>{l.message=s})},{top:r(()=>[a("div",null,[o(u,{class:"m-3 overflow-x-auto",buttons:d.textEditorMenuButtons},null,8,["buttons"])])]),_:1},8,["content"])]),o(p,{message:i.messageValidationError},null,8,["message"])]),actions:r(()=>[o(h,{appearance:"primary",onClick:t[2]||(t[2]=s=>d.addResponse()),class:"mr-auto"},{default:r(()=>[w("Add Response")]),_:1})]),_:1},8,["show"])])}const H=C($,[["render",N]]),I={name:"Canned Responses",components:{ListManager:R,AddNewCannedResponsesDialog:H,ListViewer:A},setup(){const e=M("viewportWidth"),t=f(!1);return{viewportWidth:e,showNewCannedResponsesDialog:t}},mounted(){this.$event.emit("set-selected-setting","Canned Responses")},resources:{deleteTeam(){return{url:"frappe.client.delete"}},bulk_delete_responses(){return{url:"frappedesk.api.doc.delete_items",onSuccess:()=>{this.$router.go()},onError:e=>{this.$refs.listManager.manager.reload(),this.$toast({title:"Error while deleting canned responses",text:e,icon:"check",iconClasses:"text-red-500"})}}}}},S={class:"flex flex-col px-4"},F={class:"font-inter text-[13px] text-gray-600"},q={class:"flex flex-row space-x-2"};function j(e,t,_,i,l,d){const m=n("router-link"),p=n("Button"),u=n("ListViewer"),g=n("ListManager"),h=n("AddNewCannedResponsesDialog");return E(),v("div",S,[o(g,{ref:"listManager",options:{doctype:"HD Canned Response",urlQueryFilters:!0,saveFiltersLocally:!0,fields:["title","owner"],limit:20,order_by:"modified desc"}},{body:r(({manager:c})=>[o(u,{options:{name:"Response",base:"12",listTitle:"Canned Responses",filterBox:!0,presetFilters:!0,fields:{title:{label:"Title",width:"4"},owner:{label:"Owner",width:"2"}}},class:"h-[calc(100vh-9.5rem)] pt-4 text-base",onAddItem:t[0]||(t[0]=()=>{i.showNewCannedResponsesDialog=!0})},{"field-title":r(({row:s})=>[o(m,{to:{path:`/frappedesk/settings/canned_responses/${s.title}`},class:"font-inter text-[13px] text-gray-600 hover:text-gray-900"},{default:r(()=>[w(x(`${s.title}`),1)]),_:2},1032,["to"])]),"field-owner":r(({row:s})=>[a("div",F,x(s.owner),1)]),"bulk-actions":r(({selectedItems:s})=>[a("div",q,[o(p,{onClick:()=>{e.$resources.deleteTeam.submit({doctype:"HD Canned Response",name:Object.keys(s)}).then(()=>{c.unselect(),c.reload()})}},{default:r(()=>[w("Delete")]),_:2},1032,["onClick"])])]),_:2},1024)]),_:1},512),o(h,{show:i.showNewCannedResponsesDialog,onClose:t[1]||(t[1]=()=>{i.showNewCannedResponsesDialog=!1,e.$refs.listManager.manager.reload(),e.$router.go()})},null,8,["show"])])}const te=C(I,[["render",j]]);export{te as default}; diff --git a/helpdesk/public/desk/assets/Card-a4b42a0d.js b/helpdesk/public/desk/assets/Card-a4b42a0d.js new file mode 100644 index 000000000..a204d0317 --- /dev/null +++ b/helpdesk/public/desk/assets/Card-a4b42a0d.js @@ -0,0 +1 @@ +import{L as d}from"./LoadingText-f736f9e5.js";import{_ as r,o as t,d as s,b as l,a as n,m as a,t as i,i as f,r as m}from"./index-d9377e3a.js";const _={name:"Card",props:["title","subtitle","loading"],components:{LoadingText:d}},u={class:"flex flex-col rounded-lg border bg-white px-6 py-5 shadow"},x={class:"flex items-baseline justify-between"},h={class:"flex items-baseline space-x-2"},p={key:0,class:"flex items-center space-x-2"},b={class:"text-xl font-semibold"},y={key:0,class:"flex items-center space-x-2"},g={key:0,class:"mt-1.5 text-base text-gray-600"},v={key:1,class:"mt-4 flex flex-auto flex-col items-center justify-center rounded-md"},k={key:2,class:"mt-4 flex-auto overflow-auto"};function $(e,C,o,w,L,B){const c=m("LoadingText");return t(),s("div",u,[l("div",x,[l("div",h,[e.$slots["actions-left"]?(t(),s("div",p,[n(e.$slots,"actions-left")])):a("",!0),l("h2",b,i(o.title),1)]),e.$slots.actions?(t(),s("div",y,[n(e.$slots,"actions")])):a("",!0)]),o.subtitle?(t(),s("p",g,i(o.subtitle),1)):a("",!0),o.loading?(t(),s("div",v,[f(c)])):e.$slots.default?(t(),s("div",k,[n(e.$slots,"default")])):a("",!0)])}const V=r(_,[["render",$]]);export{V as C}; diff --git a/helpdesk/public/desk/assets/Category-4ed67cd3.js b/helpdesk/public/desk/assets/Category-4ed67cd3.js new file mode 100644 index 000000000..1c6fadb1e --- /dev/null +++ b/helpdesk/public/desk/assets/Category-4ed67cd3.js @@ -0,0 +1,10 @@ +import{ax as cn,ay as un,az as fn,F as dn,aA as vn,aB as hn,aC as gn,aD as pn,aE as mn,aF as yn,an as bn,aG as Sn,aH as xn,aI as En,aJ as On,aK as In,aL as Cn,aM as Tn,aN as Dn,aO as Pn,M as Dr,aP as An,c as fe,m as Xt,d as Tt,b as yt,aQ as Rn,aR as Mn,aS as wn,aT as Nn,aU as jn,au as Fn,k as ke,i as Ut,aV as Ln,aW as Un,C as Bn,aX as Gn,aY as $n,aZ as Kn,a_ as Hn,a$ as Vn,b0 as Wn,b1 as Xn,b2 as Yn,N as zn,b3 as Jn,b4 as Qn,g as Zn,U as kn,b5 as qn,b6 as _n,b7 as to,b8 as eo,v as oe,b9 as ro,ba as no,bb as oo,bc as ao,bd as io,be as so,bf as lo,bg as co,bh as uo,bi as fo,bj as vo,V as ho,h as Bt,n as go,f as po,bk as mo,bl as yo,S as bo,bm as So,bn as xo,bo as Eo,R as Oo,bp as Io,bq as Co,br as To,bs as Do,ab as Po,bt as Ao,o as dt,A as Ro,H as Se,bu as Mo,z as wo,bv as No,bw as jo,bx as Fo,p as Nt,by as Lo,bz as Uo,e as Bo,a as Go,r as St,bA as Xr,bB as $o,bC as Ko,bD as Ho,bE as Vo,bF as Wo,bG as Xo,bH as Yo,bI as zo,J as Jo,bJ as Qo,bK as Zo,bL as ko,t as be,bM as qo,bN as _o,X as ta,bO as ea,K as ra,bP as na,bQ as oa,E as aa,bR as ia,bS as sa,bT as la,bU as ca,bV as ua,bW as fa,bX as da,bY as va,bZ as ha,b_ as ga,y as pa,at as ma,b$ as ya,c0 as ba,O as Sa,Q as xa,c1 as Ea,c2 as Oa,c3 as Ia,w as de,c4 as Ca,x as Yr,j as Ta,c5 as Da,q as Pa,c6 as Aa,c7 as zr,c8 as Ra,c9 as Ma,_ as $e,ca as Nr,s as Pr,G as wa}from"./index-d9377e3a.js";import{E as Na}from"./ErrorMessage-e4ff6432.js";import{C as Jr}from"./CustomIcons-60888788.js";import{E as ja,S as Fa}from"./SearchSection-0e11276b.js";import{B as La}from"./Breadcrumbs-4289cef3.js";import"./LoadingText-f736f9e5.js";import"./BaseBreadcrumbs-472c50b6.js";const Ua=()=>{},Ba=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:cn,Comment:un,EffectScope:fn,Fragment:dn,KeepAlive:vn,ReactiveEffect:hn,Static:gn,Suspense:pn,Teleport:mn,Text:yn,Transition:bn,TransitionGroup:Sn,VueElement:xn,assertNumber:En,callWithAsyncErrorHandling:On,callWithErrorHandling:In,camelize:Cn,capitalize:Tn,cloneVNode:Dn,compatUtils:Pn,compile:Ua,computed:Dr,createApp:An,createBlock:fe,createCommentVNode:Xt,createElementBlock:Tt,createElementVNode:yt,createHydrationRenderer:Rn,createPropsRestProxy:Mn,createRenderer:wn,createSSRApp:Nn,createSlots:jn,createStaticVNode:Fn,createTextVNode:ke,createVNode:Ut,customRef:Ln,defineAsyncComponent:Un,defineComponent:Bn,defineCustomElement:Gn,defineEmits:$n,defineExpose:Kn,defineProps:Hn,defineSSRCustomElement:Vn,get devtools(){return Wn},effect:Xn,effectScope:Yn,getCurrentInstance:zn,getCurrentScope:Jn,getTransitionRawChildren:Qn,guardReactiveProps:Zn,h:kn,handleError:qn,hydrate:_n,initCustomFormatter:to,initDirectivesForSSR:eo,inject:oe,isMemoSame:ro,isProxy:no,isReactive:oo,isReadonly:ao,isRef:io,isRuntimeOnly:so,isShallow:lo,isVNode:co,markRaw:uo,mergeDefaults:fo,mergeProps:vo,nextTick:ho,normalizeClass:Bt,normalizeProps:go,normalizeStyle:po,onActivated:mo,onBeforeMount:yo,onBeforeUnmount:bo,onBeforeUpdate:So,onDeactivated:xo,onErrorCaptured:Eo,onMounted:Oo,onRenderTracked:Io,onRenderTriggered:Co,onScopeDispose:To,onServerPrefetch:Do,onUnmounted:Po,onUpdated:Ao,openBlock:dt,popScopeId:Ro,provide:Se,proxyRefs:Mo,pushScopeId:wo,queuePostFlushCb:No,reactive:jo,readonly:Fo,ref:Nt,registerRuntimeCompiler:Lo,render:Uo,renderList:Bo,renderSlot:Go,resolveComponent:St,resolveDirective:Xr,resolveDynamicComponent:$o,resolveFilter:Ko,resolveTransitionHooks:Ho,setBlockTracking:Vo,setDevtoolsHook:Wo,setTransitionHooks:Xo,shallowReactive:Yo,shallowReadonly:zo,shallowRef:Jo,ssrContextKey:Qo,ssrUtils:Zo,stop:ko,toDisplayString:be,toHandlerKey:qo,toHandlers:_o,toRaw:ta,toRef:ea,toRefs:ra,transformVNodeArgs:na,triggerRef:oa,unref:aa,useAttrs:ia,useCssModule:sa,useCssVars:la,useSSRContext:ca,useSlots:ua,useTransitionState:fa,vModelCheckbox:da,vModelDynamic:va,vModelRadio:ha,vModelSelect:ga,vModelText:pa,vShow:ma,version:ya,warn:ba,watch:Sa,watchEffect:xa,watchPostEffect:Ea,watchSyncEffect:Oa,withAsyncContext:Ia,withCtx:de,withDefaults:Ca,withDirectives:Yr,withKeys:Ta,withMemo:Da,withModifiers:Pa,withScopeId:Aa},Symbol.toStringTag,{value:"Module"}));var xr={},Ga={get exports(){return xr},set exports(i){xr=i}};const $a=zr(Ba);/**! + * Sortable 1.14.0 + * @author RubaXa + * @author owenm + * @license MIT + */function jr(i,e){var n=Object.keys(i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(i);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),n.push.apply(n,o)}return n}function Qt(i){for(var e=1;e=0)&&(n[r]=i[r]);return n}function Va(i,e){if(i==null)return{};var n=Ha(i,e),o,r;if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(i);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(i,o)&&(n[o]=i[o])}return n}function Wa(i){return Xa(i)||Ya(i)||za(i)||Ja()}function Xa(i){if(Array.isArray(i))return Er(i)}function Ya(i){if(typeof Symbol<"u"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function za(i,e){if(i){if(typeof i=="string")return Er(i,e);var n=Object.prototype.toString.call(i).slice(8,-1);if(n==="Object"&&i.constructor&&(n=i.constructor.name),n==="Map"||n==="Set")return Array.from(i);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Er(i,e)}}function Er(i,e){(e==null||e>i.length)&&(e=i.length);for(var n=0,o=new Array(e);n"&&(e=e.substring(1)),i)try{if(i.matches)return i.matches(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e)}catch{return!1}return!1}}function ka(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function Wt(i,e,n,o){if(i){n=n||document;do{if(e!=null&&(e[0]===">"?i.parentNode===n&&nr(i,e):nr(i,e))||o&&i===n)return i;if(i===n)break}while(i=ka(i))}return null}var Lr=/\s+/g;function st(i,e,n){if(i&&e)if(i.classList)i.classList[n?"add":"remove"](e);else{var o=(" "+i.className+" ").replace(Lr," ").replace(" "+e+" "," ");i.className=(o+(n?" "+e:"")).replace(Lr," ")}}function L(i,e,n){var o=i&&i.style;if(o){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(n=i.currentStyle),e===void 0?n:n[e];!(e in o)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),o[e]=n+(typeof n=="string"?"":"px")}}function ue(i,e){var n="";if(typeof i=="string")n=i;else do{var o=L(i,"transform");o&&o!=="none"&&(n=o+" "+n)}while(!e&&(i=i.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(n)}function kr(i,e,n){if(i){var o=i.getElementsByTagName(e),r=0,c=o.length;if(n)for(;r=c:t=r<=c,!t)return o;if(o===Jt())break;o=ne(o,!1)}return!1}function xe(i,e,n,o){for(var r=0,c=0,t=i.children;c2&&arguments[2]!==void 0?arguments[2]:{},r=o.evt,c=Va(o,oi);He.pluginEvent.bind(K)(e,n,Qt({dragEl:A,parentEl:ut,ghostEl:z,rootEl:ot,nextEl:ce,lastDownEl:_e,cloneEl:ft,cloneHidden:re,dragStarted:we,putSortable:It,activeSortable:K.active,originalEvent:r,oldIndex:ye,oldDraggableIndex:Ue,newIndex:Lt,newDraggableIndex:ee,hideGhostForTarget:nn,unhideGhostForTarget:on,cloneNowHidden:function(){re=!0},cloneNowShown:function(){re=!1},dispatchSortableEvent:function(a){At({sortable:n,name:a,originalEvent:r})}},c))};function At(i){Me(Qt({putSortable:It,cloneEl:ft,targetEl:A,rootEl:ot,oldIndex:ye,oldDraggableIndex:Ue,newIndex:Lt,newDraggableIndex:ee},i))}var A,ut,z,ot,ce,_e,ft,re,ye,Lt,Ue,ee,Xe,It,me=!1,or=!1,ar=[],se,Ht,hr,gr,$r,Kr,we,ge,Be,Ge=!1,Ye=!1,tr,Ct,pr=[],Or=!1,ir=[],lr=typeof document<"u",ze=Qr,Hr=Ke||qt?"cssFloat":"float",ai=lr&&!Za&&!Qr&&"draggable"in document.createElement("div"),tn=function(){if(lr){if(qt)return!1;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",i.style.pointerEvents==="auto"}}(),en=function(e,n){var o=L(e),r=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),c=xe(e,0,n),t=xe(e,1,n),a=c&&L(c),s=t&&L(t),l=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+at(c).width,u=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+at(t).width;if(o.display==="flex")return o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal";if(o.display==="grid")return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(c&&a.float&&a.float!=="none"){var f=a.float==="left"?"left":"right";return t&&(s.clear==="both"||s.clear===f)?"vertical":"horizontal"}return c&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||l>=r&&o[Hr]==="none"||t&&o[Hr]==="none"&&l+u>r)?"vertical":"horizontal"},ii=function(e,n,o){var r=o?e.left:e.top,c=o?e.right:e.bottom,t=o?e.width:e.height,a=o?n.left:n.top,s=o?n.right:n.bottom,l=o?n.width:n.height;return r===a||c===s||r+t/2===a+l/2},si=function(e,n){var o;return ar.some(function(r){var c=r[Dt].options.emptyInsertThreshold;if(!(!c||Ar(r))){var t=at(r),a=e>=t.left-c&&e<=t.right+c,s=n>=t.top-c&&n<=t.bottom+c;if(a&&s)return o=r}}),o},rn=function(e){function n(c,t){return function(a,s,l,u){var f=a.options.group.name&&s.options.group.name&&a.options.group.name===s.options.group.name;if(c==null&&(t||f))return!0;if(c==null||c===!1)return!1;if(t&&c==="clone")return c;if(typeof c=="function")return n(c(a,s,l,u),t)(a,s,l,u);var d=(t?a:s).options.group.name;return c===!0||typeof c=="string"&&c===d||c.join&&c.indexOf(d)>-1}}var o={},r=e.group;(!r||qe(r)!="object")&&(r={name:r}),o.name=r.name,o.checkPull=n(r.pull,!0),o.checkPut=n(r.put),o.revertClone=r.revertClone,e.group=o},nn=function(){!tn&&z&&L(z,"display","none")},on=function(){!tn&&z&&L(z,"display","")};lr&&document.addEventListener("click",function(i){if(or)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),or=!1,!1},!0);var le=function(e){if(A){e=e.touches?e.touches[0]:e;var n=si(e.clientX,e.clientY);if(n){var o={};for(var r in e)e.hasOwnProperty(r)&&(o[r]=e[r]);o.target=o.rootEl=n,o.preventDefault=void 0,o.stopPropagation=void 0,n[Dt]._onDragOver(o)}}},li=function(e){A&&A.parentNode[Dt]._isOutsideThisEl(e.target)};function K(i,e){if(!(i&&i.nodeType&&i.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=e=$t({},e),i[Dt]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return en(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,a){t.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:K.supportPointer!==!1&&"PointerEvent"in window&&!Fe,emptyInsertThreshold:5};He.initializePlugins(this,i,n);for(var o in n)!(o in e)&&(e[o]=n[o]);rn(e);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=e.forceFallback?!1:ai,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Z(i,"pointerdown",this._onTapStart):(Z(i,"mousedown",this._onTapStart),Z(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(Z(i,"dragover",this),Z(i,"dragenter",this)),ar.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),$t(this,ei())}K.prototype={constructor:K,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(ge=null)},_getDirection:function(e,n){return typeof this.options.direction=="function"?this.options.direction.call(this,e,n,A):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,o=this.el,r=this.options,c=r.preventOnFilter,t=e.type,a=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,s=(a||e).target,l=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,u=r.filter;if(pi(o),!A&&!(/mousedown|pointerdown/.test(t)&&e.button!==0||r.disabled)&&!l.isContentEditable&&!(!this.nativeDraggable&&Fe&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=Wt(s,r.draggable,o,!1),!(s&&s.animated)&&_e!==s)){if(ye=vt(s),Ue=vt(s,r.draggable),typeof u=="function"){if(u.call(this,e,s,this)){At({sortable:n,rootEl:l,name:"filter",targetEl:s,toEl:o,fromEl:o}),Mt("filter",n,{evt:e}),c&&e.cancelable&&e.preventDefault();return}}else if(u&&(u=u.split(",").some(function(f){if(f=Wt(l,f.trim(),o,!1),f)return At({sortable:n,rootEl:f,name:"filter",targetEl:s,fromEl:o,toEl:o}),Mt("filter",n,{evt:e}),!0}),u)){c&&e.cancelable&&e.preventDefault();return}r.handle&&!Wt(l,r.handle,o,!1)||this._prepareDragStart(e,a,s)}}},_prepareDragStart:function(e,n,o){var r=this,c=r.el,t=r.options,a=c.ownerDocument,s;if(o&&!A&&o.parentNode===c){var l=at(o);if(ot=c,A=o,ut=A.parentNode,ce=A.nextSibling,_e=o,Xe=t.group,K.dragged=A,se={target:A,clientX:(n||e).clientX,clientY:(n||e).clientY},$r=se.clientX-l.left,Kr=se.clientY-l.top,this._lastX=(n||e).clientX,this._lastY=(n||e).clientY,A.style["will-change"]="all",s=function(){if(Mt("delayEnded",r,{evt:e}),K.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!Fr&&r.nativeDraggable&&(A.draggable=!0),r._triggerDragStart(e,n),At({sortable:r,name:"choose",originalEvent:e}),st(A,t.chosenClass,!0)},t.ignore.split(",").forEach(function(u){kr(A,u.trim(),mr)}),Z(a,"dragover",le),Z(a,"mousemove",le),Z(a,"touchmove",le),Z(a,"mouseup",r._onDrop),Z(a,"touchend",r._onDrop),Z(a,"touchcancel",r._onDrop),Fr&&this.nativeDraggable&&(this.options.touchStartThreshold=4,A.draggable=!0),Mt("delayStart",this,{evt:e}),t.delay&&(!t.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(Ke||qt))){if(K.eventCanceled){this._onDrop();return}Z(a,"mouseup",r._disableDelayedDrag),Z(a,"touchend",r._disableDelayedDrag),Z(a,"touchcancel",r._disableDelayedDrag),Z(a,"mousemove",r._delayedDragTouchMoveHandler),Z(a,"touchmove",r._delayedDragTouchMoveHandler),t.supportPointer&&Z(a,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(s,t.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var n=e.touches?e.touches[0]:e;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){A&&mr(A),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;Q(e,"mouseup",this._disableDelayedDrag),Q(e,"touchend",this._disableDelayedDrag),Q(e,"touchcancel",this._disableDelayedDrag),Q(e,"mousemove",this._delayedDragTouchMoveHandler),Q(e,"touchmove",this._delayedDragTouchMoveHandler),Q(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,n){n=n||e.pointerType=="touch"&&e,!this.nativeDraggable||n?this.options.supportPointer?Z(document,"pointermove",this._onTouchMove):n?Z(document,"touchmove",this._onTouchMove):Z(document,"mousemove",this._onTouchMove):(Z(A,"dragend",this),Z(ot,"dragstart",this._onDragStart));try{document.selection?er(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,n){if(me=!1,ot&&A){Mt("dragStarted",this,{evt:n}),this.nativeDraggable&&Z(document,"dragover",li);var o=this.options;!e&&st(A,o.dragClass,!1),st(A,o.ghostClass,!0),K.active=this,e&&this._appendGhost(),At({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(Ht){this._lastX=Ht.clientX,this._lastY=Ht.clientY,nn();for(var e=document.elementFromPoint(Ht.clientX,Ht.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(Ht.clientX,Ht.clientY),e!==n);)n=e;if(A.parentNode[Dt]._isOutsideThisEl(e),n)do{if(n[Dt]){var o=void 0;if(o=n[Dt]._onDragOver({clientX:Ht.clientX,clientY:Ht.clientY,target:e,rootEl:n}),o&&!this.options.dragoverBubble)break}e=n}while(n=n.parentNode);on()}},_onTouchMove:function(e){if(se){var n=this.options,o=n.fallbackTolerance,r=n.fallbackOffset,c=e.touches?e.touches[0]:e,t=z&&ue(z,!0),a=z&&t&&t.a,s=z&&t&&t.d,l=ze&&Ct&&Br(Ct),u=(c.clientX-se.clientX+r.x)/(a||1)+(l?l[0]-pr[0]:0)/(a||1),f=(c.clientY-se.clientY+r.y)/(s||1)+(l?l[1]-pr[1]:0)/(s||1);if(!K.active&&!me){if(o&&Math.max(Math.abs(c.clientX-this._lastX),Math.abs(c.clientY-this._lastY))=0&&(At({rootEl:ut,name:"add",toEl:ut,fromEl:ot,originalEvent:e}),At({sortable:this,name:"remove",toEl:ut,originalEvent:e}),At({rootEl:ut,name:"sort",toEl:ut,fromEl:ot,originalEvent:e}),At({sortable:this,name:"sort",toEl:ut,originalEvent:e})),It&&It.save()):Lt!==ye&&Lt>=0&&(At({sortable:this,name:"update",toEl:ut,originalEvent:e}),At({sortable:this,name:"sort",toEl:ut,originalEvent:e})),K.active&&((Lt==null||Lt===-1)&&(Lt=ye,ee=Ue),At({sortable:this,name:"end",toEl:ut,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Mt("nulling",this),ot=A=ut=z=ce=ft=_e=re=se=Ht=we=Lt=ee=ye=Ue=ge=Be=It=Xe=K.dragged=K.ghost=K.clone=K.active=null,ir.forEach(function(e){e.checked=!0}),ir.length=hr=gr=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":A&&(this._onDragOver(e),ci(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],n,o=this.el.children,r=0,c=o.length,t=this.options;ro.right+r||i.clientX<=o.right&&i.clientY>o.bottom&&i.clientX>=o.left:i.clientX>o.right&&i.clientY>o.top||i.clientX<=o.right&&i.clientY>o.bottom+r}function vi(i,e,n,o,r,c,t,a){var s=o?i.clientY:i.clientX,l=o?n.height:n.width,u=o?n.top:n.left,f=o?n.bottom:n.right,d=!1;if(!t){if(a&&tru+l*c/2:sf-tr)return-Be}else if(s>u+l*(1-r)/2&&sf-l*c/2)?s>u+l/2?1:-1:0}function hi(i){return vt(A)1&&(Y.forEach(function(a){c.addAnimationState({target:a,rect:wt?at(a):t}),dr(a),a.fromRect=t,o.removeAnimationState(a)}),wt=!1,xi(!this.options.removeCloneOnHide,r))},dragOverCompleted:function(n){var o=n.sortable,r=n.isOwner,c=n.insertion,t=n.activeSortable,a=n.parentEl,s=n.putSortable,l=this.options;if(c){if(r&&t._hideClone(),Ae=!1,l.animation&&Y.length>1&&(wt||!r&&!t.options.sort&&!s)){var u=at(et,!1,!0,!0);Y.forEach(function(d){d!==et&&(Gr(d,u),a.appendChild(d))}),wt=!0}if(!r)if(wt||Ze(),Y.length>1){var f=Qe;t._showClone(o),t.options.animation&&!Qe&&f&&Ft.forEach(function(d){t.addAnimationState({target:d,rect:Re}),d.fromRect=Re,d.thisAnimationDuration=null})}else t._showClone(o)}},dragOverAnimationCapture:function(n){var o=n.dragRect,r=n.isOwner,c=n.activeSortable;if(Y.forEach(function(a){a.thisAnimationDuration=null}),c.options.animation&&!r&&c.multiDrag.isMultiDrag){Re=$t({},o);var t=ue(et,!0);Re.top-=t.f,Re.left-=t.e}},dragOverAnimationComplete:function(){wt&&(wt=!1,Ze())},drop:function(n){var o=n.originalEvent,r=n.rootEl,c=n.parentEl,t=n.sortable,a=n.dispatchSortableEvent,s=n.oldIndex,l=n.putSortable,u=l||this.sortable;if(o){var f=this.options,d=c.children;if(!pe)if(f.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),st(et,f.selectedClass,!~Y.indexOf(et)),~Y.indexOf(et))Y.splice(Y.indexOf(et),1),Pe=null,Me({sortable:t,rootEl:r,name:"deselect",targetEl:et,originalEvt:o});else{if(Y.push(et),Me({sortable:t,rootEl:r,name:"select",targetEl:et,originalEvt:o}),o.shiftKey&&Pe&&t.el.contains(Pe)){var v=vt(Pe),h=vt(et);if(~v&&~h&&v!==h){var g,p;for(h>v?(p=v,g=h):(p=h,g=v+1);p1){var b=at(et),S=vt(et,":not(."+this.options.selectedClass+")");if(!Ae&&f.animation&&(et.thisAnimationDuration=null),u.captureAnimationState(),!Ae&&(f.animation&&(et.fromRect=b,Y.forEach(function(E){if(E.thisAnimationDuration=null,E!==et){var T=wt?at(E):b;E.fromRect=T,u.addAnimationState({target:E,rect:T})}})),Ze(),Y.forEach(function(E){d[S]?c.insertBefore(E,d[S]):c.appendChild(E),S++}),s===vt(et))){var C=!1;Y.forEach(function(E){if(E.sortableIndex!==vt(E)){C=!0;return}}),C&&a("update")}Y.forEach(function(E){dr(E)}),u.animateAll()}Vt=u}(r===c||l&&l.lastPutMode!=="clone")&&Ft.forEach(function(E){E.parentNode&&E.parentNode.removeChild(E)})}},nullingGlobal:function(){this.isMultiDrag=pe=!1,Ft.length=0},destroyGlobal:function(){this._deselectMultiDrag(),Q(document,"pointerup",this._deselectMultiDrag),Q(document,"mouseup",this._deselectMultiDrag),Q(document,"touchend",this._deselectMultiDrag),Q(document,"keydown",this._checkKeyDown),Q(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(n){if(!(typeof pe<"u"&&pe)&&Vt===this.sortable&&!(n&&Wt(n.target,this.options.draggable,this.sortable.el,!1))&&!(n&&n.button!==0))for(;Y.length;){var o=Y[0];st(o,this.options.selectedClass,!1),Y.shift(),Me({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:o,originalEvt:n})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},$t(i,{pluginName:"multiDrag",utils:{select:function(n){var o=n.parentNode[Dt];!o||!o.options.multiDrag||~Y.indexOf(n)||(Vt&&Vt!==o&&(Vt.multiDrag._deselectMultiDrag(),Vt=o),st(n,o.options.selectedClass,!0),Y.push(n))},deselect:function(n){var o=n.parentNode[Dt],r=Y.indexOf(n);!o||!o.options.multiDrag||!~r||(st(n,o.options.selectedClass,!1),Y.splice(r,1))}},eventProperties:function(){var n=this,o=[],r=[];return Y.forEach(function(c){o.push({multiDragElement:c,index:c.sortableIndex});var t;wt&&c!==et?t=-1:wt?t=vt(c,":not(."+n.options.selectedClass+")"):t=vt(c),r.push({multiDragElement:c,index:t})}),{items:Wa(Y),clones:[].concat(Ft),oldIndicies:o,newIndicies:r}},optionListeners:{multiDragKey:function(n){return n=n.toLowerCase(),n==="ctrl"?n="Control":n.length>1&&(n=n.charAt(0).toUpperCase()+n.substr(1)),n}}})}function xi(i,e){Y.forEach(function(n,o){var r=e.children[n.sortableIndex+(i?Number(o):0)];r?e.insertBefore(n,r):e.appendChild(n)})}function Wr(i,e){Ft.forEach(function(n,o){var r=e.children[n.sortableIndex+(i?Number(o):0)];r?e.insertBefore(n,r):e.appendChild(n)})}function Ze(){Y.forEach(function(i){i!==et&&i.parentNode&&i.parentNode.removeChild(i)})}K.mount(new mi);K.mount(wr,Mr);const Ei=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:Si,Sortable:K,Swap:yi,default:K},Symbol.toStringTag,{value:"Module"})),Oi=zr(Ei);(function(i,e){(function(o,r){i.exports=r($a,Oi)})(typeof self<"u"?self:Ra,function(n,o){return function(r){var c={};function t(a){if(c[a])return c[a].exports;var s=c[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,t),s.l=!0,s.exports}return t.m=r,t.c=c,t.d=function(a,s,l){t.o(a,s)||Object.defineProperty(a,s,{enumerable:!0,get:l})},t.r=function(a){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},t.t=function(a,s){if(s&1&&(a=t(a)),s&8||s&4&&typeof a=="object"&&a&&a.__esModule)return a;var l=Object.create(null);if(t.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:a}),s&2&&typeof a!="string")for(var u in a)t.d(l,u,function(f){return a[f]}.bind(null,u));return l},t.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return t.d(s,"a",s),s},t.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},t.p="",t(t.s="fb15")}({"00ee":function(r,c,t){var a=t("b622"),s=a("toStringTag"),l={};l[s]="z",r.exports=String(l)==="[object z]"},"0366":function(r,c,t){var a=t("1c0b");r.exports=function(s,l,u){if(a(s),l===void 0)return s;switch(u){case 0:return function(){return s.call(l)};case 1:return function(f){return s.call(l,f)};case 2:return function(f,d){return s.call(l,f,d)};case 3:return function(f,d,v){return s.call(l,f,d,v)}}return function(){return s.apply(l,arguments)}}},"057f":function(r,c,t){var a=t("fc6a"),s=t("241c").f,l={}.toString,u=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(d){try{return s(d)}catch{return u.slice()}};r.exports.f=function(v){return u&&l.call(v)=="[object Window]"?f(v):s(a(v))}},"06cf":function(r,c,t){var a=t("83ab"),s=t("d1e7"),l=t("5c6c"),u=t("fc6a"),f=t("c04e"),d=t("5135"),v=t("0cfb"),h=Object.getOwnPropertyDescriptor;c.f=a?h:function(p,b){if(p=u(p),b=f(b,!0),v)try{return h(p,b)}catch{}if(d(p,b))return l(!s.f.call(p,b),p[b])}},"0cfb":function(r,c,t){var a=t("83ab"),s=t("d039"),l=t("cc12");r.exports=!a&&!s(function(){return Object.defineProperty(l("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(r,c,t){var a=t("23e7"),s=t("d58f").left,l=t("a640"),u=t("ae40"),f=l("reduce"),d=u("reduce",{1:0});a({target:"Array",proto:!0,forced:!f||!d},{reduce:function(h){return s(this,h,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(r,c,t){var a=t("c6b6"),s=t("9263");r.exports=function(l,u){var f=l.exec;if(typeof f=="function"){var d=f.call(l,u);if(typeof d!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return d}if(a(l)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return s.call(l,u)}},"159b":function(r,c,t){var a=t("da84"),s=t("fdbc"),l=t("17c2"),u=t("9112");for(var f in s){var d=a[f],v=d&&d.prototype;if(v&&v.forEach!==l)try{u(v,"forEach",l)}catch{v.forEach=l}}},"17c2":function(r,c,t){var a=t("b727").forEach,s=t("a640"),l=t("ae40"),u=s("forEach"),f=l("forEach");r.exports=!u||!f?function(v){return a(this,v,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(r,c,t){var a=t("d066");r.exports=a("document","documentElement")},"1c0b":function(r,c){r.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(r,c,t){var a=t("b622"),s=a("iterator"),l=!1;try{var u=0,f={next:function(){return{done:!!u++}},return:function(){l=!0}};f[s]=function(){return this},Array.from(f,function(){throw 2})}catch{}r.exports=function(d,v){if(!v&&!l)return!1;var h=!1;try{var g={};g[s]=function(){return{next:function(){return{done:h=!0}}}},d(g)}catch{}return h}},"1d80":function(r,c){r.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(r,c,t){var a=t("d039"),s=t("b622"),l=t("2d00"),u=s("species");r.exports=function(f){return l>=51||!a(function(){var d=[],v=d.constructor={};return v[u]=function(){return{foo:1}},d[f](Boolean).foo!==1})}},"23cb":function(r,c,t){var a=t("a691"),s=Math.max,l=Math.min;r.exports=function(u,f){var d=a(u);return d<0?s(d+f,0):l(d,f)}},"23e7":function(r,c,t){var a=t("da84"),s=t("06cf").f,l=t("9112"),u=t("6eeb"),f=t("ce4e"),d=t("e893"),v=t("94ca");r.exports=function(h,g){var p=h.target,b=h.global,S=h.stat,C,E,T,O,F,U;if(b?E=a:S?E=a[p]||f(p,{}):E=(a[p]||{}).prototype,E)for(T in g){if(F=g[T],h.noTargetGet?(U=s(E,T),O=U&&U.value):O=E[T],C=v(b?T:p+(S?".":"#")+T,h.forced),!C&&O!==void 0){if(typeof F==typeof O)continue;d(F,O)}(h.sham||O&&O.sham)&&l(F,"sham",!0),u(E,T,F,h)}}},"241c":function(r,c,t){var a=t("ca84"),s=t("7839"),l=s.concat("length","prototype");c.f=Object.getOwnPropertyNames||function(f){return a(f,l)}},"25f0":function(r,c,t){var a=t("6eeb"),s=t("825a"),l=t("d039"),u=t("ad6d"),f="toString",d=RegExp.prototype,v=d[f],h=l(function(){return v.call({source:"a",flags:"b"})!="/a/b"}),g=v.name!=f;(h||g)&&a(RegExp.prototype,f,function(){var b=s(this),S=String(b.source),C=b.flags,E=String(C===void 0&&b instanceof RegExp&&!("flags"in d)?u.call(b):C);return"/"+S+"/"+E},{unsafe:!0})},"2ca0":function(r,c,t){var a=t("23e7"),s=t("06cf").f,l=t("50c4"),u=t("5a34"),f=t("1d80"),d=t("ab13"),v=t("c430"),h="".startsWith,g=Math.min,p=d("startsWith"),b=!v&&!p&&!!function(){var S=s(String.prototype,"startsWith");return S&&!S.writable}();a({target:"String",proto:!0,forced:!b&&!p},{startsWith:function(C){var E=String(f(this));u(C);var T=l(g(arguments.length>1?arguments[1]:void 0,E.length)),O=String(C);return h?h.call(E,O,T):E.slice(T,T+O.length)===O}})},"2d00":function(r,c,t){var a=t("da84"),s=t("342f"),l=a.process,u=l&&l.versions,f=u&&u.v8,d,v;f?(d=f.split("."),v=d[0]+d[1]):s&&(d=s.match(/Edge\/(\d+)/),(!d||d[1]>=74)&&(d=s.match(/Chrome\/(\d+)/),d&&(v=d[1]))),r.exports=v&&+v},"342f":function(r,c,t){var a=t("d066");r.exports=a("navigator","userAgent")||""},"35a1":function(r,c,t){var a=t("f5df"),s=t("3f8c"),l=t("b622"),u=l("iterator");r.exports=function(f){if(f!=null)return f[u]||f["@@iterator"]||s[a(f)]}},"37e8":function(r,c,t){var a=t("83ab"),s=t("9bf2"),l=t("825a"),u=t("df75");r.exports=a?Object.defineProperties:function(d,v){l(d);for(var h=u(v),g=h.length,p=0,b;g>p;)s.f(d,b=h[p++],v[b]);return d}},"3bbe":function(r,c,t){var a=t("861d");r.exports=function(s){if(!a(s)&&s!==null)throw TypeError("Can't set "+String(s)+" as a prototype");return s}},"3ca3":function(r,c,t){var a=t("6547").charAt,s=t("69f3"),l=t("7dd0"),u="String Iterator",f=s.set,d=s.getterFor(u);l(String,"String",function(v){f(this,{type:u,string:String(v),index:0})},function(){var h=d(this),g=h.string,p=h.index,b;return p>=g.length?{value:void 0,done:!0}:(b=a(g,p),h.index+=b.length,{value:b,done:!1})})},"3f8c":function(r,c){r.exports={}},4160:function(r,c,t){var a=t("23e7"),s=t("17c2");a({target:"Array",proto:!0,forced:[].forEach!=s},{forEach:s})},"428f":function(r,c,t){var a=t("da84");r.exports=a},"44ad":function(r,c,t){var a=t("d039"),s=t("c6b6"),l="".split;r.exports=a(function(){return!Object("z").propertyIsEnumerable(0)})?function(u){return s(u)=="String"?l.call(u,""):Object(u)}:Object},"44d2":function(r,c,t){var a=t("b622"),s=t("7c73"),l=t("9bf2"),u=a("unscopables"),f=Array.prototype;f[u]==null&&l.f(f,u,{configurable:!0,value:s(null)}),r.exports=function(d){f[u][d]=!0}},"44e7":function(r,c,t){var a=t("861d"),s=t("c6b6"),l=t("b622"),u=l("match");r.exports=function(f){var d;return a(f)&&((d=f[u])!==void 0?!!d:s(f)=="RegExp")}},4930:function(r,c,t){var a=t("d039");r.exports=!!Object.getOwnPropertySymbols&&!a(function(){return!String(Symbol())})},"4d64":function(r,c,t){var a=t("fc6a"),s=t("50c4"),l=t("23cb"),u=function(f){return function(d,v,h){var g=a(d),p=s(g.length),b=l(h,p),S;if(f&&v!=v){for(;p>b;)if(S=g[b++],S!=S)return!0}else for(;p>b;b++)if((f||b in g)&&g[b]===v)return f||b||0;return!f&&-1}};r.exports={includes:u(!0),indexOf:u(!1)}},"4de4":function(r,c,t){var a=t("23e7"),s=t("b727").filter,l=t("1dde"),u=t("ae40"),f=l("filter"),d=u("filter");a({target:"Array",proto:!0,forced:!f||!d},{filter:function(h){return s(this,h,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(r,c,t){var a=t("0366"),s=t("7b0b"),l=t("9bdd"),u=t("e95a"),f=t("50c4"),d=t("8418"),v=t("35a1");r.exports=function(g){var p=s(g),b=typeof this=="function"?this:Array,S=arguments.length,C=S>1?arguments[1]:void 0,E=C!==void 0,T=v(p),O=0,F,U,I,M,N,X;if(E&&(C=a(C,S>2?arguments[2]:void 0,2)),T!=null&&!(b==Array&&u(T)))for(M=T.call(p),N=M.next,U=new b;!(I=N.call(M)).done;O++)X=E?l(M,C,[I.value,O],!0):I.value,d(U,O,X);else for(F=f(p.length),U=new b(F);F>O;O++)X=E?C(p[O],O):p[O],d(U,O,X);return U.length=O,U}},"4fad":function(r,c,t){var a=t("23e7"),s=t("6f53").entries;a({target:"Object",stat:!0},{entries:function(u){return s(u)}})},"50c4":function(r,c,t){var a=t("a691"),s=Math.min;r.exports=function(l){return l>0?s(a(l),9007199254740991):0}},5135:function(r,c){var t={}.hasOwnProperty;r.exports=function(a,s){return t.call(a,s)}},5319:function(r,c,t){var a=t("d784"),s=t("825a"),l=t("7b0b"),u=t("50c4"),f=t("a691"),d=t("1d80"),v=t("8aa5"),h=t("14c3"),g=Math.max,p=Math.min,b=Math.floor,S=/\$([$&'`]|\d\d?|<[^>]*>)/g,C=/\$([$&'`]|\d\d?)/g,E=function(T){return T===void 0?T:String(T)};a("replace",2,function(T,O,F,U){var I=U.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,M=U.REPLACE_KEEPS_$0,N=I?"$":"$0";return[function(R,W){var w=d(this),G=R?.[T];return G!==void 0?G.call(R,w,W):O.call(String(w),R,W)},function(P,R){if(!I&&M||typeof R=="string"&&R.indexOf(N)===-1){var W=F(O,P,this,R);if(W.done)return W.value}var w=s(P),G=String(this),_=typeof R=="function";_||(R=String(R));var rt=w.global;if(rt){var xt=w.unicode;w.lastIndex=0}for(var lt=[];;){var ct=h(w,G);if(ct===null||(lt.push(ct),!rt))break;var mt=String(ct[0]);mt===""&&(w.lastIndex=v(G,u(w.lastIndex),xt))}for(var bt="",gt=0,nt=0;nt=gt&&(bt+=G.slice(gt,jt)+Et,gt=jt+it.length)}return bt+G.slice(gt)}];function X(P,R,W,w,G,_){var rt=W+P.length,xt=w.length,lt=C;return G!==void 0&&(G=l(G),lt=S),O.call(_,lt,function(ct,mt){var bt;switch(mt.charAt(0)){case"$":return"$";case"&":return P;case"`":return R.slice(0,W);case"'":return R.slice(rt);case"<":bt=G[mt.slice(1,-1)];break;default:var gt=+mt;if(gt===0)return ct;if(gt>xt){var nt=b(gt/10);return nt===0?ct:nt<=xt?w[nt-1]===void 0?mt.charAt(1):w[nt-1]+mt.charAt(1):ct}bt=w[gt-1]}return bt===void 0?"":bt})}})},5692:function(r,c,t){var a=t("c430"),s=t("c6cd");(r.exports=function(l,u){return s[l]||(s[l]=u!==void 0?u:{})})("versions",[]).push({version:"3.6.5",mode:a?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(r,c,t){var a=t("d066"),s=t("241c"),l=t("7418"),u=t("825a");r.exports=a("Reflect","ownKeys")||function(d){var v=s.f(u(d)),h=l.f;return h?v.concat(h(d)):v}},"5a34":function(r,c,t){var a=t("44e7");r.exports=function(s){if(a(s))throw TypeError("The method doesn't accept regular expressions");return s}},"5c6c":function(r,c){r.exports=function(t,a){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:a}}},"5db7":function(r,c,t){var a=t("23e7"),s=t("a2bf"),l=t("7b0b"),u=t("50c4"),f=t("1c0b"),d=t("65f0");a({target:"Array",proto:!0},{flatMap:function(h){var g=l(this),p=u(g.length),b;return f(h),b=d(g,0),b.length=s(b,g,g,p,0,1,h,arguments.length>1?arguments[1]:void 0),b}})},6547:function(r,c,t){var a=t("a691"),s=t("1d80"),l=function(u){return function(f,d){var v=String(s(f)),h=a(d),g=v.length,p,b;return h<0||h>=g?u?"":void 0:(p=v.charCodeAt(h),p<55296||p>56319||h+1===g||(b=v.charCodeAt(h+1))<56320||b>57343?u?v.charAt(h):p:u?v.slice(h,h+2):(p-55296<<10)+(b-56320)+65536)}};r.exports={codeAt:l(!1),charAt:l(!0)}},"65f0":function(r,c,t){var a=t("861d"),s=t("e8b5"),l=t("b622"),u=l("species");r.exports=function(f,d){var v;return s(f)&&(v=f.constructor,typeof v=="function"&&(v===Array||s(v.prototype))?v=void 0:a(v)&&(v=v[u],v===null&&(v=void 0))),new(v===void 0?Array:v)(d===0?0:d)}},"69f3":function(r,c,t){var a=t("7f9a"),s=t("da84"),l=t("861d"),u=t("9112"),f=t("5135"),d=t("f772"),v=t("d012"),h=s.WeakMap,g,p,b,S=function(I){return b(I)?p(I):g(I,{})},C=function(I){return function(M){var N;if(!l(M)||(N=p(M)).type!==I)throw TypeError("Incompatible receiver, "+I+" required");return N}};if(a){var E=new h,T=E.get,O=E.has,F=E.set;g=function(I,M){return F.call(E,I,M),M},p=function(I){return T.call(E,I)||{}},b=function(I){return O.call(E,I)}}else{var U=d("state");v[U]=!0,g=function(I,M){return u(I,U,M),M},p=function(I){return f(I,U)?I[U]:{}},b=function(I){return f(I,U)}}r.exports={set:g,get:p,has:b,enforce:S,getterFor:C}},"6eeb":function(r,c,t){var a=t("da84"),s=t("9112"),l=t("5135"),u=t("ce4e"),f=t("8925"),d=t("69f3"),v=d.get,h=d.enforce,g=String(String).split("String");(r.exports=function(p,b,S,C){var E=C?!!C.unsafe:!1,T=C?!!C.enumerable:!1,O=C?!!C.noTargetGet:!1;if(typeof S=="function"&&(typeof b=="string"&&!l(S,"name")&&s(S,"name",b),h(S).source=g.join(typeof b=="string"?b:"")),p===a){T?p[b]=S:u(b,S);return}else E?!O&&p[b]&&(T=!0):delete p[b];T?p[b]=S:s(p,b,S)})(Function.prototype,"toString",function(){return typeof this=="function"&&v(this).source||f(this)})},"6f53":function(r,c,t){var a=t("83ab"),s=t("df75"),l=t("fc6a"),u=t("d1e7").f,f=function(d){return function(v){for(var h=l(v),g=s(h),p=g.length,b=0,S=[],C;p>b;)C=g[b++],(!a||u.call(h,C))&&S.push(d?[C,h[C]]:h[C]);return S}};r.exports={entries:f(!0),values:f(!1)}},"73d9":function(r,c,t){var a=t("44d2");a("flatMap")},7418:function(r,c){c.f=Object.getOwnPropertySymbols},"746f":function(r,c,t){var a=t("428f"),s=t("5135"),l=t("e538"),u=t("9bf2").f;r.exports=function(f){var d=a.Symbol||(a.Symbol={});s(d,f)||u(d,f,{value:l.f(f)})}},7839:function(r,c){r.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(r,c,t){var a=t("1d80");r.exports=function(s){return Object(a(s))}},"7c73":function(r,c,t){var a=t("825a"),s=t("37e8"),l=t("7839"),u=t("d012"),f=t("1be4"),d=t("cc12"),v=t("f772"),h=">",g="<",p="prototype",b="script",S=v("IE_PROTO"),C=function(){},E=function(I){return g+b+h+I+g+"/"+b+h},T=function(I){I.write(E("")),I.close();var M=I.parentWindow.Object;return I=null,M},O=function(){var I=d("iframe"),M="java"+b+":",N;return I.style.display="none",f.appendChild(I),I.src=String(M),N=I.contentWindow.document,N.open(),N.write(E("document.F=Object")),N.close(),N.F},F,U=function(){try{F=document.domain&&new ActiveXObject("htmlfile")}catch{}U=F?T(F):O();for(var I=l.length;I--;)delete U[p][l[I]];return U()};u[S]=!0,r.exports=Object.create||function(M,N){var X;return M!==null?(C[p]=a(M),X=new C,C[p]=null,X[S]=M):X=U(),N===void 0?X:s(X,N)}},"7dd0":function(r,c,t){var a=t("23e7"),s=t("9ed3"),l=t("e163"),u=t("d2bb"),f=t("d44e"),d=t("9112"),v=t("6eeb"),h=t("b622"),g=t("c430"),p=t("3f8c"),b=t("ae93"),S=b.IteratorPrototype,C=b.BUGGY_SAFARI_ITERATORS,E=h("iterator"),T="keys",O="values",F="entries",U=function(){return this};r.exports=function(I,M,N,X,P,R,W){s(N,M,X);var w=function(nt){if(nt===P&<)return lt;if(!C&&nt in rt)return rt[nt];switch(nt){case T:return function(){return new N(this,nt)};case O:return function(){return new N(this,nt)};case F:return function(){return new N(this,nt)}}return function(){return new N(this)}},G=M+" Iterator",_=!1,rt=I.prototype,xt=rt[E]||rt["@@iterator"]||P&&rt[P],lt=!C&&xt||w(P),ct=M=="Array"&&rt.entries||xt,mt,bt,gt;if(ct&&(mt=l(ct.call(new I)),S!==Object.prototype&&mt.next&&(!g&&l(mt)!==S&&(u?u(mt,S):typeof mt[E]!="function"&&d(mt,E,U)),f(mt,G,!0,!0),g&&(p[G]=U))),P==O&&xt&&xt.name!==O&&(_=!0,lt=function(){return xt.call(this)}),(!g||W)&&rt[E]!==lt&&d(rt,E,lt),p[M]=lt,P)if(bt={values:w(O),keys:R?lt:w(T),entries:w(F)},W)for(gt in bt)(C||_||!(gt in rt))&&v(rt,gt,bt[gt]);else a({target:M,proto:!0,forced:C||_},bt);return bt}},"7f9a":function(r,c,t){var a=t("da84"),s=t("8925"),l=a.WeakMap;r.exports=typeof l=="function"&&/native code/.test(s(l))},"825a":function(r,c,t){var a=t("861d");r.exports=function(s){if(!a(s))throw TypeError(String(s)+" is not an object");return s}},"83ab":function(r,c,t){var a=t("d039");r.exports=!a(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(r,c,t){var a=t("c04e"),s=t("9bf2"),l=t("5c6c");r.exports=function(u,f,d){var v=a(f);v in u?s.f(u,v,l(0,d)):u[v]=d}},"861d":function(r,c){r.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(r,c,t){var a,s,l;(function(u,f){s=[],a=f,l=typeof a=="function"?a.apply(c,s):a,l!==void 0&&(r.exports=l)})(typeof self<"u"?self:this,function(){function u(){var f=Object.getOwnPropertyDescriptor(document,"currentScript");if(!f&&"currentScript"in document&&document.currentScript||f&&f.get!==u&&document.currentScript)return document.currentScript;try{throw new Error}catch(F){var d=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,v=/@([^@]*):(\d+):(\d+)\s*$/ig,h=d.exec(F.stack)||v.exec(F.stack),g=h&&h[1]||!1,p=h&&h[2]||!1,b=document.location.href.replace(document.location.hash,""),S,C,E,T=document.getElementsByTagName("script");g===b&&(S=document.documentElement.outerHTML,C=new RegExp("(?:[^\\n]+?\\n){0,"+(p-2)+"}[^<]* + + + +
+
+
+ + + + diff --git a/frappedesk/public/js/helpdesk.bundle.js b/helpdesk/public/js/helpdesk.bundle.js similarity index 100% rename from frappedesk/public/js/helpdesk.bundle.js rename to helpdesk/public/js/helpdesk.bundle.js diff --git a/frappedesk/public/js/utils.js b/helpdesk/public/js/utils.js similarity index 100% rename from frappedesk/public/js/utils.js rename to helpdesk/public/js/utils.js diff --git a/frappedesk/setup/install.py b/helpdesk/setup/install.py similarity index 99% rename from frappedesk/setup/install.py rename to helpdesk/setup/install.py index 5a84b98b7..03220c965 100644 --- a/frappedesk/setup/install.py +++ b/helpdesk/setup/install.py @@ -242,7 +242,7 @@ def add_on_ticket_create_script(): script_doc = frappe.new_doc("Server Script") script_doc.name = "Ticket Auto Set Custom Fields" script_doc.script_type = "DocType Event" - script_doc.module = "FrappeDesk" + script_doc.module = "Helpdesk" script_doc.reference_doctype = "HD Ticket" script_doc.doctype_event = "Before Insert" script_doc.script = "# Do Nothing" diff --git a/frappedesk/templates/components/breadcrumbs/breadcrumbs.html b/helpdesk/templates/components/breadcrumbs/breadcrumbs.html similarity index 100% rename from frappedesk/templates/components/breadcrumbs/breadcrumbs.html rename to helpdesk/templates/components/breadcrumbs/breadcrumbs.html diff --git a/frappedesk/templates/components/breadcrumbs/breadcrumbs.py b/helpdesk/templates/components/breadcrumbs/breadcrumbs.py similarity index 100% rename from frappedesk/templates/components/breadcrumbs/breadcrumbs.py rename to helpdesk/templates/components/breadcrumbs/breadcrumbs.py diff --git a/frappedesk/templates/components/contact_with_us.html b/helpdesk/templates/components/contact_with_us.html similarity index 100% rename from frappedesk/templates/components/contact_with_us.html rename to helpdesk/templates/components/contact_with_us.html diff --git a/frappedesk/templates/components/knowledge_base_title_with_search_bar.html b/helpdesk/templates/components/knowledge_base_title_with_search_bar.html similarity index 100% rename from frappedesk/templates/components/knowledge_base_title_with_search_bar.html rename to helpdesk/templates/components/knowledge_base_title_with_search_bar.html diff --git a/frappedesk/templates/components/search/search.html b/helpdesk/templates/components/search/search.html similarity index 100% rename from frappedesk/templates/components/search/search.html rename to helpdesk/templates/components/search/search.html diff --git a/frappedesk/templates/components/search/search.py b/helpdesk/templates/components/search/search.py similarity index 100% rename from frappedesk/templates/components/search/search.py rename to helpdesk/templates/components/search/search.py diff --git a/frappedesk/templates/emails/email_verification.html b/helpdesk/templates/emails/email_verification.html similarity index 100% rename from frappedesk/templates/emails/email_verification.html rename to helpdesk/templates/emails/email_verification.html diff --git a/frappedesk/templates/emails/macros.html b/helpdesk/templates/emails/macros.html similarity index 100% rename from frappedesk/templates/emails/macros.html rename to helpdesk/templates/emails/macros.html diff --git a/frappedesk/templates/emails/new_reply_on_customer_portal_notification.html b/helpdesk/templates/emails/new_reply_on_customer_portal_notification.html similarity index 100% rename from frappedesk/templates/emails/new_reply_on_customer_portal_notification.html rename to helpdesk/templates/emails/new_reply_on_customer_portal_notification.html diff --git a/frappedesk/templates/kb_base_template.html b/helpdesk/templates/kb_base_template.html similarity index 100% rename from frappedesk/templates/kb_base_template.html rename to helpdesk/templates/kb_base_template.html diff --git a/frappedesk/utils.py b/helpdesk/utils.py similarity index 100% rename from frappedesk/utils.py rename to helpdesk/utils.py diff --git a/frappedesk/www/__init__.py b/helpdesk/www/__init__.py similarity index 100% rename from frappedesk/www/__init__.py rename to helpdesk/www/__init__.py diff --git a/frappedesk/www/frappedesk/__init__.py b/helpdesk/www/frappedesk/__init__.py similarity index 100% rename from frappedesk/www/frappedesk/__init__.py rename to helpdesk/www/frappedesk/__init__.py diff --git a/helpdesk/www/frappedesk/index.html b/helpdesk/www/frappedesk/index.html new file mode 100644 index 000000000..b9c8e99dc --- /dev/null +++ b/helpdesk/www/frappedesk/index.html @@ -0,0 +1,20 @@ + + + + + + + Frappe Desk + + + + +
+
+
+ + + + diff --git a/frappedesk/www/frappedesk/index.py b/helpdesk/www/frappedesk/index.py similarity index 100% rename from frappedesk/www/frappedesk/index.py rename to helpdesk/www/frappedesk/index.py diff --git a/frappedesk/www/support/__init__.py b/helpdesk/www/support/__init__.py similarity index 100% rename from frappedesk/www/support/__init__.py rename to helpdesk/www/support/__init__.py diff --git a/frappedesk/www/support/kb/__init__.py b/helpdesk/www/support/kb/__init__.py similarity index 100% rename from frappedesk/www/support/kb/__init__.py rename to helpdesk/www/support/kb/__init__.py diff --git a/setup.py b/setup.py index cbc16e7ab..51fa89c0f 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ with open("requirements.txt") as f: install_requires = f.read().strip().split("\n") # get version from __version__ variable in frappedesk/__init__.py -from frappedesk import __version__ as version +from helpdesk import __version__ as version setup( name="frappedesk",