From 8060f9e60fc0260395d57849731a99e4dc621ca1 Mon Sep 17 00:00:00 2001 From: Jose Fernando Mendes da Costa <98fernandocosta@gmail.com> Date: Wed, 16 Mar 2022 16:49:18 -0300 Subject: [PATCH] Filtro por status do trabalho na tela de listagem --- .../Controllers/AdministradorController.php | 27 +++++++-------- .../views/administrador/analisar.blade.php | 34 +++++++++++++++++-- routes/web.php | 2 +- 3 files changed, 45 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index 736cdce..92fd4d2 100755 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -66,26 +66,25 @@ class AdministradorController extends Controller return view('administrador.projetos')->with(['trabalhos' => $trabalhos, 'evento' => $evento]); } public function analisar(Request $request){ - - $evento = Evento::where('id', $request->evento_id)->first(); - $trabalhosSubmetidos = $evento->trabalhos->where('status', 'submetido'); - $trabalhosAvaliados = $evento->trabalhos->Where('status', 'avaliado'); - $trabalhosAprovados = $evento->trabalhos->Where('status', 'aprovado'); - $trabalhosReprovados = $evento->trabalhos->Where('status', 'reprovado'); - $trabalhosCorrigidos = $evento->trabalhos->Where('status', 'corrigido'); - $trabalhos = $this->paginate($trabalhosSubmetidos); - $trabalhos = $this->paginate($trabalhosSubmetidos - ->merge($trabalhosAvaliados)->merge($trabalhosAprovados) - ->merge($trabalhosReprovados)->merge($trabalhosCorrigidos)->sortBy('titulo')) - ->withPath('/usuarios/analisarProjetos?evento_id='.$evento->id); - + $evento = Evento::find($request->evento_id); + $status = ['submetido', 'avaliado', 'aprovado', 'reprovado', 'corrigido']; + $withPath = '/usuarios/analisarProjetos?evento_id='.$evento->id; + if($request->column != null ) { + $status = [$request->column]; + $withPath = '/usuarios/analisarProjetos/'.$request->column.'?evento_id='.$evento->id; + } + $trabalhos = Trabalho::where('evento_id', $evento->id) + ->whereIn('status', $status) + ->orderBy('titulo') + ->paginate(5) + ->withPath($withPath); $funcaoParticipantes = FuncaoParticipantes::all(); // $participantes = Participante::where('trabalho_id', $id)->get(); // $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); // $participantes = User::whereIn('id', $participantesUsersIds)->get(); - return view('administrador.analisar')->with(['trabalhos' => $trabalhos, 'evento' => $evento, 'funcaoParticipantes' => $funcaoParticipantes]); + return view('administrador.analisar')->with(['trabalhos' => $trabalhos, 'evento' => $evento, 'funcaoParticipantes' => $funcaoParticipantes, 'column' => $request->column]); } // Utilizado para paginação de Collection diff --git a/resources/views/administrador/analisar.blade.php b/resources/views/administrador/analisar.blade.php index 5c94225..24bbf3c 100755 --- a/resources/views/administrador/analisar.blade.php +++ b/resources/views/administrador/analisar.blade.php @@ -2,7 +2,7 @@ @section('content') -