1
0
Fork 0
mirror of https://codeberg.org/Mo8it/AdvLabDB.git synced 2024-09-19 18:31:16 +00:00

Prevent creating semesters older than newest

This commit is contained in:
Mo 2022-05-29 22:07:47 +02:00
parent 45359b2c87
commit 813d6102a2
2 changed files with 14 additions and 6 deletions

View file

@ -261,17 +261,18 @@ class UserView(SecureAdminModelView):
class SemesterView(SecureAdminModelView):
class CreateForm(Form):
def defaultFormLabel():
if current_user.active_semester.label == "WS":
last_semester = Semester.lastSemester()
if last_semester.label == "WS":
return "SS"
else:
return "WS"
def defaultFormYear():
activeSemester = current_user.active_semester
if activeSemester.label == "WS":
return activeSemester.year + 1
last_semester = Semester.lastSemester()
if last_semester.label == "WS":
return last_semester.year + 1
else:
return activeSemester.year
return last_semester.year
label = RadioField(
"Semester",

View file

@ -455,7 +455,14 @@ class Semester(db.Model):
__table_args__ = (db.UniqueConstraint(label, year),)
# TODO: def __init__(self, label, year):
def __init__(self, label, year):
last_semester = Semester.lastSemester()
if last_semester is not None:
if year < last_semester.year or (year == last_semester.year and label == "SS"):
raise DataBaseException(f"You can only create semesters older than the last semester {last_semester}!")
super().__init__(label=label, year=year)
def initFromOldSemester(label, year, oldSemester, transferParts, transferAssistants):
semester = Semester(label=label, year=year)