diff --git a/.github/workflows/server-tests.yml b/.github/workflows/server-tests.yml index 5466262b7..9bb4541fb 100644 --- a/.github/workflows/server-tests.yml +++ b/.github/workflows/server-tests.yml @@ -113,7 +113,7 @@ jobs: FRAPPE_BRANCH: ${{ github.event.inputs.branch }} - name: Run Tests - run: 'cd ~/frappe-bench/ && bench --site test_site run-tests --app frappedesk --coverage' + run: 'cd ~/frappe-bench/ && bench --site test_site run-tests --app helpdesk --coverage' env: TYPE: server CI_BUILD_ID: ${{ github.run_id }} diff --git a/.gitignore b/.gitignore index de31660fa..0c3f61baa 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,7 @@ share/python-wheels/ *.egg MANIFEST -frappedesk/docs/current -frappedesk/public/desk -frappedesk/public/node_modules -frappedesk/www/frappedesk/index.html +helpdesk/docs/current +helpdesk/public/desk +helpdesk/public/node_modules +helpdesk/www/helpdesk/index.html 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/README.md b/README.md index 9d0e573df..243da02ba 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@
-FrappeDesk logo +Frappe Helpdesk logo -**Open Source Helpdesk**
+**Free and Open Source Helpdesk**
[frappedesk.com](https://frappedesk.com) -
--- -FrappeDesk offers an easy setup, clean user interface, and automation tools to resolve customer issues efficiently. It is based on Frappe Framework. It lets you streamline your company's support and helps you to efficiently manage your customer queries. It can help you to, +Frappe Helpdesk offers an easy setup, clean user interface, and automation tools to resolve customer issues efficiently. It is based on Frappe Framework. It lets you streamline your company's support and helps you to efficiently manage your customer queries. It can help you to, - Create tickets from email or help center - Empower customers with a comprehensive knowledge base and self-service portal @@ -18,17 +17,27 @@ FrappeDesk offers an easy setup, clean user interface, and automation tools to r ## Installation -### Local +1. Install and setup bench by following [this guide](https://frappeframework.com/docs/user/en/installation) +2. In the bench directory, run `bench start` and keep it running +3. Open another terminal in bench directory, and run these commands + + ``` + bench get-app helpdesk + bench new-site helpdesk.test + bench --site helpdesk.test install-app helpdesk + bench --site helpdesk.test add-to-hosts + ``` + + You can now access Helpdesk at `http://helpdesk.test` +5. You can also run a development server by following theses steps, in Helpdesk + directory (`apps/helpdesk`) -To setup the repository locally follow the steps mentioned below: + ``` + yarn + yarn dev + ``` -1. Install bench and setup a `frappe-bench` directory by following the [Installation Steps](https://frappeframework.com/docs/user/en/installation) -1. Start the server by running `bench start` -1. In a separate terminal window, create a new site by running `bench new-site frappedesk.test` -1. Map your site to localhost with the command `bench --site frappedesk.test add-to-hosts` -1. Get the Frappe Desk app. Run `bench get-app https://github.com/frappe/desk` -1. Run `bench --site frappedesk.test install-app frappedesk`. -1. Now open the URL `http://frappedesk.test:8000/frappedesk` in your browser, you should see the app running + Development server will be now available at `http://localhost:8080` ## Contributions and Community @@ -36,8 +45,8 @@ There are many ways you can contribute even if you don't code: 1. You can start by giving a star to this repository! 2. If you find any issues, even if it is a typo, you can [raise an issue](https://github.com/frappe/desk/issues/new) to inform us. -3. You can join our [telegram group](https://t.me/frappedesk) and share your thoughts. +3. Join our [Telegram group](https://t.me/frappedesk) and share your thoughts. ## License -[GNU Affero General Public License v3.0](https://github.com/frappe/desk/blob/main/licence.md) +[GNU Affero General Public License v3.0](/licence.md) diff --git a/desk/index.html b/desk/index.html index 07f12f0ab..0848f8d18 100644 --- a/desk/index.html +++ b/desk/index.html @@ -4,7 +4,7 @@ - Frappe Desk + Helpdesk
diff --git a/desk/package.json b/desk/package.json index 9a6cc4e74..333255d4e 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/helpdesk/index.html" }, "dependencies": { "@headlessui/vue": "^1.7.12", diff --git a/desk/src/App.vue b/desk/src/App.vue index 0899102e8..5e5334449 100644 --- a/desk/src/App.vue +++ b/desk/src/App.vue @@ -48,10 +48,10 @@ export default { resources: { helpdeskName() { return { - url: "frappedesk.api.website.helpdesk_name", + url: "helpdesk.api.website.helpdesk_name", auto: true, onSuccess: (res) => { - document.title = `Frappe Desk ${res ? ` | ${res}` : ""}`; + document.title = `Helpdesk ${res ? ` | ${res}` : ""}`; }, }; }, diff --git a/desk/src/components/desk/SideBarMenu.vue b/desk/src/components/desk/SideBarMenu.vue index 6f71fdbd6..dd4c4c1eb 100644 --- a/desk/src/components/desk/SideBarMenu.vue +++ b/desk/src/components/desk/SideBarMenu.vue @@ -32,7 +32,7 @@
{ - window.open("/support/tickets", "_blank"); + window.open("/helpdesk/my-tickets", "_blank"); }, }, { @@ -193,13 +193,13 @@ const profileSettings = [ ]; const routeMap = { - "Knowledge Base": "frappedesk/kb", - Contacts: "frappedesk/contacts", - Customers: "frappedesk/customers", - Dashboard: "frappedesk/dashboard", - Reports: "frappedesk/reports", - Settings: "frappedesk/settings", - Tickets: "frappedesk/tickets", + "Knowledge Base": "helpdesk/kb", + Contacts: "helpdesk/contacts", + Customers: "helpdesk/customers", + Dashboard: "helpdesk/dashboard", + Reports: "helpdesk/reports", + Settings: "helpdesk/settings", + Tickets: "helpdesk/tickets", }; function isActive(label: string) { diff --git a/desk/src/components/desk/contacts/ContactInfo.vue b/desk/src/components/desk/contacts/ContactInfo.vue index 59200d62b..0dbbdb5ae 100644 --- a/desk/src/components/desk/contacts/ContactInfo.vue +++ b/desk/src/components/desk/contacts/ContactInfo.vue @@ -125,10 +125,10 @@ } " :resourceOptions="{ - url: 'frappedesk.extends.client.get_list', + url: 'helpdesk.extends.client.get_list', inputMap: (query) => { return { - doctype: 'FD Customer', + doctype: 'HD Customer', pluck: 'name', filters: [['name', 'like', `%${query}%`]], } @@ -260,7 +260,7 @@ export default { const links = [] if (values.customer) { links.push({ - link_doctype: "FD Customer", + link_doctype: "HD Customer", link_name: values.customer, }) } diff --git a/desk/src/components/desk/contacts/ContactRelatedInfo.vue b/desk/src/components/desk/contacts/ContactRelatedInfo.vue index 736047957..9558b1388 100644 --- a/desk/src/components/desk/contacts/ContactRelatedInfo.vue +++ b/desk/src/components/desk/contacts/ContactRelatedInfo.vue @@ -3,7 +3,7 @@ { this.$refs.miniTicketList.manager.selectedItems = [] this.$refs.miniTicketList.manager.reload() @@ -264,7 +264,7 @@ export default { }, bulkAssignTicketToAgent() { return { - url: "frappedesk.api.ticket.bulk_assign_ticket_to_agent", + url: "helpdesk.api.ticket.bulk_assign_ticket_to_agent", onSuccess: () => { this.$refs.miniTicketList.manager.selectedItems = [] this.$refs.miniTicketList.manager.reload() diff --git a/desk/src/components/desk/customers/CustomerInfo.vue b/desk/src/components/desk/customers/CustomerInfo.vue index a39fc9028..0242aea71 100644 --- a/desk/src/components/desk/customers/CustomerInfo.vue +++ b/desk/src/components/desk/customers/CustomerInfo.vue @@ -151,7 +151,7 @@ >
{{ contact.first_name }} {{ @@ -207,10 +207,10 @@ { this.$router.push({ - path: `/frappedesk/customers/${res}`, + path: `/helpdesk/customers/${res}`, }) }, } }, contact() { return { - url: "frappedesk.api.fdCustomer.get_contact", + url: "helpdesk.api.fdCustomer.get_contact", params: { doctype: "Contact", link_name: this.customer, @@ -460,7 +460,7 @@ export default { }) if (this.values.customerName !== this.customer) { this.$resources.renameCustomerDoc.submit({ - doctype: "FD Customer", + doctype: "HD Customer", old_name: this.customer, new_name: this.values.customerName, }) diff --git a/desk/src/components/desk/dashboard/CustomerSatisfactionChart.vue b/desk/src/components/desk/dashboard/CustomerSatisfactionChart.vue index 538540ef0..ab6b3b006 100644 --- a/desk/src/components/desk/dashboard/CustomerSatisfactionChart.vue +++ b/desk/src/components/desk/dashboard/CustomerSatisfactionChart.vue @@ -70,7 +70,7 @@ export default { resources: { getFeedbackStatusCount() { return { - url: "frappedesk.api.dashboard.feedback_status", + url: "helpdesk.api.dashboard.feedback_status", params: { dateFilter: [ "creation", diff --git a/desk/src/components/desk/dashboard/SlaSummaryCards.vue b/desk/src/components/desk/dashboard/SlaSummaryCards.vue index e635ad890..7550caedf 100644 --- a/desk/src/components/desk/dashboard/SlaSummaryCards.vue +++ b/desk/src/components/desk/dashboard/SlaSummaryCards.vue @@ -55,19 +55,19 @@ export default { resources: { averageFirstResponseTime() { return { - url: "frappedesk.api.dashboard.average_first_response_time", + url: "helpdesk.api.dashboard.average_first_response_time", auto: true, } }, averageResolutionTime() { return { - url: "frappedesk.api.dashboard.average_resolution_time", + url: "helpdesk.api.dashboard.average_resolution_time", auto: true, } }, resolutionWithinSla() { return { - url: "frappedesk.api.dashboard.resolution_within_sla", + url: "helpdesk.api.dashboard.resolution_within_sla", auto: true, } }, diff --git a/desk/src/components/desk/dashboard/TicketStatusCards.vue b/desk/src/components/desk/dashboard/TicketStatusCards.vue index abbedf248..16adb7e69 100644 --- a/desk/src/components/desk/dashboard/TicketStatusCards.vue +++ b/desk/src/components/desk/dashboard/TicketStatusCards.vue @@ -108,7 +108,7 @@ export default { resources: { getTicketStatusCount() { return { - url: "frappedesk.api.dashboard.ticket_status", + url: "helpdesk.api.dashboard.ticket_status", auto: true, } }, diff --git a/desk/src/components/desk/dashboard/TicketSummaryChart.vue b/desk/src/components/desk/dashboard/TicketSummaryChart.vue index d5fdf1ae7..e7db857bb 100644 --- a/desk/src/components/desk/dashboard/TicketSummaryChart.vue +++ b/desk/src/components/desk/dashboard/TicketSummaryChart.vue @@ -110,7 +110,7 @@ export default { resources: { ticketStatus() { return { - url: "frappedesk.api.dashboard.ticket_summary", + url: "helpdesk.api.dashboard.ticket_summary", params: { startDate: this.fromDate, endDate: this.toDate, diff --git a/desk/src/components/desk/dashboard/TicketTrendsChart.vue b/desk/src/components/desk/dashboard/TicketTrendsChart.vue index f7be3a695..b83b3f1a0 100644 --- a/desk/src/components/desk/dashboard/TicketTrendsChart.vue +++ b/desk/src/components/desk/dashboard/TicketTrendsChart.vue @@ -77,7 +77,7 @@ export default { resources: { getTicketCount() { return { - url: "frappedesk.api.dashboard.get_ticket_count", + url: "helpdesk.api.dashboard.get_ticket_count", params: { filters: [ ["creation", "between", [this.fromDate, this.toDate]], diff --git a/desk/src/components/desk/dashboard/TicketTypeChart.vue b/desk/src/components/desk/dashboard/TicketTypeChart.vue index f64d6b559..d8f3abdf9 100644 --- a/desk/src/components/desk/dashboard/TicketTypeChart.vue +++ b/desk/src/components/desk/dashboard/TicketTypeChart.vue @@ -71,7 +71,7 @@ export default { resources: { getTicketTypeCount() { return { - url: "frappedesk.api.dashboard.ticket_type", + url: "helpdesk.api.dashboard.ticket_type", params: { filters: [ ["creation", "between", [this.fromDate, this.toDate]], diff --git a/desk/src/components/desk/global/AddNewAgentsDialog.vue b/desk/src/components/desk/global/AddNewAgentsDialog.vue index 98ace8314..9bc234b30 100644 --- a/desk/src/components/desk/global/AddNewAgentsDialog.vue +++ b/desk/src/components/desk/global/AddNewAgentsDialog.vue @@ -175,7 +175,7 @@ export default { resources: { sentInvites() { return { - url: "frappedesk.api.agent.sent_invites", + url: "helpdesk.api.agent.sent_invites", onSuccess: (res) => { this.currentInputIsValidEmail = false this.searchInput = "" diff --git a/desk/src/components/desk/global/AddNewCannedResponsesDialog.vue b/desk/src/components/desk/global/AddNewCannedResponsesDialog.vue index 3e5fca00d..53640775a 100644 --- a/desk/src/components/desk/global/AddNewCannedResponsesDialog.vue +++ b/desk/src/components/desk/global/AddNewCannedResponsesDialog.vue @@ -164,7 +164,7 @@ export default { } this.$resources.newResponse.submit({ doc: { - doctype: "Canned Response", + doctype: "HD Canned Response", ...inputParams, }, }) @@ -205,7 +205,7 @@ export default { url: "frappe.client.insert", onSuccess: (doc) => { this.$router.push( - `/frappedesk/settings/canned_responses/${doc.name}` + `/helpdesk/settings/canned_responses/${doc.name}` ) }, onError: (err) => { diff --git a/desk/src/components/desk/global/AddNewTicketTypeDialog.vue b/desk/src/components/desk/global/AddNewTicketTypeDialog.vue index b71909adf..0889655b1 100644 --- a/desk/src/components/desk/global/AddNewTicketTypeDialog.vue +++ b/desk/src/components/desk/global/AddNewTicketTypeDialog.vue @@ -31,10 +31,10 @@ } " :resourceOptions="{ - url: 'frappedesk.extends.client.get_list', + url: 'helpdesk.extends.client.get_list', inputMap: (query) => { return { - doctype: 'Ticket Priority', + doctype: 'HD Ticket Priority', pluck: 'name', filters: [ ['name', 'like', `%${query}%`], @@ -137,7 +137,7 @@ export default { } this.$resources.newTicketType.submit({ doc: { - doctype: "Ticket Type", + doctype: "HD Ticket Type", ...inputParams, }, }) @@ -152,7 +152,7 @@ export default { return { url: "frappe.client.insert", onSuccess: (doc) => { - this.$router.push(`/frappedesk/ticket_types`) + this.$router.push(`/helpdesk/ticket_types`) }, } }, diff --git a/desk/src/components/desk/global/ArticleResponseDialog.vue b/desk/src/components/desk/global/ArticleResponseDialog.vue index 37f03af72..04cb36496 100644 --- a/desk/src/components/desk/global/ArticleResponseDialog.vue +++ b/desk/src/components/desk/global/ArticleResponseDialog.vue @@ -120,7 +120,7 @@ export default { resources: { list() { return { - url: "frappedesk.api.kb.get_articles_in_ticket", + url: "helpdesk.api.kb.get_articles_in_ticket", onSuccess(val) { this.articleResponses = val return this.articleResponses diff --git a/desk/src/components/desk/global/CannedResponsesDialog.vue b/desk/src/components/desk/global/CannedResponsesDialog.vue index fefe16f1a..c7fd5c705 100644 --- a/desk/src/components/desk/global/CannedResponsesDialog.vue +++ b/desk/src/components/desk/global/CannedResponsesDialog.vue @@ -120,7 +120,7 @@ export default { resources: { list() { return { - url: "frappedesk.api.cannedResponse.get_canned_response", + url: "helpdesk.api.cannedResponse.get_canned_response", onSuccess(val) { this.cannedResponses = val return this.cannedResponses diff --git a/desk/src/components/desk/global/CustomIcons.vue b/desk/src/components/desk/global/CustomIcons.vue index 31a9294f6..acef49c04 100644 --- a/desk/src/components/desk/global/CustomIcons.vue +++ b/desk/src/components/desk/global/CustomIcons.vue @@ -1545,12 +1545,12 @@ export default { resources: { brandHtml() { return { - url: "frappedesk.api.website.brand_html", + url: "helpdesk.api.website.brand_html", } }, helpdeskName() { return { - url: "frappedesk.api.website.helpdesk_name", + url: "helpdesk.api.website.helpdesk_name", } }, }, diff --git a/desk/src/components/desk/global/NewContactDialog.vue b/desk/src/components/desk/global/NewContactDialog.vue index 37a8eeafe..6c5dd3af8 100644 --- a/desk/src/components/desk/global/NewContactDialog.vue +++ b/desk/src/components/desk/global/NewContactDialog.vue @@ -58,10 +58,10 @@ } " :resourceOptions="{ - url: 'frappedesk.extends.client.get_list', + url: 'helpdesk.extends.client.get_list', inputMap: (query) => { return { - doctype: 'FD Customer', + doctype: 'HD Customer', pluck: 'name', filters: [ ['name', 'like', `%${query}%`], @@ -177,9 +177,9 @@ export default { }, getCustomers() { return { - url: "frappedesk.extends.client.get_list", + url: "helpdesk.extends.client.get_list", params: { - doctype: "FD Customer", + doctype: "HD Customer", fields: ["name", "customer_name"], }, auto: true, @@ -204,7 +204,7 @@ export default { email_ids: [{ email_id: this.emailId, is_primary: true }], links: [ { - link_doctype: "FD Customer", + link_doctype: "HD Customer", link_name: this.fdCustomer != null ? this.fdCustomer diff --git a/desk/src/components/desk/global/NewCustomerDialog.vue b/desk/src/components/desk/global/NewCustomerDialog.vue index 6f197845a..76cb96ab3 100644 --- a/desk/src/components/desk/global/NewCustomerDialog.vue +++ b/desk/src/components/desk/global/NewCustomerDialog.vue @@ -85,7 +85,7 @@ export default { } this.$resources.newCustomer.submit({ doc: { - doctype: "FD Customer", + doctype: "HD Customer", ...inputParams, }, }) @@ -101,7 +101,7 @@ export default { return { url: "frappe.client.insert", onSuccess: (doc) => { - this.$router.push(`/frappedesk/customers`) + this.$router.push(`/helpdesk/customers`) }, } }, diff --git a/desk/src/components/desk/kb/ArticleDetails.vue b/desk/src/components/desk/kb/ArticleDetails.vue index 15afd73b4..a3e897ebb 100644 --- a/desk/src/components/desk/kb/ArticleDetails.vue +++ b/desk/src/components/desk/kb/ArticleDetails.vue @@ -3,7 +3,7 @@
Details
{ @@ -214,7 +214,7 @@ export default { teams() { return { type: "list", - doctype: "Agent Group", + doctype: "HD Team", fields: ["name"], } }, diff --git a/desk/src/components/desk/settings/agents/AgentListItem.vue b/desk/src/components/desk/settings/agents/AgentListItem.vue index 475f9632d..b5ec5101d 100644 --- a/desk/src/components/desk/settings/agents/AgentListItem.vue +++ b/desk/src/components/desk/settings/agents/AgentListItem.vue @@ -13,7 +13,7 @@ />
diff --git a/desk/src/components/desk/settings/canned_responses/CannedResponseInfo.vue b/desk/src/components/desk/settings/canned_responses/CannedResponseInfo.vue index 91ccb254f..4b50dcbd3 100644 --- a/desk/src/components/desk/settings/canned_responses/CannedResponseInfo.vue +++ b/desk/src/components/desk/settings/canned_responses/CannedResponseInfo.vue @@ -3,7 +3,7 @@
@@ -115,7 +115,7 @@ export default { cannedResponse() { return { type: "document", - doctype: "Canned Response", + doctype: "HD Canned Response", name: this.canned_response, setValue: { onSuccess: () => { diff --git a/desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue b/desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue index 4d47852ce..da52be06c 100644 --- a/desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue +++ b/desk/src/components/desk/settings/canned_responses/CannedResponseListItem.vue @@ -17,7 +17,7 @@ />
diff --git a/desk/src/components/desk/settings/emails/EmailListItem.vue b/desk/src/components/desk/settings/emails/EmailListItem.vue index 1e33a5fff..9fb6214fe 100644 --- a/desk/src/components/desk/settings/emails/EmailListItem.vue +++ b/desk/src/components/desk/settings/emails/EmailListItem.vue @@ -14,7 +14,7 @@
{{ emailAccount.name }} diff --git a/desk/src/components/desk/settings/policies/SlaPolicyListItem.vue b/desk/src/components/desk/settings/policies/SlaPolicyListItem.vue index e4cc71223..3c19f8e5d 100644 --- a/desk/src/components/desk/settings/policies/SlaPolicyListItem.vue +++ b/desk/src/components/desk/settings/policies/SlaPolicyListItem.vue @@ -14,7 +14,7 @@
diff --git a/desk/src/components/desk/settings/teams/TeamInfo.vue b/desk/src/components/desk/settings/teams/TeamInfo.vue index a12ff4823..c1dcb16ce 100644 --- a/desk/src/components/desk/settings/teams/TeamInfo.vue +++ b/desk/src/components/desk/settings/teams/TeamInfo.vue @@ -3,7 +3,7 @@
@@ -124,10 +124,10 @@ export default { data() { return { autoCompleteOptions: { - url: "frappedesk.extends.client.get_list", + url: "helpdesk.extends.client.get_list", inputMap: (query) => { return { - doctype: "Agent", + doctype: "HD Agent", fields: ["name", "agent_name"], filters: { name: ["like", `%${query}%`], @@ -151,7 +151,7 @@ export default { return { type: "document", - doctype: "Agent Group", + doctype: "HD Team", name: this.teamId, fields: ["name", "users"], whitelistedMethods: { @@ -194,7 +194,7 @@ export default { url: "frappe.client.insert", onSuccess: (res) => { this.$router.push({ - path: `/frappedesk/settings/teams/${res.name}`, + path: `/helpdesk/settings/teams/${res.name}`, }); this.$toast({ @@ -233,7 +233,7 @@ export default { }) .then(() => { this.$router.push({ - path: `/frappedesk/settings/teams/${title}`, + path: `/helpdesk/settings/teams/${title}`, }); }); }, @@ -262,7 +262,7 @@ export default { saveNew() { this.$resources.newTeam.submit({ doc: { - doctype: "Agent Group", + doctype: "HD Team", ignore_restrictions: this.team.ignore_restrictions, team_name: this.team.team_name, users: this.mapUsers(this.team.users), diff --git a/desk/src/components/desk/settings/ticket_types/TicketTypeInfo.vue b/desk/src/components/desk/settings/ticket_types/TicketTypeInfo.vue index 6e99bcfab..a2774ce9b 100644 --- a/desk/src/components/desk/settings/ticket_types/TicketTypeInfo.vue +++ b/desk/src/components/desk/settings/ticket_types/TicketTypeInfo.vue @@ -3,7 +3,7 @@
@@ -67,10 +67,10 @@ } " :resourceOptions="{ - url: 'frappedesk.extends.client.get_list', + url: 'helpdesk.extends.client.get_list', inputMap: (query) => { return { - doctype: 'Ticket Priority', + doctype: 'HD Ticket Priority', pluck: 'name', filters: [['name', 'like', `%${query}%`]], } @@ -158,7 +158,7 @@ export default { if (!this.ticketTypeId) return return { type: "document", - doctype: "Ticket Type", + doctype: "HD Ticket Type", name: this.ticketTypeId, setValue: { onSuccess: () => { @@ -184,7 +184,7 @@ export default { url: "frappe.client.rename_doc", onSuccess: (res) => { this.$router.push({ - path: `/frappedesk/settings/ticket_types/${res}`, + path: `/helpdesk/settings/ticket_types/${res}`, }) }, } @@ -194,7 +194,7 @@ export default { url: "frappe.client.insert", onSuccess: (res) => { this.$router.push({ - path: `/frappedesk/settings/ticket_types/${res.name}`, + path: `/helpdesk/settings/ticket_types/${res.name}`, }) }, } @@ -226,7 +226,7 @@ export default { .then(() => { if (newTicketTypeName != oldTicketTypeName) { this.$resources.renameTicketTypeDoc.submit({ - doctype: "Ticket Type", + doctype: "HD Ticket Type", old_name: oldTicketTypeName, new_name: newTicketTypeName, }) @@ -235,7 +235,7 @@ export default { } else { this.$resources.newTicketType.submit({ doc: { - doctype: "Ticket Type", + doctype: "HD Ticket Type", name: values.title, description: values.description, priority: values.priority, diff --git a/desk/src/components/desk/ticket/ActionPanel.vue b/desk/src/components/desk/ticket/ActionPanel.vue index 6ac644e31..227a7eaf6 100644 --- a/desk/src/components/desk/ticket/ActionPanel.vue +++ b/desk/src/components/desk/ticket/ActionPanel.vue @@ -175,9 +175,9 @@ export default { resources: { customFields() { return { - url: "frappedesk.api.ticket.get_custom_fields", + url: "helpdesk.api.ticket.get_custom_fields", params: { - doctype: "Ticket", + doctype: "HD Ticket", view: "Agent Portal", }, auto: true, @@ -186,7 +186,7 @@ export default { ticket() { return { type: "document", - doctype: "Ticket", + doctype: "HD Ticket", name: this.ticketId, } }, diff --git a/desk/src/components/desk/ticket/Activities.vue b/desk/src/components/desk/ticket/Activities.vue index ed212fe47..4f08537bd 100644 --- a/desk/src/components/desk/ticket/Activities.vue +++ b/desk/src/components/desk/ticket/Activities.vue @@ -25,7 +25,7 @@ export default { mounted() { this.$socket.on("list_update", (data) => { if ( - data["doctype"] == "Ticket Activity" && + data["doctype"] == "HD Ticket Activity" && data["name"].split("-")[1] == this.ticketId ) { this.$resources.activities.fetch() @@ -39,7 +39,7 @@ export default { activities() { return { cache: ["Activities", "Info Panel", this.ticketId], - url: "frappedesk.api.ticket.activities", + url: "helpdesk.api.ticket.activities", params: { name: this.ticketId, }, diff --git a/desk/src/components/desk/ticket/Conversations.vue b/desk/src/components/desk/ticket/Conversations.vue index 32fde3eaa..d8feba467 100644 --- a/desk/src/components/desk/ticket/Conversations.vue +++ b/desk/src/components/desk/ticket/Conversations.vue @@ -65,8 +65,8 @@ export default { resources: { communications() { return { - cache: ["Ticket", "Conversations", this.ticketId], - url: "frappedesk.api.ticket.get_conversations", + cache: ["HD Ticket", "Conversations", this.ticketId], + url: "helpdesk.api.ticket.get_conversations", params: { ticket_id: this.ticketId, }, @@ -75,10 +75,10 @@ export default { }, comments() { return { - cache: ["Ticket", "Comments", this.ticketId], - url: "frappedesk.extends.client.get_list", + cache: ["HD Ticket", "Comments", this.ticketId], + url: "helpdesk.extends.client.get_list", params: { - doctype: "Frappe Desk Comment", + doctype: "HD Ticket Comment", fields: ["*"], filters: { reference_ticket: this.ticketId, @@ -123,21 +123,21 @@ export default { }, }, mounted() { - this.$socket.on("new_frappedesk_communication", (data) => { + this.$socket.on("helpdesk:new-communication", (data) => { if (data.ticket_id != this.ticketId) return; this.$resources.communications.reload(); }); - this.$socket.on("new_frappedesk_comment", (data) => { + this.$socket.on("helpdesk:new-ticket-comment", (data) => { if (data.ticket_id != this.ticketId) return; this.$resources.comments.reload(); }); }, unmounted() { - this.$socket.off("new_frappedesk_communication"); - this.$socket.off("new_frappedesk_comment"); + this.$socket.off("helpdesk:new-communication"); + this.$socket.off("helpdesk:new-ticket-comment"); }, updated() { this.userColors = {}; diff --git a/desk/src/components/desk/ticket/InfoPanel.vue b/desk/src/components/desk/ticket/InfoPanel.vue index 1c8cfc32a..e3f9efa19 100644 --- a/desk/src/components/desk/ticket/InfoPanel.vue +++ b/desk/src/components/desk/ticket/InfoPanel.vue @@ -223,8 +223,8 @@ v-if="index <= maxCount" :to=" index < maxCount - ? `/frappedesk/tickets/${_ticket.name}` - : `/frappedesk/tickets/?contact=${JSON.stringify( + ? `/helpdesk/tickets/${_ticket.name}` + : `/helpdesk/tickets/?contact=${JSON.stringify( ['is', ticket.contact] )}` " @@ -365,7 +365,7 @@ export default { otherTicketsOfContact() { return { cache: ["Other Tickets", "Action Panel", this.ticketId], - url: "frappedesk.api.ticket.get_other_tickets_of_contact", + url: "helpdesk.api.ticket.get_other_tickets_of_contact", params: { ticket_id: this.ticketId, }, @@ -375,7 +375,7 @@ export default { ticket() { return { type: "document", - doctype: "Ticket", + doctype: "HD Ticket", name: this.ticketId, } }, diff --git a/desk/src/components/desk/tickets/AssignedInfo.vue b/desk/src/components/desk/tickets/AssignedInfo.vue index 42186b5af..1b5fd05fa 100644 --- a/desk/src/components/desk/tickets/AssignedInfo.vue +++ b/desk/src/components/desk/tickets/AssignedInfo.vue @@ -26,7 +26,7 @@ const agentName = computed(() => assignees.value?.full_name); const avatarUrl = computed(() => assignees.value?.user_image); const ticket = createDocumentResource({ - doctype: "Ticket", + doctype: "HD Ticket", name: ticketId, cache: ["Ticket", ticketId], whitelistedMethods: { diff --git a/desk/src/components/desk/tickets/NewTicketDialog.vue b/desk/src/components/desk/tickets/NewTicketDialog.vue index 3f576637b..7a7ca79a2 100644 --- a/desk/src/components/desk/tickets/NewTicketDialog.vue +++ b/desk/src/components/desk/tickets/NewTicketDialog.vue @@ -16,7 +16,7 @@ { - if (data.reference_doctype !== "Ticket") return; + this.$socket.on("helpdesk:new-preset-filter", (data) => { + if (data.reference_doctype !== "HD Ticket") return; this.$resources.presetFilterOptions.reload(); }); }, unmounted() { - this.$socket.off("frappedesk-preset-filter-insert"); + this.$socket.off("helpdesk:new-preset-filter"); }, resources: { presetFilterOptions() { return { - url: "frappedesk.api.general.get_preset_filters", + url: "helpdesk.api.general.get_preset_filters", params: { - doctype: "Ticket", + doctype: "HD Ticket", }, cache: ["Preset Filter", this.doctype], auto: true, diff --git a/desk/src/components/desk/tickets/TicketSummary.vue b/desk/src/components/desk/tickets/TicketSummary.vue index 4c2cdef0b..1ef8eca5a 100644 --- a/desk/src/components/desk/tickets/TicketSummary.vue +++ b/desk/src/components/desk/tickets/TicketSummary.vue @@ -43,7 +43,7 @@ const commentCount = computed(() => metaData.value?.comment_count); const isSeen = computed(() => metaData.value?.is_seen); const ticket = createDocumentResource({ - doctype: "Ticket", + doctype: "HD Ticket", name: ticketName, cache: ["Ticket", ticketName], whitelistedMethods: { diff --git a/desk/src/components/global/FilterBoxItem.vue b/desk/src/components/global/FilterBoxItem.vue index 2dafc874d..7273f779c 100644 --- a/desk/src/components/global/FilterBoxItem.vue +++ b/desk/src/components/global/FilterBoxItem.vue @@ -138,7 +138,7 @@ export default { resources: { dataType() { return { - url: "frappedesk.api.general.get_field_data_type", + url: "helpdesk.api.general.get_field_data_type", params: { doctype: this.manager.options.doctype, fieldname: this.filter.fieldname, @@ -148,7 +148,7 @@ export default { }, selectOptionsForField() { return { - url: "frappedesk.api.general.get_select_options_for_field", + url: "helpdesk.api.general.get_select_options_for_field", } }, }, @@ -178,7 +178,7 @@ export default { switch (filter.data_type) { case "Link": return { - url: "frappedesk.extends.client.get_list", + url: "helpdesk.extends.client.get_list", inputMap: (query) => { return { doctype: filter.link_doctype, @@ -197,7 +197,7 @@ export default { } case "Select": return { - url: "frappedesk.api.general.get_filtered_select_field_options", + url: "helpdesk.api.general.get_filtered_select_field_options", inputMap: (query) => { return { doctype: this.manager.options.doctype, diff --git a/desk/src/components/global/ListManager.vue b/desk/src/components/global/ListManager.vue index ac4a02ea3..e631d000d 100644 --- a/desk/src/components/global/ListManager.vue +++ b/desk/src/components/global/ListManager.vue @@ -41,7 +41,7 @@ export default { const listResource = createListResource( { type: "list", - url: "frappedesk.extends.client.get_list", + url: "helpdesk.extends.client.get_list", cache: false, doctype: options.value.doctype, fields: options.value.fields, diff --git a/desk/src/components/global/PresetFilters.vue b/desk/src/components/global/PresetFilters.vue index e88c643d0..24ae93f0b 100644 --- a/desk/src/components/global/PresetFilters.vue +++ b/desk/src/components/global/PresetFilters.vue @@ -35,7 +35,7 @@ export default { doctype: { type: String, required: true, - default: "Ticket", + default: "HD Ticket", }, listTitle: { type: String, @@ -161,7 +161,7 @@ export default { resources: { presetFilterOptions() { return { - url: "frappedesk.api.general.get_preset_filters", + url: "helpdesk.api.general.get_preset_filters", params: { doctype: this.doctype, }, diff --git a/desk/src/components/global/SaveFiltersDialog.vue b/desk/src/components/global/SaveFiltersDialog.vue index 5fa69ad15..b8a5748af 100644 --- a/desk/src/components/global/SaveFiltersDialog.vue +++ b/desk/src/components/global/SaveFiltersDialog.vue @@ -105,7 +105,7 @@ export default { resources: { saveFilterPreset() { return { - url: "frappedesk.api.general.save_filter_preset", + url: "helpdesk.api.general.save_filter_preset", onSuccess: (res) => { this.$toast({ title: "Filter Saved!", diff --git a/desk/src/components/global/TicketField.vue b/desk/src/components/global/TicketField.vue index 261088cdb..12a3e5ab3 100644 --- a/desk/src/components/global/TicketField.vue +++ b/desk/src/components/global/TicketField.vue @@ -89,7 +89,7 @@ export default { }, mounted() { if (this.fieldname == "_assign") { - this.$socket.on("ticket_assignee_update", (data) => { + this.$socket.on("helpdesk:update-ticket-assignee", (data) => { if (data.ticket_id == this.ticket.name) { this.$resources.getAssignee.fetch() } @@ -100,7 +100,7 @@ export default { ticket() { return { type: "document", - doctype: "Ticket", + doctype: "HD Ticket", name: this.ticketId, setValue: { onSuccess() { @@ -127,7 +127,7 @@ export default { // field label // field permissions: read, write (based on is agent / customer) return { - url: "frappedesk.api.ticket.get_field_meta_info", + url: "helpdesk.api.ticket.get_field_meta_info", params: { fieldname: this.fieldname, }, @@ -138,7 +138,7 @@ export default { // TODO: this is a temparary fix, should be done in a better way if (this.fieldname !== "_assign") return return { - url: "frappedesk.api.ticket.get_assignee", + url: "helpdesk.api.ticket.get_assignee", params: { ticket_id: this.ticketId, }, @@ -147,7 +147,7 @@ export default { }, setTicketAssignee() { return { - url: "frappedesk.api.ticket.assign_ticket_to_agent", + url: "helpdesk.api.ticket.assign_ticket_to_agent", onSuccess: () => { this.$toast({ title: "Agent assigned successfully", @@ -194,7 +194,7 @@ export default { let baseFilters = [] if (this.fieldname == "_assign") { // adding agent_group and is_active filters to get only active agents of the group - baseFilters.push(["Agent", "is_active", "=", 1]) + baseFilters.push(["HD Agent", "is_active", "=", 1]) if (this.ticket.agent_group) { baseFilters.push([ "Agent Group Item", @@ -205,7 +205,7 @@ export default { } } return { - url: "frappedesk.extends.client.get_list", + url: "helpdesk.extends.client.get_list", inputMap: (query) => { const filters = [ ...baseFilters, @@ -228,10 +228,10 @@ export default { } case "Select": return { - url: "frappedesk.api.general.get_filtered_select_field_options", + url: "helpdesk.api.general.get_filtered_select_field_options", inputMap: (query) => { return { - doctype: "Ticket", + doctype: "HD Ticket", fieldname: this.fieldMetaInfo?.fieldname, query, } diff --git a/desk/src/components/global/kb/ArticleCard.vue b/desk/src/components/global/kb/ArticleCard.vue index 32ab6e7a7..473c079ae 100644 --- a/desk/src/components/global/kb/ArticleCard.vue +++ b/desk/src/components/global/kb/ArticleCard.vue @@ -1,5 +1,5 @@