From 859d93404d5030aeecedc2ca82573834e1e05942 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 14 Jul 2025 20:12:52 +0530 Subject: [PATCH] fix: minor fixes (cherry picked from commit 2584cca128628b3cb7afa8b2307bfe6e61c303c5) --- crm/api/dashboard.py | 10 +++++----- frontend/src/pages/Dashboard.vue | 8 +++++--- frontend/src/utils/index.js | 5 +++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/crm/api/dashboard.py b/crm/api/dashboard.py index 6bd44755..03097b3f 100644 --- a/crm/api/dashboard.py +++ b/crm/api/dashboard.py @@ -228,7 +228,7 @@ def get_average_ongoing_deal_value(from_date, to_date, user=""): avg_value_delta = current_month_avg_value - prev_month_avg_value if prev_month_avg_value else 0 return { - "title": _("Avg ongoing deal value"), + "title": _("Avg. ongoing deal value"), "tooltip": _("Average deal value of non won/lost deals"), "value": current_month_avg_value, "delta": avg_value_delta, @@ -344,7 +344,7 @@ def get_average_won_deal_value(from_date, to_date, user=""): avg_value_delta = current_month_avg_value - prev_month_avg_value if prev_month_avg_value else 0 return { - "title": _("Avg won deal value"), + "title": _("Avg. won deal value"), "tooltip": _("Average deal value of won deals"), "value": current_month_avg_value, "delta": avg_value_delta, @@ -401,7 +401,7 @@ def get_average_deal_value(from_date, to_date, user=""): delta = current_month_avg - prev_month_avg if prev_month_avg else 0 return { - "title": _("Avg deal value"), + "title": _("Avg. deal value"), "tooltip": _("Average deal value of ongoing & won deals"), "value": current_month_avg, "prefix": get_base_currency_symbol(), @@ -454,7 +454,7 @@ def get_average_time_to_close_a_lead(from_date, to_date, user=""): delta_lead = current_avg_lead - prev_avg_lead if prev_avg_lead else 0 return { - "title": _("Avg time to close a lead"), + "title": _("Avg. time to close a lead"), "tooltip": _("Average time taken from lead creation to deal closure"), "value": current_avg_lead, "suffix": " days", @@ -508,7 +508,7 @@ def get_average_time_to_close_a_deal(from_date, to_date, user=""): delta_deal = current_avg_deal - prev_avg_deal if prev_avg_deal else 0 return { - "title": _("Avg time to close a deal"), + "title": _("Avg. time to close a deal"), "tooltip": _("Average time taken from deal creation to deal closure"), "value": current_avg_deal, "suffix": " days", diff --git a/frontend/src/pages/Dashboard.vue b/frontend/src/pages/Dashboard.vue index 9da1fbc5..c77998ed 100644 --- a/frontend/src/pages/Dashboard.vue +++ b/frontend/src/pages/Dashboard.vue @@ -127,6 +127,7 @@ @@ -142,6 +143,7 @@ import ViewBreadcrumbs from '@/components/ViewBreadcrumbs.vue' import LayoutHeader from '@/components/LayoutHeader.vue' import Link from '@/components/Controls/Link.vue' import { usersStore } from '@/stores/users' +import { copy } from '@/utils' import { getLastXDays, formatter, formatRange } from '@/utils/dashboard' import { usePageMeta, @@ -258,12 +260,12 @@ provide('filters', filters) function enableEditing() { editing.value = true - oldItems.value = JSON.parse(JSON.stringify(dashboardItems.data)) + oldItems.value = copy(dashboardItems.data) } function cancel() { editing.value = false - dashboardItems.data = JSON.parse(JSON.stringify(oldItems.value)) + dashboardItems.data = copy(oldItems.value) } const saveDashboard = createResource({ @@ -276,7 +278,7 @@ const saveDashboard = createResource({ }) function save() { - const dashboardItemsCopy = JSON.parse(JSON.stringify(dashboardItems.data)) + const dashboardItemsCopy = copy(dashboardItems.data) dashboardItemsCopy.forEach((item: any) => { delete item.data diff --git a/frontend/src/utils/index.js b/frontend/src/utils/index.js index 44e18381..61affc37 100644 --- a/frontend/src/utils/index.js +++ b/frontend/src/utils/index.js @@ -531,3 +531,8 @@ export function TemplateOption({ active, option, theme, icon, onClick }) { ], ) } + +export function copy(obj) { + if (!obj) return obj + return JSON.parse(JSON.stringify(obj)) +}