mirror of
https://codeberg.org/Mo8it/AdvLabDB.git
synced 2024-11-08 21:21:06 +00:00
Add set_last_semester_as_active
This commit is contained in:
parent
8020762261
commit
c0a4f215e8
2 changed files with 27 additions and 16 deletions
|
@ -683,6 +683,32 @@ class User(db.Model, FsUserMixin):
|
|||
admin = db.relationship("Admin", back_populates="user", lazy=False, uselist=False)
|
||||
assistant = db.relationship("Assistant", back_populates="user", lazy=True, uselist=False)
|
||||
|
||||
def set_last_semester_as_active(self):
|
||||
"""
|
||||
Return True if changed, False otherwise.
|
||||
"""
|
||||
last_semester = Semester.lastSemester()
|
||||
|
||||
if last_semester.done:
|
||||
return False
|
||||
|
||||
try:
|
||||
self.active_semester = last_semester
|
||||
|
||||
db.session.commit()
|
||||
except Exception as ex:
|
||||
flash(str(ex), "error")
|
||||
|
||||
db.session.rollback()
|
||||
return False
|
||||
else:
|
||||
flash(
|
||||
f"Active semester changed to {last_semester} because your last active semester was marked as done!",
|
||||
"warning",
|
||||
)
|
||||
|
||||
return True
|
||||
|
||||
def str(self):
|
||||
return f"{self.first_name} {self.last_name}"
|
||||
|
||||
|
|
|
@ -36,22 +36,7 @@ def post_login():
|
|||
current_active_semester = current_user.active_semester
|
||||
|
||||
if current_active_semester.done:
|
||||
last_semester = Semester.lastSemester()
|
||||
|
||||
if not last_semester.done:
|
||||
try:
|
||||
current_user.active_semester = last_semester
|
||||
|
||||
db.session.commit()
|
||||
except Exception as ex:
|
||||
flash(str(ex), "error")
|
||||
|
||||
db.session.rollback()
|
||||
else:
|
||||
flash(
|
||||
f"Active semester changed to {last_semester} because the semester {current_active_semester} was marked as done!",
|
||||
"warning",
|
||||
)
|
||||
current_user.set_last_semester_as_active()
|
||||
|
||||
if current_user.has_role("admin"):
|
||||
endpoint_base = "admin"
|
||||
|
|
Loading…
Reference in a new issue