[fix] ignore permissions when removing user share

This commit is contained in:
Anand Doshi 2016-04-04 16:53:58 +05:30
parent fc5155c2fb
commit b6d525270e
3 changed files with 7 additions and 5 deletions

View file

@ -105,7 +105,7 @@ class User(Document):
flags={"ignore_share_permission": True})
else:
frappe.share.remove(self.doctype, self.name, self.name,
flags={"ignore_share_permission": True})
flags={"ignore_permissions": True})
def validate_share(self, docshare):
if docshare.user == self.name:
@ -321,8 +321,10 @@ class User(Document):
self.username = self.username.strip(" @")
if self.username_exists():
frappe.msgprint(_("Username {0} already exists").format(self.username))
self.suggest_username()
if self.user_type == 'System User':
frappe.msgprint(_("Username {0} already exists").format(self.username))
self.suggest_username()
self.username = ""
# should be made up of characters, numbers and underscore only

View file

@ -138,7 +138,7 @@ def delete_from_table(doctype, name, ignore_doctypes, doc):
def check_permission_and_not_submitted(doc):
# permission
if frappe.session.user!="Administrator" and not doc.has_permission("delete"):
if not doc.flags.ignore_permissions and frappe.session.user!="Administrator" and not doc.has_permission("delete"):
frappe.msgprint(_("User not allowed to delete {0}: {1}").format(doc.doctype, doc.name), raise_exception=True)
# check if submitted

View file

@ -47,7 +47,7 @@ def remove(doctype, name, user, flags=None):
"share_doctype": doctype})
if share_name:
frappe.delete_doc("DocShare", share_name)
frappe.delete_doc("DocShare", share_name, flags=flags)
@frappe.whitelist()
def set_permission(doctype, name, user, permission_to, value=1, everyone=0):