easyappointments/assets/js/pages/login.js

53 lines
1.6 KiB
JavaScript

/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
/**
* 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();
const $alert = $('.alert');
$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 {};
})();