fix: removed default view backend logic
This commit is contained in:
parent
cf481889bd
commit
2f89e9bbfb
@ -235,7 +235,7 @@ def get_list_data(
|
||||
"page_length": page_length,
|
||||
"page_length_count": page_length_count,
|
||||
"is_default": is_default,
|
||||
"views": get_views(doctype, is_view=True),
|
||||
"views": get_views(doctype),
|
||||
"total_count": frappe.client.get_count(doctype, filters=filters),
|
||||
"row_count": len(data),
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ from pypika import Criterion
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_views(doctype, is_view=False):
|
||||
def get_views(doctype):
|
||||
if frappe.session.user == "Guest":
|
||||
frappe.throw("Authentication failed", exc=frappe.AuthenticationError)
|
||||
|
||||
@ -13,8 +13,6 @@ def get_views(doctype, is_view=False):
|
||||
.select("*")
|
||||
.where(Criterion.any([View.user == '', View.user == frappe.session.user]))
|
||||
)
|
||||
if is_view:
|
||||
query = query.where(View.is_view == True)
|
||||
if doctype:
|
||||
query = query.where(View.dt == doctype)
|
||||
views = query.run(as_dict=True)
|
||||
|
||||
@ -7,14 +7,11 @@
|
||||
"field_order": [
|
||||
"label",
|
||||
"user",
|
||||
"user_list",
|
||||
"column_break_zacm",
|
||||
"dt",
|
||||
"route_name",
|
||||
"pinned",
|
||||
"public",
|
||||
"default",
|
||||
"is_view",
|
||||
"columns_tab",
|
||||
"load_default_columns",
|
||||
"columns",
|
||||
@ -31,7 +28,6 @@
|
||||
"label": "Columns"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval: doc.public == false",
|
||||
"fieldname": "user",
|
||||
"fieldtype": "Link",
|
||||
"label": "User",
|
||||
@ -108,29 +104,11 @@
|
||||
"fieldname": "public",
|
||||
"fieldtype": "Check",
|
||||
"label": "Public"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "default",
|
||||
"fieldtype": "Check",
|
||||
"label": "Default"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "is_view",
|
||||
"fieldtype": "Check",
|
||||
"label": "Is View"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval: doc.public == true",
|
||||
"fieldname": "user_list",
|
||||
"fieldtype": "Text",
|
||||
"label": "User List"
|
||||
}
|
||||
],
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2024-01-22 21:44:41.733977",
|
||||
"modified": "2024-02-03 18:22:48.406099",
|
||||
"modified_by": "Administrator",
|
||||
"module": "FCRM",
|
||||
"name": "CRM View Settings",
|
||||
|
||||
@ -24,7 +24,6 @@ def create(view):
|
||||
doc = frappe.new_doc("CRM View Settings")
|
||||
doc.name = view.label
|
||||
doc.label = view.label
|
||||
doc.is_view = True
|
||||
doc.dt = view.doctype
|
||||
doc.user = frappe.session.user
|
||||
doc.route_name = view.route_name or ""
|
||||
@ -50,7 +49,6 @@ def update(view):
|
||||
|
||||
doc = frappe.get_doc("CRM View Settings", view.name)
|
||||
doc.label = view.label
|
||||
doc.is_view = True
|
||||
doc.route_name = view.route_name or ""
|
||||
doc.load_default_columns = view.load_default_columns or False
|
||||
doc.filters = json.dumps(filters)
|
||||
@ -81,60 +79,6 @@ def pin(name, value):
|
||||
doc.pinned = value
|
||||
doc.save()
|
||||
|
||||
@frappe.whitelist()
|
||||
def make_default(name, doctype, route_name):
|
||||
existing_default_view = frappe.db.exists("CRM View Settings", {
|
||||
"default": True,
|
||||
"user": frappe.session.user
|
||||
})
|
||||
if existing_default_view:
|
||||
frappe.db.set_value("CRM View Settings", existing_default_view, "default", False)
|
||||
else:
|
||||
public_default = frappe.db.exists("CRM View Settings", {
|
||||
"default": True,
|
||||
"public": True
|
||||
})
|
||||
if public_default:
|
||||
public_default_view = frappe.get_doc("CRM View Settings", public_default)
|
||||
user_list = json.loads(public_default_view.user_list)
|
||||
if frappe.session.user in user_list:
|
||||
updated_user_list = [user for user in user_list if user != frappe.session.user]
|
||||
if not updated_user_list:
|
||||
public_default_view.default = False
|
||||
public_default_view.user_list = None
|
||||
else:
|
||||
public_default_view.user_list = json.dumps(updated_user_list)
|
||||
public_default_view.save()
|
||||
|
||||
if not name and doctype:
|
||||
exists = frappe.db.exists("CRM View Settings", {
|
||||
"dt": doctype,
|
||||
"is_view": False,
|
||||
"user": frappe.session.user
|
||||
})
|
||||
if not exists:
|
||||
doc = frappe.new_doc("CRM View Settings")
|
||||
doc.label = "List View"
|
||||
doc.default = True
|
||||
doc.dt = doctype
|
||||
doc.route_name = route_name
|
||||
doc.user = frappe.session.user
|
||||
doc.is_view = False
|
||||
doc.insert()
|
||||
else:
|
||||
frappe.db.set_value("CRM View Settings", exists, "default", True)
|
||||
elif frappe.db.get_value("CRM View Settings", name, "public"):
|
||||
doc = frappe.get_doc("CRM View Settings", name)
|
||||
doc.default = True
|
||||
doc.user_list = (
|
||||
json.dumps([frappe.session.user])
|
||||
if not doc.user_list
|
||||
else json.dumps(json.loads(doc.user_list) + [frappe.session.user])
|
||||
)
|
||||
doc.save()
|
||||
else:
|
||||
frappe.db.set_value("CRM View Settings", name, "default", True)
|
||||
|
||||
def remove_duplicates(l):
|
||||
return list(dict.fromkeys(l))
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user