fix: disable self learning

This commit is contained in:
Jannat Patel
2024-05-03 11:38:41 +05:30
parent 8a2991c4fb
commit cf5a088f5e
4 changed files with 38 additions and 6 deletions

View File

@@ -46,6 +46,12 @@
</span> </span>
</Button> </Button>
</router-link> </router-link>
<div
v-else-if="course.data.disable_self_learning"
class="bg-blue-100 text-blue-900 text-sm rounded-md py-1 px-3"
>
{{ __('Contact the Administrator to enroll for this course.') }}
</div>
<Button <Button
v-else v-else
@click="enrollStudent()" @click="enrollStudent()"

View File

@@ -2,7 +2,7 @@
<div class="text-base"> <div class="text-base">
<div <div
v-if="title && (outline.data?.length || allowEdit)" v-if="title && (outline.data?.length || allowEdit)"
class="grid grid-cols-[70%,30%] mb-4 px-3" class="grid grid-cols-[70%,30%] mb-4"
> >
<div class="font-semibold text-lg"> <div class="font-semibold text-lg">
{{ __(title) }} {{ __(title) }}
@@ -105,7 +105,7 @@
</template> </template>
<script setup> <script setup>
import { Button, createResource } from 'frappe-ui' import { Button, createResource } from 'frappe-ui'
import { ref } from 'vue' import { ref, computed } from 'vue'
import { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue' import { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'
import { import {
ChevronRight, ChevronRight,
@@ -139,6 +139,10 @@ const props = defineProps({
type: Boolean, type: Boolean,
default: false, default: false,
}, },
membership: {
type: Object,
default: () => ({}),
},
}) })
const outline = createResource({ const outline = createResource({
@@ -150,6 +154,23 @@ const outline = createResource({
auto: true, auto: true,
}) })
/* const isComplete = (lesson) => {
createResource({
url: 'lms.lms.utils.get_progress',
makeParams() {
console.log(lesson)
return {
course: lesson.course,
lesson: lesson.name,
}
},
auto: true,
onSuccess(data) {
console.log(data)
}
})
} */
const openChapterDetail = (index) => { const openChapterDetail = (index) => {
return index == route.params.chapterNumber || index == 1 return index == route.params.chapterNumber || index == 1
} }

View File

@@ -170,7 +170,11 @@
></div> ></div>
</div> </div>
</div> </div>
<CourseOutline :courseName="courseName" :key="chapterNumber" /> <CourseOutline
:courseName="courseName"
:key="chapterNumber"
:membership="lesson.data.membership"
/>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -135,7 +135,7 @@ def get_lessons(course, chapter=None, get_details=True):
return lessons if get_details else lesson_count return lessons if get_details else lesson_count
def get_lesson_details(chapter): def get_lesson_details(chapter, get_progress=False):
lessons = [] lessons = []
lesson_list = frappe.get_all( lesson_list = frappe.get_all(
"Lesson Reference", {"parent": chapter.name}, ["lesson", "idx"], order_by="idx" "Lesson Reference", {"parent": chapter.name}, ["lesson", "idx"], order_by="idx"
@@ -161,7 +161,7 @@ def get_lesson_details(chapter):
) )
lesson_details.number = f"{chapter.idx}.{row.idx}" lesson_details.number = f"{chapter.idx}.{row.idx}"
lesson_details.icon = get_lesson_icon(lesson_details.body) lesson_details.icon = get_lesson_icon(lesson_details.body)
lesson_details.is_complete = get_progress(lesson_details.course, lesson_details.name)
lessons.append(lesson_details) lessons.append(lesson_details)
return lessons return lessons
@@ -307,7 +307,7 @@ def get_progress(course, lesson, member=None):
if not member: if not member:
member = frappe.session.user member = frappe.session.user
return frappe.db.get_value( return frappe.db.exists(
"LMS Course Progress", "LMS Course Progress",
{"course": course, "member": member, "lesson": lesson}, {"course": course, "member": member, "lesson": lesson},
["status"], ["status"],
@@ -1209,6 +1209,7 @@ def get_course_details(course):
"short_introduction", "short_introduction",
"published", "published",
"upcoming", "upcoming",
"disable_self_learning",
"published_on", "published_on",
"status", "status",
"paid_course", "paid_course",