brotherton-erpnext/erpnext/public/js/education/academy/components/ContentNavigation.vue
2019-02-19 13:06:32 +05:30

62 lines
1.7 KiB
Vue

<template>
<div class="nav-buttons">
<button class='btn btn-outline-secondary' @click="$router.go(-1)">Back</button>
<button v-if="nextContent" class='btn btn-primary' @click="goNext()">Next</button>
<button v-else class='btn btn-primary' @click="finish()">Finish Course</button>
</div>
</template>
<script>
export default {
props: ['nextContent', 'nextContentType'],
name: 'ContentNavigation',
methods: {
goNext() {
if(this.$route.params.type != "Quiz"){
frappe.call({
method: "erpnext.www.academy.add_activity",
args: {
enrollment: academy.store.enrolledCourses[this.$route.params.course],
content_type: this.$route.params.type,
content: this.$route.params.content
}
})
}
this.$router.push({ name: 'content', params: { course: this.$route.params.course, type:this.nextContentType, content:this.nextContent }})
},
finish() {
if(this.$route.params.type != "Quiz"){
frappe.call({
method: "erpnext.www.academy.add_activity",
args: {
enrollment: academy.store.enrolledCourses[this.$route.params.course],
content_type: this.$route.params.type,
content: this.$route.params.content
}
})
}
frappe.call({
method: "erpnext.www.academy.mark_course_complete",
args: {
enrollment: academy.store.enrolledCourses[this.$route.params.course]
}
})
// academy.store.addCompletedCourses(this.$route.params.course)
academy.store.updateCompletedCourses()
this.$router.push({ name: 'program', params: { program_name: this.$route.params.program_name}})
//
academy.trigger('course-completed', course_name);
}
}
};
</script>
<style lang="css" scoped>
.nav-buttons {
position: absolute;
bottom: 0;
right: 0;
}
</style>