In the function dc_delete(_event, _triggerForm, _noDialog) in the model svy_nav_base.js on the Line 662, the function dc_delete_pre_action() is called.
I would like to override this function dc_delete_pre_action() to delete some relation before the selected record is deleted.
The function dc_delete_pre_action() returns a true or a false and if a false is returned, the selected record should not be deleted.
So my recommended change could look about that:
if (_answer == _ok || _noDialog) {
databaseManager.startTransaction()
var _succes = false
if(dc_delete_pre_action(forms[_form].foundset, _multiDelete)){
_succes = forms[_form].controller.deleteRecord()
dc_delete_post(forms[_form].foundset, _multiDelete)
}
if (_succes) {
databaseManager.commitTransaction()
} else {
databaseManager.rollbackTransaction()
_return = -1
globals.svy_mod_dialogs_global_showWarningDialog(i18n.getI18NMessage('svy.fr.lbl.record_delete'), i18n.getI18NMessage('svy.fr.dlg.delete_cancel'), i18n.getI18NMessage('svy.fr.lbl.ok'))
}
if (forms[_form].controller.getMaxRecordIndex() < 1) {
globals.svy_nav_dc_setStatus('browse', _form);
}
}
Is that possible to implement?