Просмотр исходного кода

[fix] has_website_permissions

version-14
Rushabh Mehta 8 лет назад
Родитель
Сommit
66b4c470e1
2 измененных файлов: 9 добавлений и 16 удалений
  1. +9
    -5
      frappe/__init__.py
  2. +0
    -11
      frappe/model/document.py

+ 9
- 5
frappe/__init__.py Просмотреть файл

@@ -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 Просмотреть файл

@@ -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 ""))


Загрузка…
Отмена
Сохранить