diff --git a/crm/api/doc.py b/crm/api/doc.py
index 9b84bc7a..b8766283 100644
--- a/crm/api/doc.py
+++ b/crm/api/doc.py
@@ -413,39 +413,9 @@ def get_data(
"row_count": len(data),
"form_script": get_form_script(doctype),
"list_script": get_form_script(doctype, "List"),
+ "view_type": view_type,
}
-@frappe.whitelist()
-def get_kanban_data(
- doctype: str,
- filters: dict,
- order_by: str,
- column_field: str,
- columns=None,
- rows=None,
- default_filters=None,
-):
- filters = frappe._dict(filters)
- columns = frappe.parse_json(columns)
- data = []
-
- if default_filters:
- default_filters = frappe.parse_json(default_filters)
- filters.update(default_filters)
-
- for column in columns:
- column_filters = filters.copy()
- column_filters.update({column_field: column})
- column_data = frappe.get_list(
- doctype,
- fields=rows,
- filters=column_filters,
- order_by=order_by,
- page_length=20,
- )
- data.append({"column": column, "data": column_data, "count": len(column_data)})
- return data
-
@frappe.whitelist()
def get_fields_meta(doctype, restricted_fieldtypes=None, as_array=False):
not_allowed_fieldtypes = [
diff --git a/frontend/src/pages/CallLogs.vue b/frontend/src/pages/CallLogs.vue
index ad345b33..73450039 100644
--- a/frontend/src/pages/CallLogs.vue
+++ b/frontend/src/pages/CallLogs.vue
@@ -76,7 +76,11 @@ const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
- if (!callLogs.value?.data?.data) return []
+ if (
+ !callLogs.value?.data?.data ||
+ !['list', 'group_by'].includes(callLogs.value.data.view_type)
+ )
+ return []
return callLogs.value?.data.data.map((callLog) => {
let _rows = {}
callLogs.value?.data.rows.forEach((row) => {
diff --git a/frontend/src/pages/Contacts.vue b/frontend/src/pages/Contacts.vue
index 44c0ebd4..604c3296 100644
--- a/frontend/src/pages/Contacts.vue
+++ b/frontend/src/pages/Contacts.vue
@@ -82,7 +82,7 @@ const showContactModal = ref(false)
const currentContact = computed(() => {
return contacts.value?.data?.data?.find(
- (contact) => contact.name === route.params.contactId
+ (contact) => contact.name === route.params.contactId,
)
})
@@ -109,7 +109,11 @@ const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
- if (!contacts.value?.data?.data) return []
+ if (
+ !contacts.value?.data?.data ||
+ !['list', 'group_by'].includes(contacts.value.data.view_type)
+ )
+ return []
return contacts.value?.data.data.map((contact) => {
let _rows = {}
contacts.value?.data.rows.forEach((row) => {
diff --git a/frontend/src/pages/Deals.vue b/frontend/src/pages/Deals.vue
index fe5f6c53..92d0fdad 100644
--- a/frontend/src/pages/Deals.vue
+++ b/frontend/src/pages/Deals.vue
@@ -28,7 +28,7 @@
allowedViews: ['list', 'group_by', 'kanban'],
}"
/>
-
+
{
- if (!deals.value?.data?.data) return []
+ if (
+ !deals.value?.data?.data ||
+ !['list', 'group_by'].includes(deals.value.data.view_type)
+ )
+ return []
if (route.params.viewType === 'group_by') {
if (!deals.value?.data.group_by_field?.name) return []
return getGroupedByRows(
diff --git a/frontend/src/pages/EmailTemplates.vue b/frontend/src/pages/EmailTemplates.vue
index 71e41fee..7dfc6442 100644
--- a/frontend/src/pages/EmailTemplates.vue
+++ b/frontend/src/pages/EmailTemplates.vue
@@ -92,7 +92,11 @@ const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
- if (!emailTemplates.value?.data?.data) return []
+ if (
+ !emailTemplates.value?.data?.data ||
+ !['list', 'group_by'].includes(emailTemplates.value.data.view_type)
+ )
+ return []
return emailTemplates.value?.data.data.map((emailTemplate) => {
let _rows = {}
emailTemplates.value?.data.rows.forEach((row) => {
diff --git a/frontend/src/pages/Leads.vue b/frontend/src/pages/Leads.vue
index 3cde4593..6ff13c75 100644
--- a/frontend/src/pages/Leads.vue
+++ b/frontend/src/pages/Leads.vue
@@ -29,7 +29,7 @@
allowedViews: ['list', 'group_by', 'kanban'],
}"
/>
-
+
{
- if (!leads.value?.data?.data) return []
+ if (
+ !leads.value?.data?.data ||
+ !['list', 'group_by'].includes(leads.value.data.view_type)
+ )
+ return []
if (route.params.viewType === 'group_by') {
if (!leads.value?.data.group_by_field?.name) return []
return getGroupedByRows(
diff --git a/frontend/src/pages/Organizations.vue b/frontend/src/pages/Organizations.vue
index 10781088..79101c44 100644
--- a/frontend/src/pages/Organizations.vue
+++ b/frontend/src/pages/Organizations.vue
@@ -110,7 +110,11 @@ const updatedPageCount = ref(20)
const viewControls = ref(null)
const rows = computed(() => {
- if (!organizations.value?.data?.data) return []
+ if (
+ !organizations.value?.data?.data ||
+ !['list', 'group_by'].includes(organizations.value.data.view_type)
+ )
+ return []
return organizations.value?.data.data.map((organization) => {
let _rows = {}
organizations.value?.data.rows.forEach((row) => {
diff --git a/frontend/src/pages/Tasks.vue b/frontend/src/pages/Tasks.vue
index 4cc285d5..11d32034 100644
--- a/frontend/src/pages/Tasks.vue
+++ b/frontend/src/pages/Tasks.vue
@@ -24,7 +24,7 @@
allowedViews: ['list', 'kanban'],
}"
/>
-
+
{
- if (!tasks.value?.data?.data) return []
+ if (
+ !tasks.value?.data?.data ||
+ !['list', 'group_by'].includes(tasks.value.data.view_type)
+ )
+ return []
return tasks.value?.data.data.map((task) => {
let _rows = {}
tasks.value?.data.rows.forEach((row) => {