create course enrollment if not already enrolled for a program
diff --git a/erpnext/education/utils.py b/erpnext/education/utils.py
index 6fb72f1..bf7327b 100644
--- a/erpnext/education/utils.py
+++ b/erpnext/education/utils.py
@@ -109,7 +109,12 @@
 		})
 	student.save(ignore_permissions=True)
 	frappe.db.commit()
-	return student_name
+	return student
+
+def enroll_in_course(course_name, program_name):
+	student_id = get_current_student()
+	student = frappe.get_doc("Student", student_id)
+	student.enroll_in_course(course_name=course_name, program_enrollment=get_program_enrollment(program_name))
 
 def enroll_all_courses_in_program(program_enrollment, student):
 	program = frappe.get_doc("Program", program_enrollment.program)
diff --git a/erpnext/public/js/education/lms/components/CourseCard.vue b/erpnext/public/js/education/lms/components/CourseCard.vue
index 494c5e5..2c589ac 100644
--- a/erpnext/public/js/education/lms/components/CourseCard.vue
+++ b/erpnext/public/js/education/lms/components/CourseCard.vue
@@ -67,7 +67,7 @@
         },
         isLogin() {
             return lms.store.checkLogin()
-        }
+        },
     },
     methods: {
         iconClass(content_type) {
@@ -77,9 +77,10 @@
         },
         getCourseMeta() {
 			return lms.call('get_course_meta', {
-					course_name: this.course.name
+                    course_name: this.course.name,
+                    program_name: this.program_name
 				})
-		}
+        },
     }
 };
 </script>
@@ -92,6 +93,7 @@
     }
     li {
         list-style-type: none;
+        padding: 0;
     }
     .fa {
         font-size: 0.8em;
diff --git a/erpnext/www/lms.py b/erpnext/www/lms.py
index 047b321..0033557 100644
--- a/erpnext/www/lms.py
+++ b/erpnext/www/lms.py
@@ -199,9 +199,10 @@
 	return status, score, result
 	
 @frappe.whitelist()
-def get_course_meta(course_name):
+def get_course_meta(course_name, program_name):
 	course_enrollment = utils.get_course_enrollment(course_name)
-	# course_enrollment = frappe.get_doc("Course Enrollment", course_enrollment_name)
+	if not course_enrollment:
+		utils.enroll_in_course(course_name, program_name)
 	progress = get_course_progress(course_enrollment)
 	count = sum([act['is_complete'] for act in progress])
 	if count == 0:
@@ -215,7 +216,11 @@
 @frappe.whitelist()
 def get_program_meta(program_name):
 	program = frappe.get_doc("Program", program_name)
-	program_meta = {}
-	for course in program.get_all_children():
-		program_meta[course.course] = get_course_meta(course.course)
-	return program_meta
\ No newline at end of file
+	program_enrollment = frappe.get_list("Program Enrollment", filters={'student': utils.get_current_student(), 'program': program_name })[0].name
+	if not program_enrollment:
+		return None
+	else:
+		program_meta = {}
+		for course in program.get_all_children():
+			program_meta[course.course] = get_course_meta(course.course, program_name)
+		return program_meta
\ No newline at end of file