fix: commonify json.loads for filters
This commit is contained in:
parent
971e60f0bf
commit
f0f8851809
1 changed files with 15 additions and 11 deletions
|
|
@ -35,8 +35,7 @@ def get_list(doctype, fields=None, filters=None, order_by=None,
|
|||
|
||||
@frappe.whitelist()
|
||||
def get_count(doctype, filters=None, debug=False, cache=False):
|
||||
|
||||
return frappe.db.count(doctype, json.loads(filters), debug, cache)
|
||||
return frappe.db.count(doctype, get_safe_filters(filters), debug, cache)
|
||||
|
||||
@frappe.whitelist()
|
||||
def get(doctype, name=None, filters=None, parent=None):
|
||||
|
|
@ -72,15 +71,7 @@ def get_value(doctype, fieldname, filters=None, as_dict=True, debug=False, paren
|
|||
if not frappe.has_permission(doctype):
|
||||
frappe.throw(_("No permission for {0}".format(doctype)), frappe.PermissionError)
|
||||
|
||||
try:
|
||||
filters = json.loads(filters)
|
||||
|
||||
if isinstance(filters, (integer_types, float)):
|
||||
filters = frappe.as_unicode(filters)
|
||||
|
||||
except (TypeError, ValueError):
|
||||
# filters are not passesd, not json
|
||||
pass
|
||||
filters = get_safe_filters(filters)
|
||||
|
||||
try:
|
||||
fieldname = json.loads(fieldname)
|
||||
|
|
@ -375,3 +366,16 @@ def check_parent_permission(parent):
|
|||
return
|
||||
# Either parent not passed or the user doesn't have permission on parent doctype of child table!
|
||||
raise frappe.PermissionError
|
||||
|
||||
def get_safe_filters(filters):
|
||||
try:
|
||||
filters = json.loads(filters)
|
||||
|
||||
if isinstance(filters, (integer_types, float)):
|
||||
filters = frappe.as_unicode(filters)
|
||||
|
||||
except (TypeError, ValueError):
|
||||
# filters are not passesd, not json
|
||||
pass
|
||||
|
||||
return filters
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue