Selaa lähdekoodia

fix: reverse logic for failing permission check

(cherry picked from commit 56717602b4)
version-14
Sagar Vora 2 vuotta sitten
committed by Mergify
vanhempi
commit
7891674294
2 muutettua tiedostoa jossa 7 lisäystä ja 23 poistoa
  1. +2
    -2
      frappe/permissions.py
  2. +5
    -21
      frappe/tests/test_permissions.py

+ 2
- 2
frappe/permissions.py Näytä tiedosto

@@ -703,8 +703,8 @@ def has_child_permission(

parent_meta = frappe.get_meta(parent_doctype)

if not parent_meta.istable and any(
df.options == child_doctype for df in parent_meta.get_table_fields()
if parent_meta.istable or all(
df.options != child_doctype for df in parent_meta.get_table_fields()
):
push_perm_check_log(
_("{0} is not a valid parent DocType for {1}").format(


+ 5
- 21
frappe/tests/test_permissions.py Näytä tiedosto

@@ -649,29 +649,13 @@ class TestPermissions(FrappeTestCase):
# reset the user
frappe.set_user(current_user)

def test_child_table_permissions(self):
def test_child_permissions(self):
frappe.set_user("test@example.com")
self.assertIsInstance(frappe.get_list("Has Role", parent_doctype="User", limit=1), list)
self.assertRaisesRegex(
frappe.exceptions.ValidationError,
".* is not a valid parent DocType for .*",
frappe.get_list,
doctype="Has Role",
parent_doctype="ToDo",
)
self.assertRaisesRegex(
frappe.exceptions.ValidationError,
"Please specify a valid parent DocType for .*",
frappe.get_list,
"Has Role",
)
self.assertRaisesRegex(
frappe.exceptions.ValidationError,
".* is not a valid parent DocType for .*",
frappe.get_list,
doctype="Has Role",
parent_doctype="Has Role",
)

self.assertRaises(frappe.PermissionError, frappe.get_list, "Has Role")
self.assertRaises(frappe.PermissionError, frappe.get_list, "Has Role", parent_doctype="ToDo")
self.assertRaises(frappe.PermissionError, frappe.get_list, "Has Role", parent_doctype="Has Role")

def test_select_user(self):
"""If test3@example.com is restricted by a User Permission to see only


Ladataan…
Peruuta
Tallenna