Updated state functions for session management
diff --git a/erpnext/public/js/education/web-academy.js b/erpnext/public/js/education/web-academy.js
index 2d6a1b9..282a588 100644
--- a/erpnext/public/js/education/web-academy.js
+++ b/erpnext/public/js/education/web-academy.js
@@ -20,6 +20,7 @@
 	state: {
 		completedCourses: new Set(),
 		enrolledPrograms: new Set(),
+		enrolledCourses: new Set(),
 		currentEnrollment: '',
 		student: '',
 		isLogin: false
@@ -48,10 +49,29 @@
 		return this.state.enrolledPrograms.has(programName)
 	},
 
+	updateEnrolledPrograms (){
+		if (this.debug) console.log('Updating enrolledPrograms')
+		frappe.call("erpnext.www.academy.get_program_enrollments").then( r => {
+			for(var ii=0; ii < r.message.length; ii++){
+				this.state.enrolledPrograms.add(r.message[ii])
+			}
+		})
+		if (this.debug) console.log('Updated State', this.state.enrolledPrograms)
+	},
+
+	updateEnrolledCourses (){
+		if (this.debug) console.log('Updating enrolledCourses')
+		frappe.call("erpnext.www.academy.get_course_enrollments").then( r => {
+			for(var ii=0; ii < r.message.length; ii++){
+				this.state.enrolledCourses.add(r.message[ii])
+			}
+		})
+		if (this.debug) console.log('Updated State', this.state.enrolledCourses)
+	},
+
 	updateCompletedCourses (){
 		if (this.debug) console.log('Updating States')
 		frappe.call("erpnext.www.academy.get_completed_courses").then( r => {
-			this.state.completedCourses.clear()
 			for(var ii=0; ii < r.message.length; ii++){
 				this.state.completedCourses.add(r.message[ii])
 			}
@@ -73,6 +93,8 @@
 
 	updateState (){
 		this.updateCompletedCourses()
+		this.updateEnrolledPrograms()
+		this.updateEnrolledCourses()
 		this.checkLogin()
 
 	},