1let login_form = $('#login-form'), 2 log_inputs = $('#login-email, #login-password'), 3 login_btn = $('#do-login'); 4 5 6$(() => { 7 login_form.validate({ 8 ignore: '', 9 rules: { 10 login_email: { 11 required: true, 12 email: true 13 }, 14 login_password: { 15 required: true, 16 } 17 }, 18 messages: { 19 login_email: { 20 required: language.validations.required, 21 email: language.validations.email, 22 }, 23 login_password: { 24 required: language.validations.required, 25 } 26 }, 27 errorElement: 'span', 28 errorPlacement: function (error, element) { 29 error.addClass('invalid-feedback'); 30 element.closest('.form-group').append(error); 31 }, 32 highlight: function (element) { 33 $(element).addClass('is-invalid'); 34 }, 35 unhighlight: function (element) { 36 $(element).removeClass('is-invalid'); 37 } 38 }); 39 removeMainLoader(); 40}); 41 42$('#login-form input').on('input', function () { 43 $(this).valid(); 44}); 45 46login_btn.on('click', () => { 47 if (login_form.valid() === true) { 48 doLogin(); 49 } 50}); 51 52log_inputs.on('keydown', function (e) { 53 if (e.keyCode === 13 && login_form.valid() === true) { 54 doLogin(); 55 } 56}); 57 58doLogin = () => { 59 let dataLogin = new FormData(); 60 dataLogin.append('email', $('#login-email').val()); 61 dataLogin.append('password', $('#login-password').val()); 62 63 $.ajax({ 64 url: '/login', 65 type: 'post', 66 async: false, 67 processData: false, 68 contentType: false, 69 beforeSend: function (e) { 70 e.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')); 71 }, 72 data: dataLogin, 73 success: function (response, status, xhr) { 74 if (xhr.status === 200) { 75 swAlert(200, language.login.status_code.code_200_title, language.login.status_code.code_200_login_success); 76 setTimeout(function () { 77 window.location.replace('/gestao/dashboard'); 78 }, 1800); 79 } 80 }, error: function (error) { 81 switch (error.status) { 82 case 400: 83 swAlert(400, language.login.status_code.code_400_title, language.login.status_code.code_400_error_login); 84 break; 85 case 403: 86 swAlert(400, language.login.status_code.code_403_title, language.login.status_code.code_403_error_permitions); 87 break; 88 case 422: 89 if (error.responseJSON.errors.blocked_user == 'true') { 90 swAlert(422, language.login.status_code.code_422_title_blocked, language.login.status_code.code_422_error_blocked); 91 } else { 92 swAlert(422, language.login.status_code.code_422_title, language.login.status_code.code_422_error_login); 93 } 94 break; 95 case 429: 96 swAlert(429, language.login.status_code.code_429_title, language.login.status_code.code_429_error_tryes); 97 break; 98 case 500: 99 swAlert(500, language.login.status_code.code_500_title, language.login.status_code.code_500_server_error); 100 break; 101 } 102 } 103 }); 104 105};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.