mirror of
https://github.com/frappe/erpnext.git
synced 2026-02-19 01:25:07 +00:00
fix: include empty values in user permission
(cherry picked from commit f13d98fc7c)
This commit is contained in:
@@ -27,6 +27,7 @@ from frappe.utils import (
|
|||||||
nowdate,
|
nowdate,
|
||||||
)
|
)
|
||||||
from pypika import Order
|
from pypika import Order
|
||||||
|
from pypika.functions import Coalesce
|
||||||
from pypika.terms import ExistsCriterion
|
from pypika.terms import ExistsCriterion
|
||||||
|
|
||||||
import erpnext
|
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:
|
def build_qb_match_conditions(doctype, user=None) -> list:
|
||||||
match_filters = build_match_conditions(doctype, user, False)
|
match_filters = build_match_conditions(doctype, user, False)
|
||||||
criterion = []
|
criterion = []
|
||||||
|
apply_strict_user_permissions = frappe.get_system_settings("apply_strict_user_permissions")
|
||||||
|
|
||||||
if match_filters:
|
if match_filters:
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
|
|
||||||
@@ -2365,6 +2368,12 @@ def build_qb_match_conditions(doctype, user=None) -> list:
|
|||||||
for filter in match_filters:
|
for filter in match_filters:
|
||||||
for d, names in filter.items():
|
for d, names in filter.items():
|
||||||
fieldname = d.lower().replace(" ", "_")
|
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
|
return criterion
|
||||||
|
|||||||
Reference in New Issue
Block a user