소스 검색

Merge pull request #1149 from nabinhait/develop

[perms] allow email/print if has read access via share
version-14
Nabin Hait 10 년 전
부모
커밋
72c3d28f10
2개의 변경된 파일7개의 추가작업 그리고 4개의 파일을 삭제
  1. +6
    -3
      frappe/permissions.py
  2. +1
    -1
      frappe/public/js/frappe/model/perm.js

+ 6
- 3
frappe/permissions.py 파일 보기

@@ -39,13 +39,16 @@ def has_permission(doctype, ptype="read", doc=None, verbose=False, user=None):
return True return True


def false_if_not_shared(): def false_if_not_shared():
if ptype in ("read", "write", "share"):
shared = frappe.share.get_shared(doctype, user, [ptype])
if ptype in ("read", "write", "share", "email", "print"):
shared = frappe.share.get_shared(doctype, user,
["read" if ptype in ("email", "print") else ptype])
if doc: if doc:
doc_name = doc if isinstance(doc, basestring) else doc.name doc_name = doc if isinstance(doc, basestring) else doc.name
if doc_name in shared: if doc_name in shared:
if verbose: print "Shared" if verbose: print "Shared"
return True
if ptype in ("read", "write", "share") or meta.permissions[0].get(ptype):
return True
else: else:
if verbose: print "Has a shared document" if verbose: print "Has a shared document"
return True return True


+ 1
- 1
frappe/public/js/frappe/model/perm.js 파일 보기

@@ -69,7 +69,7 @@ $.extend(frappe.perm, {
perm[0]["write"] = s.write; perm[0]["write"] = s.write;
perm[0]["share"] = s.share; perm[0]["share"] = s.share;


if(s.write) {
if(s.read) {
// also give print, email permissions if read // also give print, email permissions if read
// and these permissions exist at level [0] // and these permissions exist at level [0]
perm[0].email = meta.permissions[0].email; perm[0].email = meta.permissions[0].email;


불러오는 중...
취소
저장