File tree Expand file tree Collapse file tree 1 file changed +16
-3
lines changed
lib/cadet/jobs/autograder Expand file tree Collapse file tree 1 file changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -135,18 +135,31 @@ defmodule Cadet.Autograder.GradingJob do
135135 team
136136 end
137137
138+ find_or_create_team_submission ( team . id , assessment )
139+ else
140+ # Individual assessment
138141 % Submission { }
139142 |> Submission . changeset ( % {
140- team_id: team . id ,
143+ student_id: student_id ,
141144 assessment: assessment ,
142145 status: :submitted
143146 } )
144147 |> Repo . insert! ( )
148+ end
149+ end
150+
151+ defp find_or_create_team_submission ( team_id , assessment ) when is_ecto_id ( team_id ) do
152+ submission =
153+ Submission
154+ |> where ( team_id: ^ team_id , assessment_id: ^ assessment . id )
155+ |> Repo . one ( )
156+
157+ if submission do
158+ submission
145159 else
146- # Individual assessment
147160 % Submission { }
148161 |> Submission . changeset ( % {
149- student_id: student_id ,
162+ team_id: team_id ,
150163 assessment: assessment ,
151164 status: :submitted
152165 } )
You can’t perform that action at this time.
0 commit comments