fix: Course card progress
diff --git a/erpnext/public/js/education/lms/components/CourseCard.vue b/erpnext/public/js/education/lms/components/CourseCard.vue
index 29e2b67..b9cb548 100644
--- a/erpnext/public/js/education/lms/components/CourseCard.vue
+++ b/erpnext/public/js/education/lms/components/CourseCard.vue
@@ -14,12 +14,12 @@
</span>
</div>
<div class='course-buttons text-center col-xs-4 col-sm-3 col-md-2'>
- <a-button
- :type="'primary'"
+ <a-button v-if="isLogin"
+ :type="buttonType"
size="sm btn-block"
:route="courseRoute"
>
- View Course
+ {{ buttonName }}
</a-button>
</div>
</div>
@@ -36,10 +36,53 @@
components: {
AButton
},
+ data() {
+ return {
+ courseMeta: {},
+ }
+ },
+ mounted() {
+ if(lms.store.checkLogin()) this.getCourseMeta().then(data => this.courseMeta = data)
+ },
computed: {
courseRoute() {
return `${this.program_name}/${this.course.name}`
},
+ buttonType() {
+ if(lms.store.checkProgramEnrollment(this.program_name)){
+ if (this.courseMeta.flag == "Start Course" ){
+ return "primary"
+ }
+ else if (this.courseMeta.flag == "Completed" ) {
+ return "success"
+ }
+ else if (this.courseMeta.flag == "Continue" ) {
+ return "info"
+ }
+ }
+ else {
+ return " hidden"
+ }
+ },
+ isLogin() {
+ return lms.store.checkLogin()
+ },
+ buttonName() {
+ if(lms.store.checkLogin()){
+ return this.courseMeta.flag
+ }
+ else {
+ return "Enroll"
+ }
+ }
+ },
+ methods: {
+ getCourseMeta() {
+ return lms.call('get_course_meta', {
+ course_name: this.course.name,
+ program_name: this.program_name
+ })
+ },
}
};
</script>