Skip to content

Commit 92df725

Browse files
chore: Error Handling 404 and pages without permission fixed
1 parent efbe014 commit 92df725

File tree

7 files changed

+20
-15
lines changed

7 files changed

+20
-15
lines changed

src/blueprints/additional.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,3 @@ def about() -> str:
1818
@additional_bp.route('/permission-denied')
1919
def permission_denied():
2020
return render_template('permission_denied.html')
21-
22-
@additional_bp.errorhandler(404)
23-
def page_not_found(e):
24-
return render_template('404.html'), 404
25-
26-
27-

src/blueprints/admin.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
def manage_users():
1818
system_settings = Settings.query.first()
1919
if current_user.user_level != 'admin':
20-
return redirect(url_for('permission_denied'))
20+
return redirect(url_for('additional.permission_denied'))
2121

2222
users = User.query.all()
2323

@@ -173,7 +173,7 @@ def dashboard():
173173
@login_required
174174
def history():
175175
if current_user.user_level != 'admin':
176-
return redirect(url_for('permission_denied'))
176+
return redirect(url_for('additional.permission_denied'))
177177
selected_type = request.args.get('type', 'all')
178178

179179
if selected_type == 'gold':
@@ -260,6 +260,8 @@ def download_transactions_history():
260260
@login_required
261261
def update_jeweller_details():
262262
system_settings = Settings.query.first()
263+
if current_user.user_level != 'admin':
264+
return redirect(url_for('additional.permission_denied'))
263265
if request.method == 'POST':
264266
jeweller = JewellerDetails.query.first()
265267

src/blueprints/gold_calculator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def gold_calculator():
1717
system_settings = Settings.query.first()
1818
jeweller_details = JewellerDetails.query.first()
1919
if not system_settings.is_gold_calculator_enabled:
20-
return redirect(url_for('permission_denied'))
20+
return redirect(url_for('additional.permission_denied'))
2121
if request.method == 'POST':
2222
try:
2323
weight = float(request.form['weight'])

src/blueprints/silver_calculator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def silver_calculator():
1515
system_settings = Settings.query.first()
1616
jeweller_details = JewellerDetails.query.first()
1717
if not system_settings.is_silver_calculator_enabled:
18-
return redirect(url_for('permission_denied'))
18+
return redirect(url_for('additional.permission_denied'))
1919
if request.method == 'POST':
2020
try:
2121
weight = float(request.form['weight'])

src/config.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import os
2-
from flask import Flask
2+
from flask import Flask, render_template
33
from flask_session import Session
44
from flask_sqlalchemy import SQLAlchemy
55
from flask_bcrypt import Bcrypt
@@ -17,4 +17,14 @@
1717
db = SQLAlchemy(app)
1818
bcrypt = Bcrypt(app)
1919
login_manager = LoginManager(app)
20-
login_manager.login_view = 'login'
20+
login_manager.login_view = 'auth.login'
21+
22+
# 404 error handler
23+
@app.errorhandler(404)
24+
def page_not_found(e):
25+
return render_template('404.html'), 404
26+
27+
# 500 error handler
28+
@app.errorhandler(500)
29+
def internal_server_error(e):
30+
return render_template('500.html'), 500

src/templates/404.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
<div class="error-container">
88
<h1>404</h1>
99
<p>Oops! The page you're looking for can't be found.</p>
10-
<a href="{{ url_for('home') }}" class="btn btn-hero mt-4">Go to Home Page</a>
10+
<a href="{{ url_for('homepage.home') }}" class="btn btn-hero mt-4">Go to Home Page</a>
1111
</div>
1212
{% endblock %}

src/templates/permission_denied.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
<div class="container">
88
<h1>Permission Denied</h1>
99
<p>You do not have enough permissions to access this page.</p>
10-
<a href="{{ url_for('home') }}" class="btn btn-hero mt-4">Go to Home Page</a>
10+
<a href="{{ url_for('homepage.home') }}" class="btn btn-hero mt-4">Go to Home Page</a>
1111
</div>
1212
{% endblock %}

0 commit comments

Comments
 (0)