From 6f428aa3a9f4e83fe52f5b59a7353e533bdcb7bf Mon Sep 17 00:00:00 2001 From: Mo8it Date: Thu, 30 Jun 2022 19:44:35 +0200 Subject: [PATCH] Add experiment_marks_missing_formatter to admin space --- advlabdb/adminModelViews.py | 9 ++++++++- advlabdb/advlabdb_independent_funs.py | 8 ++++++++ advlabdb/assistantModelViews.py | 8 +------- 3 files changed, 17 insertions(+), 8 deletions(-) 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,