Business Rule / Date validation (before after) with error messages
function onBefore(current, previous) {
//This function will be automatically called when this rule is processed.
if (!current.requested_by_date.nil() && !current.start_date.nil()) {
if (current.requested_by_date.getGlideObject().getNumericValue() <=
current.start_date.getGlideObject().getNumericValue() ) {
gs.addErrorMessage(gs.getMessage('alert_change_request_planned_start_req_date_conflict'));
current.start_date.setError(gs.getMessage('alert_change_request_planned_start_req_date_conflict'));
current.setAbortAction(true);
}
}
if (!current.end_date.nil() && !current.requested_by_date.nil()) {
if (current.requested_by_date.getGlideObject().getNumericValue() <=
current.end_date.getGlideObject().getNumericValue() ) {
gs.addErrorMessage(gs.getMessage('alert_change_request_planned_start_end_date_conflict'));
current.end_date.setError(gs.getMessage('alert_change_request_planned_start_end_date_conflict'));
current.setAbortAction(true);
}
}
if (!current.end_date.nil() && !current.start_date.nil()) {
if (current.end_date.getGlideObject().getNumericValue() <=
current.start_date.getGlideObject().getNumericValue() ) {
gs.addErrorMessage(gs.getMessage('alert_change_request_planned_start_date_conflict'));
current.start_date.setError(gs.getMessage('alert_change_request_planned_start_date_conflict'));
current.setAbortAction(true);
}
}
}
var msg = gs.getMessage('im_notification_msg_1') + ' ' +
current.caller_id.getDisplayValue() + ' ' +
gs.getMessage('im_notification_msg_2') + ' ' +
current.number;
gs.addInfoMessage(msg);