Added custom 404 display and login redirect
This commit is contained in:
parent
2ba8980dd8
commit
2799190b97
@ -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.helpers import url_for
|
||||||
from flask.json import jsonify
|
from flask.json import jsonify
|
||||||
from werkzeug.security import generate_password_hash, check_password_hash
|
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
|
return jsonify({ 'error': f'Username {self.username} does not exist.' }), 401
|
||||||
if not check_password_hash( user['password'], self.password ):
|
if not check_password_hash( user['password'], self.password ):
|
||||||
return jsonify({ 'error': f'The password you entered is incorrect.' }), 401
|
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._id = user['_id']
|
||||||
self.start_session(resp)
|
self.start_session(resp)
|
||||||
return resp
|
return resp
|
||||||
|
@ -27,7 +27,12 @@ $('form.form-post').submit(function(event) {
|
|||||||
data: data,
|
data: data,
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
|
if (response.redirect_to) {
|
||||||
|
window.location.href = response.redirect_to;
|
||||||
|
}
|
||||||
|
else {
|
||||||
window.location.href = rel_success;
|
window.location.href = rel_success;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error: function(response) {
|
error: function(response) {
|
||||||
error_response(response);
|
error_response(response);
|
||||||
|
@ -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 flask.helpers import url_for
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@ -56,6 +56,7 @@ def login_required(function):
|
|||||||
@wraps(function)
|
@wraps(function)
|
||||||
def decorated_function(*args, **kwargs):
|
def decorated_function(*args, **kwargs):
|
||||||
if not check_login():
|
if not check_login():
|
||||||
|
session['prev_page'] = request.url
|
||||||
flash('Please log in to view this page.', 'alert')
|
flash('Please log in to view this page.', 'alert')
|
||||||
return redirect(url_for('admin_auth.login'))
|
return redirect(url_for('admin_auth.login'))
|
||||||
return function(*args, **kwargs)
|
return function(*args, **kwargs)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from flask import Flask, flash, request
|
from flask import Flask, flash, request, render_template
|
||||||
from flask.helpers import url_for
|
from flask.helpers import url_for
|
||||||
from flask.json import jsonify
|
from flask.json import jsonify
|
||||||
from flask_bootstrap import Bootstrap
|
from flask_bootstrap import Bootstrap
|
||||||
@ -77,4 +77,8 @@ if __name__ == '__main__':
|
|||||||
def _get_id_from_cookie():
|
def _get_id_from_cookie():
|
||||||
return dict(get_id_from_cookie = get_id_from_cookie)
|
return dict(get_id_from_cookie = get_id_from_cookie)
|
||||||
|
|
||||||
|
@app.errorhandler(404)
|
||||||
|
def _404_handler(e):
|
||||||
|
return render_template('/quiz/404.html'), 404
|
||||||
|
|
||||||
app.run(host=app.config['APP_HOST'])
|
app.run(host=app.config['APP_HOST'])
|
8
ref-test/quiz/templates/quiz/404.html
Normal file
8
ref-test/quiz/templates/quiz/404.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "quiz/components/base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Page Not Found</h1>
|
||||||
|
<p>
|
||||||
|
The page you were looking for does not exist. Try going back and navigating to the desired destination correctly.
|
||||||
|
</p>
|
||||||
|
{% endblock %}
|
@ -30,11 +30,11 @@
|
|||||||
{% include "quiz/components/server-alerts.html" %}
|
{% include "quiz/components/server-alerts.html" %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
</div>
|
|
||||||
|
|
||||||
<footer class="container site-footer">
|
<footer class="container site-footer">
|
||||||
{% include "quiz/components/footer.html" %}
|
{% include "quiz/components/footer.html" %}
|
||||||
</footer>
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- JQuery, Popper, and Bootstrap js dependencies -->
|
<!-- JQuery, Popper, and Bootstrap js dependencies -->
|
||||||
<script
|
<script
|
||||||
|
Loading…
Reference in New Issue
Block a user