fix: allow creating/updating custom view
This commit is contained in:
parent
c06d534744
commit
e86a5cf98d
@ -17,12 +17,12 @@ def create(view):
|
|||||||
view.columns = parse_json(view.columns or '[]')
|
view.columns = parse_json(view.columns or '[]')
|
||||||
view.rows = parse_json(view.rows or '[]')
|
view.rows = parse_json(view.rows or '[]')
|
||||||
|
|
||||||
default_rows = sync_default_list_rows(view.doctype)
|
default_rows = sync_default_rows(view.doctype)
|
||||||
view.rows = view.rows + default_rows if default_rows else view.rows
|
view.rows = view.rows + default_rows if default_rows else view.rows
|
||||||
view.rows = remove_duplicates(view.rows)
|
view.rows = remove_duplicates(view.rows)
|
||||||
|
|
||||||
if not view.columns:
|
if not view.columns:
|
||||||
view.columns = sync_default_list_columns(view.doctype)
|
view.columns = sync_default_columns(view)
|
||||||
|
|
||||||
doc = frappe.new_doc("CRM View Settings")
|
doc = frappe.new_doc("CRM View Settings")
|
||||||
doc.name = view.label
|
doc.name = view.label
|
||||||
@ -36,6 +36,7 @@ def create(view):
|
|||||||
doc.filters = json.dumps(view.filters)
|
doc.filters = json.dumps(view.filters)
|
||||||
doc.order_by = view.order_by
|
doc.order_by = view.order_by
|
||||||
doc.group_by_field = view.group_by_field
|
doc.group_by_field = view.group_by_field
|
||||||
|
doc.column_field = view.column_field
|
||||||
doc.columns = json.dumps(view.columns)
|
doc.columns = json.dumps(view.columns)
|
||||||
doc.rows = json.dumps(view.rows)
|
doc.rows = json.dumps(view.rows)
|
||||||
doc.insert()
|
doc.insert()
|
||||||
@ -49,7 +50,7 @@ def update(view):
|
|||||||
columns = parse_json(view.columns) or []
|
columns = parse_json(view.columns) or []
|
||||||
rows = parse_json(view.rows) or []
|
rows = parse_json(view.rows) or []
|
||||||
|
|
||||||
default_rows = sync_default_list_rows(view.doctype)
|
default_rows = sync_default_rows(view.doctype)
|
||||||
rows = rows + default_rows if default_rows else rows
|
rows = rows + default_rows if default_rows else rows
|
||||||
rows = remove_duplicates(rows)
|
rows = remove_duplicates(rows)
|
||||||
|
|
||||||
@ -62,6 +63,7 @@ def update(view):
|
|||||||
doc.filters = json.dumps(filters)
|
doc.filters = json.dumps(filters)
|
||||||
doc.order_by = view.order_by
|
doc.order_by = view.order_by
|
||||||
doc.group_by_field = view.group_by_field
|
doc.group_by_field = view.group_by_field
|
||||||
|
doc.column_field = view.column_field
|
||||||
doc.columns = json.dumps(columns)
|
doc.columns = json.dumps(columns)
|
||||||
doc.rows = json.dumps(rows)
|
doc.rows = json.dumps(rows)
|
||||||
doc.save()
|
doc.save()
|
||||||
|
|||||||
@ -297,7 +297,6 @@ const { reload: reloadView, getView } = viewsStore()
|
|||||||
const { isManager } = usersStore()
|
const { isManager } = usersStore()
|
||||||
|
|
||||||
const list = defineModel()
|
const list = defineModel()
|
||||||
const kanban = defineModel('kanban')
|
|
||||||
const loadMore = defineModel('loadMore')
|
const loadMore = defineModel('loadMore')
|
||||||
const resizeColumn = defineModel('resizeColumn')
|
const resizeColumn = defineModel('resizeColumn')
|
||||||
const updatedPageCount = defineModel('updatedPageCount')
|
const updatedPageCount = defineModel('updatedPageCount')
|
||||||
@ -346,6 +345,7 @@ const view = ref({
|
|||||||
icon: '',
|
icon: '',
|
||||||
filters: {},
|
filters: {},
|
||||||
order_by: 'modified desc',
|
order_by: 'modified desc',
|
||||||
|
column_field: 'status',
|
||||||
columns: '',
|
columns: '',
|
||||||
rows: '',
|
rows: '',
|
||||||
load_default_columns: false,
|
load_default_columns: false,
|
||||||
@ -399,23 +399,6 @@ function getParams() {
|
|||||||
public: _view?.public || false,
|
public: _view?.public || false,
|
||||||
}
|
}
|
||||||
|
|
||||||
let params = {}
|
|
||||||
|
|
||||||
if (route.params.viewType === 'kanban') {
|
|
||||||
params = {
|
|
||||||
column_field: column_field,
|
|
||||||
columns: columns,
|
|
||||||
rows: rows,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
params = {
|
|
||||||
columns: columns,
|
|
||||||
rows: rows,
|
|
||||||
page_length: pageLength.value,
|
|
||||||
page_length_count: pageLengthCount.value,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
doctype: props.doctype,
|
doctype: props.doctype,
|
||||||
filters: filters,
|
filters: filters,
|
||||||
@ -426,7 +409,11 @@ function getParams() {
|
|||||||
view_type: view_type,
|
view_type: view_type,
|
||||||
group_by_field: group_by_field,
|
group_by_field: group_by_field,
|
||||||
},
|
},
|
||||||
...params,
|
column_field: column_field,
|
||||||
|
columns: columns,
|
||||||
|
rows: rows,
|
||||||
|
page_length: pageLength.value,
|
||||||
|
page_length_count: pageLengthCount.value,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -441,17 +428,17 @@ list.value = createResource({
|
|||||||
doctype: props.doctype,
|
doctype: props.doctype,
|
||||||
filters: params.filters,
|
filters: params.filters,
|
||||||
order_by: params.order_by,
|
order_by: params.order_by,
|
||||||
page_length: params.page_length,
|
default_filters: props.filters,
|
||||||
page_length_count: params.page_length_count,
|
|
||||||
column_field: params.column_field,
|
|
||||||
columns: data.columns,
|
|
||||||
rows: data.rows,
|
|
||||||
view: {
|
view: {
|
||||||
custom_view_name: cv?.name || '',
|
custom_view_name: cv?.name || '',
|
||||||
view_type: cv?.type || route.params.viewType || 'list',
|
view_type: cv?.type || route.params.viewType || 'list',
|
||||||
group_by_field: params?.view?.group_by_field || 'owner',
|
group_by_field: params?.view?.group_by_field || 'owner',
|
||||||
},
|
},
|
||||||
default_filters: props.filters,
|
column_field: params.column_field,
|
||||||
|
columns: data.columns,
|
||||||
|
rows: data.rows,
|
||||||
|
page_length: params.page_length,
|
||||||
|
page_length_count: params.page_length_count,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user