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>
</Button>
</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
v-else
@click="enrollStudent()"

View File

@@ -2,7 +2,7 @@
<div class="text-base">
<div
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">
{{ __(title) }}
@@ -105,7 +105,7 @@
</template>
<script setup>
import { Button, createResource } from 'frappe-ui'
import { ref } from 'vue'
import { ref, computed } from 'vue'
import { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'
import {
ChevronRight,
@@ -139,6 +139,10 @@ const props = defineProps({
type: Boolean,
default: false,
},
membership: {
type: Object,
default: () => ({}),
},
})
const outline = createResource({
@@ -150,6 +154,23 @@ const outline = createResource({
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) => {
return index == route.params.chapterNumber || index == 1
}

View File

@@ -170,7 +170,11 @@
></div>
</div>
</div>
<CourseOutline :courseName="courseName" :key="chapterNumber" />
<CourseOutline
:courseName="courseName"
:key="chapterNumber"
:membership="lesson.data.membership"
/>
</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
def get_lesson_details(chapter):
def get_lesson_details(chapter, get_progress=False):
lessons = []
lesson_list = frappe.get_all(
"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.icon = get_lesson_icon(lesson_details.body)
lesson_details.is_complete = get_progress(lesson_details.course, lesson_details.name)
lessons.append(lesson_details)
return lessons
@@ -307,7 +307,7 @@ def get_progress(course, lesson, member=None):
if not member:
member = frappe.session.user
return frappe.db.get_value(
return frappe.db.exists(
"LMS Course Progress",
{"course": course, "member": member, "lesson": lesson},
["status"],
@@ -1209,6 +1209,7 @@ def get_course_details(course):
"short_introduction",
"published",
"upcoming",
"disable_self_learning",
"published_on",
"status",
"paid_course",