109 lines
4.6 KiB
JavaScript
109 lines
4.6 KiB
JavaScript
$(function(){
|
|
|
|
ls.initTwoFactorService = function(hoe, callback){
|
|
if (ls.TwoFactorService !== undefined){
|
|
ls.TwoFactorService.initModel(hoe, callback);
|
|
}
|
|
else {
|
|
ls.TwoFactorService = {
|
|
hoe : ko.observable(),
|
|
tempHoe : ko.observable(),
|
|
callback : ko.observable(),
|
|
deCode : ko.observable(''),
|
|
infoTeksten : ['Open de Google authenticator op uw telefoon en voer de code in.',
|
|
'Kijk in uw e-mail voor de code.',],
|
|
infoTekst : ko.observable(),
|
|
optieTekst : ko.observable(''),
|
|
optieBG : ko.observable('#30ACF0'),
|
|
kanKlik : ko.observable(false),
|
|
codeNogmaals: ko.observable(),
|
|
|
|
initBindings :function(hoe, callback){
|
|
var self = ls.TwoFactorService;
|
|
// if (!ko.dataFor(document.getElementById('pagNaam')) ) {
|
|
ko.applyBindings(ls.TwoFactorService, document.getElementById("twoFactorDialog"));
|
|
// }
|
|
self.initModel(hoe, callback);
|
|
},
|
|
|
|
initModel: function(hoe, callback){
|
|
let vm = ls.TwoFactorService
|
|
vm.deCode('')
|
|
vm.optieBG('#30ACF0')
|
|
vm.hoe(hoe)
|
|
vm.tempHoe(hoe)
|
|
vm.callback(callback)
|
|
|
|
vm.codeNogmaals('')
|
|
if (hoe =="GOOGLE") {
|
|
vm.infoTekst(vm.infoTeksten[0])
|
|
vm.optieTekst('Wilt u eenmalig een code per mail ontvangen? Klik dan hier.');
|
|
vm.kanKlik(true)
|
|
}
|
|
else {
|
|
vm.infoTekst(vm.infoTeksten[1])
|
|
vm.optieTekst('');
|
|
vm.kanKlik(false)
|
|
}
|
|
let dialog = document.getElementById( "twoFactorDialog" )
|
|
dialog.showModal()
|
|
},
|
|
|
|
fCheckCode: function(){
|
|
let vm = ls.TwoFactorService
|
|
if (vm.deCode().length ==6) {
|
|
vm.kanKlik(false)
|
|
let optieOud = vm.optieTekst()
|
|
vm.optieTekst('Even geduld, de code wordt gecontroleerd.')
|
|
let sd ={code: vm.deCode(),
|
|
hoe : vm.tempHoe() }
|
|
$.post('index.php/Login/checkTwoFactor', sd, function(result){
|
|
if (result) {
|
|
vm.infoTekst('');
|
|
vm.optieTekst(result)
|
|
vm.optieBG('#FF2D55');
|
|
vm.deCode('')
|
|
vm.codeNogmaals("Stuur nogmaals een code per e-mail? Klik hier.");
|
|
}
|
|
else {
|
|
vm.fClose()
|
|
}
|
|
},'json')
|
|
}
|
|
},
|
|
|
|
fSendPerEmail: function(){
|
|
let vm = ls.TwoFactorService
|
|
vm.optieTekst("Een moment geduld aub");
|
|
vm.codeNogmaals('')
|
|
vm.kanKlik(false)
|
|
$.post( 'index.php/Login/mailCodeOnce', function (error) {
|
|
if (error) {
|
|
let dialog = document.getElementById( "twoFactorDialog" )
|
|
dialog.close()
|
|
apprise(error)
|
|
}
|
|
else {
|
|
vm.infoTekst("Er is een e-mail met inlogcode verstuurd. <br> Het kan tot een minuut duren voor u deze ontvangt.")
|
|
vm.optieTekst("Verstuur nogmaals een inlogcode? Klik hier.")
|
|
vm.kanKlik(true)
|
|
vm.tempHoe("EMAIL")
|
|
}
|
|
} ,'json');
|
|
|
|
},
|
|
|
|
fClose: function(){
|
|
let vm = ls.TwoFactorService
|
|
|
|
if (typeof vm.callback() == 'function') {
|
|
vm.callback()()
|
|
}
|
|
let dialog = document.getElementById( "twoFactorDialog" )
|
|
dialog.close()
|
|
}
|
|
} ; // definition van model
|
|
ls.TwoFactorService.initBindings(hoe, callback);
|
|
}; // else
|
|
}// function initTwoFactorService
|
|
}); |