fix: Better logging if form script handler throws (#10536)

This commit is contained in:
Faris Ansari 2020-05-29 13:17:14 +05:30 committed by GitHub
parent 5793be6565
commit a7f941bcd9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,12 +16,22 @@ frappe.ui.form.get_event_handler_list = function(doctype, fieldname) {
frappe.ui.form.on = frappe.ui.form.on_change = function(doctype, fieldname, handler) {
var add_handler = function(fieldname, handler) {
var handler_list = frappe.ui.form.get_event_handler_list(doctype, fieldname);
handler_list.push(handler);
let _handler = (...args) => {
try {
handler(...args);
} catch (error) {
console.error(handler);
throw error;
}
}
handler_list.push(_handler);
// add last handler to events so it can be called as
// frm.events.handler(frm)
if(cur_frm && cur_frm.doctype===doctype) {
cur_frm.events[fieldname] = handler;
cur_frm.events[fieldname] = _handler;
}
}