Skip to content

Commit 68455e1

Browse files
add login_required for result page
1 parent fe9f649 commit 68455e1

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

app/routes/results.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
from bson import ObjectId
33
from time import time
44

5-
from flask import Blueprint, Response, render_template
5+
from flask import abort, Blueprint, Response, render_template
6+
from flask_login import current_user, login_required
67
from wsgiref.handlers import format_date_time as format_date
78

89
from app.db import db_methods
@@ -16,23 +17,29 @@
1617

1718

1819
@results_bp.route("/<string:_id>", methods=["GET"])
20+
@login_required
1921
def results_main(_id):
2022
try:
2123
oid = ObjectId(_id)
2224
except bson.errors.InvalidId:
2325
logger.error('_id exception:', exc_info=True)
24-
return render_template("./404.html")
26+
return abort(404)
2527
check = db_methods.get_check(oid)
2628
if check is not None:
27-
# show processing time for user
28-
avg_process_time = None if check.is_ended else db_methods.get_average_processing_time()
29-
return render_template("./results.html", navi_upload=True, results=check,
30-
columns=TABLE_COLUMNS, avg_process_time=avg_process_time,
31-
stats=format_check(check.pack()))
29+
# show check only for author or admin
30+
if current_user.is_admin or current_user.username == check.user:
31+
# show processing time for user
32+
avg_process_time = None if check.is_ended else db_methods.get_average_processing_time()
33+
return render_template("./results.html", navi_upload=True, results=check,
34+
columns=TABLE_COLUMNS, avg_process_time=avg_process_time,
35+
stats=format_check(check.pack()))
36+
else:
37+
return abort(403)
3238
else:
3339
logger.info("Запрошенная проверка не найдена: " + _id)
34-
return render_template("./404.html")
35-
40+
return abort(404)
41+
42+
3643
@results_bp.route("/svg/<string:_id>", methods=["GET"])
3744
def results_svg(_id):
3845
try:

0 commit comments

Comments
 (0)