diff --git a/erpnext/education/api.py b/erpnext/education/api.py
index b75635e..430064e 100644
--- a/erpnext/education/api.py
+++ b/erpnext/education/api.py
@@ -38,7 +38,7 @@
 	program_enrollment.student = student.name
 	program_enrollment.student_name = student.title
 	program_enrollment.program = frappe.db.get_value("Student Applicant", source_name, "program")
-	frappe.publish_realtime('enroll_student_progress', {"progress": [4, 4]}, user=frappe.session.user)
+	frappe.publish_realtime('enroll_student_progress', {"progress": [2, 4]}, user=frappe.session.user)
 	student_user = frappe.get_doc({
 		'doctype':'User',
 		'first_name': student.first_name,
@@ -48,6 +48,7 @@
 		})
 	student_user.add_roles("Student", "LMS User")
 	student_user.save()
+	frappe.publish_realtime('enroll_student_progress', {"progress": [4, 4]}, user=frappe.session.user)
 	update_password_link = student_user.reset_password()
 	print(update_password_link)
 	return program_enrollment
@@ -80,7 +81,7 @@
 
 	present = json.loads(students_present)
 	absent = json.loads(students_absent)
-	
+
 	for d in present:
 		make_attendance_records(d["student"], d["student_name"], "Present", course_schedule, student_group, date)
 
@@ -100,7 +101,7 @@
 	:param status: Status (Present/Absent)
 	"""
 	student_attendance = frappe.get_doc({
-		"doctype": "Student Attendance", 
+		"doctype": "Student Attendance",
 		"student": student,
 		"course_schedule": course_schedule,
 		"student_group": student_group,
@@ -123,7 +124,7 @@
 
 	:param student: Student.
 	"""
-	guardians = frappe.get_list("Student Guardian", fields=["guardian"] , 
+	guardians = frappe.get_list("Student Guardian", fields=["guardian"] ,
 		filters={"parent": student})
 	return guardians
 
@@ -364,7 +365,7 @@
 		for guard in get_student_guardians(stud.student):
 			email = frappe.db.get_value("Guardian", guard.guardian, "email_address")
 			if email:
-				email_list.append(email)	
+				email_list.append(email)
 	add_subscribers(name, email_list)
 
 @frappe.whitelist()
diff --git a/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py b/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py
index db23ac7..9f8f9f4 100644
--- a/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py
+++ b/erpnext/education/doctype/program_enrollment_tool/program_enrollment_tool.py
@@ -48,7 +48,7 @@
 			return students
 		else:
 			frappe.throw(_("No students Found"))
-			
+
 	def enroll_students(self):
 		total = len(self.students)
 		for i, stud in enumerate(self.students):
