From 474fe5a954d70b1fc49b5b6422ef1e7335efdd3f Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Sun, 13 Apr 2025 15:05:26 +0000 Subject: [PATCH 01/46] chore(release): Bumped to Version 1.40.1 --- crm/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crm/__init__.py b/crm/__init__.py index 3a6c34a4..56172f18 100644 --- a/crm/__init__.py +++ b/crm/__init__.py @@ -1,4 +1,4 @@ -__version__ = "1.40.0" +__version__ = "1.40.1" __title__ = "Frappe CRM" From 8b7089e5210d39797e1cbed770df73a58fbcbe52 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 14 Apr 2025 11:07:09 +0530 Subject: [PATCH 02/46] fix: restrict app in apps page if no access to FCRM module --- crm/api/__init__.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crm/api/__init__.py b/crm/api/__init__.py index 11cc039e..fe6f1fb5 100644 --- a/crm/api/__init__.py +++ b/crm/api/__init__.py @@ -1,5 +1,6 @@ import frappe from bs4 import BeautifulSoup +from frappe.config import get_modules_from_all_apps_for_user from frappe.core.api.file import get_max_file_size from frappe.translate import get_all_translations from frappe.utils import cstr, split_emails, validate_email_address @@ -63,10 +64,10 @@ def check_app_permission(): if frappe.session.user == "Administrator": return True - # allowed_modules = frappe.utils.modules.get_modules_from_all_apps_for_user() - # allowed_modules = [x["module_name"] for x in allowed_modules] - # if "FCRM" not in allowed_modules: - # return False + allowed_modules = get_modules_from_all_apps_for_user() + allowed_modules = [x["module_name"] for x in allowed_modules] + if "FCRM" not in allowed_modules: + return False roles = frappe.get_roles() if any( From de60b9d96f576a9abe5e185fcce6e6f940d24366 Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Mon, 14 Apr 2025 05:38:09 +0000 Subject: [PATCH 03/46] chore(release): Bumped to Version 1.40.2 --- crm/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crm/__init__.py b/crm/__init__.py index 56172f18..6b8b92ce 100644 --- a/crm/__init__.py +++ b/crm/__init__.py @@ -1,4 +1,4 @@ -__version__ = "1.40.1" +__version__ = "1.40.2" __title__ = "Frappe CRM" From d2cda20d4e9ca03dcaf7835776917e412549ce41 Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Tue, 22 Apr 2025 10:43:53 +0000 Subject: [PATCH 04/46] chore(release): Bumped to Version 1.41.0 --- crm/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crm/__init__.py b/crm/__init__.py index 6b8b92ce..00b46c01 100644 --- a/crm/__init__.py +++ b/crm/__init__.py @@ -1,4 +1,4 @@ -__version__ = "1.40.2" +__version__ = "1.41.0" __title__ = "Frappe CRM" From 93d9abf6abe0fa3886b8a702269c5eba2e460bc8 Mon Sep 17 00:00:00 2001 From: Pratik Date: Wed, 23 Apr 2025 15:54:54 +0530 Subject: [PATCH 05/46] fix: international call log issue (cherry picked from commit 4907db44eb1b9cc51b700647fae6b1cdd5b38ce0) --- crm/integrations/api.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crm/integrations/api.py b/crm/integrations/api.py index d8300678..6c4e35e0 100644 --- a/crm/integrations/api.py +++ b/crm/integrations/api.py @@ -110,12 +110,12 @@ def get_contact_by_phone_number(phone_number): number = parse_phone_number(phone_number) if number.get("is_valid"): - return get_contact(number.get("national_number")) + return get_contact(number.get("national_number"), number.get("country")) else: - return get_contact(phone_number, exact_match=True) + return get_contact(phone_number, number.get("country"), exact_match=True) -def get_contact(phone_number, exact_match=False): +def get_contact(phone_number, country="IN", exact_match=False): if not phone_number: return {"mobile_no": phone_number} @@ -149,11 +149,11 @@ def get_contact(phone_number, exact_match=False): deal = frappe.db.get_value( "CRM Contacts", {"contact": contact.name, "is_primary": 1}, "parent" ) - if are_same_phone_number(contact.mobile_no, phone_number, validate=not exact_match): + if are_same_phone_number(contact.mobile_no, phone_number, country, validate=not exact_match): contact["deal"] = deal return contact # Else, return the first contact - if are_same_phone_number(contacts[0].mobile_no, phone_number, validate=not exact_match): + if are_same_phone_number(contacts[0].mobile_no, phone_number, country, validate=not exact_match): return contacts[0] # Else, Check if the number is associated with a lead @@ -173,7 +173,7 @@ def get_contact(phone_number, exact_match=False): if len(leads): for lead in leads: - if are_same_phone_number(lead.mobile_no, phone_number, validate=not exact_match): + if are_same_phone_number(lead.mobile_no, phone_number, country, validate=not exact_match): lead["lead"] = lead.name lead["full_name"] = lead.lead_name return lead From c35a481152d14dd3b1b76cd78941edbb722d8014 Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Wed, 23 Apr 2025 10:56:36 +0000 Subject: [PATCH 06/46] chore(release): Bumped to Version 1.41.1 --- crm/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crm/__init__.py b/crm/__init__.py index 00b46c01..405af477 100644 --- a/crm/__init__.py +++ b/crm/__init__.py @@ -1,4 +1,4 @@ -__version__ = "1.41.0" +__version__ = "1.41.1" __title__ = "Frappe CRM" From 013119961a56964a55805ca40186b5b092147bfd Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Wed, 14 May 2025 18:37:35 +0000 Subject: [PATCH 07/46] chore(release): Bumped to Version 1.42.0 --- crm/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crm/__init__.py b/crm/__init__.py index 405af477..a06d720b 100644 --- a/crm/__init__.py +++ b/crm/__init__.py @@ -1,4 +1,4 @@ -__version__ = "1.41.1" +__version__ = "1.42.0" __title__ = "Frappe CRM" From ed1c54a7a59e77acecc4f2adfb1ddf55c2a03824 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 15 May 2025 01:01:48 +0530 Subject: [PATCH 08/46] fix: contact/organization page not loading (cherry picked from commit 8c94049e3cce7aadf83ad7e823d185ebd86af3f3) (cherry picked from commit 4e84fd0731b15e1e16ec7da211da722aa1e5c401) --- frontend/src/pages/Contact.vue | 2 +- frontend/src/pages/MobileContact.vue | 2 +- frontend/src/pages/MobileDeal.vue | 2 +- frontend/src/pages/MobileLead.vue | 2 +- frontend/src/pages/MobileOrganization.vue | 2 +- frontend/src/pages/Organization.vue | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/pages/Contact.vue b/frontend/src/pages/Contact.vue index 18fccd2d..e9fb75bb 100644 --- a/frontend/src/pages/Contact.vue +++ b/frontend/src/pages/Contact.vue @@ -121,9 +121,9 @@ class="flex flex-1 flex-col justify-between overflow-hidden" > diff --git a/frontend/src/pages/MobileContact.vue b/frontend/src/pages/MobileContact.vue index 728ebc16..95c6aa4f 100644 --- a/frontend/src/pages/MobileContact.vue +++ b/frontend/src/pages/MobileContact.vue @@ -130,9 +130,9 @@ class="flex flex-1 flex-col justify-between overflow-hidden" > diff --git a/frontend/src/pages/MobileDeal.vue b/frontend/src/pages/MobileDeal.vue index c41ee341..d03c55cf 100644 --- a/frontend/src/pages/MobileDeal.vue +++ b/frontend/src/pages/MobileDeal.vue @@ -62,9 +62,9 @@ class="flex flex-1 flex-col justify-between overflow-hidden" > diff --git a/frontend/src/pages/MobileLead.vue b/frontend/src/pages/MobileLead.vue index 4e304d53..301f2a2e 100644 --- a/frontend/src/pages/MobileLead.vue +++ b/frontend/src/pages/MobileLead.vue @@ -67,9 +67,9 @@ class="flex flex-1 flex-col justify-between overflow-hidden" > diff --git a/frontend/src/pages/MobileOrganization.vue b/frontend/src/pages/MobileOrganization.vue index ba91553b..accd3831 100644 --- a/frontend/src/pages/MobileOrganization.vue +++ b/frontend/src/pages/MobileOrganization.vue @@ -112,9 +112,9 @@ class="flex flex-1 flex-col justify-between overflow-hidden" > diff --git a/frontend/src/pages/Organization.vue b/frontend/src/pages/Organization.vue index 3c1ce8b4..111857fd 100644 --- a/frontend/src/pages/Organization.vue +++ b/frontend/src/pages/Organization.vue @@ -106,9 +106,9 @@ class="flex flex-1 flex-col justify-between overflow-hidden" > From b5dc2c73ab705b3cf5c1123b75e089fbfa2297cb Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 15 May 2025 01:15:25 +0530 Subject: [PATCH 09/46] fix: remove updateField event from various components (cherry picked from commit baf344a6976b61a2c62a4cc2e60bf159f546ac49) (cherry picked from commit 454dbd06cc39bbf93e955d0b6e462641c9c07d8d) --- frontend/src/components/Modals/SidePanelModal.vue | 2 +- frontend/src/components/SidePanelLayout.vue | 15 ++++++++++++--- frontend/src/pages/Contact.vue | 1 - frontend/src/pages/Deal.vue | 1 - frontend/src/pages/Lead.vue | 1 - frontend/src/pages/MobileContact.vue | 1 - frontend/src/pages/MobileDeal.vue | 1 - frontend/src/pages/MobileLead.vue | 1 - frontend/src/pages/MobileOrganization.vue | 1 - frontend/src/pages/Organization.vue | 1 - 10 files changed, 13 insertions(+), 12 deletions(-) diff --git a/frontend/src/components/Modals/SidePanelModal.vue b/frontend/src/components/Modals/SidePanelModal.vue index d352b44f..800f9262 100644 --- a/frontend/src/components/Modals/SidePanelModal.vue +++ b/frontend/src/components/Modals/SidePanelModal.vue @@ -38,9 +38,9 @@ />
diff --git a/frontend/src/components/SidePanelLayout.vue b/frontend/src/components/SidePanelLayout.vue index c01607bf..9272c656 100644 --- a/frontend/src/components/SidePanelLayout.vue +++ b/frontend/src/components/SidePanelLayout.vue @@ -1,6 +1,6 @@