import * as Login from 'account/login.js';
const $form = $('.form');
const urlParams = Login.getURLParams(window.location.href);
window.history.replaceState(null, null, window.location.pathname);
$('.logo').on('click', (e) => window.top.location.href = 'http://emoby.cloud');
$('.provider').on('click', (e) => window.top.location.href = 'http://logica-consulting.com');
$form.find('input').on('keypress', (e) => (e.keyCode || e.which) == 13 ? login() : true);
$form.find('.btn-login').on('click', (e) => login());
$form.find('.btn-recovery').on('click', (e) => resetPassword());
$form.find('.btn-register').on('click', (e) => window.top.location.replace('register.php'));
$form.find('.btn-app a').on('click', (e) => window.top.location.replace(e.currentTarget.href));
//----------------------------------------------------------------------------
// LOGIN
//----------------------------------------------------------------------------
const login = async () => {
const username = $form.find('[name="username"]').val() || '';
const password_personale = $form.find('[name="password"]').val() || '';
const password_generica = $form.find('[name="password_generica"]').val() || '';
swal2({
title: `Logging in...`,
showConfirmButton: false,
allowOutsideClick: false,
});
swal2.showLoading();
const { error } = await Login.auth({
credentials: {
username,
password_personale,
password_generica,
},
extra: urlParams.r || '',
});
if (error == 'Maintenance') {
swal2({ type: "info", title: "Sistema in manutenzione", html: "È in corso un'attività di manutenzione straordinaria (non preventivata) del sistema
L'accesso sarà ripristinato non appena possibile" });
} else if (error == 'Access denied') {
swal2({ type: "error", title: "Credenziali errate" });
} else if (error == 'Network error') {
swal2({ type: "error", title: "Errore di rete" });
} else if (error == 'Expired password') {
await swal2({
type: 'error', timer: 6000,
title: `Nuova password richiesta`,
text: `La password non è più valida, verrà inviata un'email all'utente "${username}" con un link per reimpostarla`,
});
resetPassword({ requestConfirmation: false });
}
if (!error) {
const success = Login.access();
if (!success) swal2({ type: "error", title: "Errore in fase di login" });
}
};
//----------------------------------------------------------------------------
// RESET PASSWORD
//----------------------------------------------------------------------------
const resetPassword = async ({ requestConfirmation = true } = {}) => {
const username = $form.find('[name="username"]').val() || '';
const password_generica = $form.find('[name="password_generica"]').val() || '';
if (!username) {
return swal2({ type: 'warning', title: `Inserisci il tuo Username per proseguire` });
}
if (!password_generica) {
return swal2({ type: 'warning', title: `Inserisci il tuo Codice Azienda per proseguire` });
}
if (requestConfirmation) {
const { value } = await swal2({
title: `Reimposta password`,
text: `Verrà inviata un'email all'utente "${username}" con un link per reimpostare la password`,
cancelButtonText: 'Annulla', showCancelButton: true,
confirmButtonText: `Invia email`,
});
if (!value) return;
}
swal2({
title: `Invio email in corso, attendere...`,
showConfirmButton: false,
allowOutsideClick: false,
});
swal2.showLoading();
const { success, error } = await Login.resetPassword({
username,
envPassword: password_generica,
});
if (success) {
swal2({
type: 'success',
title: `Email inviata`,
//text: `Se l'username "${username}" corrispondesse ad un utente esistente, riceverà un'email con un link per resettare la password`,
text: `Per reimpostare la password, segui le istruzioni riportate nell'email`,
});
} else if (error == 'Email not sent' || !error) {
swal2({
type: 'error',
title: `Email non inviata`,
text: `Si è verificato un errore durante la procedura di invio email, ti invitiamo a ripetere l'operazione`,
});
} else if (error == 'Missing email') {
swal2({
type: 'error',
title: `Email non configurata`,
text: `L'utente inserito non ha alcun indirizzo email configurato, ti invitiamo a contattare il tuo responsabile`,
});
} else if (error == 'Invalid password') {
swal2({
type: 'error',
title: `Codice azienda non valido`,
text: `Il codice azienda inserito non è valido, ti invitiamo a contattare il tuo responsabile`,
});
} else if (error == 'Network error') {
swal2({ type: 'error', title: `Errore di rete` });
}
};