diff --git a/advlabdb/adminModelViews.py b/advlabdb/adminModelViews.py index 01e1e60..a3af543 100644 --- a/advlabdb/adminModelViews.py +++ b/advlabdb/adminModelViews.py @@ -1391,7 +1391,10 @@ class AnalysisView(SecureAdminBaseView): if form.validate_on_submit(): if form.assistant_marks_submit.data: - return assistant_marks_analysis(self) + ret = assistant_marks_analysis(self) + + if ret is not None: + return ret if form.final_part_marks_submit.data: return final_part_marks_analysis(self) diff --git a/advlabdb/analysis.py b/advlabdb/analysis.py index 7224147..8062f65 100644 --- a/advlabdb/analysis.py +++ b/advlabdb/analysis.py @@ -2,6 +2,7 @@ from base64 import b64encode from io import BytesIO import numpy as np +from flask import flash from flask_login import current_user from matplotlib.figure import Figure from matplotlib.ticker import MaxNLocator @@ -78,6 +79,10 @@ def mark_hists(markType, active_assistants): def assistant_marks_analysis(cls): active_assistants = db.session.scalars(select(Assistant).join(User).where(User.active is True)).all() + if not active_assistants: + flash("No active assistants!", "warning") + return None + oral_mark_hists = mark_hists("Oral", active_assistants) protocol_mark_hists = mark_hists("Protocol", active_assistants)