From f57a953b8b78d1491717dd61612eb589ca2291c5 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Sat, 13 Aug 2022 14:39:12 +0530 Subject: [PATCH] fix: get single doc using client.get (#17817) (#17819) (cherry picked from commit 0686097de282d2e89c307b7162d7748ff031b194) Co-authored-by: Ankush Menat --- frappe/client.py | 8 +++++++- frappe/tests/test_client.py | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/frappe/client.py b/frappe/client.py index 129c73a0cf..3c0ce8ea8a 100644 --- a/frappe/client.py +++ b/frappe/client.py @@ -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() diff --git a/frappe/tests/test_client.py b/frappe/tests/test_client.py index 1a1c4f3232..3587d5eb63 100644 --- a/frappe/tests/test_client.py +++ b/frappe/tests/test_client.py @@ -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):