From 013f1824966a99f1e22411975af44a42056de5b2 Mon Sep 17 00:00:00 2001 From: GuilhermeGz Date: Fri, 12 Aug 2022 10:12:22 -0300 Subject: [PATCH] =?UTF-8?q?Adicionada=20verifica=C3=A7=C3=A3o=20de=20subst?= =?UTF-8?q?ituicao=20pendente,=20em=20paginas=20que=20dependem=20dos=20dad?= =?UTF-8?q?os=20dos=20planos=20de=20trabalho?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/AdministradorController.php | 19 ++++++++++++++++--- app/Http/Controllers/ArquivoController.php | 8 ++++++++ app/Http/Controllers/AvaliadorController.php | 6 ++++++ app/Http/Controllers/TrabalhoController.php | 9 +++++++++ 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index 55b6d22..96c3960 100755 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Arquivo; use App\AvaliacaoRelatorio; use App\Notificacao; use App\Substituicao; @@ -117,7 +118,11 @@ class AdministradorController extends Controller $AvalRelatParcial = []; $AvalRelatFinal = []; foreach($trabalho->participantes as $participante) { - $avals = AvaliacaoRelatorio::where('arquivo_id', $participante->planoTrabalho->id)->get(); + if(isset($participante->planoTrabalho)){ + $avals = AvaliacaoRelatorio::where('arquivo_id', $participante->planoTrabalho->id)->get(); + }else{ + $avals = []; + } foreach($avals as $aval){ if($aval->tipo == "Parcial"){ array_push($AvalRelatParcial,$aval); @@ -126,7 +131,14 @@ class AdministradorController extends Controller } } } - // + + // Verficação de pendencia de substituição + $aux = count(Arquivo::whereIn('participanteId',$trabalho->participantes->pluck('id'))->get()); + $flagSubstituicao = 1; + if($aux != count($trabalho->participantes->pluck('id'))){ + $flagSubstituicao = -1; + } + $grandeAreas = GrandeArea::orderBy('nome')->get(); $hoje = Carbon::today('America/Recife'); @@ -141,7 +153,8 @@ class AdministradorController extends Controller 'grandeAreas' => $grandeAreas, 'AvalRelatParcial' => $AvalRelatParcial, 'AvalRelatFinal' => $AvalRelatFinal, - 'hoje' => $hoje,]); + 'hoje' => $hoje, + 'flagSubstituicao' =>$flagSubstituicao,]); } diff --git a/app/Http/Controllers/ArquivoController.php b/app/Http/Controllers/ArquivoController.php index 4e117d7..0f96537 100755 --- a/app/Http/Controllers/ArquivoController.php +++ b/app/Http/Controllers/ArquivoController.php @@ -120,8 +120,16 @@ class ArquivoController extends Controller } public function listar($id){ + $trabalho = Trabalho::where('id',$id)->first(); $participantes = $trabalho->participantes; + + // Verficação de pendencia de substituição + $aux = count(Arquivo::whereIn('participanteId',$trabalho->participantes->pluck('id'))->get()); + if($aux != count($trabalho->participantes->pluck('id'))){ + return redirect()->back()->withErrors("A proposta ".$trabalho->titulo." possui substituições pendentes"); + } + $arquivos = []; foreach ($participantes as $participante){ array_push($arquivos, $participante->planoTrabalho); diff --git a/app/Http/Controllers/AvaliadorController.php b/app/Http/Controllers/AvaliadorController.php index c197f54..eff62b6 100755 --- a/app/Http/Controllers/AvaliadorController.php +++ b/app/Http/Controllers/AvaliadorController.php @@ -108,6 +108,12 @@ class AvaliadorController extends Controller $avaliador = $user->avaliadors->where('user_id',$user->id)->first(); $trabalho = $avaliador->trabalhos->find($request->trabalho_id); $evento = Evento::find($request->evento); + + // Verficação de pendencia de substituição + $aux = count(Arquivo::whereIn('participanteId',$trabalho->participantes->pluck('id'))->get()); + if($aux != count($trabalho->participantes->pluck('id'))){ + return redirect()->back()->withErrors("A proposta ".$trabalho->titulo." possui substituições pendentes"); + } return view('avaliador.parecer', ['trabalho'=>$trabalho, 'evento'=>$evento]); } diff --git a/app/Http/Controllers/TrabalhoController.php b/app/Http/Controllers/TrabalhoController.php index 7256a2f..4695797 100755 --- a/app/Http/Controllers/TrabalhoController.php +++ b/app/Http/Controllers/TrabalhoController.php @@ -394,6 +394,14 @@ class TrabalhoController extends Controller $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); $users = User::whereIn('id', $participantesUsersIds)->get(); $arquivos = Arquivo::where('trabalhoId', $id)->get(); + + // Verficação de pendencia de substituição + $aux = count(Arquivo::whereIn('participanteId',$projeto->participantes->pluck('id'))->get()); + $flagSubstituicao = 1; + if($aux != count($projeto->participantes->pluck('id'))){ + $flagSubstituicao = -1; + } + return view('projeto.visualizar')->with(['projeto' => $projeto, 'grandeAreas' => $grandeAreas, 'areas' => $areas, @@ -407,6 +415,7 @@ class TrabalhoController extends Controller 'visualizar' => true, 'enum_turno' => Participante::ENUM_TURNO, 'areasTematicas' => $areasTematicas, + 'flagSubstituicao' =>$flagSubstituicao, ]); } -- GitLab