Skip to content

Commit

Permalink
fix(minor): tests and linting
Browse files Browse the repository at this point in the history
  • Loading branch information
rmehta committed Mar 30, 2021
1 parent 2248c6c commit d959fc7
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
2 changes: 1 addition & 1 deletion frappe/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def get_list(doctype, fields=None, filters=None, order_by=None,
if frappe.is_table(doctype):
check_parent_permission(parent, doctype)

args = dict(
args = frappe._dict(
doctype=doctype,
fields=fields,
filters=filters,
Expand Down
28 changes: 15 additions & 13 deletions frappe/desk/reportview.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,14 @@ def validate_args(data):

return data

def get_fields(data):
if ((isinstance(fields, string_types) and fields == "*")
or (isinstance(fields, (list, tuple)) and len(fields) == 1 and fields[0] == "*")):
data["fields"] = frappe.db.get_table_columns(data.doctype)
fields = data["fields"]

def validate_fields(data):
expand_fields(data)
update_star_field_param(data)

for field in data.fields:
fieldname = extract_fieldname(field)
if is_standard(fieldname): continue
if is_standard(fieldname):
continue

meta, df = get_meta_and_docfield(fieldname, data)

Expand All @@ -91,29 +87,30 @@ def validate_filters(data, filters):
if len(condition)==3:
# [fieldname, condition, value]
fieldname = condition[0]
if is_standard(fieldname): continue
if is_standard(fieldname):
continue
meta, df = get_meta_and_docfield(fieldname, data)
if not df:
raise_invalid_field(condition[0])
else:
# [doctype, fieldname, condition, value]
fieldname = condition[1]
if is_standard(fieldname): continue
if is_standard(fieldname):
continue
meta = frappe.get_meta(condition[0])
if not meta.get_field(fieldname):
raise_invalid_field(fieldname)

else:
for fieldname in filters:
if is_standard(fieldname): continue
if is_standard(fieldname):
continue
meta, df = get_meta_and_docfield(fieldname, data)
if not df:
raise_invalid_field(fieldname)

def setup_group_by(data):
'''
Add columns for aggregated values e.g. count(name)
'''
'''Add columns for aggregated values e.g. count(name)'''
if data.group_by:
if data.aggregate_function.lower() not in ('count', 'sum', 'avg'):
frappe.throw('Invalid aggregate function')
Expand All @@ -126,6 +123,11 @@ def setup_group_by(data):
data.pop('aggregate_on')
data.pop('aggregate_function')

def expand_fields(data):
if ((isinstance(data.fields, string_types) and data.fields == "*")
or (isinstance(data.fields, (list, tuple)) and len(data.fields) == 1 and data.fields[0] == "*")):
data.fields = frappe.db.get_table_columns(data.doctype)

def raise_invalid_field(fieldname):
frappe.throw(_('Field not permitted in query') + ': {0}'.format(fieldname), frappe.DataError)

Expand Down

0 comments on commit d959fc7

Please sign in to comment.