fix: various newsletter form ux fixes
- Cancel Scheduling button - Show dashboard message if newsletter is scheduled
This commit is contained in:
parent
1bb3c2d3f4
commit
de7d0337a6
1 changed files with 27 additions and 3 deletions
|
|
@ -28,7 +28,13 @@ frappe.ui.form.on('Newsletter', {
|
|||
}, __('Preview'));
|
||||
|
||||
frm.add_custom_button(__('Send now'), () => {
|
||||
frappe.confirm(__("Do you really want to send this email newsletter?"), function () {
|
||||
if (frm.doc.schedule_send) {
|
||||
frappe.confirm(__("This newsletter was scheduled to send on a later date. Are you sure you want to send it now?"), function () {
|
||||
frm.call('send_emails').then(() => frm.refresh());
|
||||
});
|
||||
return;
|
||||
}
|
||||
frappe.confirm(__("Are you sure you want to send this newsletter now?"), function () {
|
||||
frm.call('send_emails').then(() => frm.refresh());
|
||||
});
|
||||
}, __('Send'));
|
||||
|
|
@ -46,6 +52,8 @@ frappe.ui.form.on('Newsletter', {
|
|||
frm.set_value('sender_email', email);
|
||||
frm.set_value('sender_name', fullname);
|
||||
}
|
||||
|
||||
frm.trigger('update_schedule_message');
|
||||
},
|
||||
|
||||
schedule_send_dialog(frm) {
|
||||
|
|
@ -74,8 +82,16 @@ frappe.ui.form.on('Newsletter', {
|
|||
primary_action_label: __('Schedule'),
|
||||
primary_action({ date, time }) {
|
||||
frm.set_value('schedule_sending', 1);
|
||||
frm.set_value('schedule_send', `${date} ${time}`);
|
||||
frm.set_value('schedule_send', `${date} ${time}:00`);
|
||||
d.hide();
|
||||
frm.save();
|
||||
},
|
||||
secondary_action_label: __('Cancel Scheduling'),
|
||||
secondary_action() {
|
||||
frm.set_value('schedule_sending', 0);
|
||||
frm.set_value('schedule_send', '');
|
||||
d.hide();
|
||||
frm.save();
|
||||
}
|
||||
});
|
||||
if (frm.doc.schedule_sending) {
|
||||
|
|
@ -83,7 +99,7 @@ frappe.ui.form.on('Newsletter', {
|
|||
if (parts.length === 2) {
|
||||
let [date, time] = parts;
|
||||
d.set_value('date', date);
|
||||
d.set_value('time', time);
|
||||
d.set_value('time', time.slice(0, 5));
|
||||
}
|
||||
}
|
||||
d.show();
|
||||
|
|
@ -191,5 +207,13 @@ frappe.ui.form.on('Newsletter', {
|
|||
frm.sending_status = null;
|
||||
}
|
||||
},
|
||||
|
||||
update_schedule_message(frm) {
|
||||
if (!frm.doc.email_sent && frm.doc.schedule_send) {
|
||||
let datetime = frappe.datetime.global_date_format(frm.doc.schedule_send);
|
||||
frm.dashboard.set_headline_alert(__('This newsletter is scheduled to be sent on {0}', [datetime.bold()]));
|
||||
} else {
|
||||
frm.dashboard.clear_headline();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue