From 86d6eb51a69b16c1d7bc14a80ba7c5257d2dbabc Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 5 May 2021 11:38:15 +0530 Subject: [PATCH] perf: Replace filter_by like with full text filter * Remove like %email% in where clause * Add fallback for all dict getattrs to owner --- .../personal_data_deletion_request.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py b/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py index 6fbdcc839b..63ba96d138 100644 --- a/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py +++ b/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py @@ -163,11 +163,11 @@ class PersonalDataDeletionRequest(Document): def redact_full_match_data(self, ref, email): """Replaces the entire field value by the values set in the anonymization_value_map""" - filter_by = ref["filter_by"] + filter_by = ref.get("filter_by", "owner") docs = frappe.get_all( ref["doctype"], - filters={filter_by: ("like", "%" + email + "%")}, + filters={filter_by: email}, fields=["name", filter_by], ) @@ -205,7 +205,7 @@ class PersonalDataDeletionRequest(Document): return anonymize_fields_dict def redact_doc(self, doc, ref): - filter_by = ref["filter_by"] + filter_by = ref.get("filter_by", "owner") meta = frappe.get_meta(ref["doctype"]) filter_by_meta = meta.get_field(filter_by)