Added Spaces to IBAN for IBAN View in Address View and Form.php
This commit is contained in:
@@ -472,201 +472,180 @@
|
||||
var check = parseInt(iban.substr(2, 2));
|
||||
var account = iban.substr(4);
|
||||
|
||||
var searchRange = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('');
|
||||
//var replaceRange = [];
|
||||
var checkStr = account + cc + "00";
|
||||
for(var i = 0; i <= 25; i++) {
|
||||
checkStr = checkStr.replace(searchRange[i], i + 10);
|
||||
};
|
||||
// make checksum
|
||||
var checksum = parseInt(checkStr.substr(0,1));
|
||||
for(pos = 1; pos < checkStr.length; pos++) {
|
||||
checksum *= 10;
|
||||
checksum += parseInt(checkStr.substr(pos, 1));
|
||||
checksum %= 97;
|
||||
}
|
||||
|
||||
if(98 - checksum == check) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function validateIbanBic(iban, bic) {
|
||||
if(!iban) return false;
|
||||
iban = iban.toUpperCase().replace(/\s+/, '');
|
||||
|
||||
$.post("<?=self::getUrl("Address", "api")?>", {
|
||||
do: "validateIbanBic",
|
||||
iban: iban,
|
||||
bic: bic
|
||||
},
|
||||
function(success) {
|
||||
if(success.status == "OK") {
|
||||
var data = success.result;
|
||||
$("#bank-error").hide();
|
||||
$("#bank-error").text("");
|
||||
|
||||
if(data.iban_correct && data.bic_correct && (!data.iban_sus || data.iban_sus === "www")) {
|
||||
bankdata_valid = true;
|
||||
$('#addressForm').submit();
|
||||
return;
|
||||
}
|
||||
|
||||
var bank_error = [];
|
||||
|
||||
if(!data.iban_correct) {
|
||||
$("#bank_account_iban").addClass("invalid");
|
||||
bank_error.push("Ungültige IBAN!");
|
||||
}
|
||||
if(data.iban_sus && data.iban_sus !== "www") {
|
||||
$("#bank_account_iban").addClass("invalid");
|
||||
bank_error.push("IBAN verdächtig (" + data.iban_sus + ")!");
|
||||
}
|
||||
if(!data.bic_correct) {
|
||||
$("#bank_account_bic").addClass("invalid");
|
||||
bank_error.push("Ungültige BIC!");
|
||||
if(Array.isArray(data.bic)) {
|
||||
bank_error.push(" Mögliche korrekte BIC: " + data.bic.join(", "));
|
||||
}
|
||||
}
|
||||
|
||||
$("#bank-error").html(bank_error.join("<br />\n"));
|
||||
$("#bank-error").show();
|
||||
$('html, body').animate( {scrollTop: $('#billing-data').offset().top - 230}, 200);
|
||||
|
||||
|
||||
|
||||
var searchRange = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('');
|
||||
//var replaceRange = [];
|
||||
var checkStr = account + cc + "00";
|
||||
for(var i = 0; i <= 25; i++) {
|
||||
checkStr = checkStr.replace(searchRange[i], i + 10);
|
||||
};
|
||||
// make checksum
|
||||
var checksum = parseInt(checkStr.substr(0,1));
|
||||
for(pos = 1; pos < checkStr.length; pos++) {
|
||||
checksum *= 10;
|
||||
checksum += parseInt(checkStr.substr(pos, 1));
|
||||
checksum %= 97;
|
||||
}
|
||||
|
||||
if(98 - checksum == check) {
|
||||
return true;
|
||||
} else {
|
||||
$("#bank-error").text("Beim Validieren der Bankdaten ist ein Fehler aufgetreten.");
|
||||
return false;
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$('#addressForm').submit(function(e) {
|
||||
$("#error").hide();
|
||||
$("#bank-error").hide();
|
||||
|
||||
if($('#billing_type').val() == "sepa") {
|
||||
console.log("bankdata_valid (1): " + bankdata_valid);
|
||||
if(bankdata_valid) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!validateIbanFormat($("#bank_account_iban").val())) {
|
||||
$("#error").show();
|
||||
console.log("nope");
|
||||
}
|
||||
|
||||
console.log("bankdata_valid: " + bankdata_valid);
|
||||
if($("#bank_account_iban").val() != "<?=$address->bank_account_iban?>" || $("#bank_account_bic").val() != "<?=$address->bank_account_bic?>") {
|
||||
validateIbanBic($("#bank_account_iban").val(), $("#bank_account_bic").val());
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Format IBAN with Spaces
|
||||
function formatIBAN(input) {
|
||||
let iban = input.value.replace(/\s/g, '');
|
||||
function validateIbanBic(iban, bic) {
|
||||
if(!iban) return false;
|
||||
iban = iban.toUpperCase().replace(/\s+/, '');
|
||||
|
||||
let formattedIBAN = '';
|
||||
for (let i = 0; i < iban.length; i++) {
|
||||
if (i > 0 && i % 4 === 0) {
|
||||
formattedIBAN += ' ';
|
||||
}
|
||||
formattedIBAN += iban[i];
|
||||
}
|
||||
$.post("<?=self::getUrl("Address", "api")?>", {
|
||||
do: "validateIbanBic",
|
||||
iban: iban,
|
||||
bic: bic
|
||||
},
|
||||
function(success) {
|
||||
if(success.status == "OK") {
|
||||
var data = success.result;
|
||||
$("#bank-error").hide();
|
||||
$("#bank-error").text("");
|
||||
|
||||
input.value = formattedIBAN;
|
||||
}
|
||||
if(data.iban_correct && data.bic_correct && (!data.iban_sus || data.iban_sus === "www")) {
|
||||
bankdata_valid = true;
|
||||
$('#addressForm').submit();
|
||||
return;
|
||||
}
|
||||
|
||||
$("#bank_account_iban").on("input", function () {
|
||||
formatIBAN(this);
|
||||
});
|
||||
formatIBAN(document.getElementById('bank_account_iban'));
|
||||
var bank_error = [];
|
||||
|
||||
if(!data.iban_correct) {
|
||||
$("#bank_account_iban").addClass("invalid");
|
||||
bank_error.push("Ungültige IBAN!");
|
||||
}
|
||||
if(data.iban_sus && data.iban_sus !== "www") {
|
||||
$("#bank_account_iban").addClass("invalid");
|
||||
bank_error.push("IBAN verdächtig (" + data.iban_sus + ")!");
|
||||
}
|
||||
if(!data.bic_correct) {
|
||||
$("#bank_account_bic").addClass("invalid");
|
||||
bank_error.push("Ungültige BIC!");
|
||||
if(Array.isArray(data.bic)) {
|
||||
bank_error.push(" Mögliche korrekte BIC: " + data.bic.join(", "));
|
||||
}
|
||||
}
|
||||
|
||||
$("#bank-error").html(bank_error.join("<br />\n"));
|
||||
$("#bank-error").show();
|
||||
$('html, body').animate( {scrollTop: $('#billing-data').offset().top - 230}, 200);
|
||||
|
||||
|
||||
$('#addressForm').submit(function (e) {
|
||||
$("#error").hide();
|
||||
$("#bank-error").hide();
|
||||
|
||||
if ($('#billing_type').val() == "sepa") {
|
||||
console.log("bankdata_valid (1): " + bankdata_valid);
|
||||
if (bankdata_valid) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!validateIbanFormat($("#bank_account_iban").val().replace(/\s/g, ''))) {
|
||||
$("#error").show();
|
||||
console.log("nope");
|
||||
}
|
||||
|
||||
console.log("bankdata_valid: " + bankdata_valid);
|
||||
if ($("#bank_account_iban").val().replace(/\s/g, '') != "<?=$address->bank_account_iban?>" || $("#bank_account_bic").val() != "<?=$address->bank_account_bic?>") {
|
||||
validateIbanBic($("#bank_account_iban").val().replace(/\s/g, ''), $("#bank_account_bic").val());
|
||||
} else {
|
||||
return true;
|
||||
$("#bank-error").text("Beim Validieren der Bankdaten ist ein Fehler aufgetreten.");
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
|
||||
$("#bank_account_iban").val($("#bank_account_iban").val().replace(/\s/g, ''));
|
||||
|
||||
e.preventDefault();
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
function formatIBAN(input) {
|
||||
let iban = input.value.replace(/\s/g, '');
|
||||
|
||||
let formattedIBAN = '';
|
||||
for (let i = 0; i < iban.length; i++) {
|
||||
if (i > 0 && i % 4 === 0) {
|
||||
formattedIBAN += ' ';
|
||||
}
|
||||
});
|
||||
formattedIBAN += iban[i];
|
||||
}
|
||||
|
||||
input.value = formattedIBAN;
|
||||
}
|
||||
|
||||
$("#bank_account_iban").on("input", function () {
|
||||
formatIBAN(this);
|
||||
});
|
||||
formatIBAN(document.getElementById('bank_account_iban'));
|
||||
|
||||
|
||||
/*
|
||||
* link autocomplete
|
||||
*/
|
||||
$('#addressForm').submit(function(e) {
|
||||
$("#error").hide();
|
||||
$("#bank-error").hide();
|
||||
$("#bbank_account_iban").val($("#bank_account_iban").val().replace(/\s/g, ''));
|
||||
|
||||
$('.link-autocomplete').autoComplete();
|
||||
$('.link-autocomplete').keydown(function () {
|
||||
if (event.keyCode == 13) {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
if($('#billing_type').val() == "sepa") {
|
||||
console.log("bankdata_valid (1): " + bankdata_valid);
|
||||
if(bankdata_valid) {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* Links autocomplete
|
||||
*/
|
||||
$('.link-autocomplete').on("autocomplete.select", function(evt, item) {
|
||||
autocompleteSelect(evt,item);
|
||||
});
|
||||
|
||||
function autocompleteSelect(evt, item) {
|
||||
if(item && item.value === 0) {
|
||||
$('.link-autocomplete').autoComplete('set', null);
|
||||
return;
|
||||
if(!validateIbanFormat($("#bank_account_iban").val())) {
|
||||
$("#error").show();
|
||||
console.log("nope");
|
||||
}
|
||||
|
||||
console.log("bankdata_valid: " + bankdata_valid);
|
||||
if($("#bank_account_iban").val() != "<?=$address->bank_account_iban?>" || $("#bank_account_bic").val() != "<?=$address->bank_account_bic?>") {
|
||||
validateIbanBic($("#bank_account_iban").val(), $("#bank_account_bic").val());
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* link autocomplete
|
||||
*/
|
||||
|
||||
$('.link-autocomplete').autoComplete();
|
||||
$('.link-autocomplete').keydown(function() {
|
||||
if(event.keyCode == 13) {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* Links autocomplete
|
||||
*/
|
||||
$('.link-autocomplete').on("autocomplete.select", function(evt, item) {
|
||||
autocompleteSelect(evt,item);
|
||||
});
|
||||
|
||||
function autocompleteSelect(evt, item) {
|
||||
if(item && item.value === 0) {
|
||||
$('.link-autocomplete').autoComplete('set', null);
|
||||
return;
|
||||
}
|
||||
|
||||
var match = evt.currentTarget.id.match(/links_(\d+)_address_id/);
|
||||
var link_num = match[1];
|
||||
if(!link_num) {
|
||||
console.log("Couldn't find selected Address");
|
||||
}
|
||||
addLink(Number(link_num) + 1);
|
||||
}
|
||||
|
||||
var match = evt.currentTarget.id.match(/links_(\d+)_address_id/);
|
||||
var link_num = match[1];
|
||||
if(!link_num) {
|
||||
console.log("Couldn't find selected Address");
|
||||
}
|
||||
addLink(Number(link_num) + 1);
|
||||
}
|
||||
|
||||
function addLink(linknum) {
|
||||
if(!linknum) {
|
||||
console.log("no linknum");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#links_" + linknum + "_address_id").length) {
|
||||
console.log("gibs scho");
|
||||
return false;
|
||||
}
|
||||
|
||||
var new_link = '<div class="form-group row" id="link-' + linknum + '"> \
|
||||
|
||||
function addLink(linknum) {
|
||||
if(!linknum) {
|
||||
console.log("no linknum");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#links_" + linknum + "_address_id").length) {
|
||||
console.log("gibs scho");
|
||||
return false;
|
||||
}
|
||||
|
||||
var new_link = '<div class="form-group row" id="link-' + linknum + '"> \
|
||||
<label class="col-lg-2 col-form-label" for="links_' + linknum + '_address_id"></label> \
|
||||
<div class="col-lg-6"> \
|
||||
<div class="input-group mb-3"> \
|
||||
|
||||
Reference in New Issue
Block a user