fix: default user permission to handle small int values
This commit is contained in:
parent
1250a931ed
commit
fe007f426d
5 changed files with 14 additions and 18 deletions
|
|
@ -9,14 +9,12 @@ import unittest
|
|||
|
||||
class TestUserPermission(unittest.TestCase):
|
||||
def test_default_user_permission(self):
|
||||
user = create_user('test_bulk_creation_update@example.com')
|
||||
param = get_params(user, 'User', user.name, True)
|
||||
user = create_user('test_default_permission@example.com')
|
||||
param = get_params(user, 'User', user.name, is_default=1)
|
||||
add_user_permissions(param)
|
||||
|
||||
#create a duplicate entry with default
|
||||
perm_user = create_user('test_perm@example.com')
|
||||
|
||||
param = get_params(user, 'User', perm_user.name, True)
|
||||
perm_user = create_user('test_user_perm@example.com')
|
||||
param = get_params(user, 'User', perm_user.name, is_default=1)
|
||||
self.assertRaises(frappe.ValidationError, add_user_permissions, param)
|
||||
|
||||
def test_apply_to_all(self):
|
||||
|
|
@ -57,17 +55,18 @@ class TestUserPermission(unittest.TestCase):
|
|||
self.assertIsNone(removed_applicable_second)
|
||||
self.assertEquals(created, 1)
|
||||
|
||||
def create_user(user):
|
||||
if frappe.db.exists('User', user):
|
||||
return frappe.get_doc('User', user)
|
||||
def create_user(email):
|
||||
''' create user with role system manager '''
|
||||
if frappe.db.exists('User', email):
|
||||
return frappe.get_doc('User', email)
|
||||
else:
|
||||
user = frappe.new_doc('User')
|
||||
user.email = user
|
||||
user.first_name = user.split("@")[0]
|
||||
user.email = email
|
||||
user.first_name = email.split("@")[0]
|
||||
user.add_roles("System Manager")
|
||||
return user
|
||||
|
||||
def get_params(user, doctype, docname, is_default=False, applicable=None):
|
||||
def get_params(user, doctype, docname, is_default=0, applicable=None):
|
||||
''' Return param to insert '''
|
||||
param = {
|
||||
"user": user.name,
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ def add_user_permissions(data):
|
|||
return 1
|
||||
return 0
|
||||
|
||||
def insert_user_perm(user, doctype, docname, is_default=False, apply_to_all=None, applicable=None):
|
||||
def insert_user_perm(user, doctype, docname, is_default=0, apply_to_all=None, applicable=None):
|
||||
user_perm = frappe.new_doc("User Permission")
|
||||
user_perm.user = user
|
||||
user_perm.allow = doctype
|
||||
|
|
|
|||
|
|
@ -58,14 +58,12 @@ frappe.listview_settings['User Permission'] = {
|
|||
fieldname: 'is_default',
|
||||
label: __('Is Default'),
|
||||
fieldtype: 'Check',
|
||||
checked: 1,
|
||||
hidden: 1
|
||||
},
|
||||
{
|
||||
fieldname: 'apply_to_all_doctypes',
|
||||
label: __('Apply to all Documents Types'),
|
||||
fieldtype: 'Check',
|
||||
checked: 1,
|
||||
hidden: 1,
|
||||
onchange: function() {
|
||||
if(dialog.fields_dict.doctype.value && dialog.fields_dict.docname.value && dialog.fields_dict.user.value){
|
||||
|
|
@ -214,7 +212,6 @@ frappe.listview_settings['User Permission'] = {
|
|||
dialog.set_df_property("docname", "hidden", 0);
|
||||
dialog.set_df_property("docname", "reqd", 1);
|
||||
dialog.set_df_property("is_default", "hidden", 0);
|
||||
dialog.set_value("is_default", "checked", 0);
|
||||
dialog.set_df_property("apply_to_all_doctypes", "hidden", 0);
|
||||
dialog.set_value("apply_to_all_doctypes", "checked", 1);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -395,7 +395,7 @@ def set_user_permission_if_allowed(doctype, name, user, with_message=False):
|
|||
if get_role_permissions(frappe.get_meta(doctype), user).set_user_permissions!=1:
|
||||
add_user_permission(doctype, name, user)
|
||||
|
||||
def add_user_permission(doctype, name, user, is_default=False, ignore_permissions=False, applicable_for=None):
|
||||
def add_user_permission(doctype, name, user, ignore_permissions=False, applicable_for=None, is_default=0):
|
||||
'''Add user permission'''
|
||||
from frappe.core.doctype.user_permission.user_permission import user_permission_exists
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class TestPermissions(unittest.TestCase):
|
|||
self.assertFalse(doc.get("blog_category"))
|
||||
|
||||
# Fetch default based on single user permission
|
||||
add_user_permission("Blog Category", "_Test Blog Category 1", "test2@example.com", is_default=True)
|
||||
add_user_permission("Blog Category", "_Test Blog Category 1", "test2@example.com", is_default=1)
|
||||
|
||||
frappe.set_user("test2@example.com")
|
||||
doc = frappe.new_doc("Blog Post")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue