PageSourceSearch

https://freguesiaceira.pt/assets/js/backoffice/auth/login.js

js freguesiaceira.pt collected 2026-10-03 01:29:39 UTC 3,521 bytes, 105 lines download raw bytes

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.