diff --git a/advlabdb/models.py b/advlabdb/models.py index 39d5f60..a0e01a4 100644 --- a/advlabdb/models.py +++ b/advlabdb/models.py @@ -113,13 +113,12 @@ class Group(db.Model): semester = part_students[0].part.semester program = part_students[0].part.program - lastTakenGroupNumber = ( + groupWithHighestNumber = ( Group.query.filter(Group.semester == semester, Group.program == program) .order_by(Group.number.desc()) .first() - .number - or 0 ) + lastTakenGroupNumber = (groupWithHighestNumber and groupWithHighestNumber.number) or 0 return Group( program=program, @@ -358,14 +357,14 @@ class Semester(db.Model): semester.transferPartsFrom(oldSemester) for experiment in Experiment.query.filter(Experiment.active == True): - newSemesterExperiment = SemesterExperiment(experiment=experiment, semester=model) + newSemesterExperiment = SemesterExperiment(experiment=experiment, semester=semester) if transferAssistants: for oldSemesterExperiment in oldSemester.semester_experiments: if oldSemesterExperiment.experiment == experiment: newSemesterExperiment.assistants = oldSemesterExperiment.assistants - self.session.add(newSemesterExperiment) + db.session.add(newSemesterExperiment) return semester diff --git a/advlabdb/utils.py b/advlabdb/utils.py index ebf9706..c304a84 100644 --- a/advlabdb/utils.py +++ b/advlabdb/utils.py @@ -13,9 +13,7 @@ def randomPassword(): def userActiveSemester(flashWarning=False): - lastSemesterId = ( - Semester.query.order_by(Semester.year).order_by(Semester.id.desc()).first().id - ) # TODO: Check orders + lastSemesterId = Semester.query.order_by(Semester.year.desc()).order_by(Semester.id.desc()).first().id if current_user.active_semester_id is None: current_user.active_semester_id = lastSemesterId db.session.commit()