Files
enlight-lms/lms/www/batches/batch_details.js
2023-09-14 12:34:34 +05:30

102 lines
2.1 KiB
JavaScript

frappe.ready(() => {
frappe.require("controls.bundle.js");
$(".btn-add-course").click((e) => {
show_course_modal(e);
});
$(".btn-edit-course").click((e) => {
show_course_modal(e);
});
$(".btn-remove-course").click((e) => {
remove_course(e);
});
});
const show_course_modal = (e) => {
const target = $(e.currentTarget);
const course = target.data("course");
const evaluator = target.data("evaluator");
const course_name = target.data("name");
let course_modal = new frappe.ui.Dialog({
title: "Add Course",
fields: [
{
fieldtype: "Link",
options: "LMS Course",
label: __("Course"),
fieldname: "course",
reqd: 1,
only_select: 1,
default: course || "",
read_only: course ? 1 : 0,
},
{
fieldtype: "Link",
options: "Course Evaluator",
label: __("Course Evaluator"),
fieldname: "evaluator",
only_select: 1,
default: evaluator || "",
},
],
primary_action_label: __("Add"),
primary_action(values) {
add_course(values, course_name);
course_modal.hide();
},
});
course_modal.show();
setTimeout(() => {
$(".modal-body").css("min-height", "300px");
}, 1000);
};
const add_course = (values, course_name) => {
frappe.call({
method: "lms.lms.doctype.lms_batch.lms_batch.add_course",
args: {
course: values.course,
evaluator: values.evaluator,
parent: $(".class-details").data("batch"),
name: course_name || "",
},
callback(r) {
frappe.show_alert(
{
message: course_name
? __("Course Updated")
: __("Course Added"),
indicator: "green",
},
2000
);
window.location.reload();
},
});
};
const remove_course = (e) => {
frappe.confirm("Are you sure you want to remove this course?", () => {
frappe.call({
method: "lms.lms.doctype.lms_batch.lms_batch.remove_course",
args: {
course: $(e.currentTarget).data("course"),
parent: $(".class-details").data("batch"),
},
callback(r) {
frappe.show_alert(
{
message: __("Course Removed"),
indicator: "green",
},
2000
);
window.location.reload();
},
});
});
};