fix: check view type before loading data
This commit is contained in:
parent
e86a5cf98d
commit
e39ed5d695
@ -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 = [
|
||||
|
||||
@ -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) => {
|
||||
|
||||
@ -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) => {
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
allowedViews: ['list', 'group_by', 'kanban'],
|
||||
}"
|
||||
/>
|
||||
<KanbanView v-if="route.params.viewType == 'kanban'" v-model="deals" />
|
||||
<KanbanView v-if="route.params.viewType == 'kanban'" v-model="deals" />
|
||||
<DealsListView
|
||||
ref="dealsListView"
|
||||
v-else-if="deals.data && rows.length"
|
||||
@ -106,7 +106,11 @@ const viewControls = ref(null)
|
||||
|
||||
// Rows
|
||||
const rows = computed(() => {
|
||||
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(
|
||||
|
||||
@ -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) => {
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
allowedViews: ['list', 'group_by', 'kanban'],
|
||||
}"
|
||||
/>
|
||||
<KanbanView v-if="route.params.viewType == 'kanban'" v-model="leads" />
|
||||
<KanbanView v-if="route.params.viewType == 'kanban'" v-model="leads" />
|
||||
<LeadsListView
|
||||
ref="leadsListView"
|
||||
v-else-if="leads.data && rows.length"
|
||||
@ -108,7 +108,11 @@ const viewControls = ref(null)
|
||||
|
||||
// Rows
|
||||
const rows = computed(() => {
|
||||
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(
|
||||
|
||||
@ -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) => {
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
allowedViews: ['list', 'kanban'],
|
||||
}"
|
||||
/>
|
||||
<KanbanView v-if="$route.params.viewType == 'kanban'" v-model="tasks" />
|
||||
<KanbanView v-if="$route.params.viewType == 'kanban'" v-model="tasks" />
|
||||
<TasksListView
|
||||
ref="tasksListView"
|
||||
v-else-if="tasks.data && rows.length"
|
||||
@ -87,7 +87,11 @@ const updatedPageCount = ref(20)
|
||||
const viewControls = ref(null)
|
||||
|
||||
const rows = computed(() => {
|
||||
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) => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user