Browse Source

refactor: use frappe.parse_json

version-14
barredterra 3 years ago
parent
commit
f650408daa
1 changed files with 6 additions and 9 deletions
  1. +6
    -9
      frappe/handler.py

+ 6
- 9
frappe/handler.py View File

@@ -225,11 +225,10 @@ def ping():


def run_doc_method(method, docs=None, dt=None, dn=None, arg=None, args=None): def run_doc_method(method, docs=None, dt=None, dn=None, arg=None, args=None):
"""run a whitelisted controller method""" """run a whitelisted controller method"""
import json
import inspect
from inspect import getfullargspec


if not args:
args = arg or ""
if not args and arg:
args = arg


if dt: # not called from a doctype (from a page) if dt: # not called from a doctype (from a page)
if not dn: if not dn:
@@ -237,9 +236,7 @@ def run_doc_method(method, docs=None, dt=None, dn=None, arg=None, args=None):
doc = frappe.get_doc(dt, dn) doc = frappe.get_doc(dt, dn)


else: else:
if isinstance(docs, str):
docs = json.loads(docs)

docs = frappe.parse_json(docs)
doc = frappe.get_doc(docs) doc = frappe.get_doc(docs)
doc._original_modified = doc.modified doc._original_modified = doc.modified
doc.check_if_latest() doc.check_if_latest()
@@ -248,7 +245,7 @@ def run_doc_method(method, docs=None, dt=None, dn=None, arg=None, args=None):
throw_permission_error() throw_permission_error()


try: try:
args = json.loads(args)
args = frappe.parse_json(args)
except ValueError: except ValueError:
pass pass


@@ -257,7 +254,7 @@ def run_doc_method(method, docs=None, dt=None, dn=None, arg=None, args=None):
is_whitelisted(fn) is_whitelisted(fn)
is_valid_http_method(fn) is_valid_http_method(fn)


fnargs = inspect.getfullargspec(method_obj).args
fnargs = getfullargspec(method_obj).args


if not fnargs or (len(fnargs)==1 and fnargs[0]=="self"): if not fnargs or (len(fnargs)==1 and fnargs[0]=="self"):
response = doc.run_method(method) response = doc.run_method(method)


Loading…
Cancel
Save