Fixed User Permissions for listing and report

This commit is contained in:
Anand Doshi 2015-03-23 15:25:24 +05:30
parent d0ada4b7cc
commit 38dc29120a
3 changed files with 14 additions and 9 deletions

View file

@ -248,7 +248,7 @@ class DatabaseQuery(object):
# get user permissions
user_permissions = frappe.defaults.get_user_permissions(self.user)
self.add_user_permissions(user_permissions,
user_permission_doctypes=role_permissions.get("user_permission_doctypes"))
user_permission_doctypes=role_permissions.get("user_permission_doctypes").get("read"))
if as_condition:
conditions = ""

View file

@ -93,10 +93,9 @@ def get_role_permissions(meta, user=None):
perms["apply_user_permissions"][ptype] = (perms["apply_user_permissions"].get(ptype, 1)
and p.get("apply_user_permissions"))
if p.apply_user_permissions:
if p.apply_user_permissions and p.user_permission_doctypes:
# set user_permission_doctypes in perms
user_permission_doctypes = (json.loads(p.user_permission_doctypes)
if p.user_permission_doctypes else None)
user_permission_doctypes = json.loads(p.user_permission_doctypes)
if user_permission_doctypes:
# perms["user_permission_doctypes"][ptype] would be a list of list like [["User", "Blog Post"], ["User"]]

View file

@ -86,14 +86,20 @@ $.extend(frappe.perm, {
if (permlevel===0 && cint(p.apply_user_permissions) && p.user_permission_doctypes) {
// set user_permission_doctypes in perms
var user_permission_doctypes = p.user_permission_doctypes
? JSON.parse(p.user_permission_doctypes) : null;
var user_permission_doctypes = JSON.parse(p.user_permission_doctypes);
if (user_permission_doctypes && user_permission_doctypes.length) {
if (!perm[permlevel]["user_permission_doctypes"]) {
perm[permlevel]["user_permission_doctypes"] = [];
perm[permlevel]["user_permission_doctypes"] = {};
}
perm[permlevel]["user_permission_doctypes"].push(user_permission_doctypes);
$.each(frappe.perm.rights, function(i, key) {
if (!perm[permlevel]["user_permission_doctypes"][key]) {
perm[permlevel]["user_permission_doctypes"][key] = [];
}
perm[permlevel]["user_permission_doctypes"][key].push(user_permission_doctypes);
});
}
}
}
@ -127,7 +133,7 @@ $.extend(frappe.perm, {
var user_permissions = frappe.defaults.get_user_permissions();
if(user_permissions && !$.isEmptyObject(user_permissions)) {
var user_permission_doctypes = me.get_user_permission_doctypes(perm[0].user_permission_doctypes,
var user_permission_doctypes = me.get_user_permission_doctypes(perm[0].user_permission_doctypes[ptype],
user_permissions);
$.each(user_permission_doctypes, function(i, doctypes) {