fix: get default view api

This commit is contained in:
Shariq Ansari 2025-02-19 11:40:49 +05:30
parent 1ca4d0bd4b
commit dc61df1717
2 changed files with 18 additions and 5 deletions

View File

@ -8,9 +8,14 @@ def get_views(doctype):
query = (
frappe.qb.from_(View)
.select("*")
.where(Criterion.any([View.user == '', View.user == frappe.session.user]))
.where(Criterion.any([View.user == "", View.user == frappe.session.user]))
)
if doctype:
query = query.where(View.dt == doctype)
views = query.run(as_dict=True)
return views
return views
@frappe.whitelist()
def get_default_view():
return frappe.db.get_single_value("FCRM Settings", "default_view") or None

View File

@ -6,7 +6,14 @@ export const viewsStore = defineStore('crm-views', (doctype) => {
let viewsByName = reactive({})
let pinnedViews = ref([])
let publicViews = ref([])
let defaultView = ref({})
let standardViews = ref({})
// Default view
const defaultView = createResource({
url: 'crm.api.views.get_default_view',
cache: 'crm-default-view',
auto: true,
})
// Views
const views = createResource({
@ -28,7 +35,7 @@ export const viewsStore = defineStore('crm-views', (doctype) => {
publicViews.value?.push(view)
}
if (view.is_default && view.dt) {
defaultView.value[view.dt + ' ' + view.type] = view
standardViews.value[view.dt + ' ' + view.type] = view
}
}
return views
@ -38,7 +45,7 @@ export const viewsStore = defineStore('crm-views', (doctype) => {
function getView(view, type, doctype = null) {
type = type || 'list'
if (!view && doctype) {
return defaultView.value[doctype + ' ' + type] || null
return standardViews.value[doctype + ' ' + type] || null
}
return viewsByName[view]
}
@ -60,6 +67,7 @@ export const viewsStore = defineStore('crm-views', (doctype) => {
return {
views,
defaultView,
standardViews,
getPinnedViews,
getPublicViews,
reload,