fix: dont allow enrollment is self learning is disabled from api
This commit is contained in:
@@ -146,7 +146,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 { Badge, Button, createResource, toast } from 'frappe-ui'
|
import { Badge, Button, call, createResource, toast } from 'frappe-ui'
|
||||||
import { formatAmount } from '@/utils/'
|
import { formatAmount } from '@/utils/'
|
||||||
import { capture } from '@/telemetry'
|
import { capture } from '@/telemetry'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
@@ -175,13 +175,9 @@ function enrollStudent() {
|
|||||||
toast.success(__('You need to login first to enroll for this course'))
|
toast.success(__('You need to login first to enroll for this course'))
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
window.location.href = `/login?redirect-to=${window.location.pathname}`
|
window.location.href = `/login?redirect-to=${window.location.pathname}`
|
||||||
}, 1000)
|
}, 500)
|
||||||
} else {
|
} else {
|
||||||
const enrollStudentResource = createResource({
|
call('lms.lms.doctype.lms_enrollment.lms_enrollment.create_membership', {
|
||||||
url: 'lms.lms.doctype.lms_enrollment.lms_enrollment.create_membership',
|
|
||||||
})
|
|
||||||
enrollStudentResource
|
|
||||||
.submit({
|
|
||||||
course: props.course.data.name,
|
course: props.course.data.name,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@@ -198,7 +194,11 @@ function enrollStudent() {
|
|||||||
lessonNumber: 1,
|
lessonNumber: 1,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}, 2000)
|
}, 1000)
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
toast.warning(__(err.messages?.[0] || err))
|
||||||
|
console.error(err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,11 @@ class LMSEnrollment(Document):
|
|||||||
def create_membership(
|
def create_membership(
|
||||||
course, batch=None, member=None, member_type="Student", role="Member"
|
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",
|
"doctype": "LMS Enrollment",
|
||||||
"batch_old": batch,
|
"batch_old": batch,
|
||||||
@@ -93,8 +97,9 @@ def create_membership(
|
|||||||
"member_type": member_type,
|
"member_type": member_type,
|
||||||
"member": member or frappe.session.user,
|
"member": member or frappe.session.user,
|
||||||
}
|
}
|
||||||
).save(ignore_permissions=True)
|
)
|
||||||
return "OK"
|
enrollment.insert()
|
||||||
|
return enrollment
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
|
|||||||
@@ -961,15 +961,6 @@ def apply_gst(amount, country=None):
|
|||||||
return amount, gst_applied
|
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"):
|
def get_current_exchange_rate(source, target="USD"):
|
||||||
url = f"https://api.frankfurter.app/latest?from={source}&to={target}"
|
url = f"https://api.frankfurter.app/latest?from={source}&to={target}"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user