From fc99c22ea2a0be332c10933f4273184246e71f6d Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Fri, 8 Jul 2022 12:38:36 +0000 Subject: [PATCH] fix: ensure that `frappe.db.get_defaults` works for all parents (#17296) fix: ensure that frappe.db.get_defaults` for all parents, as designed --- frappe/database/database.py | 13 +++++-------- frappe/defaults.py | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index f40e9fe2ed..490b923678 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -933,14 +933,11 @@ class Database: @staticmethod def get_defaults(key=None, parent="__default"): """Get all defaults""" - if key: - defaults = frappe.defaults.get_defaults(parent) - d = defaults.get(key, None) - if not d and key != frappe.scrub(key): - d = defaults.get(frappe.scrub(key), None) - return d - else: - return frappe.defaults.get_defaults(parent) + defaults = frappe.defaults.get_defaults_for(parent) + if not key: + return defaults + + return defaults.get(key) or defaults.get(frappe.scrub(key)) def begin(self): self.sql("START TRANSACTION") diff --git a/frappe/defaults.py b/frappe/defaults.py index 4bbdcf25c6..c2f4a3fe56 100644 --- a/frappe/defaults.py +++ b/frappe/defaults.py @@ -222,7 +222,7 @@ def get_defaults_for(parent="__default"): .run(as_dict=True) ) - defaults = frappe._dict({}) + defaults = frappe._dict() for d in res: if d.defkey in defaults: # listify