fix: include empty values in user permission

(cherry picked from commit f13d98fc7c)
This commit is contained in:
l0gesh29
2025-07-29 16:03:10 +05:30
committed by Mergify
parent 5c34299b1e
commit cfcd21d5c6

View File

@@ -27,6 +27,7 @@ from frappe.utils import (
nowdate,
)
from pypika import Order
from pypika.functions import Coalesce
from pypika.terms import ExistsCriterion
import erpnext
@@ -2357,6 +2358,8 @@ def sync_auto_reconcile_config(auto_reconciliation_job_trigger: int = 15):
def build_qb_match_conditions(doctype, user=None) -> list:
match_filters = build_match_conditions(doctype, user, False)
criterion = []
apply_strict_user_permissions = frappe.get_system_settings("apply_strict_user_permissions")
if match_filters:
from frappe import qb
@@ -2365,6 +2368,12 @@ def build_qb_match_conditions(doctype, user=None) -> list:
for filter in match_filters:
for d, names in filter.items():
fieldname = d.lower().replace(" ", "_")
criterion.append(_dt[fieldname].isin(names))
field = _dt[fieldname]
cond = field.isin(names)
if not apply_strict_user_permissions:
cond = (Coalesce(field, "") == "") | field.isin(names)
criterion.append(cond)
return criterion