Merge pull request #1559 from pateljannat/issues-113

fix: dont allow enrollment is self learning is disabled from api
This commit is contained in:
Jannat Patel
2025-06-05 12:53:42 +05:30
committed by GitHub
3 changed files with 17 additions and 21 deletions

View File

@@ -146,7 +146,7 @@
<script setup>
import { BookOpen, Users, Star, GraduationCap } from 'lucide-vue-next'
import { computed, inject } from 'vue'
import { Badge, Button, createResource, toast } from 'frappe-ui'
import { Badge, Button, call, createResource, toast } from 'frappe-ui'
import { formatAmount } from '@/utils/'
import { capture } from '@/telemetry'
import { useRouter } from 'vue-router'
@@ -175,15 +175,11 @@ function enrollStudent() {
toast.success(__('You need to login first to enroll for this course'))
setTimeout(() => {
window.location.href = `/login?redirect-to=${window.location.pathname}`
}, 1000)
}, 500)
} else {
const enrollStudentResource = createResource({
url: 'lms.lms.doctype.lms_enrollment.lms_enrollment.create_membership',
call('lms.lms.doctype.lms_enrollment.lms_enrollment.create_membership', {
course: props.course.data.name,
})
enrollStudentResource
.submit({
course: props.course.data.name,
})
.then(() => {
capture('enrolled_in_course', {
course: props.course.data.name,
@@ -198,7 +194,11 @@ function enrollStudent() {
lessonNumber: 1,
},
})
}, 2000)
}, 1000)
})
.catch((err) => {
toast.warning(__(err.messages?.[0] || err))
console.error(err)
})
}
}

View File

@@ -84,7 +84,11 @@ class LMSEnrollment(Document):
def create_membership(
course, batch=None, member=None, member_type="Student", role="Member"
):
frappe.get_doc(
if frappe.db.get_value("LMS Course", course, "disable_self_learning"):
return False
enrollment = frappe.new_doc("LMS Enrollment")
enrollment.update(
{
"doctype": "LMS Enrollment",
"batch_old": batch,
@@ -93,8 +97,9 @@ def create_membership(
"member_type": member_type,
"member": member or frappe.session.user,
}
).save(ignore_permissions=True)
return "OK"
)
enrollment.insert()
return enrollment
@frappe.whitelist()

View File

@@ -961,15 +961,6 @@ def apply_gst(amount, country=None):
return amount, gst_applied
def create_membership(course, payment):
membership = frappe.new_doc("LMS Enrollment")
membership.update(
{"member": frappe.session.user, "course": course, "payment": payment.name}
)
membership.save(ignore_permissions=True)
return f"/lms/courses/{course}/learn/1-1"
def get_current_exchange_rate(source, target="USD"):
url = f"https://api.frankfurter.app/latest?from={source}&to={target}"