From 954fe5ff0026c6f623091a64f1f46a84093e0c4e Mon Sep 17 00:00:00 2001 From: Mo8it Date: Mon, 21 Jun 2021 18:26:38 +0200 Subject: [PATCH] Added PartExperimentModelView --- advlabdb/modelViews.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/advlabdb/modelViews.py b/advlabdb/modelViews.py index ca25bde..5b3ea31 100644 --- a/advlabdb/modelViews.py +++ b/advlabdb/modelViews.py @@ -305,6 +305,24 @@ class GroupModelView(SecureModelView): class ExperimentModelView(SecureModelView): can_view_details = True column_filters = ["deprecated"] + column_list = ["number", "name", "deprecated"] + + +class PartExperimentModelView(SecureModelView): + column_list = ["experiment", "part", "assistants"] + + partLabels = getConfig("partLabels") + column_filters = [PartFilter(PartExperiment.part_id, "Part", options=list(zip(partLabels, partLabels)))] + + def get_query(self): + return super().get_query().filter(PartExperiment.part_id.in_([part.id for part in userActiveSemester().parts])) + + def get_count_query(self): + return ( + self.session.query(func.count("*")) + .select_from(self.model) + .filter(PartExperiment.part_id.in_([part.id for part in userActiveSemester().parts])) + ) admin.add_view(StudentModelView(Student, db.session)) @@ -312,7 +330,7 @@ admin.add_view(PartStudentModelView(PartStudent, db.session)) admin.add_view(GroupModelView(Group, db.session)) admin.add_view(SecureModelView(GroupExperiment, db.session)) admin.add_view(ExperimentModelView(Experiment, db.session)) -admin.add_view(SecureModelView(PartExperiment, db.session)) +admin.add_view(PartExperimentModelView(PartExperiment, db.session)) admin.add_view(SecureModelView(Assistant, db.session)) admin.add_view(SecureModelView(Appointment, db.session)) admin.add_view(PartModelView(Part, db.session))