Files
monpas/public/js/login.js
T
2026-02-06 16:11:09 +01:00

141 lines
4.1 KiB
JavaScript

var ls={};
$(function(){
ls.initLoginModel = function(){
function checkEmail(email){
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
if(pattern.test(email)){
return true;
}else{
return false;
}
};
ko.bindingHandlers.enterkey = {
init: function (element, valueAccessor, allBindingsAccessor,viewModel) {
var allBindings = allBindingsAccessor()
$(element).keypress(function (event) {
var keyCode = (event.which ? event.which : event.keyCode);
if (keyCode === 13) {
allBindings.enterkey.call(viewModel, viewModel, event.target, element);
return false;
}
return true;
});
}
};
if (ls.LoginModel !== undefined){
ls.LoginModel.initModel();
}
else {
ls.LoginModel = {
welkomtekst : ko.observable(''),
gnaam : ko.observable(''),
wwoord : ko.observable(''),
email : ko.observable(''),
inloggen : ko.observable(true),
focusop : ko.observable(1),
initBindings :function(){
var self = ls.LoginModel;
if (!ko.dataFor(document.getElementById('pagLogin')) ) {
ko.applyBindings(ls.LoginModel, document.getElementById("pagLogin"));
}
self.initModel();
},
initModel: function(){
var self=ls.LoginModel;
var tijd= new Date();
self.welkomtekst("Welkom bij Radix");
if (tijd.getHours() >=0 && tijd.getHours() < 6) self.welkomtekst("Goedenacht, welkom bij MonPas");
if (tijd.getHours() >=6 && tijd.getHours() < 12) self.welkomtekst("Goedemorgen, welkom bij MonPas");
if (tijd.getHours() >=12 && tijd.getHours() < 18) self.welkomtekst("Goedemiddag, welkom bij MonPas");
if (tijd.getHours() >=18 && tijd.getHours() < 24) self.welkomtekst("Goedenavond, welkom bij MonPas");
},
fNieuwWachtwoord: function(){
var self=ls.LoginModel;
self.inloggen(false);
if (self.gnaam().length > 2) {self.focusop(4)}
else {self.focusop(3) };
},
fLogin: function(){
var self=ls.LoginModel;
if (self.gnaam().length<4) {
self.focusop(1);
return;}
if (self.wwoord().length<4) {
self.focusop(2);
return;}
var submitData={
gebruikersnaam: self.gnaam(),
wachtwoord: self.wwoord()
}
$.post("index.php/login/login", submitData, function(data){
if (!data || data == "geen rechten"){
if (data == "geen rechten") {
alert('U heeft geen (actieve) rechten binnen deze applicatie.');
}
else {
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.');
}
}
else {
self.fDoTwoFactor(data)
}
},'json');
},
fDoTwoFactor: function(hoe){
ls.initTwoFactorService(hoe, function(){
location.reload();
})
},
fNaarInlog: function(){
var self=ls.LoginModel;
self.inloggen(true);
if (self.gnaam().length > 2) {self.focusop(2)}
else {self.focusop(1) };
},
fMaakWwoord: function(){
var self=ls.LoginModel;
if (self.gnaam().length < 4){
self.focusop(3);
return;
}
if (self.email().length< 4 || !checkEmail(self.email()) ){
alert('Incorrect e-mailadres');
self.focusop(4);
return;
}
else{
var submitData={gnaam: self.gnaam(),
email: self.email()}
$.post('index.php/login/nieuwwachtwoord', submitData,function(result){
alert(result.errortekst);
if (result.status){
self.inloggen(true);
self.focusop(2);
}
},'json');
}
},
fZetFocus : function(){
var self=ls.LoginModel;
self.focusop(self.focusop() + 1);
if (self.focusop() > 4) self.focusop(1);
}
} ; // definition van model
ls.LoginModel.initBindings();
}; // else
}// function initLoginModel
});
$(document).ready(function(){
ls.initLoginModel();
}); // document ready function