refactor(query_report): filter check
This commit is contained in:
parent
e4485bebb0
commit
b754bdb03d
1 changed files with 14 additions and 15 deletions
|
|
@ -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)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue