25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

33 satır
1.2 KiB

  1. import frappe
  2. import frappe.share
  3. def execute():
  4. frappe.reload_doc("core", "doctype", "docperm")
  5. frappe.reload_doc("core", "doctype", "docshare")
  6. # default share to all writes
  7. frappe.db.sql("""update tabDocPerm set `share`=1 where ifnull(`write`,0)=1 and ifnull(`permlevel`,0)=0""")
  8. # every user must have access to his / her own detail
  9. users = frappe.get_all("User", filters={"user_type": "System User"})
  10. usernames = [user.name for user in users]
  11. for user in usernames:
  12. frappe.share.add("User", user, user, share=1)
  13. # move event user to shared
  14. if frappe.db.exists("DocType", "Event User"):
  15. for event in frappe.get_all("Event User", fields=["parent", "person"]):
  16. if event.person in usernames:
  17. frappe.share.add("Event", event.parent, event.person, write=1)
  18. frappe.delete_doc("DocType", "Event User")
  19. # move note user to shared
  20. if frappe.db.exists("DocType", "Note User"):
  21. for note in frappe.get_all("Note User", fields=["parent", "user", "permission"]):
  22. perm = {"read": 1} if note.permission=="Read" else {"write": 1}
  23. if note.user in usernames:
  24. frappe.share.add("Note", note.parent, note.user, **perm)
  25. frappe.delete_doc("DocType", "Note User")