diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index 55b6d223c3a6df6d79bacda3feadebd4ba6412a8..96c3960861b98e46d5102a2293cb44fd57b32cb8 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 4e117d714ca9783f4e5234e29ec84be5354541a8..0f96537149cebe8db643481f742ff2d255c4c282 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 c197f54467757e05b16334be780d8a7bc7d05ea3..eff62b6af11b4172dc466469bd76d50a96a33fb3 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 7256a2f6d598f99fb28c18ab763456956aaf6176..4695797c2a99a820da92b6a160e8bffa35be0f21 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, ]); }