fix: check enrollment on course certification page
This commit is contained in:
@@ -37,6 +37,7 @@
|
||||
<script setup>
|
||||
import { computed, inject, onMounted, ref } from 'vue'
|
||||
import { Breadcrumbs, call, createResource } from 'frappe-ui'
|
||||
import { useRouter } from 'vue-router'
|
||||
import UpcomingEvaluations from '@/components/UpcomingEvaluations.vue'
|
||||
|
||||
const courseTitle = ref(null)
|
||||
@@ -44,6 +45,7 @@ const evaluator = ref(null)
|
||||
const courses = ref([])
|
||||
const user = inject('$user')
|
||||
const dayjs = inject('$dayjs')
|
||||
const router = useRouter()
|
||||
|
||||
const props = defineProps({
|
||||
courseName: {
|
||||
@@ -53,6 +55,7 @@ const props = defineProps({
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
fetchEnrollmentDetails()
|
||||
fetchCourseDetails()
|
||||
})
|
||||
|
||||
@@ -66,10 +69,23 @@ const certificate = createResource({
|
||||
},
|
||||
fieldname: ['name', 'template', 'issue_date'],
|
||||
},
|
||||
auto: true,
|
||||
cache: [user.data?.name, props.courseName],
|
||||
})
|
||||
|
||||
const fetchEnrollmentDetails = () => {
|
||||
call('frappe.client.get_value', {
|
||||
doctype: 'LMS Enrollment',
|
||||
filters: { member: user.data?.name, course: props.courseName },
|
||||
fieldname: ['purchased_certificate'],
|
||||
}).then((data) => {
|
||||
if (data.purchased_certificate) {
|
||||
certificate.reload()
|
||||
} else {
|
||||
router.push({ name: 'CourseDetail', params: { courseName: props.courseName } })
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const fetchCourseDetails = () => {
|
||||
call('frappe.client.get_value', {
|
||||
doctype: 'LMS Course',
|
||||
|
||||
@@ -283,7 +283,8 @@ const courseType = computed(() => {
|
||||
]
|
||||
if (user.data?.is_student) {
|
||||
types.push({ label: __('Enrolled'), value: 'Enrolled' })
|
||||
} else {
|
||||
}
|
||||
if (user.data?.is_moderator || user.data?.is_instructor) {
|
||||
types.push({ label: __('Created'), value: 'Created' })
|
||||
}
|
||||
return types
|
||||
|
||||
Reference in New Issue
Block a user