Merge pull request #1475 from pateljannat/issues-100

fix: hide start learning button if self enrollment is disabled
This commit is contained in:
Jannat Patel
2025-04-29 16:23:51 +05:30
committed by GitHub
3 changed files with 25 additions and 6 deletions

View File

@@ -48,12 +48,13 @@
</span> </span>
</Button> </Button>
</router-link> </router-link>
<div <Badge
v-else-if="course.data.disable_self_learning" v-else-if="course.data.disable_self_learning"
class="bg-surface-blue-2 text-blue-900 text-sm rounded-md py-1 px-3" theme="blue"
size="lg"
> >
{{ __('Contact the Administrator to enroll for this course.') }} {{ __('Contact the Administrator to enroll for this course.') }}
</div> </Badge>
<Button <Button
v-else v-else
@click="enrollStudent()" @click="enrollStudent()"
@@ -140,7 +141,7 @@
<script setup> <script setup>
import { BookOpen, Users, Star, GraduationCap } from 'lucide-vue-next' import { BookOpen, Users, Star, GraduationCap } from 'lucide-vue-next'
import { computed, inject } from 'vue' import { computed, inject } from 'vue'
import { Button, createResource, Tooltip } from 'frappe-ui' import { Badge, Button, createResource } from 'frappe-ui'
import { showToast, formatAmount } from '@/utils/' import { showToast, formatAmount } from '@/utils/'
import { capture } from '@/telemetry' import { capture } from '@/telemetry'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'

View File

@@ -31,9 +31,21 @@
) )
}} }}
</div> </div>
<Button v-if="user.data" @click="enrollStudent()" variant="solid"> <Button
v-if="user.data && !lesson.data.disable_self_learning"
@click="enrollStudent()"
variant="solid"
>
{{ __('Start Learning') }} {{ __('Start Learning') }}
</Button> </Button>
<Badge
theme="blue"
size="lg"
v-else-if="lesson.data.disable_self_learning"
class="mt-2"
>
{{ __('Contact the Administrator to enroll for this course.') }}
</Badge>
<Button v-else @click="redirectToLogin()"> <Button v-else @click="redirectToLogin()">
<template #prefix> <template #prefix>
<LogIn class="w-4 h-4 stroke-1" /> <LogIn class="w-4 h-4 stroke-1" />
@@ -254,6 +266,7 @@
<script setup> <script setup>
import { import {
createResource, createResource,
Badge,
Breadcrumbs, Breadcrumbs,
Button, Button,
Tooltip, Tooltip,

View File

@@ -1271,7 +1271,10 @@ def get_lesson(course, chapter, lesson):
membership = get_membership(course) membership = get_membership(course)
course_info = frappe.db.get_value( course_info = frappe.db.get_value(
"LMS Course", course, ["title", "paid_certificate"], as_dict=1 "LMS Course",
course,
["title", "paid_certificate", "disable_self_learning"],
as_dict=1,
) )
if ( if (
@@ -1284,6 +1287,7 @@ def get_lesson(course, chapter, lesson):
"no_preview": 1, "no_preview": 1,
"title": lesson_details.title, "title": lesson_details.title,
"course_title": course_info.title, "course_title": course_info.title,
"disable_self_learning": course_info.disable_self_learning,
} }
lesson_details = frappe.db.get_value( lesson_details = frappe.db.get_value(
@@ -1324,6 +1328,7 @@ def get_lesson(course, chapter, lesson):
lesson_details.instructors = get_instructors("LMS Course", course) lesson_details.instructors = get_instructors("LMS Course", course)
lesson_details.course_title = course_info.title lesson_details.course_title = course_info.title
lesson_details.paid_certificate = course_info.paid_certificate lesson_details.paid_certificate = course_info.paid_certificate
lesson_details.disable_self_learning = course_info.disable_self_learning
return lesson_details return lesson_details