diff --git a/advlabdb/adminModelViews.py b/advlabdb/adminModelViews.py
index f0d7c1b..4e80301 100644
--- a/advlabdb/adminModelViews.py
+++ b/advlabdb/adminModelViews.py
@@ -49,7 +49,11 @@ from .admin_link_formatters import (
student_formatter,
user_formatter,
)
-from .advlabdb_independent_funs import email_formatter, flashRandomPassword
+from .advlabdb_independent_funs import (
+ email_formatter,
+ experiment_marks_missing_formatter,
+ flashRandomPassword,
+)
from .customClasses import SecureAdminBaseView, SecureAdminModelView
from .database_import import importFromFile
from .exceptions import DataBaseException, ModelViewException
@@ -940,11 +944,14 @@ class GroupExperimentView(SecureAdminModelView):
)
refreshFiltersCache = True
+ column_default_sort = ("experiment_marks_missing", True)
+
column_formatters = {
"semester_experiment": semester_experiment_formatter,
"group": group_formatter,
"appointments": appointment_date_formatter,
"experiment_marks": experiment_mark_formatter,
+ "experiment_marks_missing": experiment_marks_missing_formatter,
}
def query_modifier(self, query):
diff --git a/advlabdb/advlabdb_independent_funs.py b/advlabdb/advlabdb_independent_funs.py
index 598bdd2..668c61b 100644
--- a/advlabdb/advlabdb_independent_funs.py
+++ b/advlabdb/advlabdb_independent_funs.py
@@ -90,3 +90,11 @@ def email_formatter(view, context, model, name):
return ""
return Markup(f"{escape(attr)}")
+
+
+def experiment_marks_missing_formatter(view, context, model, name):
+ experiment_marks_missing = getattr(model, name)
+ if experiment_marks_missing is True:
+ return Markup("Yes")
+
+ return "No"
diff --git a/advlabdb/assistantModelViews.py b/advlabdb/assistantModelViews.py
index 8bf01e0..304df3a 100644
--- a/advlabdb/assistantModelViews.py
+++ b/advlabdb/assistantModelViews.py
@@ -10,6 +10,7 @@ from wtforms.validators import Optional
from . import assistantSpace, db
from .advlabdb_independent_funs import (
deep_getattr,
+ experiment_marks_missing_formatter,
flashRandomPassword,
missing_formatter,
str_formatter,
@@ -79,13 +80,6 @@ class AssistantGroupExperimentView(SecureAssistantModelView):
return ""
- def experiment_marks_missing_formatter(view, context, model, name):
- experiment_marks_missing = getattr(model, name)
- if experiment_marks_missing is True:
- return Markup("Yes")
-
- return "No"
-
column_formatters = {
"semester_experiment.experiment": str_formatter,
"group.part_students": part_students_formatter,