From 84b94ac653b3dd61099e71f04377825e9395363c Mon Sep 17 00:00:00 2001 From: Ruben Meyer <46384706+rxbnDE@users.noreply.github.com> Date: Sat, 29 Feb 2020 21:18:37 +0100 Subject: [PATCH] web - login messages --- bin/web/views/login.pug | 3 +++ res/web/js/custom.js | 25 ++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/bin/web/views/login.pug b/bin/web/views/login.pug index 33db50b..37fef79 100644 --- a/bin/web/views/login.pug +++ b/bin/web/views/login.pug @@ -10,6 +10,9 @@ append content div(class="uk-width-auto uk-width-1-4@s") .uk-flex.uk-flex-auto.uk-flex-column.uk-flex-center.uk-margin-left.uk-margin-right h1= login_title || "Please login" + #login_msg.uk-alert(data-uk-alert).uk-hidden + a.uk-close-alt.uk-alert-close(href="#") + p form.uk-form-horizontal .uk-margin label.uk-form-label(for="login_user") Username / Email diff --git a/res/web/js/custom.js b/res/web/js/custom.js index d857313..7d2374b 100644 --- a/res/web/js/custom.js +++ b/res/web/js/custom.js @@ -13,7 +13,19 @@ function login() { ajax.send(JSON.stringify(data)); ajax.onload = () => { let json = JSON.parse(ajax.responseText); - if(json.message && json.message == "msg.auth.login.successful") window.location.href= "/"; + let box = document.getElementById("login_msg"); + if(json.message && json.message == "msg.auth.login.successful") { + if(window.location.pathname == "/authenticate" && getParameterByName("appId")) window.location.href= "/authenticate"; + else window.location.href= "/"; + + box.classList.remove("uk-hidden"); + box.classList.add("uk-alert-success"); + box.classList.getElementsByTagName("p")[0].innerHTML = "Logged in. You will be redirected"; + } else if(json.message && json.message == "msg.auth.login.failed") { + box.classList.remove("uk-hidden"); + box.classList.add("uk-alert-danger"); + box.getElementsByTagName("p")[0].innerHTML = "Login failed.
Username or Password is wrong."; + } }; }; @@ -33,3 +45,14 @@ setTimeout(function () { logout(); } }, 100); + +// @url: https://stackoverflow.com/a/901144 +function getParameterByName(name) { + let url = window.location.href; + name = name.replace(/[\[\]]/g, '\\$&'); + var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, ' ')); +}