Esempio n. 1
0
 public static function autoSubmissionStatus()
 {
     echo "<hr><br>Starting automated update of status of submissions in judging queue at " . Carbon::now('America/Detroit')->toDayDateTimeString() . "<br>";
     $submissions = Submission::where('status', 'Judging')->get();
     foreach ($submissions as $submission) {
         $form = $submission->formdefinition()->first();
         echo "<hr>";
         echo "Submission: " . $submission->id . " by " . $submission->name . " for " . $form->name . "<br>";
         $judges = $form->judges()->get();
         $count = 0;
         foreach ($judges as $judge) {
             if ($submission->scores()->where('user_id', $judge->id)->get()->count() == 0) {
                 echo "Judge " . $judge->name . " has no score recorded<br>";
                 continue;
             } else {
                 echo "Judge " . $judge->name . " has a recorded score<br>";
                 $count++;
             }
         }
         if ($count == $judges->count()) {
             echo "All judges have scored, submission status is now Judged.<br>";
             $submission->status = "Judged";
             $submission->save();
         }
     }
     echo "<br>Ending automated update of status of submissions in judging queue at " . Carbon::now('America/Detroit')->toDayDateTimeString() . "<br><hr>";
 }
 public function show(Submission $submissions)
 {
     $form = $submissions->formdefinition()->first();
     $group = $form->group()->first();
     $submission_fields = json_decode($submissions->options);
     $fields = new Collection();
     foreach ($submission_fields as $key => $value) {
         if ($form->fields()->where('field_id', $key)->get() !== null) {
             $field = new Collection();
             $field->put("fieldDef", $form->fields()->where('field_id', $key)->first());
             $field->put("submission", $value);
             $fields->push($field);
         }
     }
     return view('submissions.show', compact('submissions', 'form', 'fields', 'group'));
 }
Esempio n. 3
0
 public function sendToJudges(User $user, Submission $submission)
 {
     $group = $submission->group()->first();
     if ($group->isAdmin($user->id)) {
         return true;
     } elseif ($group->isMod($user->id)) {
         return true;
     } else {
         return false;
     }
 }