Merge pull request 'feat #6235 Added device label' (#21) from 6235-addDevice into test
gitea/worker-time-control/pipeline/head This commit looks good Details

Reviewed-on: #21
This commit is contained in:
Guillermo Bonet 2024-02-09 09:56:04 +00:00
commit 4f2ca7dddf
5 changed files with 41 additions and 10 deletions

View File

@ -26,6 +26,15 @@ h1 {
span { span {
color: #ED4947; color: #ED4947;
} }
.device {
position: fixed;
bottom: 20px;
left: 20px;
float: left;
font-size: 1em;
font-weight: 400;
color: white;
}
.total { .total {
float: right; float: right;
font-weight: bold; font-weight: bold;

View File

@ -82,6 +82,9 @@ and open the template in the editor.
<h1> <h1>
developed with <span>&hearts;</span> by Verdnatura developed with <span>&hearts;</span> by Verdnatura
</h1> </h1>
<span class="device">
<p id="deviceLabel"></p>
</h2>
<div class="confirm"> <div class="confirm">
<div class="contConfirm"> <div class="contConfirm">

View File

@ -45,7 +45,8 @@ function setView() {
function fichar(direction) { function fichar(direction) {
const data = { const data = {
workerFk: userData['userFk'], workerFk: userData['userFk'],
direction direction,
device: localStorage.getItem("device")
} }
$.post({ $.post({

View File

@ -7,12 +7,14 @@ $(document).ready(function () {
function setEvents() { function setEvents() {
const heartEl = document.querySelector('body > h1 > span'); const heartEl = document.querySelector('body > h1 > span');
refreshDeviceLabel()
heartEl.addEventListener('click', function() { heartEl.addEventListener('click', function() {
Swal.fire({ Swal.fire({
title: 'Iniciar sesión', title: 'Iniciar sesión',
html: html:
`<input id="user" class="swal2-input" type="text" placeholder="Usuario" value="${localStorage.getItem('user') ?? ''}"> `<input id="device" class="swal2-input" type="text" placeholder="Dispositivo" value="${localStorage.getItem('device') ?? ''}">
<input id="user" class="swal2-input" type="text" placeholder="Usuario" value="${localStorage.getItem('user') ?? ''}">
<input id="pass" class="swal2-input" type="password" placeholder="Contraseña">`, <input id="pass" class="swal2-input" type="password" placeholder="Contraseña">`,
confirmButtonText: 'Login', confirmButtonText: 'Login',
showCloseButton: true, showCloseButton: true,
@ -21,7 +23,8 @@ function setEvents() {
if(result.isConfirmed) { if(result.isConfirmed) {
const user = $('#user').val(); const user = $('#user').val();
const pass = $('#pass').val(); const pass = $('#pass').val();
signIn(user,pass); const device = $('#device').val();
signIn(user, pass, device);
} }
}); });
}); });
@ -36,8 +39,11 @@ function setEvents() {
$("#txtPin").text("ID USUARIO"); $("#txtPin").text("ID USUARIO");
}); });
$(".btnOk").on("click", login); $(".btnOk").on("click", function () {
if (pin) {
login();
};
});
} }
function login() { function login() {
@ -56,7 +62,7 @@ function login() {
}); });
} }
function signIn(user, password) { function signIn(user, password, device) {
$.post({ $.post({
urlPath: 'vnUsers/sign-in', urlPath: 'vnUsers/sign-in',
jsonData: {user, password}, jsonData: {user, password},
@ -65,9 +71,14 @@ function signIn(user, password) {
localStorage.setItem("token", data.token); localStorage.setItem("token", data.token);
localStorage.setItem("ttl", data.ttl); localStorage.setItem("ttl", data.ttl);
localStorage.setItem("user", user); localStorage.setItem("user", user);
localStorage.setItem("password", password); localStorage.setItem("device", device);
localStorage.setItem("created", Date.now()); localStorage.setItem("created", Date.now());
getTokenConfig(); getTokenConfig();
refreshDeviceLabel();
}, },
}) })
} }
function refreshDeviceLabel() {
$("#deviceLabel").text(localStorage.getItem('device') ?? '')
}

View File

@ -66,7 +66,7 @@ $.ajaxPrefilter(function(xhr) {
const token = localStorage.getItem('token') const token = localStorage.getItem('token')
Object.assign(xhr, { Object.assign(xhr, {
url: `api/${xhr.urlPath}`, url: `/api/${xhr.urlPath}`,
headers: { headers: {
Authorization : token Authorization : token
}, },
@ -97,10 +97,17 @@ $.ajaxPrefilter(function(xhr) {
mensaje = 'Ajax request aborted'; mensaje = 'Ajax request aborted';
break; break;
case 'error': case 'error':
if (xhr?.responseJSON?.error?.name == 'UserError') {
mensaje = xhr.responseJSON.error.message;
break;
}
switch (xhr.status){ switch (xhr.status){
case 0: case 0:
mensaje = 'Not connect: Verify Network'; mensaje = 'Not connect: Verify Network';
break; break;
case 504:
mensaje = 'No se ha podido conectar con Salix, consulta con informática';
break;
case 555: case 555:
mensaje = JSON.parse(xhr.statusText).Message; mensaje = JSON.parse(xhr.statusText).Message;
break; break;