瀏覽代碼

[patch] skip sharing for users that do not exist

version-14
Pratik Vyas 10 年之前
父節點
當前提交
aef411dae1
共有 1 個文件被更改,包括 8 次插入4 次删除
  1. +8
    -4
      frappe/patches/v5_0/update_shared.py

+ 8
- 4
frappe/patches/v5_0/update_shared.py 查看文件

@@ -9,13 +9,16 @@ def execute():
frappe.db.sql("""update tabDocPerm set `share`=1 where ifnull(`write`,0)=1 and ifnull(`permlevel`,0)=0""") frappe.db.sql("""update tabDocPerm set `share`=1 where ifnull(`write`,0)=1 and ifnull(`permlevel`,0)=0""")


# every user must have access to his / her own detail # every user must have access to his / her own detail
for user in frappe.get_all("User", filters={"user_type": "System User"}):
frappe.share.add("User", user.name, user.name, share=1)
users = frappe.get_all("User", filters={"user_type": "System User"})
usernames = [user.name for user in users]
for user in usernames:
frappe.share.add("User", user, user, share=1)


# move event user to shared # move event user to shared
if frappe.db.exists("DocType", "Event User"): if frappe.db.exists("DocType", "Event User"):
for event in frappe.get_all("Event User", fields=["parent", "person"]): for event in frappe.get_all("Event User", fields=["parent", "person"]):
frappe.share.add("Event", event.parent, event.person, write=1)
if event.person in usernames:
frappe.share.add("Event", event.parent, event.person, write=1)


frappe.delete_doc("DocType", "Event User") frappe.delete_doc("DocType", "Event User")


@@ -23,6 +26,7 @@ def execute():
if frappe.db.exists("DocType", "Note User"): if frappe.db.exists("DocType", "Note User"):
for note in frappe.get_all("Note User", fields=["parent", "user", "permission"]): for note in frappe.get_all("Note User", fields=["parent", "user", "permission"]):
perm = {"read": 1} if note.permission=="Read" else {"write": 1} perm = {"read": 1} if note.permission=="Read" else {"write": 1}
frappe.share.add("Note", note.parent, note.user, **perm)
if note.user in usernames:
frappe.share.add("Note", note.parent, note.user, **perm)


frappe.delete_doc("DocType", "Note User") frappe.delete_doc("DocType", "Note User")

Loading…
取消
儲存