From 78acebcd70163cf74c20395f11a8f4612d8f2584 Mon Sep 17 00:00:00 2001 From: Dominic Grimm Date: Tue, 8 Mar 2022 10:54:30 +0100 Subject: [PATCH 1/2] Fix vote teacher selection can be empty --- docker/backend/src/backend/api/schema/mutation.cr | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/backend/src/backend/api/schema/mutation.cr b/docker/backend/src/backend/api/schema/mutation.cr index 6fce16d..358ce43 100644 --- a/docker/backend/src/backend/api/schema/mutation.cr +++ b/docker/backend/src/backend/api/schema/mutation.cr @@ -143,6 +143,8 @@ module Backend def create_vote(context : Context, input : VoteCreateInput) : Vote context.student! + raise "Teacher selection can't be empty" if input.teacher_ids.empty? + skif = context.external.as(Db::Student).skif input.teacher_ids.each do |id| teacher = Db::Teacher.find(id) -- 2.43.0 From 8dda0d29baf8d154920b3109dbfcde60e8dcd578 Mon Sep 17 00:00:00 2001 From: Dominic Grimm Date: Thu, 10 Mar 2022 20:58:15 +0100 Subject: [PATCH 2/2] Only vote when all teachers registered --- docker/backend/src/backend/api/schema/mutation.cr | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/backend/src/backend/api/schema/mutation.cr b/docker/backend/src/backend/api/schema/mutation.cr index 358ce43..6081981 100644 --- a/docker/backend/src/backend/api/schema/mutation.cr +++ b/docker/backend/src/backend/api/schema/mutation.cr @@ -143,7 +143,10 @@ module Backend def create_vote(context : Context, input : VoteCreateInput) : Vote context.student! - raise "Teacher selection can't be empty" if input.teacher_ids.empty? + raise "Not enough teachers" if input.teacher_ids.empty? + teacher_role_count = Db::User.where(role: Db::UserRole::Teacher.to_s).count.run.as(Int64) + raise "Teachers not registered" if teacher_role_count != Db::Teacher.count || + teacher_role_count.zero? skif = context.external.as(Db::Student).skif input.teacher_ids.each do |id| -- 2.43.0