easyappointments/assets/js/pages/login.js

57 lines
1.7 KiB
JavaScript
Raw Normal View History

2021-10-04 10:26:48 +03:00
/* ----------------------------------------------------------------------------
2022-01-18 15:05:42 +03:00
* Easy!Appointments - Online Appointment Scheduler
2021-10-04 10:26:48 +03:00
*
* @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
* @since v1.5.0
2021-10-04 10:26:48 +03:00
* ---------------------------------------------------------------------------- */
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');
const $username = $('#username');
const $password = $('#password');
/**
* 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 username = $username.val();
const password = $password.val();
if (!username || !password) {
return;
}
const $alert = $('.alert');
2020-06-18 21:37:11 +03:00
$alert.addClass('d-none');
App.Http.Login.validate(username, password).done((response) => {
if (response.success) {
window.location.href = vars('dest_url');
} else {
$alert.text(lang('login_failed'));
$alert.removeClass('d-none alert-danger alert-success').addClass('alert-danger');
}
});
}
$loginForm.on('submit', onLoginFormSubmit);
return {};
})();