Selaa lähdekoodia

[minor] fix to has_permission

version-14
Rushabh Mehta 12 vuotta sitten
vanhempi
commit
5b254c079d
2 muutettua tiedostoa jossa 8 lisäystä ja 5 poistoa
  1. +7
    -4
      webnotes/__init__.py
  2. +1
    -1
      webnotes/model/mapper.py

+ 7
- 4
webnotes/__init__.py Näytä tiedosto

@@ -245,13 +245,16 @@ def get_roles(user=None, with_standard=True):
return roles

def has_permission(doctype, ptype="read", doc=None):
def has_permission(doctype, ptype="read", refdoc=None):
"""check if user has permission"""
from webnotes.defaults import get_user_default_as_list
if session.user=="Administrator":
return True
if conn.get_value("DocType", doctype, "istable"):
return True
if isinstance(refdoc, basestring):
refdoc = doc(doctype, refdoc)
perms = conn.sql("""select `name`, `match` from tabDocPerm p
where p.parent = %s
and ifnull(p.`%s`,0) = 1
@@ -259,7 +262,7 @@ def has_permission(doctype, ptype="read", doc=None):
and (p.role="All" or p.role in (select `role` from tabUserRole where `parent`=%s))
""" % ("%s", ptype, "%s"), (doctype, session.user), as_dict=1)
if doc:
if refdoc:
match_failed = {}
for p in perms:
if p.match:
@@ -268,11 +271,11 @@ def has_permission(doctype, ptype="read", doc=None):
else:
keys = [p.match, p.match]
if doc.fields.get(keys[0],"[No Value]") \
if refdoc.fields.get(keys[0],"[No Value]") \
in get_user_default_as_list(keys[1]):
return True
else:
match_failed[keys[0]] = doc.fields.get(keys[0],"[No Value]")
match_failed[keys[0]] = refdoc.fields.get(keys[0],"[No Value]")
else:
# found a permission without a match
return True


+ 1
- 1
webnotes/model/mapper.py Näytä tiedosto

@@ -32,7 +32,7 @@ def get_mapped_doclist(from_doctype, from_docname, table_maps, target_doclist=[]
source = webnotes.bean(from_doctype, from_docname)

if not webnotes.has_permission(from_doctype, doc=source.doc):
if not webnotes.has_permission(from_doctype, "read", source.doc):
webnotes.msgprint("No Permission", raise_exception=webnotes.PermissionError)

source_meta = webnotes.get_doctype(from_doctype)


Ladataan…
Peruuta
Tallenna