From 5c783a57d295539d13dc8f3924ac3382699c5e21 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 12 Oct 2016 10:30:48 +0530 Subject: [PATCH] [refactor] has_website_permission parameters --- frappe/__init__.py | 4 +++- frappe/website/doctype/web_form/web_form.py | 2 +- frappe/www/print.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 2e276280a7..944680806c 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -489,7 +489,7 @@ def has_permission(doctype=None, ptype="read", doc=None, user=None, verbose=Fals return out -def has_website_permission(doctype, ptype="read", doc=None, user=None, verbose=False): +def has_website_permission(doc=None, ptype='read', user=None, verbose=False): """Raises `frappe.PermissionError` if not permitted. :param doctype: DocType for which permission is to be check. @@ -504,6 +504,8 @@ def has_website_permission(doctype, ptype="read", doc=None, user=None, verbose=F if isinstance(doc, basestring): doc = get_doc(doctype, doc) + doctype = doc.doctype + if doc.flags.ignore_permissions: return True diff --git a/frappe/website/doctype/web_form/web_form.py b/frappe/website/doctype/web_form/web_form.py index 08b4ddcbfe..70a0741892 100644 --- a/frappe/website/doctype/web_form/web_form.py +++ b/frappe/website/doctype/web_form/web_form.py @@ -418,7 +418,7 @@ def has_web_form_permission(doctype, name, ptype='read'): elif frappe.db.get_value(doctype, name, "owner")==frappe.session.user: return True - elif frappe.has_website_permission(doctype, ptype=ptype, doc=name): + elif frappe.has_website_permission(name, ptype=ptype): return True elif check_webform_perm(doctype, name): diff --git a/frappe/www/print.py b/frappe/www/print.py index f7ac3ea7d0..91458c493b 100644 --- a/frappe/www/print.py +++ b/frappe/www/print.py @@ -183,7 +183,7 @@ def validate_print_permission(doc): for ptype in ("read", "print"): if (not frappe.has_permission(doc.doctype, ptype, doc) - and not frappe.has_website_permission(doc.doctype, ptype, doc)): + and not frappe.has_website_permission(doc)): raise frappe.PermissionError(_("No {0} permission").format(ptype)) def get_letter_head(doc, no_letterhead):