36 lines
968 B
JavaScript
36 lines
968 B
JavaScript
$( document ).ready(function () {
|
|
jQuery.validator.addMethod(
|
|
"either-hours-minutes-informed",
|
|
function (value, element) {
|
|
return Boolean($("#transfer_hours").val() || $("#transfer_minutes").val());
|
|
},
|
|
"Hours or minutes should be informed"
|
|
);
|
|
|
|
function submitHandler(form) {
|
|
// just submit when fields are not visible, in order to not break the multi
|
|
// transfer wizard
|
|
if (!$("#transfer_hours").is(":visible")) {
|
|
form.submit();
|
|
return;
|
|
}
|
|
|
|
var amount = $("#transfer_hours").val() * 3600 + $("#transfer_minutes").val() * 60;
|
|
$("#transfer_amount").val(amount);
|
|
|
|
if (amount == 0) {
|
|
$(form).find('.js-error-amount').removeClass('invisible').show();
|
|
return;
|
|
}
|
|
|
|
if ($(form).valid()) {
|
|
// submit the form via Rails-UJS to fire data-disable-with
|
|
Rails.fire(form, 'submit');
|
|
}
|
|
}
|
|
|
|
$("#multi_transfer, #new_transfer").validate({
|
|
submitHandler: submitHandler
|
|
});
|
|
})
|