Kaynağa Gözat

[fix] has_website_permissions

version-14
Rushabh Mehta 8 yıl önce
ebeveyn
işleme
66b4c470e1
2 değiştirilmiş dosya ile 9 ekleme ve 16 silme
  1. +9
    -5
      frappe/__init__.py
  2. +0
    -11
      frappe/model/document.py

+ 9
- 5
frappe/__init__.py Dosyayı Görüntüle

@@ -500,12 +500,16 @@ def has_website_permission(doctype, ptype="read", doc=None, user=None, verbose=F
if not user:
user = session.user

if isinstance(doc, basestring):
doc = get_doc(doctype, doc)
if doc:
if isinstance(doc, basestring):
doc = get_doc(doctype, doc)

# check permission in controller
if hasattr(doc, 'has_website_permission'):
return doc.has_website_permission(ptype, verbose=verbose)
if doc.flags.ignore_permissions:
return True

# check permission in controller
if hasattr(doc, 'has_website_permission'):
return doc.has_website_permission(ptype, verbose=verbose)

hooks = (get_hooks("has_website_permission") or {}).get(doctype, [])
if hooks:


+ 0
- 11
frappe/model/document.py Dosyayı Görüntüle

@@ -150,17 +150,6 @@ class Document(BaseDocument):
return True
return frappe.has_permission(self.doctype, permtype, self, verbose=verbose)

def has_website_permission(self, permtype="read", verbose=False):
"""Call `frappe.has_website_permission` if `self.flags.ignore_permissions`
is not set.

:param permtype: one of `read`, `write`, `submit`, `cancel`, `delete`"""
if self.flags.ignore_permissions:
return True

return (frappe.has_website_permission(self.doctype, permtype, self, verbose=verbose)
or self.has_permission(permtype, verbose=verbose))

def raise_no_permission_to(self, perm_type):
"""Raise `frappe.PermissionError`."""
msg = _("No permission to {0} {1} {2}".format(perm_type, self.doctype, self.name or ""))


Yükleniyor…
İptal
Kaydet