feat: send email to batch students
This commit is contained in:
@@ -335,3 +335,14 @@ def get_timetable_details(timetable):
|
||||
|
||||
timetable = sorted(timetable, key=lambda k: k["date"])
|
||||
return timetable
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def send_email_to_students(batch, subject, message):
|
||||
frappe.only_for("Moderator")
|
||||
students = frappe.get_all("Batch Student", {"parent": batch}, pluck="student")
|
||||
frappe.sendmail(
|
||||
recipients=students,
|
||||
subject=subject,
|
||||
message=message,
|
||||
)
|
||||
|
||||
@@ -2470,3 +2470,7 @@ select {
|
||||
-moz-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.modal-body .ql-container {
|
||||
max-height: unset !important;
|
||||
}
|
||||
@@ -75,6 +75,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<button class="btn btn-secondary btn-sm btn-email">
|
||||
{{ _("Email to Students") }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{% if batch_info.custom_component %}
|
||||
<div class="mt-4">
|
||||
|
||||
@@ -63,6 +63,10 @@ frappe.ready(() => {
|
||||
$(document).on("click", ".slot", (e) => {
|
||||
mark_active_slot(e);
|
||||
});
|
||||
|
||||
$(".btn-email").click((e) => {
|
||||
email_to_students();
|
||||
});
|
||||
});
|
||||
|
||||
const create_live_class = (e) => {
|
||||
@@ -765,3 +769,47 @@ const get_background_color = (doctype) => {
|
||||
if (doctype == "LMS Assignment") return "var(--orange-400)";
|
||||
if (doctype == "LMS Live Class") return "var(--purple-400)";
|
||||
};
|
||||
|
||||
const email_to_students = () => {
|
||||
this.email_dialog = new frappe.ui.Dialog({
|
||||
title: __("Email to Students"),
|
||||
fields: [
|
||||
{
|
||||
fieldtype: "Data",
|
||||
fieldname: "subject",
|
||||
label: __("Subject"),
|
||||
reqd: 1,
|
||||
},
|
||||
{
|
||||
fieldtype: "Text Editor",
|
||||
fieldname: "message",
|
||||
label: __("Message"),
|
||||
reqd: 1,
|
||||
max_height: 100,
|
||||
min_lines: 5,
|
||||
},
|
||||
],
|
||||
primary_action: (values) => {
|
||||
send_email(values);
|
||||
},
|
||||
});
|
||||
this.email_dialog.show();
|
||||
};
|
||||
|
||||
const send_email = (values) => {
|
||||
frappe.call({
|
||||
method: "lms.lms.doctype.lms_batch.lms_batch.send_email_to_students",
|
||||
args: {
|
||||
batch: $(".class-details").data("batch"),
|
||||
subject: values.subject,
|
||||
message: values.message,
|
||||
},
|
||||
callback: (r) => {
|
||||
this.email_dialog.hide();
|
||||
frappe.show_alert({
|
||||
message: __("Email sent successfully"),
|
||||
indicator: "green",
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user