瀏覽代碼

[fix] permission tests

version-14
Anand Doshi 10 年之前
父節點
當前提交
ad493f7942
共有 2 個文件被更改,包括 20 次插入6 次删除
  1. +4
    -0
      frappe/database.py
  2. +16
    -6
      frappe/tests/test_permissions.py

+ 4
- 0
frappe/database.py 查看文件

@@ -606,6 +606,10 @@ class Database:
self.set_value(dt, dn, "modified", modified) self.set_value(dt, dn, "modified", modified)
self.set_value(dt, dn, "modified_by", modified_by) self.set_value(dt, dn, "modified_by", modified_by)



if dt in self.value_cache:
del self.value_cache[dt]

def set(self, doc, field, val): def set(self, doc, field, val):
"""Set value in document. **Avoid**""" """Set value in document. **Avoid**"""
doc.db_set(field, val) doc.db_set(field, val)


+ 16
- 6
frappe/tests/test_permissions.py 查看文件

@@ -219,12 +219,8 @@ class TestPermissions(unittest.TestCase):
frappe.model.meta.clear_cache("Blog Post") frappe.model.meta.clear_cache("Blog Post")


def set_user_permission_doctypes(self, user_permission_doctypes): def set_user_permission_doctypes(self, user_permission_doctypes):
frappe.db.sql("""update `tabDocPerm` set apply_user_permissions=1,
user_permission_doctypes=%s
where parent='Blog Post' and permlevel=0
and `read`=1 and role='Blogger'""", json.dumps(user_permission_doctypes))

frappe.clear_cache(doctype="Blog Post")
set_user_permission_doctypes(doctype="Blog Post", role="Blogger",
apply_user_permissions=1, user_permission_doctypes=user_permission_doctypes)


def test_insert_if_owner_with_user_permissions(self): def test_insert_if_owner_with_user_permissions(self):
"""If `If Owner` is checked for a Role, check if that document is allowed to be read, updated, submitted, etc. except be created, even if the document is restricted based on User Permissions.""" """If `If Owner` is checked for a Role, check if that document is allowed to be read, updated, submitted, etc. except be created, even if the document is restricted based on User Permissions."""
@@ -284,3 +280,17 @@ class TestPermissions(unittest.TestCase):


frappe.set_user("test2@example.com") frappe.set_user("test2@example.com")
self.assertTrue(doc.has_permission("write")) self.assertTrue(doc.has_permission("write"))

def set_user_permission_doctypes(doctype, role, apply_user_permissions, user_permission_doctypes):
user_permission_doctypes = None if not user_permission_doctypes else json.dumps(user_permission_doctypes)
frappe.db.sql("""update `tabDocPerm` set apply_user_permissions=%(apply_user_permissions)s,
user_permission_doctypes=%(user_permission_doctypes)s
where parent=%(doctype)s and permlevel=0
and `read`=1 and role=%(role)s""", {
"apply_user_permissions": apply_user_permissions,
"user_permission_doctypes": user_permission_doctypes,
"doctype": doctype,
"role": role
})

frappe.clear_cache(doctype=doctype)

Loading…
取消
儲存