function login(){} login.prototype = { createSession: function () { document.getElementById('notAllowedQuestionForm').remove(); this.createLoginForm() }, sendForm: function () { let password = document.getElementById('password').value; let newPassword = document.getElementById('newPassword').value ; let confimNewPassword = document.getElementById('confirmNewPassword').value; let isValid1 = this.validateNewPassword(newPassword, confimNewPassword); let isValid2 = this.validateOldAndNewPassword(password, newPassword); if (isValid1['status'] && isValid2['status']) { this.loginUser(password, newPassword); return; } let message = ''; if (!isValid1.status) { message = isValid1.message + '
'; } if (!isValid2.status) { message += isValid2.message; } let modalError = new Modal({ title: 'Aviso', body : '', buttonOK : false, cancelText: 'OK', }); modalError.show(); }, validateOldAndNewPassword: function (oldPassword, newPassword) { let result = {'status': false, 'message': translate['old-new-password-must-be-different']}; if (oldPassword == newPassword) { return result; } result = {'status': true}; return result; }, validateNewPassword: function (newPassword, confirmNewPassword) { let result = {'status': false, 'message': translate['new-password-must-be-equals']}; if (newPassword !== confirmNewPassword) { return result; } result = {'status': true}; return result; }, loginUser: function (password, newPassword) { ajaxLoader.ajaxStart(); $.ajax({ url: '/login/login-new-session', data: {'password': password, 'newPassword': newPassword}, type: 'post', dataType: 'json', success: function(json) { ajaxLoader.ajaxStop(); if(json.status) { window.location.href = '/'; } else { let modalError = new Modal({ title: 'Aviso', body : '', buttonOK : false, cancelText: 'OK', }); modalError.show(); } }, }); }, loginUserNoChange: function() { $.ajax({ url: '/login/login-new-session-no-change', data: {}, type: 'post', dataType: 'json', success: function(json) { ajaxLoader.ajaxStop(); if(json.status) { window.location.href = '/'; } else { let modalError = new Modal({ title: 'Aviso', body : '', buttonOK : false, cancelText: 'OK', }); modalError.show(); } }, }); }, createLoginForm: function () { let divContainerLoginForm = document.createElement('div'); let boxSize = document.getElementById('size-box'); boxSize.setAttribute('class', 'col-md-6 center paddingMobile0'); let divBoxFormCinza = document.createElement('div'); divBoxFormCinza.setAttribute('class', 'box-form-cinza'); let divFormGroupPassword = document.createElement('div'); divFormGroupPassword.setAttribute('class', 'form-group'); let divFormGroupNewPassword = document.createElement('div'); divFormGroupNewPassword.setAttribute('class', 'form-group'); let divFormGroupConfirmNewPassword = document.createElement('div'); divFormGroupConfirmNewPassword.setAttribute('class', 'form-group'); let labelPassword = document.createElement('label'); labelPassword.innerHTML = translate['password']; let labelNewPassword = document.createElement('label'); labelNewPassword.innerHTML = translate['new-password']; let labelCofirmNewPassword = document.createElement('label'); labelCofirmNewPassword.innerHTML = translate['confirm-new-password']; let inputPassword = document.createElement('input'); inputPassword.setAttribute('type', 'password'); inputPassword.setAttribute('id', 'password'); inputPassword.setAttribute('class', 'form-control'); let inputNewPassword = document.createElement('input'); inputNewPassword.setAttribute('type', 'password'); inputNewPassword.setAttribute('id', 'newPassword'); inputNewPassword.setAttribute('class', 'form-control'); let inputConfirmNewPassoword = document.createElement('input'); inputConfirmNewPassoword.setAttribute('type', 'password'); inputConfirmNewPassoword.setAttribute('id', 'confirmNewPassword'); inputConfirmNewPassoword.setAttribute('class', 'form-control'); inputConfirmNewPassoword.setAttribute('placeholeder', 'teste'); let submitButton = document.createElement('button'); submitButton.setAttribute('onclick', 'login.sendForm()'); submitButton.setAttribute('class', 'btn-padrao-ativo col-xs-12 cadastro'); submitButton.innerText = translate['change-password-access']; let backButton = document.createElement('button'); backButton.setAttribute('onclick', 'login.notCreateSession()'); backButton.setAttribute('class', 'btn-padrao-ativo col-xs-12 cadastro'); backButton.innerText = translate['back']; divFormGroupPassword.appendChild(labelPassword); divFormGroupPassword.appendChild(inputPassword); divBoxFormCinza.appendChild(divFormGroupPassword); divFormGroupNewPassword.appendChild(labelNewPassword); divFormGroupNewPassword.appendChild(inputNewPassword); divBoxFormCinza.appendChild(divFormGroupNewPassword); divFormGroupConfirmNewPassword.appendChild(labelCofirmNewPassword); divFormGroupConfirmNewPassword.appendChild(inputConfirmNewPassoword); divBoxFormCinza.appendChild(divFormGroupConfirmNewPassword); divBoxFormCinza.appendChild(submitButton); divBoxFormCinza.appendChild(backButton); divContainerLoginForm.appendChild(divBoxFormCinza); document.getElementById('container').appendChild(divContainerLoginForm); }, notCreateSession: function() { $.ajax({ url: '/login/clear-not-logged', type: 'get', dataType: 'json', success: function(json) { window.location.href = '/'; }, }); }, validateSession: function () { // Ativando o ESC key antes de abrir a MODAL (Fechar o fullscreen) var esc = $.Event("keydown", { keyCode: 27 }); $("body").trigger(esc); $.ajax({ url: '/login/validate-session', type: 'get', dataType: 'json', success: function(json) { if (!json.status) { var modal = new Modal({ dismissButton: false, title: json.title, body : '', buttonOK : false, buttonCancel: false, }); modal.show(); window.setInterval( function() { window.location = '/logout'; }, 3000) } else { return; } }, }); }, getUserTokens: function() { $.ajax({ url: '/login/get-app-tokens', method: 'post', data: {}, dataType: 'json', success: function (response) { $('#modal-token').modal('show'); if ( response.status && response.token ) { let html = ''; $('#no-token-warning').hide(); $('#token-list').show(); if( response.token.length == 0 ) { $('#no-token-warning').show(); } else { response.token.forEach( function(token) { html += '
  • '; html += ' Pedido '+token.ped_codigo +'
    '; html += ' '; html += ' '+token.token+''; html += '
  • '; }); } $('#token-list').html(html); } else { $('#no-token-warning').show(); $('#token-list').hide(); } }, error: function () { $('#modal-token').modal('hide'); } }); return false; }, getPendingFacialOrders: function() { $.ajax({ url: '/login/get-pending-facial-orders', method: 'get', data: {}, dataType: 'json', success: function (response) { // Retornou os códigos dos pedidos if ( response.status && response.orders ) { console.log(response) var modal = new Modal({ title: 'Ingressos sem facial cadastrada', body : '
    '+'[verificar layout]'+'
    ', buttonOK : false, cancelText: 'Fechar' }); modal.show(); } } }); return false; }, } var login = new login();