fix: removed default view backend logic

This commit is contained in:
Shariq Ansari 2024-02-03 18:23:39 +05:30
parent cf481889bd
commit 2f89e9bbfb
4 changed files with 3 additions and 83 deletions

View File

@ -235,7 +235,7 @@ def get_list_data(
"page_length": page_length, "page_length": page_length,
"page_length_count": page_length_count, "page_length_count": page_length_count,
"is_default": is_default, "is_default": is_default,
"views": get_views(doctype, is_view=True), "views": get_views(doctype),
"total_count": frappe.client.get_count(doctype, filters=filters), "total_count": frappe.client.get_count(doctype, filters=filters),
"row_count": len(data), "row_count": len(data),
} }

View File

@ -3,7 +3,7 @@ from pypika import Criterion
@frappe.whitelist() @frappe.whitelist()
def get_views(doctype, is_view=False): def get_views(doctype):
if frappe.session.user == "Guest": if frappe.session.user == "Guest":
frappe.throw("Authentication failed", exc=frappe.AuthenticationError) frappe.throw("Authentication failed", exc=frappe.AuthenticationError)
@ -13,8 +13,6 @@ def get_views(doctype, is_view=False):
.select("*") .select("*")
.where(Criterion.any([View.user == '', View.user == frappe.session.user])) .where(Criterion.any([View.user == '', View.user == frappe.session.user]))
) )
if is_view:
query = query.where(View.is_view == True)
if doctype: if doctype:
query = query.where(View.dt == doctype) query = query.where(View.dt == doctype)
views = query.run(as_dict=True) views = query.run(as_dict=True)

View File

@ -7,14 +7,11 @@
"field_order": [ "field_order": [
"label", "label",
"user", "user",
"user_list",
"column_break_zacm", "column_break_zacm",
"dt", "dt",
"route_name", "route_name",
"pinned", "pinned",
"public", "public",
"default",
"is_view",
"columns_tab", "columns_tab",
"load_default_columns", "load_default_columns",
"columns", "columns",
@ -31,7 +28,6 @@
"label": "Columns" "label": "Columns"
}, },
{ {
"depends_on": "eval: doc.public == false",
"fieldname": "user", "fieldname": "user",
"fieldtype": "Link", "fieldtype": "Link",
"label": "User", "label": "User",
@ -108,29 +104,11 @@
"fieldname": "public", "fieldname": "public",
"fieldtype": "Check", "fieldtype": "Check",
"label": "Public" "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, "index_web_pages_for_search": 1,
"links": [], "links": [],
"modified": "2024-01-22 21:44:41.733977", "modified": "2024-02-03 18:22:48.406099",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "FCRM", "module": "FCRM",
"name": "CRM View Settings", "name": "CRM View Settings",

View File

@ -24,7 +24,6 @@ def create(view):
doc = frappe.new_doc("CRM View Settings") doc = frappe.new_doc("CRM View Settings")
doc.name = view.label doc.name = view.label
doc.label = view.label doc.label = view.label
doc.is_view = True
doc.dt = view.doctype doc.dt = view.doctype
doc.user = frappe.session.user doc.user = frappe.session.user
doc.route_name = view.route_name or "" doc.route_name = view.route_name or ""
@ -50,7 +49,6 @@ def update(view):
doc = frappe.get_doc("CRM View Settings", view.name) doc = frappe.get_doc("CRM View Settings", view.name)
doc.label = view.label doc.label = view.label
doc.is_view = True
doc.route_name = view.route_name or "" doc.route_name = view.route_name or ""
doc.load_default_columns = view.load_default_columns or False doc.load_default_columns = view.load_default_columns or False
doc.filters = json.dumps(filters) doc.filters = json.dumps(filters)
@ -81,60 +79,6 @@ def pin(name, value):
doc.pinned = value doc.pinned = value
doc.save() 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): def remove_duplicates(l):
return list(dict.fromkeys(l)) return list(dict.fromkeys(l))