easyappointments/assets/js/pages/login.js

55 lines
1.6 KiB
JavaScript
Raw Normal View History

2021-10-04 10:26:48 +03:00
/* ----------------------------------------------------------------------------
* Easy!Appointments - Open Source Web Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
2021-12-18 19:43:45 +03:00
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
2021-10-04 10:26:48 +03:00
* @since v1.4.0
* ---------------------------------------------------------------------------- */
2021-10-28 14:30:39 +03:00
/**
* Login page.
*
* This module implements the functionality of the login page.
*/
App.Pages.Login = (function () {
const $loginForm = $('#login-form');
/**
* Login Button "Click"
*
* Make an ajax call to the server and check whether the user's credentials are right.
* If yes then redirect him to his desired page, otherwise display a message.
*/
function onLoginFormSubmit(event) {
event.preventDefault();
const url = App.Vars.baseUrl + '/index.php/login/validate';
const data = {
csrf_token: App.Vars.csrf_token,
2021-12-10 10:31:00 +03:00
username: $('#username').val(),
password: $('#password').val()
};
const $alert = $('.alert');
2020-06-18 21:37:11 +03:00
$alert.addClass('d-none');
$.post(url, data).done((response) => {
if (response.success) {
window.location.href = App.Vars.dest_url;
} else {
$alert.text(App.Lang.login_failed);
$alert.removeClass('d-none alert-danger alert-success').addClass('alert-danger');
}
});
}
$loginForm.on('submit', onLoginFormSubmit);
return {};
})();