blob: 663f1cab4fdffca860e0f55d21ccedb2af1d5b53 [file] [log] [blame]
Manas Solanki966f1412017-11-23 15:22:10 +05301# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
2# For license information, please see license.txt
3
Manas Solanki966f1412017-11-23 15:22:10 +05304
5import frappe
Manas Solanki966f1412017-11-23 15:22:10 +05306
7
8def setup_education():
Shivam Mishra08425d42019-05-29 15:42:57 +05309 disable_desk_access_for_student_role()
10 if frappe.db.exists("Academic Year", "2015-16"):
Manas Solanki966f1412017-11-23 15:22:10 +053011 # already setup
12 return
13 create_academic_sessions()
14
Ankush Menat457d6162022-01-21 21:40:47 +053015
16def insert_record(records):
17 for r in records:
18 doc = frappe.new_doc(r.get("doctype"))
19 doc.update(r)
20 try:
21 doc.insert(ignore_permissions=True)
22 except frappe.DuplicateEntryError as e:
23 # pass DuplicateEntryError and continue
24 if e.args and e.args[0]==doc.doctype and e.args[1]==doc.name:
25 # make sure DuplicateEntryError is for the exact same doc and not a related doc
26 pass
27 else:
28 raise
29
Manas Solanki966f1412017-11-23 15:22:10 +053030def create_academic_sessions():
31 data = [
32 {"doctype": "Academic Year", "academic_year_name": "2015-16"},
33 {"doctype": "Academic Year", "academic_year_name": "2016-17"},
34 {"doctype": "Academic Year", "academic_year_name": "2017-18"},
35 {"doctype": "Academic Year", "academic_year_name": "2018-19"},
36 {"doctype": "Academic Term", "academic_year": "2016-17", "term_name": "Semester 1"},
37 {"doctype": "Academic Term", "academic_year": "2016-17", "term_name": "Semester 2"},
38 {"doctype": "Academic Term", "academic_year": "2017-18", "term_name": "Semester 1"},
39 {"doctype": "Academic Term", "academic_year": "2017-18", "term_name": "Semester 2"}
40 ]
41 insert_record(data)
Shivam Mishra08425d42019-05-29 15:42:57 +053042
43def disable_desk_access_for_student_role():
44 try:
45 student_role = frappe.get_doc("Role", "Student")
46 except frappe.DoesNotExistError:
47 create_student_role()
48 return
49
50 student_role.desk_access = 0
51 student_role.save()
52
53def create_student_role():
54 student_role = frappe.get_doc({
55 "doctype": "Role",
56 "role_name": "Student",
57 "desk_access": 0,
58 "restrict_to_domain": "Education"
59 })
Shivam Mishra9cad9432019-06-05 17:52:21 +053060 student_role.insert()