From efbed6e0b63742d8be08a8df9e66b06b4e77bf45 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 16 Jun 2025 11:44:08 +0530 Subject: [PATCH 1/7] fix: renamed Expected Closure Date to Close Date --- crm/fcrm/doctype/crm_deal/crm_deal.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crm/fcrm/doctype/crm_deal/crm_deal.json b/crm/fcrm/doctype/crm_deal/crm_deal.json index 10e56be4..bbef186d 100644 --- a/crm/fcrm/doctype/crm_deal/crm_deal.json +++ b/crm/fcrm/doctype/crm_deal/crm_deal.json @@ -94,7 +94,7 @@ { "fieldname": "close_date", "fieldtype": "Date", - "label": "Expected Closure Date" + "label": "Close Date" }, { "fieldname": "next_step", @@ -396,7 +396,7 @@ "grid_page_length": 50, "index_web_pages_for_search": 1, "links": [], - "modified": "2025-06-11 12:58:22.439045", + "modified": "2025-06-16 11:42:49.413483", "modified_by": "Administrator", "module": "FCRM", "name": "CRM Deal", From 6a72a4467a2db66cf019614ad68a8fd5ab8ff344 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 16 Jun 2025 13:40:53 +0530 Subject: [PATCH 2/7] build(deps): bump frappeui to 0.1.154 --- frontend/package.json | 2 +- yarn.lock | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 40e1f47a..3f46d8f0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,7 +13,7 @@ "@tiptap/extension-paragraph": "^2.12.0", "@twilio/voice-sdk": "^2.10.2", "@vueuse/integrations": "^10.3.0", - "frappe-ui": "^0.1.145", + "frappe-ui": "^0.1.154", "gemoji": "^8.1.0", "lodash": "^4.17.21", "mime": "^4.0.1", diff --git a/yarn.lock b/yarn.lock index 8862db5d..ad06a349 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1320,6 +1320,11 @@ resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.10.3.tgz#bf8efb3a580c75b86dce505a63f1ca7450a9aaea" integrity sha512-AlxXXPCWIvw8hQUDFRskasj32iMNB8Sb19VgyFWqwvntGs2/UffNu8VdsVqxD2HpZ0g5rLYCYtSW4wigs9R3og== +"@tiptap/extension-heading@^2.12.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.14.0.tgz#c5a9dc761712e9c87073ba8446548cbe4d403360" + integrity sha512-vM//6G3Ox3mxPv9eilhrDqylELCc8kEP1aQ4xUuOw7vCidjNtGggOa1ERnnpV2dCa2A9E8y4FHtN4Xh29stXQg== + "@tiptap/extension-highlight@^2.0.3": version "2.10.3" resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.10.3.tgz#d94667d435d9dc556b06e7b764449dc2a6c18743" @@ -2565,10 +2570,10 @@ fraction.js@^4.3.7: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== -frappe-ui@^0.1.145: - version "0.1.145" - resolved "https://registry.yarnpkg.com/frappe-ui/-/frappe-ui-0.1.145.tgz#19ec429badf85f3f2c45a85ec13c3c462ec11ee9" - integrity sha512-DnnSJREu/EpUAJGNFaXEUF3re0hQMmLBOX/MSW9AsQtnCJwXkO5VbH/dyVHAZjqdb9Do3CNQF33/HB4NibNI8Q== +frappe-ui@^0.1.154: + version "0.1.154" + resolved "https://registry.yarnpkg.com/frappe-ui/-/frappe-ui-0.1.154.tgz#caf6f76957ba67b1a5f8f5b0af23720027aca8db" + integrity sha512-D8pyZl+pXA9PLG6P78fWmmdTT0g1DRE2HDq78AI8MkN0/3VA6vip8oN9F5smmM3cx4/PQFtiJwpkQtp2zKQHeQ== dependencies: "@floating-ui/vue" "^1.1.6" "@headlessui/vue" "^1.7.14" @@ -2579,6 +2584,7 @@ frappe-ui@^0.1.145: "@tiptap/extension-code-block" "^2.11.9" "@tiptap/extension-code-block-lowlight" "^2.11.5" "@tiptap/extension-color" "^2.0.3" + "@tiptap/extension-heading" "^2.12.0" "@tiptap/extension-highlight" "^2.0.3" "@tiptap/extension-image" "^2.0.3" "@tiptap/extension-link" "^2.0.3" @@ -2599,6 +2605,7 @@ frappe-ui@^0.1.145: dayjs "^1.11.13" echarts "^5.6.0" feather-icons "^4.28.0" + highlight.js "^11.11.1" idb-keyval "^6.2.0" lowlight "^3.3.0" lucide-static "^0.479.0" @@ -2806,7 +2813,7 @@ hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" -highlight.js@~11.11.0: +highlight.js@^11.11.1, highlight.js@~11.11.0: version "11.11.1" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.11.1.tgz#fca06fa0e5aeecf6c4d437239135fabc15213585" integrity sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w== From 49d82870c467af89d5c0db18990f892f78d56d78 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 16 Jun 2025 13:41:11 +0530 Subject: [PATCH 3/7] fix: hide calendar icon in side panel date fields --- frontend/src/components/SidePanelLayout.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/src/components/SidePanelLayout.vue b/frontend/src/components/SidePanelLayout.vue index e99d9725..8e67dc50 100644 --- a/frontend/src/components/SidePanelLayout.vue +++ b/frontend/src/components/SidePanelLayout.vue @@ -248,6 +248,7 @@ " :placeholder="field.placeholder" placement="left-start" + :hideIcon="true" @change="(v) => fieldChange(v, field)" /> @@ -261,6 +262,7 @@ :formatter="(date) => getFormat(date, '', true)" :placeholder="field.placeholder" placement="left-start" + :hideIcon="true" @change="(v) => fieldChange(v, field)" /> From a17b1cd0e25f1c8e1d867fafdd091ca932e9964b Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 16 Jun 2025 16:32:15 +0530 Subject: [PATCH 4/7] fix: added mandatory field error toast --- frontend/src/data/document.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/src/data/document.js b/frontend/src/data/document.js index 76e35a9e..41bdea34 100644 --- a/frontend/src/data/document.js +++ b/frontend/src/data/document.js @@ -23,7 +23,14 @@ export function useDocument(doctype, docname) { toast.success(__('Document updated successfully')) }, onError: (err) => { - toast.error(__('Error updating document')) + let errorMessage = __('Error updating document') + if (err.exc_type == 'MandatoryError') { + const fieldName = err.messages + .map((msg) => msg.split(': ')[2].trim()) + .join(', ') + errorMessage = __('Mandatory field error: {0}', [fieldName]) + } + toast.error(errorMessage) console.error(err) }, }, From baa03246e647a3abb02e1dd7281da18a0a362fef Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 16 Jun 2025 17:06:06 +0530 Subject: [PATCH 5/7] fix: fixed breaking button with icon and open email box --- .../src/components/Activities/Activities.vue | 2 +- frontend/src/components/SidePanelLayout.vue | 4 +- frontend/src/pages/Deal.vue | 72 +++++++++++-------- frontend/src/pages/Lead.vue | 64 ++++++++++------- 4 files changed, 88 insertions(+), 54 deletions(-) diff --git a/frontend/src/components/Activities/Activities.vue b/frontend/src/components/Activities/Activities.vue index d4b670e1..1c420e04 100644 --- a/frontend/src/components/Activities/Activities.vue +++ b/frontend/src/components/Activities/Activities.vue @@ -806,5 +806,5 @@ const callActions = computed(() => { ) }) -defineExpose({ emailBox, all_activities }) +defineExpose({ emailBox, all_activities, changeTabTo }) diff --git a/frontend/src/components/SidePanelLayout.vue b/frontend/src/components/SidePanelLayout.vue index 8e67dc50..aa42f49e 100644 --- a/frontend/src/components/SidePanelLayout.vue +++ b/frontend/src/components/SidePanelLayout.vue @@ -25,7 +25,9 @@ class="w-7 mr-2" @click="showSidePanelModal = true" > - + diff --git a/frontend/src/pages/Deal.vue b/frontend/src/pages/Deal.vue index 34e06141..d8b82f02 100644 --- a/frontend/src/pages/Deal.vue +++ b/frontend/src/pages/Deal.vue @@ -92,42 +92,50 @@
-
-
@@ -239,14 +247,18 @@ }) " > - + @@ -368,7 +380,7 @@ import { toast, } from 'frappe-ui' import { useOnboarding } from 'frappe-ui/frappe' -import { ref, computed, h, onMounted, onBeforeUnmount } from 'vue' +import { ref, computed, h, onMounted, onBeforeUnmount, nextTick } from 'vue' import { useRoute, useRouter } from 'vue-router' import { useActiveTabManager } from '@/composables/useActiveTabManager' @@ -730,7 +742,11 @@ async function deleteDeal(name) { const activities = ref(null) function openEmailBox() { - activities.value.emailBox.show = true + let currentTab = tabs.value[tabIndex.value] + if (!['Emails', 'Comments', 'Activities'].includes(currentTab.name)) { + activities.value.changeTabTo('emails') + } + nextTick(() => (activities.value.emailBox.show = true)) } const { assignees, document, triggerOnChange } = useDocument( diff --git a/frontend/src/pages/Lead.vue b/frontend/src/pages/Lead.vue index 17612e19..ac0ded63 100644 --- a/frontend/src/pages/Lead.vue +++ b/frontend/src/pages/Lead.vue @@ -142,42 +142,50 @@ : toast.error(__('No phone number set')) " > - +
-
-
@@ -238,14 +246,18 @@ class="w-7" @click="openQuickEntryModal" > - + @@ -386,7 +398,7 @@ import { toast, } from 'frappe-ui' import { useOnboarding } from 'frappe-ui/frappe' -import { ref, reactive, computed, onMounted, watch } from 'vue' +import { ref, reactive, computed, onMounted, watch, nextTick } from 'vue' import { useRouter, useRoute } from 'vue-router' import { useActiveTabManager } from '@/composables/useActiveTabManager' @@ -670,7 +682,11 @@ async function convertToDeal() { const activities = ref(null) function openEmailBox() { - activities.value.emailBox.show = true + let currentTab = tabs.value[tabIndex.value] + if (!['Emails', 'Comments', 'Activities'].includes(currentTab.name)) { + activities.value.changeTabTo('emails') + } + nextTick(() => (activities.value.emailBox.show = true)) } const deal = reactive({}) From 9f3477e1cd43c7aa8144b661e7bed7ee7e8dd53b Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 16 Jun 2025 17:42:01 +0530 Subject: [PATCH 6/7] fix: updated button with icon --- frontend/src/components/Activities/DataFields.vue | 4 +++- frontend/src/components/ColumnSettings.vue | 14 ++++++++++---- frontend/src/components/Controls/Grid.vue | 8 ++++++-- frontend/src/components/Controls/GridRowModal.vue | 8 ++++++-- frontend/src/components/DropdownItem.vue | 8 ++++++-- frontend/src/components/Modals/AddressModal.vue | 8 ++++++-- .../src/components/Modals/CallLogDetailModal.vue | 8 ++++++-- frontend/src/components/Modals/CallLogModal.vue | 8 ++++++-- frontend/src/components/Modals/ContactModal.vue | 8 ++++++-- .../src/components/Modals/CreateDocumentModal.vue | 8 ++++++-- frontend/src/components/Modals/DealModal.vue | 8 ++++++-- frontend/src/components/Modals/LeadModal.vue | 8 ++++++-- .../src/components/Modals/OrganizationModal.vue | 8 ++++++-- frontend/src/components/SidePanelLayoutEditor.vue | 4 +++- 14 files changed, 82 insertions(+), 28 deletions(-) diff --git a/frontend/src/components/Activities/DataFields.vue b/frontend/src/components/Activities/DataFields.vue index b3aecff4..5b97e80a 100644 --- a/frontend/src/components/Activities/DataFields.vue +++ b/frontend/src/components/Activities/DataFields.vue @@ -16,7 +16,9 @@ v-if="isManager() && !isMobileView" @click="showDataFieldsModal = true" > - + @@ -215,7 +219,9 @@ const fields = computed(() => { }) function addColumn(c) { - let align = ['Float', 'Int', 'Percent', 'Currency'].includes(c.type) ? 'right' : 'left' + let align = ['Float', 'Int', 'Percent', 'Currency'].includes(c.type) + ? 'right' + : 'left' let _column = { label: c.label, type: c.fieldtype, diff --git a/frontend/src/components/Controls/Grid.vue b/frontend/src/components/Controls/Grid.vue index 19240a86..dcfa2846 100644 --- a/frontend/src/components/Controls/Grid.vue +++ b/frontend/src/components/Controls/Grid.vue @@ -58,7 +58,9 @@ variant="outline" @click="showGridFieldsEditorModal = true" > - + @@ -281,7 +283,9 @@ variant="outline" @click="showRowList[index] = true" > - + - + diff --git a/frontend/src/components/DropdownItem.vue b/frontend/src/components/DropdownItem.vue index 8f2ed2da..d9592c13 100644 --- a/frontend/src/components/DropdownItem.vue +++ b/frontend/src/components/DropdownItem.vue @@ -31,7 +31,9 @@ class="opacity-0 hover:bg-surface-gray-4 group-hover:opacity-100" @click="option.onClick" > - + @@ -43,7 +45,9 @@ class="opacity-0 hover:bg-surface-gray-4 group-hover:opacity-100" @click="toggleEditMode" > - + diff --git a/frontend/src/components/Modals/AddressModal.vue b/frontend/src/components/Modals/AddressModal.vue index 6428c9a4..e7c4543f 100644 --- a/frontend/src/components/Modals/AddressModal.vue +++ b/frontend/src/components/Modals/AddressModal.vue @@ -15,10 +15,14 @@ class="w-7" @click="openQuickEntryModal" > - + diff --git a/frontend/src/components/Modals/CallLogDetailModal.vue b/frontend/src/components/Modals/CallLogDetailModal.vue index 04a30d5c..739f78ef 100644 --- a/frontend/src/components/Modals/CallLogDetailModal.vue +++ b/frontend/src/components/Modals/CallLogDetailModal.vue @@ -39,10 +39,14 @@ class="w-7" @click="openCallLogModal" > - + diff --git a/frontend/src/components/Modals/CallLogModal.vue b/frontend/src/components/Modals/CallLogModal.vue index d61dbc45..8ab881cd 100644 --- a/frontend/src/components/Modals/CallLogModal.vue +++ b/frontend/src/components/Modals/CallLogModal.vue @@ -16,10 +16,14 @@ class="w-7" @click="openQuickEntryModal" > - + diff --git a/frontend/src/components/Modals/ContactModal.vue b/frontend/src/components/Modals/ContactModal.vue index b275d574..25a0c022 100644 --- a/frontend/src/components/Modals/ContactModal.vue +++ b/frontend/src/components/Modals/ContactModal.vue @@ -15,10 +15,14 @@ class="w-7" @click="openQuickEntryModal" > - + diff --git a/frontend/src/components/Modals/CreateDocumentModal.vue b/frontend/src/components/Modals/CreateDocumentModal.vue index 05e277b9..be5bbf01 100644 --- a/frontend/src/components/Modals/CreateDocumentModal.vue +++ b/frontend/src/components/Modals/CreateDocumentModal.vue @@ -15,10 +15,14 @@ class="w-7" @click="openQuickEntryModal" > - + diff --git a/frontend/src/components/Modals/DealModal.vue b/frontend/src/components/Modals/DealModal.vue index e4ce7419..8bf9498b 100644 --- a/frontend/src/components/Modals/DealModal.vue +++ b/frontend/src/components/Modals/DealModal.vue @@ -15,10 +15,14 @@ class="w-7" @click="openQuickEntryModal" > - + diff --git a/frontend/src/components/Modals/LeadModal.vue b/frontend/src/components/Modals/LeadModal.vue index 1976ad3c..d82dbe52 100644 --- a/frontend/src/components/Modals/LeadModal.vue +++ b/frontend/src/components/Modals/LeadModal.vue @@ -15,10 +15,14 @@ class="w-7" @click="openQuickEntryModal" > - + diff --git a/frontend/src/components/Modals/OrganizationModal.vue b/frontend/src/components/Modals/OrganizationModal.vue index c4b87536..d038011c 100644 --- a/frontend/src/components/Modals/OrganizationModal.vue +++ b/frontend/src/components/Modals/OrganizationModal.vue @@ -15,10 +15,14 @@ class="w-7" @click="openQuickEntryModal" > - + diff --git a/frontend/src/components/SidePanelLayoutEditor.vue b/frontend/src/components/SidePanelLayoutEditor.vue index 3b7ab0a3..09493c61 100644 --- a/frontend/src/components/SidePanelLayoutEditor.vue +++ b/frontend/src/components/SidePanelLayoutEditor.vue @@ -41,7 +41,9 @@ variant="ghost" @click="section.editingLabel = true" > - +