Exemplo n.º 1
0
 /**
  * @param $jobId
  * @param $stageId
  * @return \Illuminate\Contracts\View\View
  */
 public function show($jobId, $stageId)
 {
     $stage = $this->stageRepo->findById($stageId);
     $previous = $this->stageRepo->getPrecedingStage($stage);
     if ($previous === null) {
         $previous = $this->jobRepo->findById($stage->job_id);
     }
     $logs = $this->logRepo->filter([['job_id', $stage->job_id], ['stage', $stage->stage]], 'id');
     return \View::make('connector::stage.show', ['stage' => new StagePresenter($stage), 'previous' => $previous, 'logs' => $logs]);
 }
Exemplo n.º 2
0
 /**
  *
  * @return \Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse
  */
 public function search()
 {
     $results = new Collection();
     $reference = \Request::get('reference');
     $data = \Request::get('data');
     $dateFrom = \Request::get('from');
     $dateTo = \Request::get('to');
     $filters = [];
     $time = ' 23:59:59';
     if (!empty($dateFrom)) {
         $filters[] = ['created_at', '>=', $dateFrom . $time];
     }
     if (!empty($dateTo)) {
         $filters[] = ['created_at', '<=', $dateTo . $time];
     }
     $jobs = [];
     $stages = [];
     $query = "";
     $search = false;
     $jobFilters = $filters;
     $stageFilters = $filters;
     if (!empty($reference)) {
         $jobFilters[] = ['reference', $reference];
         $search = true;
     }
     if (!empty($data)) {
         $jobFilters[] = ['data', 'LIKE', '%' . $data . '%'];
         $stageFilters[] = ['data', 'LIKE', '%' . $data . '%'];
         $search = true;
     }
     if (sizeof($filters) > 0) {
         $search = true;
     }
     if ($search === false) {
         return \Redirect::route('connector.dashboard.index');
     }
     $jobs = $this->jobRepo->filter($jobFilters);
     if (!empty($data)) {
         $stages = $this->stageRepo->filter($stageFilters);
     } else {
         $stages = [];
     }
     foreach ($jobs as $job) {
         $results->push(new JobPresenter($job));
     }
     foreach ($stages as $stage) {
         $results->push(new StagePresenter($stage));
     }
     $results = $results->sort(function ($a, $b) {
         return strtotime($a->created_at) > strtotime($b->created_at) ? 1 : 0;
     });
     return \View::make('connector::search.results', ['results' => $results]);
 }