332 lines
No EOL
9.6 KiB
HTML
332 lines
No EOL
9.6 KiB
HTML
<!-- title: frappe.permissions --><div class="dev-header">
|
|
|
|
<a class="btn btn-default btn-sm" disabled style="margin-bottom: 10px;">
|
|
Version 6.x.x</a>
|
|
|
|
|
|
<a class="btn btn-default btn-sm" href="https://github.com/frappe/frappe/blob/develop/frappe/permissions.py"
|
|
target="_blank" style="margin-left: 10px; margin-bottom: 10px;"><i class="octicon octicon-mark-github"></i> Source</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.add_user_permission" href="#frappe.permissions.add_user_permission" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>add_user_permission</b>
|
|
<i class="text-muted">(doctype, name, user, with_message=False)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.apply_user_permissions" href="#frappe.permissions.apply_user_permissions" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>apply_user_permissions</b>
|
|
<i class="text-muted">(doctype, ptype, user=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Check if apply<em>user</em>permissions is checked for a doctype, perm type, user combination</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.can_export" href="#frappe.permissions.can_export" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>can_export</b>
|
|
<i class="text-muted">(doctype, raise_exception=False)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.can_import" href="#frappe.permissions.can_import" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>can_import</b>
|
|
<i class="text-muted">(doctype, raise_exception=False)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.can_set_user_permissions" href="#frappe.permissions.can_set_user_permissions" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>can_set_user_permissions</b>
|
|
<i class="text-muted">(doctype, docname=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.check_admin_or_system_manager" href="#frappe.permissions.check_admin_or_system_manager" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>check_admin_or_system_manager</b>
|
|
<i class="text-muted">(user=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.clear_user_permissions_for_doctype" href="#frappe.permissions.clear_user_permissions_for_doctype" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>clear_user_permissions_for_doctype</b>
|
|
<i class="text-muted">(doctype)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.get_doc_permissions" href="#frappe.permissions.get_doc_permissions" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>get_doc_permissions</b>
|
|
<i class="text-muted">(doc, verbose=False, user=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Returns a dict of evaluated permissions for given <code>doc</code> like <code>{"read":1, "write":1}</code></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.get_linked_doctypes" href="#frappe.permissions.get_linked_doctypes" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>get_linked_doctypes</b>
|
|
<i class="text-muted">(dt)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.get_role_permissions" href="#frappe.permissions.get_role_permissions" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>get_role_permissions</b>
|
|
<i class="text-muted">(meta, user=None, verbose=False)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Returns dict of evaluated role permissions like <code>{"read": True, "write":False}</code></p>
|
|
|
|
<p>If user permissions are applicable, it adds a dict of user permissions like</p>
|
|
|
|
<pre><code>{
|
|
// user permissions will apply on these rights
|
|
"apply_user_permissions": {"read": 1, "write": 1},
|
|
|
|
// doctypes that will be applicable for each right
|
|
"user_permission_doctypes": {
|
|
"read": [
|
|
// AND between "DocType 1" and "DocType 2"
|
|
["DocType 1", "DocType 2"],
|
|
|
|
// OR
|
|
|
|
["DocType 3"]
|
|
|
|
]
|
|
}
|
|
|
|
"if_owner": {"read": 1, "write": 1}
|
|
}
|
|
</code></pre>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.get_user_permission_doctypes" href="#frappe.permissions.get_user_permission_doctypes" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>get_user_permission_doctypes</b>
|
|
<i class="text-muted">(user_permission_doctypes, user_permissions)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>returns a list of list like [["User", "Blog Post"], ["User"]]</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.has_controller_permissions" href="#frappe.permissions.has_controller_permissions" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>has_controller_permissions</b>
|
|
<i class="text-muted">(doc, ptype, user=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Returns controller permissions if defined. None if not defined</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.has_permission" href="#frappe.permissions.has_permission" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>has_permission</b>
|
|
<i class="text-muted">(doctype, ptype=read, doc=None, verbose=False, user=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Returns True if user has permission <code>ptype</code> for given <code>doctype</code>.
|
|
If <code>doc</code> is passed, it also checks user, share and owner permissions.</p>
|
|
|
|
<p>Note: if Table DocType is passed, it always returns True.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.remove_user_permission" href="#frappe.permissions.remove_user_permission" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>remove_user_permission</b>
|
|
<i class="text-muted">(doctype, name, user, default_value_name=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.reset_perms" href="#frappe.permissions.reset_perms" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>reset_perms</b>
|
|
<i class="text-muted">(doctype)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Reset permissions for given doctype.</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.set_user_permission_if_allowed" href="#frappe.permissions.set_user_permission_if_allowed" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>set_user_permission_if_allowed</b>
|
|
<i class="text-muted">(doctype, name, user, with_message=False)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.update_share_permissions" href="#frappe.permissions.update_share_permissions" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>update_share_permissions</b>
|
|
<i class="text-muted">(role_permissions, doc, user)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p>Updates share permissions on <code>role_permissions</code> for given doc, if shared</p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="docs-attr-name">
|
|
<a name="frappe.permissions.user_has_permission" href="#frappe.permissions.user_has_permission" class="text-muted small">
|
|
<i class="icon-link small" style="color: #ccc;"></i></a>
|
|
frappe.permissions.<b>user_has_permission</b>
|
|
<i class="text-muted">(doc, verbose=True, user=None, user_permission_doctypes=None)</i>
|
|
</p>
|
|
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- autodoc --> |