frappe.as_json
This commit is contained in:
parent
eb2c11a184
commit
c10e3ec75e
7 changed files with 20 additions and 18 deletions
|
|
@ -859,14 +859,17 @@ def get_all(doctype, *args, **kwargs):
|
|||
def add_version(doc):
|
||||
"""Insert a new **Version** of the given document.
|
||||
A **Version** is a JSON dump of the current document state."""
|
||||
from frappe.utils.response import json_handler
|
||||
get_doc({
|
||||
"doctype": "Version",
|
||||
"ref_doctype": doc.doctype,
|
||||
"docname": doc.name,
|
||||
"doclist_json": json.dumps(doc.as_dict(), indent=1, sort_keys=True, default=json_handler)
|
||||
"doclist_json": as_json(doc.as_dict())
|
||||
}).insert(ignore_permissions=True)
|
||||
|
||||
def as_json(obj):
|
||||
from frappe.utils.response import json_handler
|
||||
return json.dumps(obj, indent=1, sort_keys=True, default=json_handler)
|
||||
|
||||
def get_test_records(doctype):
|
||||
"""Returns list of objects from `test_records.json` in the given doctype's folder."""
|
||||
from frappe.modules import get_doctype_module, get_module_path
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ def export_json(doctype, path, filters=None):
|
|||
out.append(frappe.get_doc(doctype, doc.name).as_dict())
|
||||
post_process(out)
|
||||
with open(path, "w") as outfile:
|
||||
outfile.write(json.dumps(out, default=json_handler, indent=1, sort_keys=True))
|
||||
outfile.write(frappe.as_json(out))
|
||||
|
||||
@frappe.whitelist()
|
||||
def export_fixture(doctype, app):
|
||||
|
|
|
|||
|
|
@ -55,18 +55,18 @@ class FrappeClient(object):
|
|||
|
||||
def insert(self, doc):
|
||||
res = self.session.post(self.url + "/api/resource/" + doc.get("doctype"),
|
||||
data={"data":json.dumps(doc)}, verify=self.verify)
|
||||
data={"data":frappe.as_json(doc)}, verify=self.verify)
|
||||
return self.post_process(res)
|
||||
|
||||
def update(self, doc):
|
||||
url = self.url + "/api/resource/" + doc.get("doctype") + "/" + doc.get("name")
|
||||
res = self.session.put(url, data={"data":json.dumps(doc)}, verify=self.verify)
|
||||
res = self.session.put(url, data={"data":frappe.as_json(doc)}, verify=self.verify)
|
||||
return self.post_process(res)
|
||||
|
||||
def bulk_update(self, docs):
|
||||
return self.post_request({
|
||||
"cmd": "frappe.client.bulk_update",
|
||||
"docs": json.dumps(docs)
|
||||
"docs": frappe.as_json(docs)
|
||||
})
|
||||
|
||||
def delete(self, doctype, name):
|
||||
|
|
@ -79,7 +79,7 @@ class FrappeClient(object):
|
|||
def submit(self, doclist):
|
||||
return self.post_request({
|
||||
"cmd": "frappe.client.submit",
|
||||
"doclist": json.dumps(doclist)
|
||||
"doclist": frappe.as_json(doclist)
|
||||
})
|
||||
|
||||
def get_value(self, doctype, fieldname=None, filters=None):
|
||||
|
|
@ -87,7 +87,7 @@ class FrappeClient(object):
|
|||
"cmd": "frappe.client.get_value",
|
||||
"doctype": doctype,
|
||||
"fieldname": fieldname or "name",
|
||||
"filters": json.dumps(filters)
|
||||
"filters": frappe.as_json(filters)
|
||||
})
|
||||
|
||||
def set_value(self, doctype, docname, fieldname, value):
|
||||
|
|
@ -110,8 +110,8 @@ class FrappeClient(object):
|
|||
params = {}
|
||||
if filters:
|
||||
params["filters"] = json.dumps(filters)
|
||||
if fields:
|
||||
params["fields"] = json.dumps(fields)
|
||||
if fields:
|
||||
params["fields"] = json.dumps(fields)
|
||||
|
||||
res = self.session.get(self.url + "/api/resource/" + doctype + "/" + name,
|
||||
params=params, verify=self.verify)
|
||||
|
|
|
|||
|
|
@ -217,8 +217,7 @@ class BaseDocument(object):
|
|||
return frappe._dict(doc)
|
||||
|
||||
def as_json(self):
|
||||
from frappe.utils.response import json_handler
|
||||
return json.dumps(self.as_dict(), indent=1, sort_keys=True, default=json_handler)
|
||||
return frappe.as_json(self.as_dict())
|
||||
|
||||
def get_table_field_doctype(self, fieldname):
|
||||
return self.meta.get_field(fieldname).options
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ def write_document_file(doc, record_module=None, create_init=None):
|
|||
# write the data file
|
||||
fname = (doc.doctype in lower_case_files_for and scrub(doc.name)) or doc.name
|
||||
with open(os.path.join(folder, fname +".json"),'w+') as txtfile:
|
||||
txtfile.write(json.dumps(newdoc, indent=1, sort_keys=True))
|
||||
txtfile.write(frappe.as_json(newdoc))
|
||||
|
||||
def get_module_name(doc):
|
||||
if doc.doctype == 'Module Def':
|
||||
|
|
|
|||
|
|
@ -27,6 +27,6 @@ def get_context(context):
|
|||
"desk.min.js"))),
|
||||
"include_js": hooks["app_include_js"],
|
||||
"include_css": hooks["app_include_css"],
|
||||
"boot": json.dumps(boot, default=json_handler, indent=1, sort_keys=True),
|
||||
"boot": frappe.as_json(boot),
|
||||
"background_image": boot.user.background_image or boot.default_background_image
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ def getdate(string_date):
|
|||
return datetime.datetime.strptime(string_date, "%Y-%m-%d").date()
|
||||
|
||||
def get_datetime(datetime_str):
|
||||
if isinstance(datetime_str, datetime.datetime):
|
||||
if isinstance(datetime_str, (datetime.datetime, datetime.timedelta)):
|
||||
return datetime_str
|
||||
|
||||
elif isinstance(datetime_str, datetime.date):
|
||||
|
|
@ -97,17 +97,17 @@ def _get_user_time_zone():
|
|||
user_time_zone = None
|
||||
if frappe.session.user:
|
||||
user_time_zone = frappe.db.get_value("User", frappe.session.user, "time_zone")
|
||||
|
||||
|
||||
if not user_time_zone:
|
||||
user_time_zone = (frappe.db.get_single_value("System Settings", "time_zone")
|
||||
or "Asia/Kolkata")
|
||||
|
||||
|
||||
return user_time_zone
|
||||
|
||||
def get_user_time_zone():
|
||||
if frappe.local.flags.in_test:
|
||||
return _get_user_time_zone()
|
||||
|
||||
|
||||
if getattr(frappe.local, "user_time_zone", None) is None:
|
||||
frappe.local.user_time_zone = frappe.cache().get_value("time_zone")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue