Added custom 404 display and login redirect

This commit is contained in:
2021-12-04 17:40:01 +00:00
parent 85c965bf92
commit eea99b9466
6 changed files with 33 additions and 9 deletions

View File

@ -1,4 +1,4 @@
from flask import flash, make_response, Response
from flask import flash, make_response, Response, session
from flask.helpers import url_for
from flask.json import jsonify
from werkzeug.security import generate_password_hash, check_password_hash
@ -61,7 +61,13 @@ class User:
return jsonify({ 'error': f'Username {self.username} does not exist.' }), 401
if not check_password_hash( user['password'], self.password ):
return jsonify({ 'error': f'The password you entered is incorrect.' }), 401
resp = make_response(jsonify({ 'success': f'Successfully logged in user {self.username}.' }), 200)
response = {
'success': f'Successfully logged in user {self.username}.'
}
if 'prev_page' in session:
response['redirect_to'] = session['prev_page']
session.pop('prev_page')
resp = make_response(jsonify(response), 200)
self._id = user['_id']
self.start_session(resp)
return resp

View File

@ -27,7 +27,12 @@ $('form.form-post').submit(function(event) {
data: data,
dataType: 'json',
success: function(response) {
window.location.href = rel_success;
if (response.redirect_to) {
window.location.href = response.redirect_to;
}
else {
window.location.href = rel_success;
}
},
error: function(response) {
error_response(response);

View File

@ -1,4 +1,4 @@
from flask import Blueprint, render_template, flash, redirect, request, jsonify, abort, make_response
from flask import Blueprint, render_template, flash, redirect, request, jsonify, abort, session
from flask.helpers import url_for
from functools import wraps
from datetime import datetime
@ -56,6 +56,7 @@ def login_required(function):
@wraps(function)
def decorated_function(*args, **kwargs):
if not check_login():
session['prev_page'] = request.url
flash('Please log in to view this page.', 'alert')
return redirect(url_for('admin_auth.login'))
return function(*args, **kwargs)