From ad493f79428e65692a7786f5b77365bafd3d3ebf Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 8 Sep 2015 17:29:31 +0530 Subject: [PATCH] [fix] permission tests --- frappe/database.py | 4 ++++ frappe/tests/test_permissions.py | 22 ++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/frappe/database.py b/frappe/database.py index 89f5675d8b..af826acd4e 100644 --- a/frappe/database.py +++ b/frappe/database.py @@ -606,6 +606,10 @@ class Database: self.set_value(dt, dn, "modified", modified) 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): """Set value in document. **Avoid**""" doc.db_set(field, val) diff --git a/frappe/tests/test_permissions.py b/frappe/tests/test_permissions.py index bffea600ec..c0fa56062f 100644 --- a/frappe/tests/test_permissions.py +++ b/frappe/tests/test_permissions.py @@ -219,12 +219,8 @@ class TestPermissions(unittest.TestCase): frappe.model.meta.clear_cache("Blog Post") 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): """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") 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)