/** * @return Task[][] */ public function getTaskProgress() { /** @var Task[][] $tasks */ $progress = ['completed' => [], 'pending' => [], 'rejected' => []]; // Get all the tasks for the sticker $tasks = $this->sticker->tasks; foreach ($tasks as $task) { /** @var Task $task */ $submissions = Submission::where('userId', $this->user->id)->where('taskId', $task->id)->orderBy('approved', 'DESC')->get(); foreach ($submissions as $submission) { /** @var Submission $submission */ if ($submission->isApproved()) { $progress['completed'][] = $task; break; } elseif (!$submission->isRejected()) { $progress['pending'][] = $task; break; } elseif ($submission->isRejected()) { $progress['rejected'][] = $task; break; } } } return $progress; }
protected function getList() { if ($this->request->has('task')) { $taskId = $this->request->input('task'); /** @var Task $task */ $task = Task::findOrFail($taskId); $this->pageTitle = ' Submissions for ' . $task->name; $this->breadcrumbs = \Breadcrumbs::render('task-submissions', $task); return Submission::where('taskId', $taskId)->orderBy('createdAt', 'DESC'); } else { return Submission::orderBy('createdAt', 'DESC'); } }