apxtrib/setup/data/domain/apixpress/www/cdn/public/js/auth.js
2023-01-22 10:53:09 +01:00

213 lines
7.9 KiB
JavaScript
Executable File

(function($) {
const ROOT_TAAPP_URL = 'http://taapp.ndda.fr:3010';
const ROOT_URL = 'http://maildigit.ndda.fr'
$.fn.initlogin = function(URLCENTRALE) {
function register(blocauth) {
blocauth.html($('#register').html()).promise().done(function(){
$('a.oubliemdp').on('click', function(e){e.preventDefault(); forget(blocauth)});
$('a.login').on('click', function(e){e.preventDefault(); login(blocauth)});
$('.register-button').on('click',function(e){
e.preventDefault();
var etat = "";
var senddata = {'action':'register'};
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if (! reg.test($('#reg_email').val()) ) {
etat += $('#reg_email').data('msgko') +"<br>";
}else{
senddata['email'] = $('#reg_email').val();
};
if ($('#reg_password').val() != $('#reg_password_confirm') && $('#reg_password').val().length < 5 ) {
etat+=$('#reg_password').data('msgko') + "<br>";
}else{
senddata['psw'] = $('#reg_password').val();
};
if ( $('#reg_prenom').val().length < 3 ) {
etat += $('#reg_prenom').data('msgko') +"<br>";
}else{
senddata['prenom'] = $('#reg_prenom').val();
};
if ( $('#reg_nom').val().length < 3 ) {
etat += $('#reg_nom').data('msgko') +"<br>";
}else{
senddata['nom'] = $('#reg_nom').val();
};
senddata['genre'] = $("input[name='reg_gender']:checked").attr('id');
if (!($('#reg_agree').is(':checked'))) {
etat+=$('#reg_agree').data('msgko')+"<br>";
};
if (etat != "") {
$('#register-form p.msgreg').html(etat);
}else{
$.ajax({ url: "/log", type: "POST", data:senddata, cache: false,
success: function(e) {
e=JSON.parse(e);
console.log(e);
if (e.etat == "ok") {
login(blocauth);
}else{
console.log(e.etat);
$('#register-form p.msgreg').html(e.etat);
};
},
error: function(e) {
console.log(e);
$('#register-form p.msgreg').html($('#register-form').data('msgko'));
},
});
};
});
});
};
function directorySelector(blocauth) {
blocauth.html($('.choose-directory').html()).promise().done(function () {
$('.choose-directory__submit').on('click', function(e) {
const selectedDirectory = $('.directory-selector option:selected').val();
$.ajax({
url: `${ROOT_TAAPP_URL}/nas/need-data/${selectedDirectory}`,
type: "POST",
beforeSend: function(request) {
request.setRequestHeader('x-auth', localStorage.getItem('token'))
},
data: { login: 'max' },
cache: false,
success: function (data, textStatus, request) {
console.log('URL Node-File-Manager here!');
console.log('data: ', data);
displayIframe(blocauth, data.url);
},
error: function (response) {
console.log('err: ', response);
},
always: function (response) {
console.log('Hello!')
}
});
});
});
}
function displayIframe(blocauth, url) {
blocauth.html(`<iframe height="600" width="800" src=${url}> </iframe>`).promise().done(function() {
console.log('displayIframe');
})
}
function login(blocauth) {
blocauth.html($('#proclogin').html()).promise().done(function() {
$('a.oubliemdp').on('click', function(e) {
e.preventDefault();
forget(blocauth);
});
$('a.register').on('click', function(e) {
e.preventDefault();
register(blocauth);
});
$('button.login-button').on('click', function(e) {
e.preventDefault();
const ROOT_URL = 'http://maildigit.ndda.fr'
const tribeid = $(this).attr('data-tribeid');
const $form = $('#login-form');
const inputs = $form.serializeArray();
let loginData = {};
loginData.tribeid = tribeid;
inputs.forEach(input => {
if (input.value.trim().length > 0) {
loginData[input.name] = input.value.trim();
}
});
// Si les champs sont bien remplis on envoie la requête
if (Object.keys(loginData).length === 3) {
$.ajax({
url: `${ROOT_URL}/login`,
type: "POST",
data: loginData,
cache: false,
success: function (data, textStatus, request) {
const token = request.getResponseHeader('x-auth');
console.log('token: ', token);
localStorage.setItem('token', token);
directorySelector(blocauth);
},
error: function (response) {
console.log('err: ', response.responseJSON.error);
}
});
}
});
});
}
function forget(blocauth){
blocauth.html($('#forgotpw').html()).promise().done(function(){
$('a.login').on('click', function(e){e.preventDefault(); login(blocauth)});
$('a.register').on('click', function(e){e.preventDefault(); register(blocauth)});
});
};
login($(this));
};
$.fn.login = function(){
var form = $(this);
var lastdatasend = lastdatasend || "";
form.find('.btnsendform').on('click',function(){
var senddata = {};
var etat = "";
var msgok = form.data('msgok');
var msgko = form.data('msgko');
senddata.fichier = form.data('fichier');
form.find('input').each(function(i){
senddata[$(this).data('champs')]=$(this).val();
var reg = "{{"+$(this).data('champs')+"}}";
msgok = msgok.replace(reg,$(this).val());
msgko = msgko.replace(reg,$(this).val());
if ( $(this).data('check') == 'email') {
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if (! reg.test($(this).val()) ) { etat += $(this).data('msgerreur') +"<br>";};
};
if ( $(this).data('check') == 'phone') {
var phone = $(this).val().replace(/[^0-9]/g, '');
if (phone.length != 10) {etat += $(this).data('msgerreur') +"<br>";};
};
});
var diff = false;
if (lastdatasend == "") {diff=true;}
$.each(lastdatasend,function(k,v){
if (k in senddata && v!= senddata[k] ) {diff = true;}
});
if (!(diff)) {
etat = "Action déjà effectuée";
}
if (etat != "") {
form.find("p.msgform").html(etat);
}else{
$.ajax({ url: "http://maildigit.ndda.fr:3000/msg", type: "POST", data:senddata, cache: false,
success: function(e) {
//console.log(e);
lastdatasend = senddata;
console.log(form.data('msgok'));
form.find("p.msgform").html(msgok);
},
error: function(e) {
console.log(e);
form.find("p.msgform").html(msgko);
},
});
};
});
};
$.fn.functionname = function(contenu){
};
}(jQuery));