refactor(query_report): filter check

This commit is contained in:
jabir-elat 2024-09-16 21:43:53 +05:30
parent e4485bebb0
commit b754bdb03d

View file

@ -782,19 +782,18 @@ def get_user_match_filters(doctypes, user):
return match_filters
def validate_filters_permissions(report_name, filters=None, user=None):
if isinstance(filters, str):
filters = json.loads(filters)
if filters:
report = frappe.get_doc("Report", report_name)
for fieldname, value in filters.items():
for field in report.filters:
if field.fieldname == fieldname and field.fieldtype == "Link":
linked_doctype = field.options
if not has_permission(
doctype=linked_doctype, doc=value, user=user
):
frappe.throw(
_("You do not have permission to access {0}: {1}.").format(linked_doctype, value)
)
def validate_filters_permissions(report_name, filters=None, user=None):
if not filters:
return
if isinstance(filters, str):
filters = json.loads(filters)
report = frappe.get_doc("Report", report_name)
for fieldname, value in filters.items():
for field in report.filters:
if field.fieldname == fieldname and field.fieldtype == "Link":
linked_doctype = field.options
if not has_permission(doctype=linked_doctype, doc=value, user=user):
frappe.throw(
_("You do not have permission to access {0}: {1}.").format(linked_doctype, value)
)