Files
enlight-lms/lms/patches/v1_0/custom_perm_for_discussions.py
2024-01-19 17:44:47 +05:30

43 lines
1.0 KiB
Python

import frappe
def execute():
roles = ["LMS Student", "Moderator", "Course Creator", "Class Evaluator"]
for role in roles:
add_perm_for_discussion_topic(role)
add_perm_for_discussion_reply(role)
def add_perm_for_discussion_topic(role):
topic_roles = frappe.permissions.get_doctype_roles("Discussion Topic")
if role in topic_roles:
return
topic_perm = frappe.new_doc("Custom DocPerm")
topic_perm.parent = "Discussion Topic"
topic_perm.role = role
topic_perm.if_owner = 1
topic_perm.read = 1
topic_perm.write = 1
topic_perm.create = 1
topic_perm.delete = 1
topic_perm.insert()
frappe.db.commit()
def add_perm_for_discussion_reply(role):
reply_roles = frappe.permissions.get_doctype_roles("Discussion Reply")
if role in reply_roles:
return
reply_perm = frappe.new_doc("Custom DocPerm")
reply_perm.parent = "Discussion Reply"
reply_perm.role = role
reply_perm.if_owner = 1
reply_perm.read = 1
reply_perm.write = 1
reply_perm.create = 1
reply_perm.delete = 1
reply_perm.insert()
frappe.db.commit()