[Major][Breaking] Modified lms.py and utils
diff --git a/erpnext/www/lms.py b/erpnext/www/lms.py
index c0cc6fa..2af6ca9 100644
--- a/erpnext/www/lms.py
+++ b/erpnext/www/lms.py
@@ -147,7 +147,6 @@
 		utils.create_student()
 	student = frappe.get_doc("Student", utils.get_current_student())
 	program_enrollment = student.enroll_in_program(program_name)
-	utils.enroll_all_courses_in_program(program_enrollment, student)
 	return program_name
 
 # Academty Activity 
@@ -168,39 +167,15 @@
 		frappe.db.commit()
 
 def get_course_progress(course_enrollment):
+	student_id = utils.get_current_student()
+	student = frappe.get_doc("Student", student_id)
 	course = frappe.get_doc('Course', course_enrollment.course)
-	contents = course.get_contents()
+	topics = course.get_topics()
 	progress = []
-	for content in contents:
-		if content.doctype in ('Article', 'Video'):
-			status = check_content_completion(content.name, content.doctype, course_enrollment.name)
-			progress.append({'content': content.name, 'content_type': content.doctype, 'is_complete': status})
-		elif content.doctype == 'Quiz':
-			status, score, result = check_quiz_completion(content, course_enrollment.name)
-			progress.append({'content': content.name, 'content_type': content.doctype, 'is_complete': status, 'score': score, 'result': result})
+	for topic in topics:
+			progress.append(student.get_topic_progress(course_enrollment.name, topic))
 	return progress
 
-def check_content_completion(content_name, content_type, enrollment_name):
-	activity = frappe.get_list("Course Activity", filters={'enrollment': enrollment_name, 'content_type': content_type, 'content': content_name})
-	if activity:
-		return True
-	else:
-		return False
-
-def check_quiz_completion(quiz, enrollment_name):
-	attempts = frappe.get_list("Quiz Activity", filters={'enrollment': enrollment_name, 'quiz': quiz.name}, fields=["name", "activity_date", "score", "status"])
-	status = bool(len(attempts) == quiz.max_attempts)
-	score = None
-	result = None
-	if attempts:
-		if quiz.grading_basis == 'Last Highest Score':
-			attempts = sorted(attempts, key = lambda i: int(i.score), reverse=True)
-		score = attempts[0]['score']
-		result = attempts[0]['status']
-		if result == 'Pass':
-			status = True
-	return status, score, result
-	
 @frappe.whitelist()
 def get_course_meta(course_name, program_name):
 	course_enrollment = utils.get_course_enrollment(course_name)