-
-
Save jvfiel/3f9e5a07cfc5362665f21de9a4a3ad59 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import frappe | |
#khs.kong_hua_school.update_report_roles | |
def update_report_roles(): | |
#KHS Student Rankings | |
#KHS Mastersheets | |
#KHS Report Cards | |
#Kong Hua School | |
for report in frappe.db.sql("""SELECT name FROM `tabReport` WHERE `tabReport`.module | |
IN ('KHS Student Rankings', | |
'KHS Mastersheets', | |
'KHS Report Cards', | |
'Kong Hua School')"""): | |
print(report) | |
report_doc = frappe.get_doc("Report",report[0]) | |
# report_doc.set_doctype_roles() | |
# report_doc.save() | |
meta = frappe.get_meta(report_doc.ref_doctype) | |
roles = [{'role': d.role} for d in meta.permissions if d.permlevel == 0] | |
report_doc.set('roles', roles) | |
args = { | |
'report': report[0] | |
} | |
name = frappe.db.get_value('Custom Role', args, "name") | |
args.update({ | |
'doctype': 'Custom Role', | |
'roles': roles | |
}) | |
# if self.report: | |
args.update({'ref_doctype': frappe.db.get_value('Report', report[0], 'ref_doctype')}) | |
if name: | |
custom_role = frappe.get_doc("Custom Role", name) | |
roles_ = [] | |
for data in roles: | |
if data['role'] != "All": | |
roles_.append({ | |
'role': data['role'], | |
'parenttype': 'Custom Role' | |
}) | |
custom_role.set('roles', roles_) | |
custom_role.save() | |
else: | |
frappe.get_doc(args).insert() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment