From 89a0d295fe4c28ac1ad7f187f7d39078b053f854 Mon Sep 17 00:00:00 2001 From: Mo8it Date: Mon, 27 Jun 2022 00:20:30 +0200 Subject: [PATCH] Parse mark selection --- advlabdb/assistantModelViews.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/advlabdb/assistantModelViews.py b/advlabdb/assistantModelViews.py index bec6629..19674c1 100644 --- a/advlabdb/assistantModelViews.py +++ b/advlabdb/assistantModelViews.py @@ -20,6 +20,7 @@ from .model_dependent_funs import ( generate_new_password_field, initActiveSemesterMenuLinks, mark_field, + parse_selection_mark_field, user_info_fields, ) from .model_independent_funs import randomPassword, reportBadAttempt @@ -101,12 +102,24 @@ class AssistantGroupExperimentView(SecureAssistantModelView): ] if form.validate_on_submit(): - for ind, appointment in enumerate(appointments): - appointment.date = appointment_fields[ind].data + try: + for ind, appointment in enumerate(appointments): + appointment.date = appointment_fields[ind].data - group_experiment.note = form.note.data + for ind, experiment_mark in enumerate(experiment_marks): + experiment_mark.oral_mark = parse_selection_mark_field(oral_experiment_mark_fields[ind]) + experiment_mark.protocol_mark = parse_selection_mark_field(protocol_experiment_mark_fields[ind]) - db.session.commit() + group_experiment.note = form.note.data + + db.session.commit() + + red = url_for("index") + "assistant/group_experiment" + return redirect(red) + except Exception as ex: + flash(str(ex), "error") + + db.session.rollback() return self.render( "assistant_group_experiment_form.html",