1
0
Fork 0
mirror of https://codeberg.org/Mo8it/AdvLabDB.git synced 2024-12-20 23:41:20 +00:00

Fixed changing active semester

This commit is contained in:
Mo 2021-07-11 13:48:13 +02:00
parent e50ad68d97
commit c9143410d4
3 changed files with 23 additions and 13 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
from flask import redirect, render_template, request, url_for
from flask import redirect, render_template, request, url_for, flash
from flask_security import auth_required, current_user
from advlabdb import app
@ -73,7 +73,12 @@ def index():
@app.route("/set_semester")
@auth_required()
def set_semester():
setUserActiveSemester(request.args.get("semester_id"))
ref = request.referrer
red = ref if ref else url_for("index")
try:
semesterId = int(request.args.get("semester_id"))
except Exception as ex:
flash(str(ex), "error")
else:
setUserActiveSemester(semesterId)
red = request.referrer or url_for("index")
return redirect(red)

View file

@ -102,11 +102,16 @@ def partFromLabelInUserActiveSemester(partLabel):
def setUserActiveSemester(semesterId):
if current_user.active_semester_id != semesterId:
if Semester.query.get(semesterId):
try:
current_user.active_semester_id = Semester.query.get(int(semesterId)).id
except Exception as err:
flash(str(err))
return False
current_user.active_semester_id = semesterId
db.session.commit()
except Exception as ex:
flash(str(ex), "error")
db.session.rollback()
else:
flash(f"Active semester changed to {Semester.query.get(semesterId).label}!", "warning")
return True
else:
flash(f"No semester with ID {semesterId}!", "error")