From cc15309f9ce965769f440b39b0834291c1dbab2e Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Tue, 17 Sep 2024 12:18:47 +0530 Subject: [PATCH] fix: removed organization store from lead/deal page --- frontend/src/pages/Deal.vue | 37 +++++++++++++++++-------------- frontend/src/pages/Lead.vue | 3 --- frontend/src/pages/Leads.vue | 7 +----- frontend/src/pages/MobileDeal.vue | 22 +++++++++--------- frontend/src/pages/MobileLead.vue | 3 --- 5 files changed, 32 insertions(+), 40 deletions(-) diff --git a/frontend/src/pages/Deal.vue b/frontend/src/pages/Deal.vue index 687d0fc8..ce281c4d 100644 --- a/frontend/src/pages/Deal.vue +++ b/frontend/src/pages/Deal.vue @@ -59,15 +59,15 @@
- +
- {{ organization?.name || __('Untitled') }} + {{ organization.data?.name || __('Untitled') }}
@@ -275,10 +275,7 @@ v-model:organization="_organization" :options="{ redirect: false, - afterInsert: (doc) => - updateField('organization', doc.name, () => { - organizations.reload() - }), + afterInsert: (doc) => updateField('organization', doc.name), }" /> { + organization.update({ + params: { doctype: 'CRM Organization', name: data.organization }, + }) + organization.fetch() let obj = { doc: data, $dialog, @@ -403,6 +402,11 @@ const deal = createResource({ }, }) +const organization = createResource({ + url: 'frappe.client.get', + onSuccess: (data) => (deal.data._organizationObj = data), +}) + onMounted(() => { $socket.on('crm_customer_created', () => { createToast({ @@ -412,7 +416,10 @@ onMounted(() => { }) }) - if (deal.data) return + if (deal.data) { + organization.data = deal.data._organizationObj + return + } deal.fetch() }) @@ -426,10 +433,6 @@ const showAssignmentModal = ref(false) const showSidePanelModal = ref(false) const _organization = ref({}) -const organization = computed(() => { - return deal.data?.organization && getOrganization(deal.data.organization) -}) - function updateDeal(fieldname, value, callback) { value = Array.isArray(fieldname) ? '' : value @@ -498,7 +501,7 @@ const breadcrumbs = computed(() => { } items.push({ - label: organization.value?.name || __('Untitled'), + label: organization.data?.name || __('Untitled'), route: { name: 'Deal', params: { dealId: deal.data.name } }, }) return items @@ -506,7 +509,7 @@ const breadcrumbs = computed(() => { usePageMeta(() => { return { - title: organization.value?.name || deal.data?.name, + title: organization.data?.name || deal.data?.name, } }) diff --git a/frontend/src/pages/Lead.vue b/frontend/src/pages/Lead.vue index 4929b43f..25fedfd5 100644 --- a/frontend/src/pages/Lead.vue +++ b/frontend/src/pages/Lead.vue @@ -312,7 +312,6 @@ import { import { getView } from '@/utils/view' import { globalStore } from '@/stores/global' import { contactsStore } from '@/stores/contacts' -import { organizationsStore } from '@/stores/organizations' import { statusesStore } from '@/stores/statuses' import { usersStore } from '@/stores/users' import { whatsappEnabled, callEnabled } from '@/composables/settings' @@ -334,7 +333,6 @@ import { useRouter, useRoute } from 'vue-router' const { $dialog, $socket, makeCall } = globalStore() const { getContactByName, contacts } = contactsStore() -const { organizations } = organizationsStore() const { statusOptions, getLeadStatus } = statusesStore() const { isManager } = usersStore() const route = useRoute() @@ -621,7 +619,6 @@ async function convertToDeal(updated) { if (deal) { capture('convert_lead_to_deal') if (updated) { - await organizations.reload() await contacts.reload() } router.push({ name: 'Deal', params: { dealId: deal } }) diff --git a/frontend/src/pages/Leads.vue b/frontend/src/pages/Leads.vue index 7f6ada84..5b9b716c 100644 --- a/frontend/src/pages/Leads.vue +++ b/frontend/src/pages/Leads.vue @@ -305,7 +305,6 @@ import QuickEntryModal from '@/components/Modals/QuickEntryModal.vue' import ViewControls from '@/components/ViewControls.vue' import { globalStore } from '@/stores/global' import { usersStore } from '@/stores/users' -import { organizationsStore } from '@/stores/organizations' import { statusesStore } from '@/stores/statuses' import { callEnabled } from '@/composables/settings' import { dateFormat, dateTooltipFormat, timeAgo, formatTime } from '@/utils' @@ -315,7 +314,6 @@ import { ref, computed, reactive, h } from 'vue' const { makeCall } = globalStore() const { getUser } = usersStore() -const { getOrganization } = organizationsStore() const { getLeadStatus } = statusesStore() const route = useRoute() @@ -412,10 +410,7 @@ function parseRows(rows) { image_label: lead.first_name, } } else if (row == 'organization') { - _rows[row] = { - label: lead.organization, - logo: getOrganization(lead.organization)?.organization_logo, - } + _rows[row] = lead.organization } else if (row == 'status') { _rows[row] = { label: lead.status, diff --git a/frontend/src/pages/MobileDeal.vue b/frontend/src/pages/MobileDeal.vue index 7c635993..63b56743 100644 --- a/frontend/src/pages/MobileDeal.vue +++ b/frontend/src/pages/MobileDeal.vue @@ -224,10 +224,7 @@ v-model:organization="_organization" :options="{ redirect: false, - afterInsert: (doc) => - updateField('organization', doc.name, () => { - organizations.reload() - }), + afterInsert: (doc) => updateField('organization', doc.name), }" /> { + organization.update({ + params: { doctype: 'CRM Organization', name: data.organization }, + }) + organization.fetch() let obj = { doc: data, $dialog, @@ -336,6 +335,11 @@ const deal = createResource({ }, }) +const organization = createResource({ + url: 'frappe.client.get', + onSuccess: (data) => (deal.data._organizationObj = data), +}) + onMounted(() => { if (deal.data) return deal.fetch() @@ -346,10 +350,6 @@ const showOrganizationModal = ref(false) const showAssignmentModal = ref(false) const _organization = ref({}) -const organization = computed(() => { - return deal.data?.organization && getOrganization(deal.data.organization) -}) - function updateDeal(fieldname, value, callback) { value = Array.isArray(fieldname) ? '' : value @@ -418,7 +418,7 @@ const breadcrumbs = computed(() => { } items.push({ - label: organization.value?.name || __('Untitled'), + label: organization.data?.name || __('Untitled'), route: { name: 'Deal', params: { dealId: deal.data.name } }, }) return items diff --git a/frontend/src/pages/MobileLead.vue b/frontend/src/pages/MobileLead.vue index b5e132e8..3ed477bb 100644 --- a/frontend/src/pages/MobileLead.vue +++ b/frontend/src/pages/MobileLead.vue @@ -197,7 +197,6 @@ import { createToast, setupAssignees, setupCustomizations } from '@/utils' import { getView } from '@/utils/view' import { globalStore } from '@/stores/global' import { contactsStore } from '@/stores/contacts' -import { organizationsStore } from '@/stores/organizations' import { statusesStore } from '@/stores/statuses' import { whatsappEnabled, @@ -217,7 +216,6 @@ import { useRouter, useRoute } from 'vue-router' const { $dialog, $socket } = globalStore() const { getContactByName, contacts } = contactsStore() -const { organizations } = organizationsStore() const { statusOptions, getLeadStatus } = statusesStore() const route = useRoute() const router = useRouter() @@ -494,7 +492,6 @@ async function convertToDeal(updated) { ) if (deal) { if (updated) { - await organizations.reload() await contacts.reload() } router.push({ name: 'Deal', params: { dealId: deal } })