fix: get single doc using client.get (#17817)

This commit is contained in:
Ankush Menat 2022-08-13 14:38:06 +05:30 committed by GitHub
parent 8cdb8298e2
commit 0686097de2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View file

@ -78,7 +78,13 @@ def get(doctype, name=None, filters=None, parent=None):
if frappe.is_table(doctype):
check_parent_permission(parent, doctype)
doc = frappe.get_doc(doctype, name or frappe.parse_json(filters))
if name:
doc = frappe.get_doc(doctype, name)
elif filters or filters == {}:
doc = frappe.get_doc(doctype, frappe.parse_json(filters))
else:
doc = frappe.get_doc(doctype) # single
doc.check_permission()
return doc.as_dict()

View file

@ -139,7 +139,8 @@ class TestClient(unittest.TestCase):
self.assertEqual(get("ToDo", filters=filters).description, "test")
self.assertEqual(get("ToDo", filters=filters_json).description, "test")
self.assertEqual(get("System Settings", "", "").doctype, "System Settings")
self.assertEqual(get("ToDo", filters={}), get("ToDo", filters="{}"))
todo.delete()
def test_client_insert(self):