diff --git a/crm/api/doc.py b/crm/api/doc.py index 9cc5c653..4bcbe3cc 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -418,16 +418,23 @@ def get_data( rows.append(field) for kc in kanban_columns: - column_filters = {column_field: kc.get("name")} + # Start with base filters + column_filters = [] + + # Convert and add the main filters first + if filters: + base_filters = convert_filter_to_tuple(doctype, filters) + column_filters.extend(base_filters) + + # Add the column-specific filter + if column_field and kc.get("name"): + column_filters.append([doctype, column_field, "=", kc.get("name")]) + order = kc.get("order") - if (column_field in filters and filters.get(column_field) != kc.get("name")) or kc.get("delete"): + if kc.get("delete"): column_data = [] else: - column_filters.update(filters.copy()) - page_length = 20 - - if kc.get("page_length"): - page_length = kc.get("page_length") + page_length = kc.get("page_length", 20) if order: column_data = get_records_based_on_order( @@ -437,26 +444,20 @@ def get_data( column_data = frappe.get_list( doctype, fields=rows, - filters=convert_filter_to_tuple(doctype, column_filters), + filters=column_filters, order_by=order_by, page_length=page_length, ) - new_filters = filters.copy() - new_filters.update({column_field: kc.get("name")}) - all_count = frappe.get_list( doctype, - filters=convert_filter_to_tuple(doctype, new_filters), + filters=column_filters, fields="count(*) as total_count", )[0].total_count kc["all_count"] = all_count kc["count"] = len(column_data) - for d in column_data: - getCounts(d, doctype) - if order: column_data = sorted( column_data, diff --git a/crm/fcrm/doctype/crm_call_log/crm_call_log.json b/crm/fcrm/doctype/crm_call_log/crm_call_log.json index cb7f91c2..cecd46c6 100644 --- a/crm/fcrm/doctype/crm_call_log/crm_call_log.json +++ b/crm/fcrm/doctype/crm_call_log/crm_call_log.json @@ -41,13 +41,15 @@ "fieldname": "from", "fieldtype": "Data", "in_list_view": 1, - "label": "From" + "label": "From", + "reqd": 1 }, { "fieldname": "status", "fieldtype": "Select", "label": "Status", - "options": "Initiated\nRinging\nIn Progress\nCompleted\nFailed\nBusy\nNo Answer\nQueued\nCanceled" + "options": "Initiated\nRinging\nIn Progress\nCompleted\nFailed\nBusy\nNo Answer\nQueued\nCanceled", + "reqd": 1 }, { "fieldname": "start_time", @@ -69,13 +71,15 @@ "in_list_view": 1, "in_standard_filter": 1, "label": "Type", - "options": "Incoming\nOutgoing" + "options": "Incoming\nOutgoing", + "reqd": 1 }, { "fieldname": "to", "fieldtype": "Data", "in_list_view": 1, - "label": "To" + "label": "To", + "reqd": 1 }, { "description": "Call duration in seconds", @@ -153,7 +157,7 @@ ], "index_web_pages_for_search": 1, "links": [], - "modified": "2025-01-22 17:57:59.289548", + "modified": "2025-04-01 16:01:54.479309", "modified_by": "Administrator", "module": "FCRM", "name": "CRM Call Log", diff --git a/crm/fcrm/doctype/fcrm_note/fcrm_note.json b/crm/fcrm/doctype/fcrm_note/fcrm_note.json index fc458fec..02477326 100644 --- a/crm/fcrm/doctype/fcrm_note/fcrm_note.json +++ b/crm/fcrm/doctype/fcrm_note/fcrm_note.json @@ -19,7 +19,8 @@ "fieldtype": "Data", "in_list_view": 1, "in_standard_filter": 1, - "label": "Title" + "label": "Title", + "reqd": 1 }, { "fieldname": "content", @@ -49,7 +50,7 @@ "link_fieldname": "note" } ], - "modified": "2024-01-19 21:56:30.123334", + "modified": "2025-04-01 15:30:14.742001", "modified_by": "Administrator", "module": "FCRM", "name": "FCRM Note", diff --git a/crm/locale/main.pot b/crm/locale/main.pot index d51ecf58..4220a17f 100644 --- a/crm/locale/main.pot +++ b/crm/locale/main.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Frappe CRM VERSION\n" "Report-Msgid-Bugs-To: shariq@frappe.io\n" -"POT-Creation-Date: 2025-03-30 09:35+0000\n" -"PO-Revision-Date: 2025-03-30 09:35+0000\n" +"POT-Creation-Date: 2025-04-06 09:35+0000\n" +"PO-Revision-Date: 2025-04-06 09:35+0000\n" "Last-Translator: shariq@frappe.io\n" "Language-Team: shariq@frappe.io\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid " (New)" msgstr "" -#: frontend/src/components/Modals/TaskModal.vue:95 +#: frontend/src/components/Modals/TaskModal.vue:66 #: frontend/src/components/Telephony/TaskPanel.vue:67 msgid "01/04/2024 11:30 PM" msgstr "" @@ -631,8 +631,8 @@ msgstr "" msgid "Call using {0}" msgstr "" -#: frontend/src/components/Modals/NoteModal.vue:43 -#: frontend/src/components/Modals/TaskModal.vue:43 +#: frontend/src/components/Modals/NoteModal.vue:30 +#: frontend/src/components/Modals/TaskModal.vue:30 msgid "Call with John Doe" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: crm/fcrm/doctype/fcrm_note/fcrm_note.json #: frontend/src/components/Modals/EmailTemplateModal.vue:61 #: frontend/src/components/Modals/EmailTemplateModal.vue:74 -#: frontend/src/components/Modals/NoteModal.vue:47 +#: frontend/src/components/Modals/NoteModal.vue:34 msgid "Content" msgstr "" @@ -923,14 +923,14 @@ msgid "Converted successfully" msgstr "" #: frontend/src/components/Modals/AddressModal.vue:100 -#: frontend/src/components/Modals/CallLogModal.vue:104 +#: frontend/src/components/Modals/CallLogModal.vue:85 #: frontend/src/components/Modals/ContactModal.vue:37 #: frontend/src/components/Modals/DealModal.vue:63 #: frontend/src/components/Modals/EmailTemplateModal.vue:9 #: frontend/src/components/Modals/LeadModal.vue:34 -#: frontend/src/components/Modals/NoteModal.vue:8 -#: frontend/src/components/Modals/OrganizationModal.vue:37 -#: frontend/src/components/Modals/TaskModal.vue:8 +#: frontend/src/components/Modals/NoteModal.vue:6 +#: frontend/src/components/Modals/OrganizationModal.vue:25 +#: frontend/src/components/Modals/TaskModal.vue:6 #: frontend/src/components/Modals/ViewModal.vue:16 #: frontend/src/pages/CallLogs.vue:11 frontend/src/pages/Contacts.vue:13 #: frontend/src/pages/Contacts.vue:57 frontend/src/pages/Deals.vue:13 @@ -963,12 +963,12 @@ msgid "Create New" msgstr "" #: frontend/src/components/Activities/Activities.vue:383 -#: frontend/src/components/Modals/NoteModal.vue:18 +#: frontend/src/components/Modals/NoteModal.vue:15 msgid "Create Note" msgstr "" #: frontend/src/components/Activities/Activities.vue:398 -#: frontend/src/components/Modals/TaskModal.vue:18 +#: frontend/src/components/Modals/TaskModal.vue:15 msgid "Create Task" msgstr "" @@ -1197,7 +1197,7 @@ msgstr "" #. Label of the description (Text Editor) field in DocType 'CRM Task' #: crm/fcrm/doctype/crm_holiday/crm_holiday.json #: crm/fcrm/doctype/crm_task/crm_task.json -#: frontend/src/components/Modals/TaskModal.vue:48 +#: frontend/src/components/Modals/TaskModal.vue:35 msgid "Description" msgstr "" @@ -1343,7 +1343,7 @@ msgstr "" msgid "Edit" msgstr "" -#: frontend/src/components/Modals/CallLogModal.vue:100 +#: frontend/src/components/Modals/CallLogModal.vue:81 msgid "Edit Call Log" msgstr "" @@ -1363,7 +1363,7 @@ msgstr "" msgid "Edit Grid Row Fields Layout" msgstr "" -#: frontend/src/components/Modals/NoteModal.vue:18 +#: frontend/src/components/Modals/NoteModal.vue:15 msgid "Edit Note" msgstr "" @@ -1371,7 +1371,7 @@ msgstr "" msgid "Edit Quick Entry Layout" msgstr "" -#: frontend/src/components/Modals/TaskModal.vue:18 +#: frontend/src/components/Modals/TaskModal.vue:15 msgid "Edit Task" msgstr "" @@ -2059,7 +2059,7 @@ msgstr "" #: frontend/src/components/Filter.vue:75 frontend/src/components/Filter.vue:108 #: frontend/src/components/Modals/AssignmentModal.vue:35 -#: frontend/src/components/Modals/TaskModal.vue:75 +#: frontend/src/components/Modals/TaskModal.vue:51 #: frontend/src/components/Telephony/TaskPanel.vue:47 msgid "John Doe" msgstr "" @@ -2446,7 +2446,7 @@ msgstr "" msgid "New Address" msgstr "" -#: frontend/src/components/Modals/CallLogModal.vue:100 +#: frontend/src/components/Modals/CallLogModal.vue:81 msgid "New Call Log" msgstr "" @@ -2735,13 +2735,13 @@ msgstr "" msgid "Only one {0} can be set as primary." msgstr "" -#: frontend/src/components/Modals/NoteModal.vue:25 -#: frontend/src/components/Modals/TaskModal.vue:25 +#: frontend/src/components/Modals/NoteModal.vue:18 +#: frontend/src/components/Modals/TaskModal.vue:18 msgid "Open Deal" msgstr "" -#: frontend/src/components/Modals/NoteModal.vue:26 -#: frontend/src/components/Modals/TaskModal.vue:26 +#: frontend/src/components/Modals/NoteModal.vue:19 +#: frontend/src/components/Modals/TaskModal.vue:19 msgid "Open Lead" msgstr "" @@ -3331,7 +3331,7 @@ msgstr "" #: frontend/src/components/Controls/GridRowFieldsModal.vue:26 #: frontend/src/components/DropdownItem.vue:21 #: frontend/src/components/Modals/AddressModal.vue:100 -#: frontend/src/components/Modals/CallLogModal.vue:104 +#: frontend/src/components/Modals/CallLogModal.vue:85 #: frontend/src/components/Modals/DataFieldsModal.vue:26 #: frontend/src/components/Modals/QuickEntryModal.vue:26 #: frontend/src/components/Modals/SidePanelModal.vue:26 @@ -3709,8 +3709,8 @@ msgstr "" #. Label of the title (Data) field in DocType 'FCRM Note' #: crm/fcrm/doctype/crm_task/crm_task.json #: crm/fcrm/doctype/fcrm_note/fcrm_note.json -#: frontend/src/components/Modals/NoteModal.vue:41 -#: frontend/src/components/Modals/TaskModal.vue:41 +#: frontend/src/components/Modals/NoteModal.vue:30 +#: frontend/src/components/Modals/TaskModal.vue:30 msgid "Title" msgstr "" @@ -3757,8 +3757,8 @@ msgstr "" msgid "Tomorrow" msgstr "" -#: frontend/src/components/Modals/NoteModal.vue:56 -#: frontend/src/components/Modals/TaskModal.vue:58 +#: frontend/src/components/Modals/NoteModal.vue:37 +#: frontend/src/components/Modals/TaskModal.vue:39 msgid "Took a call with John Doe and discussed the new project." msgstr "" @@ -3860,8 +3860,8 @@ msgstr "" #: frontend/src/components/ColumnSettings.vue:134 #: frontend/src/components/Modals/AssignmentModal.vue:17 #: frontend/src/components/Modals/EmailTemplateModal.vue:9 -#: frontend/src/components/Modals/NoteModal.vue:8 -#: frontend/src/components/Modals/TaskModal.vue:8 +#: frontend/src/components/Modals/NoteModal.vue:6 +#: frontend/src/components/Modals/TaskModal.vue:6 #: frontend/src/components/Settings/GeneralSettings.vue:112 #: frontend/src/components/Settings/ProfileSettings.vue:71 #: frontend/src/components/Settings/SettingsPage.vue:31 @@ -4144,7 +4144,7 @@ msgstr "" msgid "kanban" msgstr "" -#: crm/api/doc.py:38 crm/api/doc.py:156 crm/api/doc.py:500 +#: crm/api/doc.py:38 crm/api/doc.py:156 crm/api/doc.py:501 msgid "label" msgstr "" diff --git a/frappe-ui b/frappe-ui index 3423aa5b..29307e4f 160000 --- a/frappe-ui +++ b/frappe-ui @@ -1 +1 @@ -Subproject commit 3423aa5b5c38d3a1b143ae8ab08cbde7360f9a7c +Subproject commit 29307e4fffaacdbb3d9c5d95c5270b2f245a5607 diff --git a/frontend/components.d.ts b/frontend/components.d.ts index ef8a8359..648edc46 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -156,6 +156,7 @@ declare module 'vue' { MobileLayout: typeof import('./src/components/Layouts/MobileLayout.vue')['default'] MobileSidebar: typeof import('./src/components/Mobile/MobileSidebar.vue')['default'] MoneyIcon: typeof import('./src/components/Icons/MoneyIcon.vue')['default'] + MultiActionButton: typeof import('./src/components/MultiActionButton.vue')['default'] MultipleAvatar: typeof import('./src/components/MultipleAvatar.vue')['default'] MultiSelectEmailInput: typeof import('./src/components/Controls/MultiSelectEmailInput.vue')['default'] MuteIcon: typeof import('./src/components/Icons/MuteIcon.vue')['default'] diff --git a/frontend/package.json b/frontend/package.json index 9c3d841f..e4904246 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,7 +11,7 @@ "dependencies": { "@twilio/voice-sdk": "^2.10.2", "@vueuse/integrations": "^10.3.0", - "frappe-ui": "^0.1.121", + "frappe-ui": "^0.1.123", "gemoji": "^8.1.0", "lodash": "^4.17.21", "mime": "^4.0.1", diff --git a/frontend/src/components/Activities/Activities.vue b/frontend/src/components/Activities/Activities.vue index 8e49b8db..847667a7 100644 --- a/frontend/src/components/Activities/Activities.vue +++ b/frontend/src/components/Activities/Activities.vue @@ -373,11 +373,7 @@ > {{ __(emptyText) }} - - + :options="callActions" + />