예제 #1
0
 public static function resolveTaskDependencies(&$task, $categories = null)
 {
     if (!$categories) {
         $categories = Category::getAllFromCache();
     }
     $task->category_name = $categories[$task->category_id - 1]->name;
     $cache_name = __METHOD__ . '_task_id=' . $task->id;
     $task->files = Cache::remember($cache_name, Config::get('constants.CACHE_TIME_DAY'), function () use($task, $cache_name) {
         if (App::environment('local')) {
             Log::debug('Cache: ' . $cache_name);
         }
         return TaskFile::where('task_id', $task->id)->where('deleted', false)->select('id', 'name', 'user_id', 'task_id', 'created_at', 'updated_at')->get();
     });
     $task->solutions = Solution::getTaskSolutionsDependencies($task->id);
 }
예제 #2
0
 public function viewTaskFile($id = null)
 {
     $taskFile = TaskFile::where('id', $id)->where('deleted', false)->first();
     if (!$taskFile) {
         abort(404);
     }
     $task = Task::where('id', $taskFile->task_id)->first();
     if (!$task) {
         abort(404);
     }
     $category = Category::where('id', $task->category_id)->first();
     if (!$category) {
         abort(500);
     }
     return view('task/file', ['taskFile' => $taskFile, 'task' => $task, 'alias' => $category->alias, 'script' => $category->script]);
 }