mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Add error message on login that does not direct to new page.
Remove failed to create dir error on startup when crafty cannot create dir since it exists after first startup. Error logging is still enabled for every error except FileExists for this case.
This commit is contained in:
parent
eb39577cc7
commit
0e942311fb
@ -15,6 +15,7 @@ import zipfile
|
||||
import pathlib
|
||||
import shutil
|
||||
from requests import get
|
||||
from contextlib import suppress
|
||||
|
||||
from datetime import datetime
|
||||
from socket import gethostname
|
||||
@ -373,9 +374,10 @@ class Helpers:
|
||||
logger.critical("Unable to write to {} directory!".format(self.root_dir))
|
||||
sys.exit(1)
|
||||
|
||||
# ensure the log directory is there
|
||||
# ensure the log directory is there
|
||||
try:
|
||||
os.makedirs(os.path.join(self.root_dir, 'logs'))
|
||||
with suppress(FileExistsError):
|
||||
os.makedirs(os.path.join(self.root_dir, 'logs'))
|
||||
except Exception as e:
|
||||
console.error("Failed to make logs directory with error: {} ".format(e))
|
||||
|
||||
|
@ -40,6 +40,7 @@ class PublicHandler(BaseHandler):
|
||||
def get(self, page=None):
|
||||
|
||||
error = bleach.clean(self.get_argument('error', "Invalid Login!"))
|
||||
error_msg = bleach.clean(self.get_argument('error_msg', ''))
|
||||
|
||||
page_data = {
|
||||
'version': helper.get_version_string(),
|
||||
@ -75,6 +76,7 @@ class PublicHandler(BaseHandler):
|
||||
template,
|
||||
data=page_data,
|
||||
translate=self.translator.translate,
|
||||
error_msg = error_msg
|
||||
)
|
||||
|
||||
def post(self, page=None):
|
||||
@ -89,18 +91,18 @@ class PublicHandler(BaseHandler):
|
||||
|
||||
# if we don't have a user
|
||||
if not user_data:
|
||||
next_page = "/public/error?error=Login Failed"
|
||||
error_msg = "Inncorrect username or password. Please try again."
|
||||
self.clear_cookie("user")
|
||||
self.clear_cookie("user_data")
|
||||
self.redirect(next_page)
|
||||
self.redirect('/public/login?error_msg={}'.format(error_msg))
|
||||
return
|
||||
|
||||
# if they are disabled
|
||||
if not user_data.enabled:
|
||||
next_page = "/public/error?error=Login Failed"
|
||||
error_msg = "User account disabled. Please contact your system administrator for more info."
|
||||
self.clear_cookie("user")
|
||||
self.clear_cookie("user_data")
|
||||
self.redirect(next_page)
|
||||
self.redirect('/public/login?error_msg={}'.format(error_msg))
|
||||
return
|
||||
|
||||
login_result = helper.verify_pass(entered_password, user_data.password)
|
||||
@ -132,9 +134,10 @@ class PublicHandler(BaseHandler):
|
||||
else:
|
||||
self.clear_cookie("user")
|
||||
self.clear_cookie("user_data")
|
||||
error_msg = "Inncorrect username or password. Please try again."
|
||||
# log this failed login attempt
|
||||
self.controller.management.add_to_audit_log(user_data.user_id, "Tried to log in", 0, self.get_remote_ip())
|
||||
self.redirect('/public/error?error=Login Failed')
|
||||
self.redirect('/public/login?error_msg={}'.format(error_msg))
|
||||
else:
|
||||
self.redirect("/public/login")
|
||||
|
||||
|
@ -71,6 +71,11 @@
|
||||
<div class="form-group">
|
||||
<button class="login-input btn btn-primary submit-btn btn-block">{{ translate('login', 'login', data['lang']) }}</button>
|
||||
</div>
|
||||
{% if error_msg is not None %}
|
||||
<fieldset style="color: red; text-align: center;">
|
||||
<span>{{error_msg}}</span>
|
||||
</fieldset>
|
||||
{% end %}
|
||||
<div class="form-group d-flex justify-content-between">
|
||||
<div class="form-check form-check-flat mt-0">
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user