Commit df50a554 authored by Yuri Resende's avatar Yuri Resende
Browse files

merge com Selecionar_areas_tematicas_avaliadores

parent 139e1dc3
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Administrador; use App\Administrador;
use App\AdministradorResponsavel; use App\AdministradorResponsavel;
use App\Area; use App\Area;
use App\AvaliacaoRelatorio; use App\AvaliacaoRelatorio;
use App\Avaliador; use App\Avaliador;
use App\CoordenadorComissao; use App\CoordenadorComissao;
use App\Evento; use App\Evento;
use App\FuncaoParticipantes; use App\FuncaoParticipantes;
use App\GrandeArea; use App\GrandeArea;
use App\Mail\EmailLembrete; use App\Mail\EmailLembrete;
use App\Mail\EmailParaUsuarioNaoCadastrado; use App\Mail\EmailParaUsuarioNaoCadastrado;
use App\Natureza; use App\Natureza;
use App\Notificacao; use App\Notificacao;
use App\Notifications\AtribuicaoAvaliadorExternoNotification; use App\Notifications\AtribuicaoAvaliadorExternoNotification;
use App\ParecerInterno; use App\ParecerInterno;
use App\Participante; use App\Participante;
use App\Proponente; use App\Proponente;
use App\Substituicao; use App\Substituicao;
use App\Trabalho; use App\Trabalho;
use App\User; use App\User;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Notification;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
use PDF; use PDF;
use DB; use DB;
use App\AreaTematica; use App\AreaTematica;
class AdministradorController extends Controller class AdministradorController extends Controller
{ {
public function index() public function index()
{ {
return view('administrador.index'); return view('administrador.index');
} }
public function naturezas() public function naturezas()
{ {
$naturezas = Natureza::orderBy('nome')->get(); $naturezas = Natureza::orderBy('nome')->get();
$funcoesParticipante = FuncaoParticipantes::orderBy('nome')->get(); $funcoesParticipante = FuncaoParticipantes::orderBy('nome')->get();
return view('naturezas.index')->with(['naturezas' => $naturezas, 'funcoes' => $funcoesParticipante]); return view('naturezas.index')->with(['naturezas' => $naturezas, 'funcoes' => $funcoesParticipante]);
} }
public function usuarios() public function usuarios()
{ {
$users = User::orderBy('name')->get(); $users = User::orderBy('name')->get();
return view('administrador.usersAdmin')->with(['users' => $users]); return view('administrador.usersAdmin')->with(['users' => $users]);
} }
public function editais() public function editais()
{ {
//$admin = Administrador::with('user')->where('user_id', Auth()->user()->id)->first(); //$admin = Administrador::with('user')->where('user_id', Auth()->user()->id)->first();
//$eventos = Evento::where('coordenadorId',$admin->id )->get(); //$eventos = Evento::where('coordenadorId',$admin->id )->get();
$eventos = Evento::all()->sortByDesc('created_at'); $eventos = Evento::all()->sortByDesc('created_at');
return view('administrador.editais', ['eventos' => $eventos]); return view('administrador.editais', ['eventos' => $eventos]);
} }
public function pareceres(Request $request) public function pareceres(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos->whereNotIn('status', 'rascunho'); $trabalhos = $evento->trabalhos->whereNotIn('status', 'rascunho');
$coordenador_id_evento = $evento->coordenadorId; $coordenador_id_evento = $evento->coordenadorId;
$coordenador_id = CoordenadorComissao::find($coordenador_id_evento); $coordenador_id = CoordenadorComissao::find($coordenador_id_evento);
$user = Auth::user(); $user = Auth::user();
if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) { if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) {
return redirect()->back(); return redirect()->back();
} }
return view('administrador.projetos')->with(['trabalhos' => $trabalhos, 'evento' => $evento]); return view('administrador.projetos')->with(['trabalhos' => $trabalhos, 'evento' => $evento]);
} }
public function analisar(Request $request) public function analisar(Request $request)
{ {
$evento = Evento::find($request->evento_id); $evento = Evento::find($request->evento_id);
$status = ['submetido', 'avaliado', 'aprovado', 'reprovado', 'corrigido']; $status = ['submetido', 'avaliado', 'aprovado', 'reprovado', 'corrigido'];
$aux = Trabalho::where('evento_id', $evento->id) $aux = Trabalho::where('evento_id', $evento->id)
->whereIn('status', $status) ->whereIn('status', $status)
->pluck('grande_area_id'); ->pluck('grande_area_id');
$idArea = Trabalho::where('evento_id', $evento->id) $idArea = Trabalho::where('evento_id', $evento->id)
->whereIn('status', $status) ->whereIn('status', $status)
->pluck('area_id'); ->pluck('area_id');
$trabalhos = $evento->trabalhos->whereNotIn('status', 'rascunho')->sortBy('titulo'); $trabalhos = $evento->trabalhos->whereNotIn('status', 'rascunho')->sortBy('titulo');
$grandesAreas = GrandeArea::whereIn('id', $aux)->get(); $grandesAreas = GrandeArea::whereIn('id', $aux)->get();
$areas = Area::whereIn('id', $idArea)->get(); $areas = Area::whereIn('id', $idArea)->get();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
// $participantes = Participante::where('trabalho_id', $id)->get(); // $participantes = Participante::where('trabalho_id', $id)->get();
// $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); // $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
// $participantes = User::whereIn('id', $participantesUsersIds)->get(); // $participantes = User::whereIn('id', $participantesUsersIds)->get();
return view('administrador.analisar')->with(['trabalhos' => $trabalhos, 'evento' => $evento, 'funcaoParticipantes' => $funcaoParticipantes, 'column' => $request->column, 'grandesAreas' => $grandesAreas, 'areas' => $areas]); return view('administrador.analisar')->with(['trabalhos' => $trabalhos, 'evento' => $evento, 'funcaoParticipantes' => $funcaoParticipantes, 'column' => $request->column, 'grandesAreas' => $grandesAreas, 'areas' => $areas]);
} }
// Utilizado para paginação de Collection // Utilizado para paginação de Collection
public function analisarProposta(Request $request) public function analisarProposta(Request $request)
{ {
$trabalho = Trabalho::where('id', $request->id)->first(); $trabalho = Trabalho::where('id', $request->id)->first();
$evento = Evento::where('id', $trabalho->evento_id)->first(); $evento = Evento::where('id', $trabalho->evento_id)->first();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
$substituicoesProjeto = Substituicao::where('trabalho_id', $trabalho->id)->orderBy('created_at', 'DESC')->get(); $substituicoesProjeto = Substituicao::where('trabalho_id', $trabalho->id)->orderBy('created_at', 'DESC')->get();
$substituicoesPendentes = Substituicao::where('trabalho_id', $trabalho->id)->where('status', 'Em Aguardo')->orderBy('created_at', 'DESC')->get(); $substituicoesPendentes = Substituicao::where('trabalho_id', $trabalho->id)->where('status', 'Em Aguardo')->orderBy('created_at', 'DESC')->get();
$avalSelecionadosId = $trabalho->avaliadors->pluck('id'); $avalSelecionadosId = $trabalho->avaliadors->pluck('id');
$avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get(); $avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get();
$trabalho->aval = $avalProjeto; $trabalho->aval = $avalProjeto;
// Usuarios que possuem avaliações de relatório // Usuarios que possuem avaliações de relatório
//$avaliacoesRelatorio = [];->join('users','users.id','=','candidatos.user_id') //$avaliacoesRelatorio = [];->join('users','users.id','=','candidatos.user_id')
$AvalRelatParcial = []; $AvalRelatParcial = [];
$AvalRelatFinal = []; $AvalRelatFinal = [];
foreach ($trabalho->participantes as $participante) { foreach ($trabalho->participantes as $participante) {
if (isset($participante->planoTrabalho)) { if (isset($participante->planoTrabalho)) {
$avals = AvaliacaoRelatorio::where('arquivo_id', $participante->planoTrabalho->id)->get(); $avals = AvaliacaoRelatorio::where('arquivo_id', $participante->planoTrabalho->id)->get();
} else { } else {
$avals = []; $avals = [];
} }
foreach ($avals as $aval) { foreach ($avals as $aval) {
if ($aval->tipo == 'Parcial') { if ($aval->tipo == 'Parcial') {
array_push($AvalRelatParcial, $aval); array_push($AvalRelatParcial, $aval);
} else { } else {
array_push($AvalRelatFinal, $aval); array_push($AvalRelatFinal, $aval);
} }
} }
} }
// Verficação de pendencia de substituição // Verficação de pendencia de substituição
$aux = count(Substituicao::where('status', 'Em Aguardo')->whereIn('participanteSubstituido_id', $trabalho->participantes->pluck('id'))->get()); $aux = count(Substituicao::where('status', 'Em Aguardo')->whereIn('participanteSubstituido_id', $trabalho->participantes->pluck('id'))->get());
$flagSubstituicao = 1; $flagSubstituicao = 1;
if ($aux != 0) { if ($aux != 0) {
$flagSubstituicao = -1; $flagSubstituicao = -1;
} }
$grandeAreas = GrandeArea::orderBy('nome')->get(); $grandeAreas = GrandeArea::orderBy('nome')->get();
$areasTematicas = AreaTematica::orderBy('nome')->get(); $areasTematicas = AreaTematica::orderBy('nome')->get();
//dd($areasTematicas); //dd($areasTematicas);
$hoje = Carbon::today('America/Recife'); $hoje = Carbon::today('America/Recife');
$hoje = $hoje->toDateString(); $hoje = $hoje->toDateString();
return view('administrador.analisarProposta')->with( return view('administrador.analisarProposta')->with(
['trabalho' => $trabalho, ['trabalho' => $trabalho,
'funcaoParticipantes' => $funcaoParticipantes, 'funcaoParticipantes' => $funcaoParticipantes,
'evento' => $evento, 'evento' => $evento,
'substituicoesPendentes' => $substituicoesPendentes, 'substituicoesPendentes' => $substituicoesPendentes,
'substituicoesProjeto' => $substituicoesProjeto, 'substituicoesProjeto' => $substituicoesProjeto,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'AvalRelatParcial' => $AvalRelatParcial, 'AvalRelatParcial' => $AvalRelatParcial,
'AvalRelatFinal' => $AvalRelatFinal, 'AvalRelatFinal' => $AvalRelatFinal,
'hoje' => $hoje, 'hoje' => $hoje,
'flagSubstituicao' => $flagSubstituicao, 'flagSubstituicao' => $flagSubstituicao,
'areasTematicas' => $areasTematicas, ]); 'areasTematicas' => $areasTematicas, ]);
} }
public function showProjetos(Request $request) public function showProjetos(Request $request)
{ {
$projetos = Trabalho::all()->where('status', '<>', 'rascunho'); $projetos = Trabalho::all()->where('status', '<>', 'rascunho');
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
return view('administrador.listaProjetos')->with(['projetos' => $projetos, 'funcaoParticipantes' => $funcaoParticipantes]); return view('administrador.listaProjetos')->with(['projetos' => $projetos, 'funcaoParticipantes' => $funcaoParticipantes]);
} }
public function showResultados(Request $request) public function showResultados(Request $request)
{ {
//dd($request); //dd($request);
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$coordenador_id_evento = $evento->coordenadorId; $coordenador_id_evento = $evento->coordenadorId;
$coordenador_id = CoordenadorComissao::find($coordenador_id_evento); $coordenador_id = CoordenadorComissao::find($coordenador_id_evento);
$user = Auth::user(); $user = Auth::user();
if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) { if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) {
return redirect()->back(); return redirect()->back();
} }
// Com cotas // Com cotas
if ($evento->cotaDoutor) { if ($evento->cotaDoutor) {
// Ampla Concorrencia // Ampla Concorrencia
$trabalhosAmpla = Trabalho::where('evento_id', $evento->id) $trabalhosAmpla = Trabalho::where('evento_id', $evento->id)
->where('modalidade', 'AmplaConcorrencia')->get(); ->where('modalidade', 'AmplaConcorrencia')->get();
foreach ($trabalhosAmpla as $trabalho) { foreach ($trabalhosAmpla as $trabalho) {
$trabalho->pontuacao = 0; $trabalho->pontuacao = 0;
$cont = 0; $cont = 0;
// Caso especial do PIBEX onde a pontuação fica no Ad Hoc // Caso especial do PIBEX onde a pontuação fica no Ad Hoc
if ($evento->tipo == 'PIBEX') { if ($evento->tipo == 'PIBEX') {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 || if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 ||
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) && $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) &&
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) { $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) {
$trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao; $trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao;
++$cont; ++$cont;
} }
} }
} else { } else {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if ($avaliador->tipo == 'Interno') { if ($avaliador->tipo == 'Interno') {
$parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first(); $parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first();
if ($parecerInterno != null) { if ($parecerInterno != null) {
$trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao; $trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao;
++$cont; ++$cont;
} }
} }
} }
} }
if ($trabalho->pontuacao != 0) { if ($trabalho->pontuacao != 0) {
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); $trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', '');
} }
} }
$trabalhosAmpla = $trabalhosAmpla->sort(function ($item, $next) { $trabalhosAmpla = $trabalhosAmpla->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}); });
// Recém Doutor // Recém Doutor
$trabalhosDoutor = Trabalho::where('evento_id', $evento->id) $trabalhosDoutor = Trabalho::where('evento_id', $evento->id)
->where('modalidade', 'RecemDoutor')->get(); ->where('modalidade', 'RecemDoutor')->get();
foreach ($trabalhosDoutor as $trabalho) { foreach ($trabalhosDoutor as $trabalho) {
$trabalho->pontuacao = 0; $trabalho->pontuacao = 0;
$cont = 0; $cont = 0;
// Caso especial do PIBEX onde a pontuação fica no Ad Hoc // Caso especial do PIBEX onde a pontuação fica no Ad Hoc
if ($evento->tipo == 'PIBEX') { if ($evento->tipo == 'PIBEX') {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 || if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 ||
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) && $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) &&
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) { $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) {
$trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao; $trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao;
++$cont; ++$cont;
} }
} }
} else { } else {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if ($avaliador->tipo == 'Interno') { if ($avaliador->tipo == 'Interno') {
$parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first(); $parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first();
if ($parecerInterno != null) { if ($parecerInterno != null) {
$trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao; $trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao;
++$cont; ++$cont;
} }
} }
} }
} }
if ($trabalho->pontuacao != 0) { if ($trabalho->pontuacao != 0) {
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); $trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', '');
} }
} }
$trabalhosDoutor = $trabalhosDoutor->sort(function ($item, $next) { $trabalhosDoutor = $trabalhosDoutor->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}); });
return view('administrador.resultadosProjetosCotas')->with(['evento' => $evento, 'trabalhosAmpla' => $trabalhosAmpla, 'trabalhosDoutor' => $trabalhosDoutor]); return view('administrador.resultadosProjetosCotas')->with(['evento' => $evento, 'trabalhosAmpla' => $trabalhosAmpla, 'trabalhosDoutor' => $trabalhosDoutor]);
} }
// Sem Cotas // Sem Cotas
$trabalhos = $evento->trabalhos; $trabalhos = $evento->trabalhos;
foreach ($trabalhos as $trabalho) { foreach ($trabalhos as $trabalho) {
$trabalho->pontuacao = 0; $trabalho->pontuacao = 0;
$cont = 0; $cont = 0;
// Caso especial do PIBEX onde a pontuação fica no Ad Hoc // Caso especial do PIBEX onde a pontuação fica no Ad Hoc
if ($evento->tipo == 'PIBEX') { if ($evento->tipo == 'PIBEX') {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 || if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 ||
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) && $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) &&
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) { $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) {
$trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao; $trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao;
++$cont; ++$cont;
} }
} }
} else { } else {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if ($avaliador->tipo == 'Interno') { if ($avaliador->tipo == 'Interno') {
$parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first(); $parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first();
if ($parecerInterno != null) { if ($parecerInterno != null) {
$trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao; $trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao;
++$cont; ++$cont;
} }
} }
} }
} }
if ($trabalho->pontuacao != 0) { if ($trabalho->pontuacao != 0) {
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); $trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', '');
} }
} }
$trabalhos = $trabalhos->sort(function ($item, $next) { $trabalhos = $trabalhos->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}); });
return view('administrador.resultadosProjetos')->with(['evento' => $evento, 'trabalhos' => $trabalhos]); return view('administrador.resultadosProjetos')->with(['evento' => $evento, 'trabalhos' => $trabalhos]);
} }
public function visualizarParecer(Request $request) public function visualizarParecer(Request $request)
{ {
$avaliador = Avaliador::find($request->avaliador_id); $avaliador = Avaliador::find($request->avaliador_id);
$trabalho = $avaliador->trabalhos->where('id', $request->trabalho_id)->first(); $trabalho = $avaliador->trabalhos->where('id', $request->trabalho_id)->first();
$parecer = $avaliador->trabalhos->where('id', $request->trabalho_id)->first()->pivot; $parecer = $avaliador->trabalhos->where('id', $request->trabalho_id)->first()->pivot;
//dd($parecer); //dd($parecer);
return view('administrador.visualizarParecer')->with(['trabalho' => $trabalho, 'parecer' => $parecer, 'avaliador' => $avaliador]); return view('administrador.visualizarParecer')->with(['trabalho' => $trabalho, 'parecer' => $parecer, 'avaliador' => $avaliador]);
} }
public function visualizarParecerInterno(Request $request) public function visualizarParecerInterno(Request $request)
{ {
$avaliador = Avaliador::find($request->avaliador_id); $avaliador = Avaliador::find($request->avaliador_id);
$trabalho = $avaliador->trabalhos->where('id', $request->trabalho_id)->first(); $trabalho = $avaliador->trabalhos->where('id', $request->trabalho_id)->first();
$parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first(); $parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first();
$evento = Evento::find($trabalho->evento_id); $evento = Evento::find($trabalho->evento_id);
//dd($parecer); //dd($parecer);
return view('administrador.visualizarParecerInterno')->with(['parecer' => $parecerInterno, 'avaliador' => $avaliador, 'trabalho' => $trabalho, 'evento' => $evento]); return view('administrador.visualizarParecerInterno')->with(['parecer' => $parecerInterno, 'avaliador' => $avaliador, 'trabalho' => $trabalho, 'evento' => $evento]);
} }
public function create() public function create()
{ {
return view('administrador.novo_user'); return view('administrador.novo_user');
} }
public function salvar(Request $request) public function salvar(Request $request)
{ {
if ($request->tipo == 'coordenador') { if ($request->tipo == 'coordenador') {
$validated = $request->validate([ $validated = $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'], 'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'], 'instituicaoSelect' => ['required_without:instituicao'],
'senha' => ['required', 'min:8'], 'senha' => ['required', 'min:8'],
'confirmar_senha' => ['required', 'min:8'], 'confirmar_senha' => ['required', 'min:8'],
'celular' => ($request['celular'] != null ? 'required|string|telefone' : 'nullable'), 'celular' => ($request['celular'] != null ? 'required|string|telefone' : 'nullable'),
'cpf' => ($request['cpf'] != null ? 'required|cpf|unique:users' : 'nullable'), 'cpf' => ($request['cpf'] != null ? 'required|cpf|unique:users' : 'nullable'),
]); ]);
} elseif ($request->tipo != 'proponente') { } elseif ($request->tipo != 'proponente') {
$validated = $request->validate([ $validated = $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'], 'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'], 'instituicaoSelect' => ['required_without:instituicao'],
'celular' => ['required', 'string', 'telefone'], 'celular' => ['required', 'string', 'telefone'],
'senha' => ['required', 'min:8'], 'senha' => ['required', 'min:8'],
'confirmar_senha' => ['required', 'min:8'], 'confirmar_senha' => ['required', 'min:8'],
'cpf' => ['required', 'cpf', 'unique:users'], 'cpf' => ['required', 'cpf', 'unique:users'],
]); ]);
} else { } else {
$validated = $request->validate([ $validated = $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'tipo' => ['required'], 'tipo' => ['required'],
'cpf' => ['required', 'cpf', 'unique:users'], 'cpf' => ['required', 'cpf', 'unique:users'],
'celular' => ['required', 'string', 'telefone'], 'celular' => ['required', 'string', 'telefone'],
'senha' => ['required', 'min:8'], 'senha' => ['required', 'min:8'],
'confirmar_senha' => ['required', 'min:8'], 'confirmar_senha' => ['required', 'min:8'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'], 'instituicaoSelect' => ['required_without:instituicao'],
'cargo' => ['required'], 'cargo' => ['required'],
'vinculo' => ['required'], 'vinculo' => ['required'],
'outro' => ['required_if:vinculo,Outro'], 'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'], 'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'],
'titulacaoMaxima' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'titulacaoMaxima' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'], 'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'anoTitulacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'], 'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'areaFormacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'], 'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'bolsistaProdutividade' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'], 'nivel' => ['required_if:bolsistaProdutividade,sim'],
//'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''], //'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required' : ''], 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required' : ''],
'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'link_lattes' : ''], 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'link_lattes' : ''],
]); ]);
} }
if (!($request->senha === $request->confirmar_senha)) { if (!($request->senha === $request->confirmar_senha)) {
return redirect()->back()->withErrors(['senha' => 'Senhas diferentes']); return redirect()->back()->withErrors(['senha' => 'Senhas diferentes']);
} }
$user = new User(); $user = new User();
$user->name = $request->name; $user->name = $request->name;
$user->tipo = $request->tipo; $user->tipo = $request->tipo;
$user->cpf = $request->cpf; $user->cpf = $request->cpf;
$user->celular = $request->celular; $user->celular = $request->celular;
$user->email = $request->email; $user->email = $request->email;
$user->password = bcrypt($request->senha); $user->password = bcrypt($request->senha);
if ($request->instituicao != null) { if ($request->instituicao != null) {
$user->instituicao = $request->instituicao; $user->instituicao = $request->instituicao;
} elseif (isset($request->instituicaoSelect) && $request->instituicaoSelect != 'Outra') { } elseif (isset($request->instituicaoSelect) && $request->instituicaoSelect != 'Outra') {
$user->instituicao = $request->instituicaoSelect; $user->instituicao = $request->instituicaoSelect;
} }
$user->save(); $user->save();
switch ($request->tipo) { switch ($request->tipo) {
case 'administradorResponsavel': case 'administradorResponsavel':
$adminResp = new AdministradorResponsavel(); $adminResp = new AdministradorResponsavel();
$adminResp->user_id = $user->id; $adminResp->user_id = $user->id;
$adminResp->save(); $adminResp->save();
break; break;
case 'coordenador': case 'coordenador':
$coordenador = new CoordenadorComissao(); $coordenador = new CoordenadorComissao();
$coordenador->user_id = $user->id; $coordenador->user_id = $user->id;
$coordenador->save(); $coordenador->save();
break; break;
case 'avaliador': case 'avaliador':
$avaliador = new Avaliador(); $avaliador = new Avaliador();
$avaliador->user_id = $user->id; $avaliador->user_id = $user->id;
$avaliador->tipo = $request->tipoAvaliador; $avaliador->tipo = $request->tipoAvaliador;
$avaliador->save(); $avaliador->save();
break; break;
case 'proponente': case 'proponente':
$proponente = new Proponente(); $proponente = new Proponente();
if ($request->SIAPE != null) { if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE; $proponente->SIAPE = $request->SIAPE;
} }
$proponente->cargo = $request->cargo; $proponente->cargo = $request->cargo;
if ($request->vinculo != 'Outro') { if ($request->vinculo != 'Outro') {
$proponente->vinculo = $request->vinculo; $proponente->vinculo = $request->vinculo;
} else { } else {
$proponente->vinculo = $request->outro; $proponente->vinculo = $request->outro;
} }
$proponente->titulacaoMaxima = $request->titulacaoMaxima; $proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao; $proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao; $proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade; $proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
if ($request->bolsistaProdutividade == 'sim') { if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel; $proponente->nivel = $request->nivel;
} }
$proponente->linkLattes = $request->linkLattes; $proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id; $proponente->user_id = $user->id;
$proponente->save(); $proponente->save();
break; break;
case 'participante': case 'participante':
$participante = new Participante(); $participante = new Participante();
$participante->user_id = $user->id; $participante->user_id = $user->id;
$participante->save(); $participante->save();
break; break;
} }
return redirect(route('admin.usuarios'))->with(['mensagem' => 'Usuário cadastrado com sucesso']); return redirect(route('admin.usuarios'))->with(['mensagem' => 'Usuário cadastrado com sucesso']);
} }
public function edit($id) public function edit($id)
{ {
$user = User::find($id); $user = User::find($id);
$adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first(); $adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first();
$avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador = Avaliador::where('user_id', '=', $id)->first();
$proponente = Proponente::where('user_id', '=', $id)->first(); $proponente = Proponente::where('user_id', '=', $id)->first();
$participante = Participante::where('user_id', '=', $id)->first(); $participante = Participante::where('user_id', '=', $id)->first();
return view('administrador.editar_user')->with(['user' => $user, return view('administrador.editar_user')->with(['user' => $user,
'adminResp' => $adminResp, 'adminResp' => $adminResp,
'proponente' => $proponente, 'proponente' => $proponente,
'participante' => $participante, ]); 'participante' => $participante, ]);
} }
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
$user = User::find($id); $user = User::find($id);
if ($request->tipo == 'coordenador') { if ($request->tipo == 'coordenador') {
$validated = $request->validate([ $validated = $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'], 'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'], 'instituicaoSelect' => ['required_without:instituicao'],
'celular' => ($request['celular'] != null ? 'required|string|telefone' : 'nullable'), 'celular' => ($request['celular'] != null ? 'required|string|telefone' : 'nullable'),
'cpf' => ($request['cpf'] != null ? 'required|cpf|unique:users' : 'nullable'), 'cpf' => ($request['cpf'] != null ? 'required|cpf|unique:users' : 'nullable'),
]); ]);
} elseif ($request->tipo != 'proponente') { } elseif ($request->tipo != 'proponente') {
$validated = $request->validate([ $validated = $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'], 'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'], 'instituicaoSelect' => ['required_without:instituicao'],
'celular' => ['required', 'string', 'telefone'], 'celular' => ['required', 'string', 'telefone'],
'cpf' => ['required', 'cpf'], 'cpf' => ['required', 'cpf'],
]); ]);
} else { } else {
$validated = $request->validate([ $validated = $request->validate([
'name' => ['required', 'string', 'max:255'], 'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255'],
'tipo' => ['required'], 'tipo' => ['required'],
'cpf' => ['required', 'cpf'], 'cpf' => ['required', 'cpf'],
'celular' => ['required', 'string', 'telefone'], 'celular' => ['required', 'string', 'telefone'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'], 'instituicaoSelect' => ['required_without:instituicao'],
'cargo' => ['required'], 'cargo' => ['required'],
'vinculo' => ['required'], 'vinculo' => ['required'],
'outro' => ['required_if:vinculo,Outro'], 'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'], 'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'],
'titulacaoMaxima' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'titulacaoMaxima' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'], 'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'anoTitulacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'], 'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'areaFormacao' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'], 'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')), 'bolsistaProdutividade' => Rule::requiredIf((isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'], 'nivel' => ['required_if:bolsistaProdutividade,sim'],
//'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''], //'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required' : ''], 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required' : ''],
'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'link_lattes' : ''], 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'link_lattes' : ''],
]); ]);
} }
// if (!(Hash::check($request->senha_atual, $user->password))) { // if (!(Hash::check($request->senha_atual, $user->password))) {
// return redirect()->back()->withErrors(['senha_atual' => 'Senha atual não correspondente']); // return redirect()->back()->withErrors(['senha_atual' => 'Senha atual não correspondente']);
// } // }
// if (!($request->nova_senha === $request->confirmar_senha)) { // if (!($request->nova_senha === $request->confirmar_senha)) {
// return redirect()->back()->withErrors(['nova_senha' => 'Senhas diferentes']); // return redirect()->back()->withErrors(['nova_senha' => 'Senhas diferentes']);
// } // }
switch ($request->tipo) { switch ($request->tipo) {
case 'administradorResponsavel': case 'administradorResponsavel':
$adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first(); $adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first();
$adminResp->user_id = $user->id; $adminResp->user_id = $user->id;
$adminResp->update(); $adminResp->update();
break; break;
case 'coordenador': case 'coordenador':
$coordenador = CoordenadorComissao::where('user_id', '=', $id)->first(); $coordenador = CoordenadorComissao::where('user_id', '=', $id)->first();
$coordenador->user_id = $user->id; $coordenador->user_id = $user->id;
$coordenador->update(); $coordenador->update();
break; break;
case 'avaliador': case 'avaliador':
$avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador = Avaliador::where('user_id', '=', $id)->first();
$avaliador->user_id = $user->id; $avaliador->user_id = $user->id;
$avaliador->update(); $avaliador->update();
break; break;
case 'proponente': case 'proponente':
$proponente = Proponente::where('user_id', '=', $id)->first(); $proponente = Proponente::where('user_id', '=', $id)->first();
if ($request->SIAPE != null) { if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE; $proponente->SIAPE = $request->SIAPE;
} }
$proponente->cargo = $request->cargo; $proponente->cargo = $request->cargo;
if ($request->vinculo != 'Outro') { if ($request->vinculo != 'Outro') {
$proponente->vinculo = $request->vinculo; $proponente->vinculo = $request->vinculo;
} else { } else {
$proponente->vinculo = $request->outro; $proponente->vinculo = $request->outro;
} }
$proponente->titulacaoMaxima = $request->titulacaoMaxima; $proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao; $proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao; $proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade; $proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
if ($request->bolsistaProdutividade == 'sim') { if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel; $proponente->nivel = $request->nivel;
} }
$proponente->linkLattes = $request->linkLattes; $proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id; $proponente->user_id = $user->id;
$proponente->update(); $proponente->update();
break; break;
case 'participante': case 'participante':
$participante = Participante::where('user_id', '=', $id)->first(); $participante = Participante::where('user_id', '=', $id)->first();
$participante->user_id = $user->id; $participante->user_id = $user->id;
$participante->update(); $participante->update();
break; break;
} }
$user->name = $request->name; $user->name = $request->name;
$user->tipo = $request->tipo; $user->tipo = $request->tipo;
$user->email = $request->email; $user->email = $request->email;
$user->cpf = $request->cpf; $user->cpf = $request->cpf;
$user->celular = $request->celular; $user->celular = $request->celular;
if ($request->instituicao != null) { if ($request->instituicao != null) {
$user->instituicao = $request->instituicao; $user->instituicao = $request->instituicao;
} elseif (isset($request->instituicaoSelect) && $request->instituicaoSelect != 'Outra') { } elseif (isset($request->instituicaoSelect) && $request->instituicaoSelect != 'Outra') {
$user->instituicao = $request->instituicaoSelect; $user->instituicao = $request->instituicaoSelect;
} }
// $user->password = bcrypt($request->nova_senha); // $user->password = bcrypt($request->nova_senha);
$user->update(); $user->update();
return redirect(route('admin.usuarios'))->with(['mensagem' => 'Usuário atualizado com sucesso']); return redirect(route('admin.usuarios'))->with(['mensagem' => 'Usuário atualizado com sucesso']);
} }
public function destroy($id) public function destroy($id)
{ {
$user = User::find($id); $user = User::find($id);
$adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first(); $adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first();
$avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador = Avaliador::where('user_id', '=', $id)->first();
$proponente = Proponente::where('user_id', '=', $id)->first(); $proponente = Proponente::where('user_id', '=', $id)->first();
$participante = Participante::where('user_id', '=', $id)->first(); $participante = Participante::where('user_id', '=', $id)->first();
if (!(is_null($adminResp))) { if (!(is_null($adminResp))) {
$adminResp->delete(); $adminResp->delete();
} elseif (!(is_null($avaliador))) { } elseif (!(is_null($avaliador))) {
$avaliador->delete(); $avaliador->delete();
} elseif (!(is_null($proponente))) { } elseif (!(is_null($proponente))) {
$proponente->delete(); $proponente->delete();
} elseif (!(is_null($participante))) { } elseif (!(is_null($participante))) {
$participante->delete(); $participante->delete();
} }
$user->delete(); $user->delete();
return redirect(route('admin.usuarios'))->with(['mensagem' => 'Usuário deletado com sucesso']); return redirect(route('admin.usuarios'))->with(['mensagem' => 'Usuário deletado com sucesso']);
} }
public function atribuir(Request $request) public function atribuir(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$coordenador_id_evento = $evento->coordenadorId; $coordenador_id_evento = $evento->coordenadorId;
$coordenador_id = CoordenadorComissao::find($coordenador_id_evento); $coordenador_id = CoordenadorComissao::find($coordenador_id_evento);
$user = Auth::user(); $user = Auth::user();
if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) { if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) {
return redirect()->back(); return redirect()->back();
} }
return view('administrador.atribuirAvaliadores', ['evento' => $evento]); return view('administrador.atribuirAvaliadores', ['evento' => $evento]);
} }
public function selecionar(Request $request) public function selecionar(Request $request)
{ {
$user = Auth::user(); $user = Auth::user();
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$coordenador_id_evento = $evento->coordenadorId; $coordenador_id_evento = $evento->coordenadorId;
$coordenador_id = CoordenadorComissao::find($coordenador_id_evento); $coordenador_id = CoordenadorComissao::find($coordenador_id_evento);
$grandeAreas = GrandeArea::orderBy('nome')->get(); $grandeAreas = GrandeArea::orderBy('nome')->get();
$areasTematicas = AreaTematica::orderBy('nome')->get(); $areasTematicas = AreaTematica::orderBy('nome')->get();
$avalSelecionados = $evento->avaliadors; $avalSelecionados = $evento->avaliadors;
$avalNaoSelecionadosId = $evento->avaliadors->pluck('id'); $avalNaoSelecionadosId = $evento->avaliadors->pluck('id');
$trabalhos = $evento->trabalhos->whereNotIn('status', 'rascunho'); $trabalhos = $evento->trabalhos->whereNotIn('status', 'rascunho');
$avaliadores = Avaliador::whereNotIn('id', $avalNaoSelecionadosId)->get(); $avaliadores = Avaliador::whereNotIn('id', $avalNaoSelecionadosId)->get();
//$avaliadores = Avaliador::join('naturezas_avaliadors', 'avaliadors.id', '=' ,'naturezas_avaliadors.avaliador_id')->whereNotIn('avaliadors.id', $avalNaoSelecionadosId) //$avaliadores = Avaliador::join('naturezas_avaliadors', 'avaliadors.id', '=' ,'naturezas_avaliadors.avaliador_id')->whereNotIn('avaliadors.id', $avalNaoSelecionadosId)
// ->where('naturezas_avaliadors.natureza_id', $evento->natureza_id) // ->where('naturezas_avaliadors.natureza_id', $evento->natureza_id)
// ->get(); // ->get();
$avaliadores_extensao = collect(); $avaliadores_extensao = collect();
$avaliadores_others = collect(); $avaliadores_others = collect();
foreach($avaliadores as $avaliador){ foreach($avaliadores as $avaliador){
if($evento->natureza_id == 3 && count($avaliador->areaTematicas) > 0){ if($evento->natureza_id == 3 && count($avaliador->areaTematicas) > 0){
$avaliadores_extensao->push($avaliador); $avaliadores_extensao->push($avaliador);
}elseif($evento->natureza_id != 3 && count($avaliador->areaTematicas) == 0){ }elseif($evento->natureza_id != 3 && count($avaliador->areaTematicas) == 0){
$avaliadores_others->push($avaliador); $avaliadores_others->push($avaliador);
} }
} }
if($evento->natureza_id == 3){ if($evento->natureza_id == 3){
$avaliadores = $avaliadores_extensao; $avaliadores = $avaliadores_extensao;
} else { } else {
$avaliadores = $avaliadores_others; $avaliadores = $avaliadores_others;
} }
if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) { if ((Auth::user()->id != $coordenador_id->user_id) && ($user->tipo != 'administrador')) {
return redirect()->back(); return redirect()->back();
} }
return view('administrador.selecionarAvaliadores', [ return view('administrador.selecionarAvaliadores', [
'evento' => $evento, 'evento' => $evento,
'avaliadores' => $avaliadores, 'avaliadores' => $avaliadores,
'avalSelecionados' => $avalSelecionados, 'avalSelecionados' => $avalSelecionados,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'trabalhos' => $trabalhos, 'trabalhos' => $trabalhos,
'areasTematicas' => $areasTematicas, 'areasTematicas' => $areasTematicas,
]); ]);
} }
public function projetos(Request $request) public function projetos(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$trabalhos = $evento->trabalhos; $trabalhos = $evento->trabalhos;
$grandesAreas = GrandeArea::orderBy('nome')->get(); $grandesAreas = GrandeArea::orderBy('nome')->get();
$areasTematicas = AreaTematica::orderBy('nome')->get(); $areasTematicas = AreaTematica::orderBy('nome')->get();
$avaliadores = $evento->avaliadors; $avaliadores = $evento->avaliadors;
foreach ($trabalhos as $key => $trabalho) { foreach ($trabalhos as $key => $trabalho) {
$avalSelecionadosId = $trabalho->avaliadors->pluck('id'); $avalSelecionadosId = $trabalho->avaliadors->pluck('id');
$avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get(); $avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get();
$trabalho->aval = $avalProjeto; $trabalho->aval = $avalProjeto;
} }
//dd($avaliadores->teste); //dd($avaliadores->teste);
return view('administrador.selecionarProjetos', [ return view('administrador.selecionarProjetos', [
'evento' => $evento, 'evento' => $evento,
'trabalhos' => $trabalhos, 'trabalhos' => $trabalhos,
'avaliadores' => $avaliadores, 'avaliadores' => $avaliadores,
'grandesAreas' => $grandesAreas, 'grandesAreas' => $grandesAreas,
'areasTematicas' => $areasTematicas 'areasTematicas' => $areasTematicas
]); ]);
} }
public function adicionar(Request $request) public function adicionar(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$aval = Avaliador::where('id', $request->avaliador_id)->first(); $aval = Avaliador::where('id', $request->avaliador_id)->first();
$aval->eventos()->attach($evento); $aval->eventos()->attach($evento);
$aval->save(); $aval->save();
$user = $aval->user()->first(); $user = $aval->user()->first();
$subject = 'Convite para avaliar projetos da UFAPE'; $subject = 'Convite para avaliar projetos da UFAPE';
Mail::to($user->email) Mail::to($user->email)
->send(new EmailParaUsuarioNaoCadastrado($user->name, ' ', 'Avaliador-Cadastrado', $evento->nome, ' ', $subject, $evento->tipo, $evento->natureza_id)); ->send(new EmailParaUsuarioNaoCadastrado($user->name, ' ', 'Avaliador-Cadastrado', $evento->nome, ' ', $subject, $evento->tipo, $evento->natureza_id));
return redirect()->back(); return redirect()->back();
} }
public function remover(Request $request) public function remover(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$aval = Avaliador::where('id', $request->avaliador_id)->first(); $aval = Avaliador::where('id', $request->avaliador_id)->first();
$aval->eventos()->detach($evento); $aval->eventos()->detach($evento);
$aval->trabalhos()->detach(); $aval->trabalhos()->detach();
$aval->save(); $aval->save();
return redirect()->back(); return redirect()->back();
} }
public function removerProjAval(Request $request) public function removerProjAval(Request $request)
{ {
//Acesso 1 = Ad Hoc, 2 - Interno, 3 - Interno e Ad Hoc //Acesso 1 = Ad Hoc, 2 - Interno, 3 - Interno e Ad Hoc
$aval = Avaliador::where('id', $request->avaliador_id)->first(); $aval = Avaliador::where('id', $request->avaliador_id)->first();
$trabalho = Trabalho::where('id', $request->trabalho_id)->first(); $trabalho = Trabalho::where('id', $request->trabalho_id)->first();
if ($request->flag == 0) { if ($request->flag == 0) {
if (($aval->tipo == 'Interno' && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) || ($aval->tipo == null && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3 && ($aval->user->instituicao == 'UFAPE' || $aval->user->instituicao == 'Universidade Federal do Agreste de Pernambuco'))) { if (($aval->tipo == 'Interno' && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) || ($aval->tipo == null && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3 && ($aval->user->instituicao == 'UFAPE' || $aval->user->instituicao == 'Universidade Federal do Agreste de Pernambuco'))) {
$aval->trabalhos() $aval->trabalhos()
->updateExistingPivot($trabalho->id, ['acesso' => 2]); ->updateExistingPivot($trabalho->id, ['acesso' => 2]);
} else { } else {
$aval->trabalhos()->detach($trabalho); $aval->trabalhos()->detach($trabalho);
} }
} else { } else {
if (($aval->tipo == 'Interno' && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) || ($aval->tipo == null && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3 && ($aval->user->instituicao == 'UFAPE' || $aval->user->instituicao == 'Universidade Federal do Agreste de Pernambuco'))) { if (($aval->tipo == 'Interno' && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) || ($aval->tipo == null && $aval->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3 && ($aval->user->instituicao == 'UFAPE' || $aval->user->instituicao == 'Universidade Federal do Agreste de Pernambuco'))) {
$aval->trabalhos() $aval->trabalhos()
->updateExistingPivot($trabalho->id, ['acesso' => 1]); ->updateExistingPivot($trabalho->id, ['acesso' => 1]);
} else { } else {
$aval->trabalhos()->detach($trabalho); $aval->trabalhos()->detach($trabalho);
} }
} }
if ($trabalho->status === 'avaliado') { if ($trabalho->status === 'avaliado') {
$trabalho->status = 'submetido'; $trabalho->status = 'submetido';
$trabalho->save(); $trabalho->save();
} }
$aval->save(); $aval->save();
return redirect()->back(); return redirect()->back();
} }
public function buscar(Request $request) public function buscar(Request $request)
{ {
$trabalho = Trabalho::where('id', $request->item)->first(); $trabalho = Trabalho::where('id', $request->item)->first();
$avalSelecionadosId = $trabalho->avaliadors->pluck('id'); $avalSelecionadosId = $trabalho->avaliadors->pluck('id');
$avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get(); $avalProjeto = Avaliador::whereNotIn('id', $avalSelecionadosId)->get();
//dd($avaliadores); //dd($avaliadores);
return response()->json($avalProjeto); return response()->json($avalProjeto);
} }
public function atribuicaoProjeto(Request $request) public function atribuicaoProjeto(Request $request)
{ {
$trabalho = Trabalho::where('id', $request->trabalho_id)->first(); $trabalho = Trabalho::where('id', $request->trabalho_id)->first();
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
if ($request->avaliadores_internos_id != null) { if ($request->avaliadores_internos_id != null) {
foreach ($request->avaliadores_internos_id as $avaliador) { foreach ($request->avaliadores_internos_id as $avaliador) {
$aval = Avaliador::find($avaliador); $aval = Avaliador::find($avaliador);
if ($aval->trabalhos()->where('trabalho_id', $trabalho->id)->first() != null) { if ($aval->trabalhos()->where('trabalho_id', $trabalho->id)->first() != null) {
$aval->trabalhos() $aval->trabalhos()
->updateExistingPivot($trabalho->id, ['acesso' => 3]); ->updateExistingPivot($trabalho->id, ['acesso' => 3]);
} else { } else {
$trabalho->avaliadors()->attach($aval, ['acesso' => 2]); $trabalho->avaliadors()->attach($aval, ['acesso' => 2]);
$evento->avaliadors()->syncWithoutDetaching($aval); $evento->avaliadors()->syncWithoutDetaching($aval);
} }
} }
} }
if ($request->avaliadores_externos_id != null) { if ($request->avaliadores_externos_id != null) {
foreach ($request->avaliadores_externos_id as $avaliador) { foreach ($request->avaliadores_externos_id as $avaliador) {
$aval = Avaliador::find($avaliador); $aval = Avaliador::find($avaliador);
if (Avaliador::where('id', $avaliador)->where('tipo', 'Interno')->count() > 0 || (Avaliador::where('id', $avaliador)->where('tipo', null)->count() > 0 && (($aval->user->instituicao == 'UFAPE' || $aval->user->instituicao == 'Universidade Federal do Agreste de Pernambuco')))) { if (Avaliador::where('id', $avaliador)->where('tipo', 'Interno')->count() > 0 || (Avaliador::where('id', $avaliador)->where('tipo', null)->count() > 0 && (($aval->user->instituicao == 'UFAPE' || $aval->user->instituicao == 'Universidade Federal do Agreste de Pernambuco')))) {
if ($aval->trabalhos()->where('trabalho_id', $trabalho->id)->first() != null) { if ($aval->trabalhos()->where('trabalho_id', $trabalho->id)->first() != null) {
$aval->trabalhos() $aval->trabalhos()
->updateExistingPivot($trabalho->id, ['acesso' => 3]); ->updateExistingPivot($trabalho->id, ['acesso' => 3]);
} else { } else {
$trabalho->avaliadors()->attach($aval, ['acesso' => 1]); $trabalho->avaliadors()->attach($aval, ['acesso' => 1]);
$evento->avaliadors()->syncWithoutDetaching($aval); $evento->avaliadors()->syncWithoutDetaching($aval);
} }
} else { } else {
$trabalho->avaliadors()->attach($aval, ['acesso' => 1]); $trabalho->avaliadors()->attach($aval, ['acesso' => 1]);
$evento->avaliadors()->syncWithoutDetaching($aval); $evento->avaliadors()->syncWithoutDetaching($aval);
} }
} }
} }
if ($request->avaliadores_externos_id == null & $request->avaliadores_internos_id == null) { if ($request->avaliadores_externos_id == null & $request->avaliadores_internos_id == null) {
redirect()->back()->with(['error' => 'Selecione ao menos um avaliador.', 'trabalho' => $trabalho->id]); redirect()->back()->with(['error' => 'Selecione ao menos um avaliador.', 'trabalho' => $trabalho->id]);
} }
$avaliadores = Avaliador::whereIn('id', (array) $request->avaliadores_externos_id) $avaliadores = Avaliador::whereIn('id', (array) $request->avaliadores_externos_id)
->orWhereIn('id', (array) $request->avaliadores_internos_id)->get(); ->orWhereIn('id', (array) $request->avaliadores_internos_id)->get();
$trabalho->save(); $trabalho->save();
foreach ($avaliadores as $avaliador) { foreach ($avaliadores as $avaliador) {
$userTemp = User::find($avaliador->user->id); $userTemp = User::find($avaliador->user->id);
$notificacao = Notificacao::create([ $notificacao = Notificacao::create([
'remetente_id' => Auth::user()->id, 'remetente_id' => Auth::user()->id,
'destinatario_id' => $avaliador->user_id, 'destinatario_id' => $avaliador->user_id,
'trabalho_id' => $request->trabalho_id, 'trabalho_id' => $request->trabalho_id,
'lido' => false, 'lido' => false,
'tipo' => 5, 'tipo' => 5,
]); ]);
$notificacao->save(); $notificacao->save();
Notification::send($userTemp, new AtribuicaoAvaliadorExternoNotification($userTemp, $trabalho, $evento->formAvaliacaoExterno, $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso)); Notification::send($userTemp, new AtribuicaoAvaliadorExternoNotification($userTemp, $trabalho, $evento->formAvaliacaoExterno, $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso));
} }
return redirect()->back(); return redirect()->back();
} }
public function enviarConviteEAtribuir(Request $request) public function enviarConviteEAtribuir(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$nomeAvaliador = $request->nomeAvaliador; $nomeAvaliador = $request->nomeAvaliador;
$emailAvaliador = $request->emailAvaliador; $emailAvaliador = $request->emailAvaliador;
$area = Area::where('id', $request->area_id)->first(); $area = Area::where('id', $request->area_id)->first();
$user = User::where('email', $emailAvaliador)->first(); $user = User::where('email', $emailAvaliador)->first();
$areaTematica = AreaTematica::find($request->areasTemeticas); $areaTematica = AreaTematica::find($request->areasTemeticas);
if ($request->instituicao == 'ufape') { if ($request->instituicao == 'ufape') {
$nomeInstituicao = 'Universidade Federal do Agreste de Pernambuco'; $nomeInstituicao = 'Universidade Federal do Agreste de Pernambuco';
$externoInterno = 'Interno'; $externoInterno = 'Interno';
} else { } else {
$nomeInstituicao = $request->outra; $nomeInstituicao = $request->outra;
$externoInterno = 'Externo'; $externoInterno = 'Externo';
} }
if (isset($user)) { if (isset($user)) {
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$subject = 'Convite para avaliar projetos da UFAPE'; $subject = 'Convite para avaliar projetos da UFAPE';
Mail::to($emailAvaliador) Mail::to($emailAvaliador)
->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador-Cadastrado', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id)); ->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador-Cadastrado', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id));
} else { } else {
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$subject = 'Convite para avaliar projetos da UFAPE'; $subject = 'Convite para avaliar projetos da UFAPE';
Mail::to($emailAvaliador) Mail::to($emailAvaliador)
->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id)); ->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id));
$user = User::create([ $user = User::create([
'email' => $emailAvaliador, 'email' => $emailAvaliador,
'password' => bcrypt($passwordTemporario), 'password' => bcrypt($passwordTemporario),
'usuarioTemp' => false, 'usuarioTemp' => false,
'name' => $nomeAvaliador, 'name' => $nomeAvaliador,
'tipo' => 'avaliador', 'tipo' => 'avaliador',
'instituicao' => $nomeInstituicao, 'instituicao' => $nomeInstituicao,
]); ]);
$user->markEmailAsVerified(); $user->markEmailAsVerified();
} }
$trabalho = Trabalho::where('id', $request->trabalho_id)->first(); $trabalho = Trabalho::where('id', $request->trabalho_id)->first();
if ($user->avaliadors == null) { if ($user->avaliadors == null) {
$avaliador = new Avaliador(); $avaliador = new Avaliador();
$avaliador->tipo = $externoInterno; $avaliador->tipo = $externoInterno;
$avaliador->save(); $avaliador->save();
$avaliador->area()->associate($area); $avaliador->area()->associate($area);
$avaliador->user()->associate($user); $avaliador->user()->associate($user);
$avaliador->eventos()->attach($evento); $avaliador->eventos()->attach($evento);
$user->save(); $user->save();
$avaliador->save(); $avaliador->save();
} else { } else {
$avaliador = $user->avaliadors; $avaliador = $user->avaliadors;
$avaliador->eventos()->attach($evento); $avaliador->eventos()->attach($evento);
$user->save(); $user->save();
$avaliador->save(); $avaliador->save();
} }
if($evento->natureza_id == 3){ if($evento->natureza_id == 3){
$avaliador->areaTematicas()->sync($areaTematica); $avaliador->areaTematicas()->sync($areaTematica);
} }
if ($request->instituicao == 'ufape') { if ($request->instituicao == 'ufape') {
$trabalho->avaliadors()->attach($avaliador, ['acesso' => 2]); $trabalho->avaliadors()->attach($avaliador, ['acesso' => 2]);
$evento->avaliadors()->syncWithoutDetaching($avaliador); $evento->avaliadors()->syncWithoutDetaching($avaliador);
} else { } else {
$trabalho->avaliadors()->attach($avaliador, ['acesso' => 1]); $trabalho->avaliadors()->attach($avaliador, ['acesso' => 1]);
$evento->avaliadors()->syncWithoutDetaching($avaliador); $evento->avaliadors()->syncWithoutDetaching($avaliador);
} }
$trabalho->save(); $trabalho->save();
$notificacao = Notificacao::create([ $notificacao = Notificacao::create([
'remetente_id' => Auth::user()->id, 'remetente_id' => Auth::user()->id,
'destinatario_id' => $avaliador->user_id, 'destinatario_id' => $avaliador->user_id,
'trabalho_id' => $request->trabalho_id, 'trabalho_id' => $request->trabalho_id,
'lido' => false, 'lido' => false,
'tipo' => 5, 'tipo' => 5,
]); ]);
$notificacao->save(); $notificacao->save();
return redirect()->back(); return redirect()->back();
} }
public function reenviarConviteAtribuicaoProjeto(Request $request) public function reenviarConviteAtribuicaoProjeto(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$avaliador = Avaliador::where('id', $request->avaliador_id)->first(); $avaliador = Avaliador::where('id', $request->avaliador_id)->first();
if ($avaliador->user->avaliadors->eventos->where('id', $evento->id)->first()->pivot->convite != true) { if ($avaliador->user->avaliadors->eventos->where('id', $evento->id)->first()->pivot->convite != true) {
$avaliador->user->avaliadors->eventos()->updateExistingPivot($evento->id, ['convite' => null]); $avaliador->user->avaliadors->eventos()->updateExistingPivot($evento->id, ['convite' => null]);
} }
$notificacao = Notificacao::create([ $notificacao = Notificacao::create([
'remetente_id' => Auth::user()->id, 'remetente_id' => Auth::user()->id,
'destinatario_id' => $avaliador->user_id, 'destinatario_id' => $avaliador->user_id,
'trabalho_id' => $request->trabalho_id, 'trabalho_id' => $request->trabalho_id,
'lido' => false, 'lido' => false,
'tipo' => 5, 'tipo' => 5,
]); ]);
$notificacao->save(); $notificacao->save();
$trabalho = Trabalho::where('id', $request->trabalho_id)->first(); $trabalho = Trabalho::where('id', $request->trabalho_id)->first();
$subject = 'Convite para avaliar projetos da UFAPE - Reenvio'; $subject = 'Convite para avaliar projetos da UFAPE - Reenvio';
Mail::to($avaliador->user->email) Mail::to($avaliador->user->email)
->send(new EmailLembrete($avaliador->user->name, $subject, $trabalho->titulo, $evento->nome, $evento->tipo, $evento->natureza_id, $evento->formAvaliacaoExterno, $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso)); ->send(new EmailLembrete($avaliador->user->name, $subject, $trabalho->titulo, $evento->nome, $evento->tipo, $evento->natureza_id, $evento->formAvaliacaoExterno, $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso));
return redirect()->back(); return redirect()->back();
} }
public function enviarConvite(Request $request) public function enviarConvite(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$nomeAvaliador = $request->nomeAvaliador; $nomeAvaliador = $request->nomeAvaliador;
$emailAvaliador = $request->emailAvaliador; $emailAvaliador = $request->emailAvaliador;
$area = Area::where('id', $request->area_id)->first(); $area = Area::where('id', $request->area_id)->first();
$user = User::where('email', $emailAvaliador)->first(); $user = User::where('email', $emailAvaliador)->first();
$areaTematica = AreaTematica::find($request->areasTemeticas); $areaTematica = AreaTematica::find($request->areasTemeticas);
if ($request->instituicao == 'ufape') { if ($request->instituicao == 'ufape') {
$nomeInstituicao = 'Universidade Federal do Agreste de Pernambuco'; $nomeInstituicao = 'Universidade Federal do Agreste de Pernambuco';
$externoInterno = 'Interno'; $externoInterno = 'Interno';
} else { } else {
$nomeInstituicao = $request->outra; $nomeInstituicao = $request->outra;
$externoInterno = 'Externo'; $externoInterno = 'Externo';
} }
//existe o caso de enviar o convite de novo para um mesmo usuário //existe o caso de enviar o convite de novo para um mesmo usuário
// if(isset($user->avaliadors->eventos->where('id', $evento->id)->first()->pivot->convite) ){ // if(isset($user->avaliadors->eventos->where('id', $evento->id)->first()->pivot->convite) ){
// return redirect()->back()->with(['mensagem' => 'Usuário já recebeu um convite e está pendente']); // return redirect()->back()->with(['mensagem' => 'Usuário já recebeu um convite e está pendente']);
// } // }
if (isset($user)) { if (isset($user)) {
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$subject = 'Convite para avaliar projetos da UFAPE'; $subject = 'Convite para avaliar projetos da UFAPE';
Mail::to($emailAvaliador) Mail::to($emailAvaliador)
->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador-Cadastrado', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id)); ->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador-Cadastrado', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id));
} else { } else {
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$subject = 'Convite para avaliar projetos da UFAPE'; $subject = 'Convite para avaliar projetos da UFAPE';
Mail::to($emailAvaliador) Mail::to($emailAvaliador)
->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id)); ->send(new EmailParaUsuarioNaoCadastrado($nomeAvaliador, ' ', 'Avaliador', $evento->nome, $passwordTemporario, $subject, $evento->tipo, $evento->natureza_id));
$user = User::create([ $user = User::create([
'email' => $emailAvaliador, 'email' => $emailAvaliador,
'password' => bcrypt($passwordTemporario), 'password' => bcrypt($passwordTemporario),
'usuarioTemp' => false, 'usuarioTemp' => false,
'name' => $nomeAvaliador, 'name' => $nomeAvaliador,
'tipo' => 'avaliador', 'tipo' => 'avaliador',
'instituicao' => $nomeInstituicao, 'instituicao' => $nomeInstituicao,
]); ]);
$user->markEmailAsVerified(); $user->markEmailAsVerified();
} }
if ($user->avaliadors == null) { if ($user->avaliadors == null) {
$avaliador = new Avaliador(); $avaliador = new Avaliador();
$avaliador->tipo = $externoInterno; $avaliador->tipo = $externoInterno;
$avaliador->save(); $avaliador->save();
$avaliador->area()->associate($area); $avaliador->area()->associate($area);
$avaliador->user()->associate($user); $avaliador->user()->associate($user);
$avaliador->eventos()->attach($evento); $avaliador->eventos()->attach($evento);
if($evento->natureza_id == 3){ if($evento->natureza_id == 3){
$avaliador->naturezas()->sync($evento->natureza_id); $avaliador->naturezas()->sync($evento->natureza_id);
$avaliador->areaTematicas()->sync($areaTematica); $avaliador->areaTematicas()->sync($areaTematica);
} }
$user->save(); $user->save();
$avaliador->save(); $avaliador->save();
} else { } else {
$avaliador = $user->avaliadors; $avaliador = $user->avaliadors;
$avaliador->eventos()->attach($evento); $avaliador->eventos()->attach($evento);
if($evento->natureza_id == 3){ if($evento->natureza_id == 3){
$avaliador->naturezas()->sync($evento->natureza_id); $avaliador->naturezas()->sync($evento->natureza_id);
$avaliador->areaTematicas()->sync($areaTematica); $avaliador->areaTematicas()->sync($areaTematica);
} }
$user->save(); $user->save();
$avaliador->save(); $avaliador->save();
} }
return redirect()->back(); return redirect()->back();
} }
public function reenviarConvite(Request $request) public function reenviarConvite(Request $request)
{ {
$evento = Evento::where('id', $request->evento_id)->first(); $evento = Evento::where('id', $request->evento_id)->first();
$avaliador = Avaliador::where('id', $request->avaliador_id)->first(); $avaliador = Avaliador::where('id', $request->avaliador_id)->first();
$user = $avaliador->user()->first(); $user = $avaliador->user()->first();
$subject = 'Convite para avaliar projetos da UFAPE - Reenvio'; $subject = 'Convite para avaliar projetos da UFAPE - Reenvio';
Mail::to($user->email) Mail::to($user->email)
->send(new EmailParaUsuarioNaoCadastrado($user->name, ' ', 'Avaliador-Cadastrado', $evento->nome, ' ', $subject, $evento->tipo, $evento->natureza_id)); ->send(new EmailParaUsuarioNaoCadastrado($user->name, ' ', 'Avaliador-Cadastrado', $evento->nome, ' ', $subject, $evento->tipo, $evento->natureza_id));
return redirect()->back(); return redirect()->back();
} }
// public function baixarAnexo(Request $request) { // public function baixarAnexo(Request $request) {
// return Storage::download($request->anexo); // return Storage::download($request->anexo);
// } // }
public function baixarModeloAvaliacao() public function baixarModeloAvaliacao()
{ {
$file = public_path().'/ModeloFormularioAvaliadorExternoPIBIC.docx'; $file = public_path().'/ModeloFormularioAvaliadorExternoPIBIC.docx';
$headers = ['Content-Type: application/docx']; $headers = ['Content-Type: application/docx'];
ob_end_clean(); ob_end_clean();
return response()->download($file, 'ModeloFormularioAvaliadorExternoPIBIC.docx', $headers); return response()->download($file, 'ModeloFormularioAvaliadorExternoPIBIC.docx', $headers);
} }
public function imprimirResultados(Request $request) public function imprimirResultados(Request $request)
{ {
$evento = Evento::where('id', $request->id)->first(); $evento = Evento::where('id', $request->id)->first();
// Ampla Concorrencia // Ampla Concorrencia
$trabalhosAmpla = Trabalho::where('evento_id', $evento->id) $trabalhosAmpla = Trabalho::where('evento_id', $evento->id)
->where('modalidade', 'AmplaConcorrencia')->get(); ->where('modalidade', 'AmplaConcorrencia')->get();
foreach ($trabalhosAmpla as $trabalho) { foreach ($trabalhosAmpla as $trabalho) {
$trabalho->pontuacao = 0; $trabalho->pontuacao = 0;
$cont = 0; $cont = 0;
// Caso especial do PIBEX onde a pontuação fica no Ad Hoc // Caso especial do PIBEX onde a pontuação fica no Ad Hoc
if ($evento->tipo == 'PIBEX') { if ($evento->tipo == 'PIBEX') {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 || if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 ||
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) && $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) &&
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) { $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) {
$trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao; $trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao;
++$cont; ++$cont;
} }
} }
} else { } else {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if ($avaliador->tipo == 'Interno') { if ($avaliador->tipo == 'Interno') {
$parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first(); $parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first();
if ($parecerInterno != null) { if ($parecerInterno != null) {
$trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao; $trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao;
++$cont; ++$cont;
} }
} }
} }
} }
if ($trabalho->pontuacao != 0) { if ($trabalho->pontuacao != 0) {
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); $trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', '');
} }
} }
$trabalhosAmpla = $trabalhosAmpla->sort(function ($item, $next) { $trabalhosAmpla = $trabalhosAmpla->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}); });
// Recém Doutor // Recém Doutor
$trabalhosDoutor = Trabalho::where('evento_id', $evento->id) $trabalhosDoutor = Trabalho::where('evento_id', $evento->id)
->where('modalidade', 'RecemDoutor')->get(); ->where('modalidade', 'RecemDoutor')->get();
foreach ($trabalhosDoutor as $trabalho) { foreach ($trabalhosDoutor as $trabalho) {
$trabalho->pontuacao = 0; $trabalho->pontuacao = 0;
$cont = 0; $cont = 0;
// Caso especial do PIBEX onde a pontuação fica no Ad Hoc // Caso especial do PIBEX onde a pontuação fica no Ad Hoc
if ($evento->tipo == 'PIBEX') { if ($evento->tipo == 'PIBEX') {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 || if (($avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 1 ||
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) && $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso == 3) &&
$avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) { $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao != null) {
$trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao; $trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao;
++$cont; ++$cont;
} }
} }
} else { } else {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
if ($avaliador->tipo == 'Interno') { if ($avaliador->tipo == 'Interno') {
$parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first(); $parecerInterno = ParecerInterno::where([['avaliador_id', $avaliador->id], ['trabalho_id', $trabalho->id]])->first();
if ($parecerInterno != null) { if ($parecerInterno != null) {
$trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao; $trabalho->pontuacao += $parecerInterno->statusAnexoPlanilhaPontuacao;
++$cont; ++$cont;
} }
} }
} }
} }
if ($trabalho->pontuacao != 0) { if ($trabalho->pontuacao != 0) {
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); $trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', '');
} }
} }
$trabalhosDoutor = $trabalhosDoutor->sort(function ($item, $next) { $trabalhosDoutor = $trabalhosDoutor->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}); });
$pdf = PDF::loadView('/administrador/resultadosProjetosCotas', compact('trabalhosDoutor', 'trabalhosAmpla', 'evento')); $pdf = PDF::loadView('/administrador/resultadosProjetosCotas', compact('trabalhosDoutor', 'trabalhosAmpla', 'evento'));
return $pdf->setPaper('a4')->stream('Resultados.pdf'); return $pdf->setPaper('a4')->stream('Resultados.pdf');
} }
} }
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers;
use PDF; use PDF;
use App; use App;
use App\Administrador; use App\Administrador;
use Auth; use Auth;
use App\Area; use App\Area;
use App\User; use App\User;
use App\Evento; use App\Evento;
use App\AreaTematica; use App\AreaTematica;
use App\Arquivo; use App\Arquivo;
use App\Coautor; use App\Coautor;
use App\Revisor; use App\Revisor;
use App\TrabalhoUser; use App\TrabalhoUser;
use App\SubArea; use App\SubArea;
use App\Endereco; use App\Endereco;
use App\Trabalho; use App\Trabalho;
use App\Avaliador; use App\Avaliador;
use Carbon\Carbon; use Carbon\Carbon;
use App\AnexosTemp; use App\AnexosTemp;
use App\Atribuicao; use App\Atribuicao;
use App\GrandeArea; use App\GrandeArea;
use App\Modalidade; use App\Modalidade;
use App\Proponente; use App\Proponente;
use App\Participante; use App\Participante;
use App\AreaModalidade; use App\AreaModalidade;
use App\Certificado; use App\Certificado;
use Illuminate\Http\File; use Illuminate\Http\File;
use App\Mail\EventoCriado; use App\Mail\EventoCriado;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use App\CoordenadorComissao; use App\CoordenadorComissao;
use App\FuncaoParticipantes; use App\FuncaoParticipantes;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Mail\SubmissaoTrabalho; use App\Mail\SubmissaoTrabalho;
use App\OutrasInfoParticipante; use App\OutrasInfoParticipante;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use App\Http\Requests\StoreTrabalho; use App\Http\Requests\StoreTrabalho;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use App\Http\Requests\UpdateTrabalho; use App\Http\Requests\UpdateTrabalho;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use App\Mail\EmailParaUsuarioNaoCadastrado; use App\Mail\EmailParaUsuarioNaoCadastrado;
use App\Mail\SolicitacaoSubstituicao; use App\Mail\SolicitacaoSubstituicao;
use App\Notificacao; use App\Notificacao;
use App\Notifications\SolicitacaoCertificadoNotification; use App\Notifications\SolicitacaoCertificadoNotification;
use App\Notifications\SubmissaoNotification; use App\Notifications\SubmissaoNotification;
use App\Notifications\SubmissaoRecebidaNotification; use App\Notifications\SubmissaoRecebidaNotification;
use App\SolicitacaoCertificado; use App\SolicitacaoCertificado;
use App\SolicitacaoParticipante; use App\SolicitacaoParticipante;
use App\Substituicao; use App\Substituicao;
use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Notification;
use App\Desligamento; use App\Desligamento;
use App\ObjetivoDeDesenvolvimentoSustentavel; use App\ObjetivoDeDesenvolvimentoSustentavel;
class TrabalhoController extends Controller class TrabalhoController extends Controller
{ {
public $estados = array( public $estados = array(
'AC' => 'Acre', 'AC' => 'Acre',
'AL' => 'Alagoas', 'AL' => 'Alagoas',
'AP' => 'Amapá', 'AP' => 'Amapá',
'AM' => 'Amazonas', 'AM' => 'Amazonas',
'BA' => 'Bahia', 'BA' => 'Bahia',
'CE' => 'Ceará', 'CE' => 'Ceará',
'DF' => 'Distrito Federal', 'DF' => 'Distrito Federal',
'ES' => 'Espirito Santo', 'ES' => 'Espirito Santo',
'GO' => 'Goiás', 'GO' => 'Goiás',
'MA' => 'Maranhão', 'MA' => 'Maranhão',
'MS' => 'Mato Grosso do Sul', 'MS' => 'Mato Grosso do Sul',
'MT' => 'Mato Grosso', 'MT' => 'Mato Grosso',
'MG' => 'Minas Gerais', 'MG' => 'Minas Gerais',
'PA' => 'Pará', 'PA' => 'Pará',
'PB' => 'Paraíba', 'PB' => 'Paraíba',
'PR' => 'Paraná', 'PR' => 'Paraná',
'PE' => 'Pernambuco', 'PE' => 'Pernambuco',
'PI' => 'Piauí', 'PI' => 'Piauí',
'RJ' => 'Rio de Janeiro', 'RJ' => 'Rio de Janeiro',
'RN' => 'Rio Grande do Norte', 'RN' => 'Rio Grande do Norte',
'RS' => 'Rio Grande do Sul', 'RS' => 'Rio Grande do Sul',
'RO' => 'Rondônia', 'RO' => 'Rondônia',
'RR' => 'Roraima', 'RR' => 'Roraima',
'SC' => 'Santa Catarina', 'SC' => 'Santa Catarina',
'SP' => 'São Paulo', 'SP' => 'São Paulo',
'SE' => 'Sergipe', 'SE' => 'Sergipe',
'TO' => 'Tocantins', 'TO' => 'Tocantins',
); );
public function index($id) public function index($id)
{ {
$edital = Evento::find($id); $edital = Evento::find($id);
$grandeAreas = GrandeArea::orderBy('nome')->get(); $grandeAreas = GrandeArea::orderBy('nome')->get();
$areaTematicas = AreaTematica::orderBy('nome')->get(); $areaTematicas = AreaTematica::orderBy('nome')->get();
$ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get(); $ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get();
$funcaoParticipantes = FuncaoParticipantes::orderBy('nome')->get(); $funcaoParticipantes = FuncaoParticipantes::orderBy('nome')->get();
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
if($proponente == null){ if($proponente == null){
return view('proponente.cadastro')->with(['mensagem' => 'Você não possui perfil de Proponente, para submeter algum projeto preencha o formulário.']);; return view('proponente.cadastro')->with(['mensagem' => 'Você não possui perfil de Proponente, para submeter algum projeto preencha o formulário.']);;
} }
$rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$edital->id)->where('status', 'Rascunho') $rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$edital->id)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
// dd($estados); // dd($estados);
return view('evento.submeterTrabalho',[ return view('evento.submeterTrabalho',[
// return view('evento.backupForm',[ // return view('evento.backupForm',[
'edital' => $edital, 'edital' => $edital,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'funcaoParticipantes'=> $funcaoParticipantes, 'funcaoParticipantes'=> $funcaoParticipantes,
'rascunho' => $rascunho, 'rascunho' => $rascunho,
'enum_turno' => Participante::ENUM_TURNO, 'enum_turno' => Participante::ENUM_TURNO,
'estados' => $this->estados, 'estados' => $this->estados,
'areaTematicas' => $areaTematicas, 'areaTematicas' => $areaTematicas,
'ods' =>$ODS, 'ods' =>$ODS,
]); ]);
} }
public function arquivar(Request $request){ public function arquivar(Request $request){
$trabalho = Trabalho::find($request->trabalho_id); $trabalho = Trabalho::find($request->trabalho_id);
$arquivos = Arquivo::where('trabalhoId',$trabalho->id)->get(); $arquivos = Arquivo::where('trabalhoId',$trabalho->id)->get();
if($request->arquivar_tipo == 1 ){ if($request->arquivar_tipo == 1 ){
$trabalho->arquivado = true; $trabalho->arquivado = true;
foreach ($arquivos as $arquivo){ foreach ($arquivos as $arquivo){
$arquivo->arquivado = true; $arquivo->arquivado = true;
$arquivo->update(); $arquivo->update();
} }
$message = "Projeto ".$trabalho->titulo." arquivado"; $message = "Projeto ".$trabalho->titulo." arquivado";
}else{ }else{
$trabalho->arquivado = false; $trabalho->arquivado = false;
foreach ($arquivos as $arquivo){ foreach ($arquivos as $arquivo){
$arquivo->arquivado = false; $arquivo->arquivado = false;
$arquivo->update(); $arquivo->update();
} }
$message = "Projeto ".$trabalho->titulo." desarquivado"; $message = "Projeto ".$trabalho->titulo." desarquivado";
} }
$trabalho->update(); $trabalho->update();
return redirect()->back()->with(['sucesso'=>$message ]); return redirect()->back()->with(['sucesso'=>$message ]);
} }
public function storeParcial(Request $request){ public function storeParcial(Request $request){
$mytime = Carbon::now('America/Recife'); $mytime = Carbon::now('America/Recife');
$mytime = $mytime->toDateString(); $mytime = $mytime->toDateString();
$evento = Evento::find($request->editalId); $evento = Evento::find($request->editalId);
$coordenador = CoordenadorComissao::find($evento->coordenadorId); $coordenador = CoordenadorComissao::find($evento->coordenadorId);
//Relaciona o projeto criado com o proponente que criou o projeto //Relaciona o projeto criado com o proponente que criou o projeto
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
$trabalho = "trabalho"; $trabalho = "trabalho";
if ($evento->inicioSubmissao > $mytime) { if ($evento->inicioSubmissao > $mytime) {
if ($mytime >= $evento->fimSubmissao) { if ($mytime >= $evento->fimSubmissao) {
return redirect()->route('home'); return redirect()->route('home');
} }
} }
//--Salvando os dados da submissão temporariamente //--Salvando os dados da submissão temporariamente
$this->armazenarInfoTemp($request, $proponente); $this->armazenarInfoTemp($request, $proponente);
return redirect()->route('projetos.edital', ['id' => $request->editalId]); return redirect()->route('projetos.edital', ['id' => $request->editalId]);
} }
//Armazena temporariamente dados da submissão, no banco de dados e no storage //Armazena temporariamente dados da submissão, no banco de dados e no storage
public function armazenarInfoTemp(Request $request, $proponente) public function armazenarInfoTemp(Request $request, $proponente)
{ {
//---Dados do Projeto //---Dados do Projeto
$trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$request->editalId)->where('status', 'Rascunho') $trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$request->editalId)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
//dd($trabalho); //dd($trabalho);
if($trabalho == null){ if($trabalho == null){
$trabalho = new Trabalho(); $trabalho = new Trabalho();
$trabalho->proponente_id = $proponente->id; $trabalho->proponente_id = $proponente->id;
$trabalho->evento_id = $request->editalId; $trabalho->evento_id = $request->editalId;
$trabalho->status = 'Rascunho'; $trabalho->status = 'Rascunho';
$stringKeys = ['titulo','linkGrupoPesquisa', 'linkLattesEstudante','pontuacaoPlanilha','anexoProjeto', $stringKeys = ['titulo','linkGrupoPesquisa', 'linkLattesEstudante','pontuacaoPlanilha','anexoProjeto',
'anexoPlanilhaPontuacao', 'anexoLattesCoordenador', 'conflitosInteresse']; 'anexoPlanilhaPontuacao', 'anexoLattesCoordenador', 'conflitosInteresse'];
$intKeys = ['grande_area_id','area_id','sub_area_id','coordenador_id']; $intKeys = ['grande_area_id','area_id','sub_area_id','coordenador_id'];
$trabalho->fill( $trabalho->fill(
array_fill_keys($stringKeys, "") + array_fill_keys($intKeys, 1) array_fill_keys($stringKeys, "") + array_fill_keys($intKeys, 1)
)->save(); )->save();
//dd($trabalho); //dd($trabalho);
} }
if(!(is_null($request->nomeProjeto)) ) { if(!(is_null($request->nomeProjeto)) ) {
$trabalho->titulo = $request->nomeProjeto; $trabalho->titulo = $request->nomeProjeto;
} }
if(!(is_null($request->grandeArea))){ if(!(is_null($request->grandeArea))){
$trabalho->grande_area_id = $request->grandeArea; $trabalho->grande_area_id = $request->grandeArea;
} }
if(!(is_null($request->area))){ if(!(is_null($request->area))){
$trabalho->area_id = $request->area; $trabalho->area_id = $request->area;
} }
if(!(is_null($request->subArea))){ if(!(is_null($request->subArea))){
$trabalho->sub_area_id = $request->subArea; $trabalho->sub_area_id = $request->subArea;
} }
if(!(is_null($request->pontuacaoPlanilha))){ if(!(is_null($request->pontuacaoPlanilha))){
$trabalho->pontuacaoPlanilha = $request->pontuacaoPlanilha; $trabalho->pontuacaoPlanilha = $request->pontuacaoPlanilha;
} }
if(!(is_null($request->linkGrupo))){ if(!(is_null($request->linkGrupo))){
$trabalho->linkGrupoPesquisa = $request->linkGrupo; $trabalho->linkGrupoPesquisa = $request->linkGrupo;
} }
if(!(is_null($request->conflitosInteresse))){ if(!(is_null($request->conflitosInteresse))){
$trabalho->conflitosInteresse = $request->conflitosInteresse; $trabalho->conflitosInteresse = $request->conflitosInteresse;
} }
//Anexos do projeto //Anexos do projeto
$pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id; $pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id;
if(!(is_null($request->anexoDecisaoCONSU)) ) { if(!(is_null($request->anexoDecisaoCONSU)) ) {
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, "CONSU.pdf"); $trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, "CONSU.pdf");
} }
if (!(is_null($request->anexoComiteEtica))) { if (!(is_null($request->anexoComiteEtica))) {
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf"); $trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf");
} }
if (!(is_null($request->justificativaAutorizacaoEtica))) { if (!(is_null($request->justificativaAutorizacaoEtica))) {
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, "Justificativa.pdf"); $trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, "Justificativa.pdf");
} }
if (!(is_null($request->anexoProjeto))) { if (!(is_null($request->anexoProjeto))) {
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, "Projeto.pdf"); $trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, "Projeto.pdf");
} }
if (!(is_null($request->anexoLattesCoordenador))) { if (!(is_null($request->anexoLattesCoordenador))) {
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, "Lattes_Coordenador.pdf"); $trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, "Lattes_Coordenador.pdf");
} }
if (!(is_null($request->anexoPlanilhaPontuacao))) { if (!(is_null($request->anexoPlanilhaPontuacao))) {
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha.". $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension()); $trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha.". $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension());
} }
$trabalho->update(); $trabalho->update();
//---Anexos planos de trabalho //---Anexos planos de trabalho
//dd($trabalho); //dd($trabalho);
return $trabalho; return $trabalho;
} }
public function validarAnexosRascunho(Request $request, $trabalho){ public function validarAnexosRascunho(Request $request, $trabalho){
$validator = Validator::make($trabalho->getAttributes(),[ $validator = Validator::make($trabalho->getAttributes(),[
'anexoPlanilhaPontuacao' => $request->anexoPlanilhaPontuacao==null?['planilha']:[], 'anexoPlanilhaPontuacao' => $request->anexoPlanilhaPontuacao==null?['planilha']:[],
]); ]);
if ($validator->fails()) { if ($validator->fails()) {
//dd('asdf'); //dd('asdf');
return back()->withErrors($validator)->withInput(); return back()->withErrors($validator)->withInput();
} }
return 1; return 1;
} }
public function armazenarAnexosFinais($request, $pasta, $trabalho, $evento){ public function armazenarAnexosFinais($request, $pasta, $trabalho, $evento){
// Checando se é um novo trabalho ou uma edição // Checando se é um novo trabalho ou uma edição
if ($trabalho->anexoProjeto != null) { if ($trabalho->anexoProjeto != null) {
// Anexo Projeto // Anexo Projeto
if (isset($request->anexoProjeto)) { if (isset($request->anexoProjeto)) {
if (Storage::disk()->exists($trabalho->anexoProjeto)) { if (Storage::disk()->exists($trabalho->anexoProjeto)) {
Storage::delete($trabalho->anexoProjeto); Storage::delete($trabalho->anexoProjeto);
} }
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf'); $trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf');
} }
//Anexo Decisão CONSU //Anexo Decisão CONSU
// if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') { // if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
if (isset($request->anexoDecisaoCONSU)) { if (isset($request->anexoDecisaoCONSU)) {
if (Storage::disk()->exists($trabalho->anexoDecisaoCONSU)) { if (Storage::disk()->exists($trabalho->anexoDecisaoCONSU)) {
Storage::delete($trabalho->anexoDecisaoCONSU); Storage::delete($trabalho->anexoDecisaoCONSU);
} }
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf'); $trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf');
} }
// } // }
//Autorização ou Justificativa //Autorização ou Justificativa
if (isset($request->anexoAutorizacaoComiteEtica)) { if (isset($request->anexoAutorizacaoComiteEtica)) {
if (Storage::disk()->exists($trabalho->anexoAutorizacaoComiteEtica)) { if (Storage::disk()->exists($trabalho->anexoAutorizacaoComiteEtica)) {
Storage::delete($trabalho->anexoAutorizacaoComiteEtica); Storage::delete($trabalho->anexoAutorizacaoComiteEtica);
} }
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf'); $trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf');
$trabalho->justificativaAutorizacaoEtica = null; $trabalho->justificativaAutorizacaoEtica = null;
} elseif (isset($request->justificativaAutorizacaoEtica)) { } elseif (isset($request->justificativaAutorizacaoEtica)) {
if (Storage::disk()->exists($trabalho->justificativaAutorizacaoEtica)) { if (Storage::disk()->exists($trabalho->justificativaAutorizacaoEtica)) {
Storage::delete($trabalho->justificativaAutorizacaoEtica); Storage::delete($trabalho->justificativaAutorizacaoEtica);
} }
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf'); $trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf');
$trabalho->anexoAutorizacaoComiteEtica = null; $trabalho->anexoAutorizacaoComiteEtica = null;
} }
//Anexo Lattes //Anexo Lattes
if (isset($request->anexoLattesCoordenador)) { if (isset($request->anexoLattesCoordenador)) {
if (Storage::disk()->exists($trabalho->anexoLattesCoordenador)) { if (Storage::disk()->exists($trabalho->anexoLattesCoordenador)) {
Storage::delete($trabalho->anexoLattesCoordenador); Storage::delete($trabalho->anexoLattesCoordenador);
} }
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf'); $trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf');
} }
//Anexo Planilha //Anexo Planilha
if (isset($request->anexoPlanilhaPontuacao)) { if (isset($request->anexoPlanilhaPontuacao)) {
if (Storage::disk()->exists($trabalho->anexoPlanilhaPontuacao)) { if (Storage::disk()->exists($trabalho->anexoPlanilhaPontuacao)) {
Storage::delete($trabalho->anexoPlanilhaPontuacao); Storage::delete($trabalho->anexoPlanilhaPontuacao);
} }
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension()); $trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension());
} }
// Anexo grupo pesquisa // Anexo grupo pesquisa
if (isset($request->anexoGrupoPesquisa)) { if (isset($request->anexoGrupoPesquisa)) {
if (Storage::disk()->exists($trabalho->anexoGrupoPesquisa)) { if (Storage::disk()->exists($trabalho->anexoGrupoPesquisa)) {
Storage::delete($trabalho->anexoGrupoPesquisa); Storage::delete($trabalho->anexoGrupoPesquisa);
} }
$trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension()); $trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension());
} }
//Anexo documentro extra //Anexo documentro extra
if (isset($request->anexo_docExtra)) { if (isset($request->anexo_docExtra)) {
if (Storage::disk()->exists($trabalho->anexo_docExtra)) { if (Storage::disk()->exists($trabalho->anexo_docExtra)) {
Storage::delete($trabalho->anexo_docExtra); Storage::delete($trabalho->anexo_docExtra);
} }
$trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension()); $trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension());
} }
$trabalho->save(); $trabalho->save();
return $trabalho; return $trabalho;
} }
// Anexo Projeto // Anexo Projeto
if (isset($request->anexoProjeto)) { if (isset($request->anexoProjeto)) {
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf'); $trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf');
} }
//Anexo Decisão CONSU //Anexo Decisão CONSU
//if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') { //if ($evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
if (isset($request->anexoDecisaoCONSU)) { if (isset($request->anexoDecisaoCONSU)) {
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf'); $trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoDecisaoCONSU, 'Decisão_da_Câmara_ou_Conselho_Pertinente.pdf');
} }
//} //}
//Autorização ou Justificativa //Autorização ou Justificativa
if (isset($request->anexoAutorizacaoComiteEtica)) { if (isset($request->anexoAutorizacaoComiteEtica)) {
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf'); $trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoAutorizacaoComiteEtica, 'Comite_de_etica.pdf');
$trabalho->justificativaAutorizacaoEtica = null; $trabalho->justificativaAutorizacaoEtica = null;
} elseif (isset($request->justificativaAutorizacaoEtica)) { } elseif (isset($request->justificativaAutorizacaoEtica)) {
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf'); $trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf');
$trabalho->anexoAutorizacaoComiteEtica = null; $trabalho->anexoAutorizacaoComiteEtica = null;
} }
//Anexo Lattes //Anexo Lattes
if (isset($request->anexoLattesCoordenador)) { if (isset($request->anexoLattesCoordenador)) {
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf'); $trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf');
} }
//Anexo Planilha //Anexo Planilha
if (isset($request->anexoPlanilhaPontuacao)) { if (isset($request->anexoPlanilhaPontuacao)) {
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension()); $trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilhaPontuacao, "Planilha." . $request->file('anexoPlanilhaPontuacao')->getClientOriginalExtension());
} }
// Anexo grupo pesquisa // Anexo grupo pesquisa
if (isset($request->anexoGrupoPesquisa)) { if (isset($request->anexoGrupoPesquisa)) {
$trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension()); $trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoGrupoPesquisa, "Grupo_de_pesquisa." . $request->file('anexoGrupoPesquisa')->extension());
} }
// Anexo documento extra // Anexo documento extra
if (isset($request->anexo_docExtra)) { if (isset($request->anexo_docExtra)) {
$trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension()); $trabalho->anexo_docExtra = Storage::putFileAs($pasta, $request->anexo_docExtra, "Documento_Extra." . $request->file('anexo_docExtra')->extension());
} }
return $trabalho; return $trabalho;
} }
public function show($id) public function show($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if(Auth::user()->id != $projeto->proponente->user->id){ if(Auth::user()->id != $projeto->proponente->user->id){
return redirect()->back(); return redirect()->back();
} }
$edital = Evento::find($projeto->evento_id); $edital = Evento::find($projeto->evento_id);
$grandeAreas = GrandeArea::all(); $grandeAreas = GrandeArea::all();
$areas = Area::all(); $areas = Area::all();
$subareas = Subarea::all(); $subareas = Subarea::all();
$areasTematicas = AreaTematica::all(); $areasTematicas = AreaTematica::all();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
$participantes = $projeto->participantes; $participantes = $projeto->participantes;
$participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get(); $users = User::whereIn('id', $participantesUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get(); $arquivos = Arquivo::where('trabalhoId', $id)->get();
// Verficação de pendencia de substituição // Verficação de pendencia de substituição
$aux = count(Substituicao::where('status','Em Aguardo')->whereIn('participanteSubstituido_id',$projeto->participantes->pluck('id'))->get()); $aux = count(Substituicao::where('status','Em Aguardo')->whereIn('participanteSubstituido_id',$projeto->participantes->pluck('id'))->get());
$flagSubstituicao = 1; $flagSubstituicao = 1;
if($aux != 0){ if($aux != 0){
$flagSubstituicao = -1; $flagSubstituicao = -1;
} }
$trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get(); $trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get();
return view('projeto.visualizar')->with(['projeto' => $projeto, return view('projeto.visualizar')->with(['projeto' => $projeto,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'areas' => $areas, 'areas' => $areas,
'subAreas' => $subareas, 'subAreas' => $subareas,
'edital' => $edital, 'edital' => $edital,
'users' => $users, 'users' => $users,
'funcaoParticipantes' => $funcaoParticipantes, 'funcaoParticipantes' => $funcaoParticipantes,
'participantes' => $participantes, 'participantes' => $participantes,
'arquivos' => $arquivos, 'arquivos' => $arquivos,
'estados' => $this->estados, 'estados' => $this->estados,
'visualizar' => true, 'visualizar' => true,
'enum_turno' => Participante::ENUM_TURNO, 'enum_turno' => Participante::ENUM_TURNO,
'areasTematicas' => $areasTematicas, 'areasTematicas' => $areasTematicas,
'flagSubstituicao' =>$flagSubstituicao, 'flagSubstituicao' =>$flagSubstituicao,
'trabalhos_user' => $trabalhos_user 'trabalhos_user' => $trabalhos_user
]); ]);
} }
public function exportProjeto($id) public function exportProjeto($id)
{ {
$projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first(); $projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first();
if (!$projeto) { if (!$projeto) {
return back()->withErrors(['Proposta não encontrada!']); return back()->withErrors(['Proposta não encontrada!']);
} }
$edital = Evento::find($projeto->evento_id); $edital = Evento::find($projeto->evento_id);
$grandeAreas = GrandeArea::all(); $grandeAreas = GrandeArea::all();
$areas = Area::all(); $areas = Area::all();
$subAreas = Subarea::all(); $subAreas = Subarea::all();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
$participantes = Participante::where('trabalho_id', $id)->get(); $participantes = Participante::where('trabalho_id', $id)->get();
$participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get(); $users = User::whereIn('id', $participantesUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get(); $arquivos = Arquivo::where('trabalhoId', $id)->get();
$enum_turno = Participante::ENUM_TURNO; $enum_turno = Participante::ENUM_TURNO;
view()->share('projeto.visualizar', [$projeto, $grandeAreas, $areas, $subAreas, $edital, $users, $funcaoParticipantes, $participantes, $arquivos, $enum_turno]); view()->share('projeto.visualizar', [$projeto, $grandeAreas, $areas, $subAreas, $edital, $users, $funcaoParticipantes, $participantes, $arquivos, $enum_turno]);
$pdf = PDF::loadView('projeto.visualizar', compact('projeto', 'grandeAreas', 'areas', 'subAreas', 'edital', 'users', 'funcaoParticipantes', 'participantes', 'arquivos', 'enum_turno'))->setOptions(['defaultFont' => 'sans-serif']); $pdf = PDF::loadView('projeto.visualizar', compact('projeto', 'grandeAreas', 'areas', 'subAreas', 'edital', 'users', 'funcaoParticipantes', 'participantes', 'arquivos', 'enum_turno'))->setOptions(['defaultFont' => 'sans-serif']);
// download PDF file with download method // download PDF file with download method
return $pdf->download('pdf_file.pdf'); return $pdf->download('pdf_file.pdf');
} }
public function edit($id) public function edit($id)
{ {
if(Auth::user()->tipo=='administrador'){ if(Auth::user()->tipo=='administrador'){
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
}else{ }else{
$projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first(); $projeto = Auth::user()->proponentes->trabalhos()->where('id', $id)->first();
} }
$proponente = Proponente::where('user_id', $projeto->proponente->user_id)->first(); $proponente = Proponente::where('user_id', $projeto->proponente->user_id)->first();
if (!$projeto) { if (!$projeto) {
return back()->withErrors(['Proposta não encontrada!']); return back()->withErrors(['Proposta não encontrada!']);
} }
$edital = Evento::find($projeto->evento_id); $edital = Evento::find($projeto->evento_id);
$grandeAreas = GrandeArea::all(); $grandeAreas = GrandeArea::all();
$areaTematicas = AreaTematica::orderBy('nome')->get(); $areaTematicas = AreaTematica::orderBy('nome')->get();
$areas = Area::all(); $areas = Area::all();
$subareas = Subarea::all(); $subareas = Subarea::all();
$ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get(); $ODS = ObjetivoDeDesenvolvimentoSustentavel::orderBy('nome')->get();
$funcaoParticipantes = FuncaoParticipantes::all(); $funcaoParticipantes = FuncaoParticipantes::all();
$participantes = Participante::where('trabalho_id', $id)->get(); $participantes = Participante::where('trabalho_id', $id)->get();
$participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get(); $participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get(); $users = User::whereIn('id', $participantesUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get(); $arquivos = Arquivo::where('trabalhoId', $id)->get();
//dd(Participante::all()); //dd(Participante::all());
$rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $edital->id)->where('status', 'Rascunho') $rascunho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $edital->id)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
$trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get(); $trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get();
return view('projeto.editar')->with(['projeto' => $projeto, return view('projeto.editar')->with(['projeto' => $projeto,
'grandeAreas' => $grandeAreas, 'grandeAreas' => $grandeAreas,
'areas' => $areas, 'areas' => $areas,
'subAreas' => $subareas, 'subAreas' => $subareas,
'edital' => $edital, 'edital' => $edital,
'users' => $users, 'users' => $users,
'funcaoParticipantes' => $funcaoParticipantes, 'funcaoParticipantes' => $funcaoParticipantes,
'participantes' => $participantes, 'participantes' => $participantes,
'arquivos' => $arquivos, 'arquivos' => $arquivos,
'enum_turno' => Participante::ENUM_TURNO, 'enum_turno' => Participante::ENUM_TURNO,
'estados' => $this->estados, 'estados' => $this->estados,
'areaTematicas' => $areaTematicas, 'areaTematicas' => $areaTematicas,
'listaOds' => $ODS, 'listaOds' => $ODS,
'trabalhos_user' => $trabalhos_user 'trabalhos_user' => $trabalhos_user
]); ]);
} }
public function destroy(Request $request) public function destroy(Request $request)
{ {
$projeto = Trabalho::find($request->id); $projeto = Trabalho::find($request->id);
//dd($trabalho); //dd($trabalho);
Storage::deleteDirectory('trabalhos/' . $projeto->evento->id . '/' . $projeto->id); Storage::deleteDirectory('trabalhos/' . $projeto->evento->id . '/' . $projeto->id);
$participantes = $projeto->participantes; $participantes = $projeto->participantes;
foreach ($participantes as $participante) { foreach ($participantes as $participante) {
$plano = $participante->planoTrabalho; $plano = $participante->planoTrabalho;
if ($plano) if ($plano)
$plano->delete(); $plano->delete();
$participante->delete(); $participante->delete();
} }
$projeto->delete(); $projeto->delete();
return redirect()->back()->with(['mensagem' => 'Projeto deletado com sucesso!']); return redirect()->back()->with(['mensagem' => 'Projeto deletado com sucesso!']);
} }
public function excluirParticipante($id) public function excluirParticipante($id)
{ {
$participante = Participante::where('id', $id)->first(); $participante = Participante::where('id', $id)->first();
//$participante = Participante::where('user_id', Auth()->user()->id) //$participante = Participante::where('user_id', Auth()->user()->id)
// ->where('trabalho_id', $id)->first(); // ->where('trabalho_id', $id)->first();
//$participante->trabalhos()->detach($id); //$participante->trabalhos()->detach($id);
$participante->delete(); $participante->delete();
return redirect()->back(); return redirect()->back();
} }
public function solicitarCertificado(Trabalho $trabalho, Request $request) public function solicitarCertificado(Trabalho $trabalho, Request $request)
{ {
$users = User::find($request->users); $users = User::find($request->users);
$coord = $trabalho->coordenador; $coord = $trabalho->coordenador;
$SolicitacaoCertificado = SolicitacaoCertificado::create(); $SolicitacaoCertificado = SolicitacaoCertificado::create();
Notificacao::create([ Notificacao::create([
'remetente_id' => auth()->user()->id, 'remetente_id' => auth()->user()->id,
'destinatario_id' => $coord->user_id, 'destinatario_id' => $coord->user_id,
'solicitacao_certificado_id' => $SolicitacaoCertificado->id, 'solicitacao_certificado_id' => $SolicitacaoCertificado->id,
'trabalho_id' => $trabalho->id, 'trabalho_id' => $trabalho->id,
'lido' => false, 'lido' => false,
'tipo' => 6 'tipo' => 6
]); ]);
foreach ($users as $user) { foreach ($users as $user) {
SolicitacaoParticipante::create([ SolicitacaoParticipante::create([
'user_id' => $user->id, 'user_id' => $user->id,
'solicitacao_certificado_id' => $SolicitacaoCertificado->id, 'solicitacao_certificado_id' => $SolicitacaoCertificado->id,
]); ]);
} }
$admins = Administrador::all(); $admins = Administrador::all();
foreach ($admins as $admin) { foreach ($admins as $admin) {
$userTemp = User::find($admin->user_id); $userTemp = User::find($admin->user_id);
Notificacao::create([ Notificacao::create([
'remetente_id' => auth()->user()->id, 'remetente_id' => auth()->user()->id,
'destinatario_id' => $admin->user_id, 'destinatario_id' => $admin->user_id,
'solicitacao_certificado_id' => $SolicitacaoCertificado->id, 'solicitacao_certificado_id' => $SolicitacaoCertificado->id,
'trabalho_id' => $trabalho->id, 'trabalho_id' => $trabalho->id,
'lido' => false, 'lido' => false,
'tipo' => 6, 'tipo' => 6,
]); ]);
} }
$destinatarios = $admins->map(function($admin) {return $admin->user;})->push($coord->user); $destinatarios = $admins->map(function($admin) {return $admin->user;})->push($coord->user);
Notification::send($destinatarios, new SolicitacaoCertificadoNotification($trabalho->proponente, $trabalho, $userTemp, $users)); Notification::send($destinatarios, new SolicitacaoCertificadoNotification($trabalho->proponente, $trabalho, $userTemp, $users));
return redirect()->route('trabalho.show', ['id' => $trabalho->id])->with('sucesso', 'Solicitação de certificado/declaração efetuada com sucesso!'); return redirect()->route('trabalho.show', ['id' => $trabalho->id])->with('sucesso', 'Solicitação de certificado/declaração efetuada com sucesso!');
} }
public function novaVersao(Request $request) public function novaVersao(Request $request)
{ {
$mytime = Carbon::now('America/Recife'); $mytime = Carbon::now('America/Recife');
$mytime = $mytime->toDateString(); $mytime = $mytime->toDateString();
$evento = Evento::find($request->eventoId); $evento = Evento::find($request->eventoId);
if ($evento->inicioSubmissao > $mytime) { if ($evento->inicioSubmissao > $mytime) {
if ($mytime >= $evento->fimSubmissao) { if ($mytime >= $evento->fimSubmissao) {
return redirect()->route('home'); return redirect()->route('home');
} }
} }
$validatedData = $request->validate([ $validatedData = $request->validate([
'arquivo' => ['required', 'file', 'mimes:pdf'], 'arquivo' => ['required', 'file', 'mimes:pdf'],
'eventoId' => ['required', 'integer'], 'eventoId' => ['required', 'integer'],
'trabalhoId' => ['required', 'integer'], 'trabalhoId' => ['required', 'integer'],
]); ]);
$trabalho = Trabalho::find($request->trabalhoId); $trabalho = Trabalho::find($request->trabalhoId);
if (Auth::user()->id != $trabalho->autorId) { if (Auth::user()->id != $trabalho->autorId) {
return redirect()->route('home'); return redirect()->route('home');
} }
$arquivos = $trabalho->arquivo; $arquivos = $trabalho->arquivo;
$count = 1; $count = 1;
foreach ($arquivos as $key) { foreach ($arquivos as $key) {
$key->versaoFinal = false; $key->versaoFinal = false;
$key->save(); $key->save();
$count++; $count++;
} }
$file = $request->arquivo; $file = $request->arquivo;
$path = 'trabalhos/' . $request->eventoId . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $request->eventoId . '/' . $trabalho->id . '/';
$nome = $count . ".pdf"; $nome = $count . ".pdf";
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = Arquivo::create([ $arquivo = Arquivo::create([
'nome' => $path . $nome, 'nome' => $path . $nome,
'trabalhoId' => $trabalho->id, 'trabalhoId' => $trabalho->id,
'versaoFinal' => true, 'versaoFinal' => true,
]); ]);
return redirect()->route('evento.visualizar', ['id' => $request->eventoId]); return redirect()->route('evento.visualizar', ['id' => $request->eventoId]);
} }
public function detalhesAjax(Request $request) public function detalhesAjax(Request $request)
{ {
$validatedData = $request->validate([ $validatedData = $request->validate([
'trabalhoId' => ['required', 'integer'] 'trabalhoId' => ['required', 'integer']
]); ]);
$trabalho = Trabalho::find($request->trabalhoId); $trabalho = Trabalho::find($request->trabalhoId);
$revisores = Atribuicao::where('trabalhoId', $request->trabalhoId)->get(); $revisores = Atribuicao::where('trabalhoId', $request->trabalhoId)->get();
$revisoresAux = []; $revisoresAux = [];
foreach ($revisores as $key) { foreach ($revisores as $key) {
if ($key->revisor->user->name != null) { if ($key->revisor->user->name != null) {
array_push($revisoresAux, [ array_push($revisoresAux, [
'id' => $key->revisor->id, 'id' => $key->revisor->id,
'nomeOuEmail' => $key->revisor->user->name 'nomeOuEmail' => $key->revisor->user->name
]); ]);
} else { } else {
array_push($revisoresAux, [ array_push($revisoresAux, [
'id' => $key->revisor->id, 'id' => $key->revisor->id,
'nomeOuEmail' => $key->revisor->user->email 'nomeOuEmail' => $key->revisor->user->email
]); ]);
} }
} }
$revisoresDisponeis = Revisor::where('eventoId', $trabalho->eventoId)->where('areaId', $trabalho->areaId)->get(); $revisoresDisponeis = Revisor::where('eventoId', $trabalho->eventoId)->where('areaId', $trabalho->areaId)->get();
$revisoresAux1 = []; $revisoresAux1 = [];
foreach ($revisoresDisponeis as $key) { foreach ($revisoresDisponeis as $key) {
//verificar se ja é um revisor deste trabalhos //verificar se ja é um revisor deste trabalhos
$revisorNaoExiste = true; $revisorNaoExiste = true;
foreach ($revisoresAux as $key1) { foreach ($revisoresAux as $key1) {
if ($key->id == $key1['id']) { if ($key->id == $key1['id']) {
$revisorNaoExiste = false; $revisorNaoExiste = false;
} }
} }
// //
if ($revisorNaoExiste) { if ($revisorNaoExiste) {
if ($key->user->name != null) { if ($key->user->name != null) {
array_push($revisoresAux1, [ array_push($revisoresAux1, [
'id' => $key->id, 'id' => $key->id,
'nomeOuEmail' => $key->user->name 'nomeOuEmail' => $key->user->name
]); ]);
} else { } else {
array_push($revisoresAux1, [ array_push($revisoresAux1, [
'id' => $key->id, 'id' => $key->id,
'nomeOuEmail' => $key->user->email 'nomeOuEmail' => $key->user->email
]); ]);
} }
} }
} }
return response()->json([ return response()->json([
'titulo' => $trabalho->titulo, 'titulo' => $trabalho->titulo,
'resumo' => $trabalho->resumo, 'resumo' => $trabalho->resumo,
'revisores' => $revisoresAux, 'revisores' => $revisoresAux,
'revisoresDisponiveis' => $revisoresAux1 'revisoresDisponiveis' => $revisoresAux1
], 200); ], 200);
} }
public function atribuirAvaliadorTrabalho(Request $request) public function atribuirAvaliadorTrabalho(Request $request)
{ {
$request->trabalho_id; $request->trabalho_id;
$trabalho = Trabalho::find($request->trabalho_id); $trabalho = Trabalho::find($request->trabalho_id);
$avaliadores = Avaliador::all(); $avaliadores = Avaliador::all();
return view('coordenadorComissao.gerenciarEdital.atribuirAvaliadorTrabalho', ['avaliadores' => $avaliadores, 'trabalho' => $trabalho, 'evento' => $trabalho->evento]); return view('coordenadorComissao.gerenciarEdital.atribuirAvaliadorTrabalho', ['avaliadores' => $avaliadores, 'trabalho' => $trabalho, 'evento' => $trabalho->evento]);
} }
public function atribuir(Request $request) public function atribuir(Request $request)
{ {
$trabalho = Trabalho::find($request->trabalho_id); $trabalho = Trabalho::find($request->trabalho_id);
$todosAvaliadores = Avaliador::all(); $todosAvaliadores = Avaliador::all();
$avaliadores = Avaliador::whereIn('id', $request->avaliadores)->with('user')->get(); $avaliadores = Avaliador::whereIn('id', $request->avaliadores)->with('user')->get();
$trabalho->avaliadors()->sync($request->avaliadores); $trabalho->avaliadors()->sync($request->avaliadores);
foreach ($avaliadores as $key => $avaliador) { foreach ($avaliadores as $key => $avaliador) {
$user = $avaliador->user; $user = $avaliador->user;
$subject = "Trabalho atribuido"; $subject = "Trabalho atribuido";
Mail::to($user->email) Mail::to($user->email)
->send(new EventoCriado($user, $subject)); ->send(new EventoCriado($user, $subject));
} }
return view('coordenadorComissao.detalhesEdital', ['evento' => $trabalho->evento]); return view('coordenadorComissao.detalhesEdital', ['evento' => $trabalho->evento]);
} }
public function projetosDoEdital($id) public function projetosDoEdital($id)
{ {
$edital = Evento::find($id); $edital = Evento::find($id);
$projetos = Trabalho::where('evento_id', '=', $id)->get(); $projetos = Trabalho::where('evento_id', '=', $id)->get();
$hoje = Carbon::today('America/Recife'); $hoje = Carbon::today('America/Recife');
$hoje = $hoje->toDateString(); $hoje = $hoje->toDateString();
return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos, 'hoje' => $hoje]); return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos, 'hoje' => $hoje]);
} }
public function baixarAnexoProjeto($id) public function baixarAnexoProjeto($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
//dd($projeto); //dd($projeto);
if (Storage::disk()->exists($projeto->anexoProjeto)) { if (Storage::disk()->exists($projeto->anexoProjeto)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoProjeto); return Storage::download($projeto->anexoProjeto);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoGrupoPesquisa($id) public function baixarAnexoGrupoPesquisa($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoGrupoPesquisa)) { if (Storage::disk()->exists($projeto->anexoGrupoPesquisa)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoGrupoPesquisa); return Storage::download($projeto->anexoGrupoPesquisa);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoConsu($id) public function baixarAnexoConsu($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoDecisaoCONSU)) { if (Storage::disk()->exists($projeto->anexoDecisaoCONSU)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoDecisaoCONSU); return Storage::download($projeto->anexoDecisaoCONSU);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoComite($id) public function baixarAnexoComite($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoAutorizacaoComiteEtica)) { if (Storage::disk()->exists($projeto->anexoAutorizacaoComiteEtica)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoAutorizacaoComiteEtica); return Storage::download($projeto->anexoAutorizacaoComiteEtica);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoLattes($id) public function baixarAnexoLattes($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoLattesCoordenador)) { if (Storage::disk()->exists($projeto->anexoLattesCoordenador)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexoLattesCoordenador); return Storage::download($projeto->anexoLattesCoordenador);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoPlanilha($id) public function baixarAnexoPlanilha($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoPlanilhaPontuacao)) { if (Storage::disk()->exists($projeto->anexoPlanilhaPontuacao)) {
ob_end_clean(); ob_end_clean();
$file = $projeto->anexoPlanilhaPontuacao; $file = $projeto->anexoPlanilhaPontuacao;
$ext = explode(".", $file); $ext = explode(".", $file);
switch ($ext[1]) { switch ($ext[1]) {
case 'xlsx': case 'xlsx':
$hearder = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; $hearder = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
break; break;
case 'xls': case 'xls':
$hearder = 'application/vnd.ms-excel'; $hearder = 'application/vnd.ms-excel';
break; break;
case 'ods': case 'ods':
$hearder = 'application/vnd.oasis.opendocument.spreadsheet'; $hearder = 'application/vnd.oasis.opendocument.spreadsheet';
break; break;
default: default:
$hearder = 'application/vnd.ms-excel'; $hearder = 'application/vnd.ms-excel';
break; break;
} }
$headers = array( $headers = array(
"Content-type: {$hearder}", "Content-type: {$hearder}",
); );
return Storage::download($projeto->anexoPlanilhaPontuacao, "Planilha.{$ext[1]}", $headers); return Storage::download($projeto->anexoPlanilhaPontuacao, "Planilha.{$ext[1]}", $headers);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoJustificativa($id) public function baixarAnexoJustificativa($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->justificativaAutorizacaoEtica)) { if (Storage::disk()->exists($projeto->justificativaAutorizacaoEtica)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->justificativaAutorizacaoEtica); return Storage::download($projeto->justificativaAutorizacaoEtica);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoDocExtra($id) public function baixarAnexoDocExtra($id)
{ {
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexo_docExtra)) { if (Storage::disk()->exists($projeto->anexo_docExtra)) {
ob_end_clean(); ob_end_clean();
return Storage::download($projeto->anexo_docExtra); return Storage::download($projeto->anexo_docExtra);
} }
return abort(404); return abort(404);
} }
public function baixarAnexoTemp($eventoId, $nomeAnexo) public function baixarAnexoTemp($eventoId, $nomeAnexo)
{ {
$proponente = Proponente::where('user_id', Auth::user()->id)->first(); $proponente = Proponente::where('user_id', Auth::user()->id)->first();
$trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $eventoId)->where('status', 'Rascunho') $trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id', $eventoId)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
if (Storage::disk()->exists($trabalho->$nomeAnexo)) { if (Storage::disk()->exists($trabalho->$nomeAnexo)) {
ob_end_clean(); ob_end_clean();
return Storage::download($trabalho->$nomeAnexo); return Storage::download($trabalho->$nomeAnexo);
} }
return abort(404); return abort(404);
} }
public function baixarEventoTemp($nomeAnexo) public function baixarEventoTemp($nomeAnexo)
{ {
$eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario') $eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario')
->orderByDesc('updated_at')->first(); ->orderByDesc('updated_at')->first();
if (Storage::disk()->exists($eventoTemp->$nomeAnexo)) { if (Storage::disk()->exists($eventoTemp->$nomeAnexo)) {
ob_end_clean(); ob_end_clean();
return Storage::download($eventoTemp->$nomeAnexo); return Storage::download($eventoTemp->$nomeAnexo);
} }
return abort(404); return abort(404);
} }
//xxfa //xxfa
public function update(UpdateTrabalho $request, $id) public function update(UpdateTrabalho $request, $id)
{ {
try { try {
if (!$request->has('rascunho')) { if (!$request->has('rascunho')) {
$request->merge([ $request->merge([
'status' => 'submetido' 'status' => 'submetido'
]); ]);
} else { } else {
$request->merge([ $request->merge([
'status' => 'rascunho' 'status' => 'rascunho'
]); ]);
} }
$evento = Evento::find($request->editalId); $evento = Evento::find($request->editalId);
$request->merge([ $request->merge([
'coordenador_id' => $evento->coordenadorComissao->id 'coordenador_id' => $evento->coordenadorComissao->id
]); ]);
$trabalho = Trabalho::find($id); $trabalho = Trabalho::find($id);
$trabalho->ods()->sync($request->ods); $trabalho->ods()->sync($request->ods);
DB::beginTransaction(); DB::beginTransaction();
if (!$trabalho) { if (!$trabalho) {
return back()->withErrors(['Proposta não encontrada']); return back()->withErrors(['Proposta não encontrada']);
} }
if($evento->tipo=="PIBEX"){ if($evento->tipo=="PIBEX"){
$trabalho->update($request->except([ $trabalho->update($request->except([
'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra' 'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra'
])); ]));
}else{ }else{
$trabalho->update($request->except([ $trabalho->update($request->except([
'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao', 'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao',
'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica', 'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica',
'justificativaAutorizacaoEtica','modalidade','anexo_docExtra' 'justificativaAutorizacaoEtica','modalidade','anexo_docExtra'
])); ]));
} }
$pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id; $pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id;
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento); $trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento);
$trabalho->save(); $trabalho->save();
if($request->integrantesExistentes == null){ if($request->integrantesExistentes == null){
$request->integrantesExistentes = []; $request->integrantesExistentes = [];
} }
$usuariosRemovidos = TrabalhoUser::where('trabalho_id', $trabalho->id)->whereNotIn('user_id', $request->integrantesExistentes)->get(); $usuariosRemovidos = TrabalhoUser::where('trabalho_id', $trabalho->id)->whereNotIn('user_id', $request->integrantesExistentes)->get();
if($usuariosRemovidos->first() != null) { if($usuariosRemovidos->first() != null) {
foreach($usuariosRemovidos as $usuarioRemovido){ foreach($usuariosRemovidos as $usuarioRemovido){
$usuarioRemovido->delete(); $usuarioRemovido->delete();
} }
} }
if($evento->natureza_id == 3 && $request->integrantes != null){ if($evento->natureza_id == 3 && $request->integrantes != null){
foreach($request->integrantes as $integrante){ foreach($request->integrantes as $integrante){
$integrante = explode(',', $integrante); $integrante = explode(',', $integrante);
$trabalho_user = new TrabalhoUser(); $trabalho_user = new TrabalhoUser();
$trabalho_user->user_id = $integrante[0]; $trabalho_user->user_id = $integrante[0];
$trabalho_user->funcao_participante_id = $integrante[1]; $trabalho_user->funcao_participante_id = $integrante[1];
$trabalho_user->trabalho_id = $trabalho->id; $trabalho_user->trabalho_id = $trabalho->id;
$trabalho_user->save(); $trabalho_user->save();
} }
} }
if ($request->marcado == null) { if ($request->marcado == null) {
$idExcluido = $trabalho->participantes->pluck('id'); $idExcluido = $trabalho->participantes->pluck('id');
} else { } else {
$idExcluido = []; $idExcluido = [];
} }
foreach ($request->participante_id as $key => $value) { foreach ($request->participante_id as $key => $value) {
if ($request->marcado != null && array_search($key, $request->marcado) === false) { if ($request->marcado != null && array_search($key, $request->marcado) === false) {
if ($value !== null) if ($value !== null)
array_push($idExcluido, $value); array_push($idExcluido, $value);
} }
} }
foreach ($idExcluido as $key => $value) { foreach ($idExcluido as $key => $value) {
$trabalho->participantes()->find($value)->delete(); $trabalho->participantes()->find($value)->delete();
} }
$trabalho->refresh(); $trabalho->refresh();
if ($request->has('marcado')) { if ($request->has('marcado')) {
foreach ($request->marcado as $key => $part) { foreach ($request->marcado as $key => $part) {
$part = intval($part); $part = intval($part);
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$data['name'] = $request->name[$part]; $data['name'] = $request->name[$part];
$data['email'] = $request->email[$part]; $data['email'] = $request->email[$part];
$data['password'] = bcrypt($passwordTemporario); $data['password'] = bcrypt($passwordTemporario);
$data['data_de_nascimento'] = $request->data_de_nascimento[$part]; $data['data_de_nascimento'] = $request->data_de_nascimento[$part];
$data['cpf'] = $request->cpf[$part]; $data['cpf'] = $request->cpf[$part];
$data['tipo'] = 'participante'; $data['tipo'] = 'participante';
$data['funcao_participante_id'] = 4; $data['funcao_participante_id'] = 4;
$data['rg'] = $request->rg[$part]; $data['rg'] = $request->rg[$part];
$data['celular'] = $request->celular[$part]; $data['celular'] = $request->celular[$part];
$data['cep'] = $request->cep[$part]; $data['cep'] = $request->cep[$part];
$data['uf'] = $request->uf[$part]; $data['uf'] = $request->uf[$part];
$data['cidade'] = $request->cidade[$part]; $data['cidade'] = $request->cidade[$part];
$data['rua'] = $request->rua[$part]; $data['rua'] = $request->rua[$part];
$data['numero'] = $request->numero[$part]; $data['numero'] = $request->numero[$part];
$data['bairro'] = $request->bairro[$part]; $data['bairro'] = $request->bairro[$part];
$data['complemento'] = $request->complemento[$part]; $data['complemento'] = $request->complemento[$part];
if ($request->instituicao[$part] != "Outra") { if ($request->instituicao[$part] != "Outra") {
$data['instituicao'] = $request->instituicao[$part]; $data['instituicao'] = $request->instituicao[$part];
} else { } else {
$data['instituicao'] = $request->outrainstituicao[$part]; $data['instituicao'] = $request->outrainstituicao[$part];
} }
$data['total_periodos'] = $request->total_periodos[$part]; $data['total_periodos'] = $request->total_periodos[$part];
if ($request->curso[$part] != "Outro") { if ($request->curso[$part] != "Outro") {
$data['curso'] = $request->curso[$part]; $data['curso'] = $request->curso[$part];
} else { } else {
$data['curso'] = $request->outrocurso[$part]; $data['curso'] = $request->outrocurso[$part];
} }
$data['turno'] = $request->turno[$part]; $data['turno'] = $request->turno[$part];
$data['periodo_atual'] = $request->periodo_atual[$part]; $data['periodo_atual'] = $request->periodo_atual[$part];
$data['ordem_prioridade'] = $request->ordem_prioridade[$part]; $data['ordem_prioridade'] = $request->ordem_prioridade[$part];
if($evento->tipo!="PIBEX") { if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso[$part]; $data['media_do_curso'] = $request->media_do_curso[$part];
} }
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part]; $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part];
if($request->participante_id[$part] != null){ if($request->participante_id[$part] != null){
$participante = Participante::find($request->participante_id[$part]); $participante = Participante::find($request->participante_id[$part]);
$user = User::where('email', $participante->user->email)->first(); $user = User::where('email', $participante->user->email)->first();
}else{ }else{
$user = User::where('email', $data['email'])->first(); $user = User::where('email', $data['email'])->first();
} }
if ($user == null) { if ($user == null) {
$data['usuarioTemp'] = true; $data['usuarioTemp'] = true;
$user = User::create($data); $user = User::create($data);
$endereco = Endereco::create($data); $endereco = Endereco::create($data);
$endereco->user()->save($user); $endereco->user()->save($user);
$participante = Participante::create($data); $participante = Participante::create($data);
$participante->data_entrada = $participante->created_at; $participante->data_entrada = $participante->created_at;
$user->participantes()->save($participante); $user->participantes()->save($participante);
$trabalho->participantes()->save($participante); $trabalho->participantes()->save($participante);
$participante->trabalho_id = $trabalho->id; $participante->trabalho_id = $trabalho->id;
$participante->save(); $participante->save();
} else { } else {
// $user = $participante->user; // $user = $participante->user;
$user->update($data); $user->update($data);
if( $user->endereco == null){ if( $user->endereco == null){
$endereco = Endereco::create($data); $endereco = Endereco::create($data);
$endereco->user()->save($user); $endereco->user()->save($user);
}else{ }else{
$endereco = $user->endereco; $endereco = $user->endereco;
$endereco->update($data); $endereco->update($data);
} }
$participante = $user->participantes->where('trabalho_id', $trabalho->id)->where('id', $request->participante_id[$part])->first(); $participante = $user->participantes->where('trabalho_id', $trabalho->id)->where('id', $request->participante_id[$part])->first();
// dd($participante); // dd($participante);
if ($participante == null) { if ($participante == null) {
// dd('part null'); // dd('part null');
$participante = Participante::create($data); $participante = Participante::create($data);
$user->participantes()->save($participante); $user->participantes()->save($participante);
$trabalho->participantes()->save($participante); $trabalho->participantes()->save($participante);
} else { } else {
// dd('part update'); // dd('part update');
$participante->update($data); $participante->update($data);
} }
} }
if ($request->has('anexoPlanoTrabalho') && array_key_exists($part, $request->anexoPlanoTrabalho) && $request->nomePlanoTrabalho[$part] != null) { if ($request->has('anexoPlanoTrabalho') && array_key_exists($part, $request->anexoPlanoTrabalho) && $request->nomePlanoTrabalho[$part] != null) {
if (Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->count()) { if (Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->count()) {
$arquivo = Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->first(); $arquivo = Arquivo::where('participanteId', $participante->id)->where('trabalhoId', $trabalho->id)->first();
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$titulo = $data['nomePlanoTrabalho']; $titulo = $data['nomePlanoTrabalho'];
$file = $request->anexoPlanoTrabalho[$part]; $file = $request->anexoPlanoTrabalho[$part];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo->update([ $arquivo->update([
'titulo' => $titulo, 'titulo' => $titulo,
'nome' => $path . $nome, 'nome' => $path . $nome,
'data' => now(), 'data' => now(),
]); ]);
} else { } else {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho[$part]; $file = $request->anexoPlanoTrabalho[$part];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho']; $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id; $arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now(); $arquivo->data = now();
$arquivo->participanteId = $participante->id; $arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
} }
} }
} }
} }
DB::commit(); DB::commit();
if(Auth::user()->tipo == 'administrador'){ if(Auth::user()->tipo == 'administrador'){
return redirect(route('admin.analisarProposta',['id'=>$trabalho->id])); return redirect(route('admin.analisarProposta',['id'=>$trabalho->id]));
} }
if (!$request->has('rascunho')) { if (!$request->has('rascunho')) {
Notification::send($trabalho->proponente->user, new SubmissaoNotification($trabalho)); Notification::send($trabalho->proponente->user, new SubmissaoNotification($trabalho));
} }
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta atualizada!']); return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta atualizada!']);
} catch (\Throwable $th) { } catch (\Throwable $th) {
DB::rollback(); DB::rollback();
return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]); return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]);
} }
} }
public function buscarUsuario(Request $request) { public function buscarUsuario(Request $request) {
$usuario = User::where('cpf', $request->cpf_consulta)->first(); $usuario = User::where('cpf', $request->cpf_consulta)->first();
$funcao = FuncaoParticipantes::where('id', $request->funcao)->first(); $funcao = FuncaoParticipantes::where('id', $request->funcao)->first();
if($usuario){ if($usuario){
return json_encode([$usuario, $funcao]); return json_encode([$usuario, $funcao]);
} }
return json_encode('inexistente'); return json_encode('inexistente');
} }
public function salvar(StoreTrabalho $request) public function salvar(StoreTrabalho $request)
{ {
try { try {
if (!$request->has('rascunho')) { if (!$request->has('rascunho')) {
$request->merge([ $request->merge([
'status' => 'submetido' 'status' => 'submetido'
]); ]);
} }
$evento = Evento::find($request->editalId); $evento = Evento::find($request->editalId);
$request->merge([ $request->merge([
'coordenador_id' => $evento->coordenadorComissao->id 'coordenador_id' => $evento->coordenadorComissao->id
]); ]);
DB::beginTransaction(); DB::beginTransaction();
if($evento->tipo=="PIBEX"){ if($evento->tipo=="PIBEX"){
$trabalho = Auth::user()->proponentes->trabalhos() $trabalho = Auth::user()->proponentes->trabalhos()
->create($request->except([ ->create($request->except([
'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra' 'anexoProjeto', 'anexoDecisaoCONSU','modalidade','anexo_docExtra'
])); ]));
}else{ }else{
$trabalho = Auth::user()->proponentes->trabalhos() $trabalho = Auth::user()->proponentes->trabalhos()
->create($request->except([ ->create($request->except([
'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao', 'anexoProjeto', 'anexoDecisaoCONSU', 'anexoPlanilhaPontuacao',
'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica', 'anexoLattesCoordenador', 'anexoGrupoPesquisa', 'anexoAutorizacaoComiteEtica',
'justificativaAutorizacaoEtica','modalidade','anexo_docExtra' 'justificativaAutorizacaoEtica','modalidade','anexo_docExtra'
])); ]));
} }
if ($request->has('marcado')) { if ($request->has('marcado')) {
foreach ($request->marcado as $key => $part) { foreach ($request->marcado as $key => $part) {
$part = intval($part); $part = intval($part);
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$data['name'] = $request->name[$part]; $data['name'] = $request->name[$part];
$data['email'] = $request->email[$part]; $data['email'] = $request->email[$part];
$data['password'] = bcrypt($passwordTemporario); $data['password'] = bcrypt($passwordTemporario);
$data['data_de_nascimento'] = $request->data_de_nascimento[$part]; $data['data_de_nascimento'] = $request->data_de_nascimento[$part];
$data['cpf'] = $request->cpf[$part]; $data['cpf'] = $request->cpf[$part];
$data['tipo'] = 'participante'; $data['tipo'] = 'participante';
$data['funcao_participante_id'] = 4; $data['funcao_participante_id'] = 4;
$data['rg'] = $request->rg[$part]; $data['rg'] = $request->rg[$part];
$data['celular'] = $request->celular[$part]; $data['celular'] = $request->celular[$part];
$data['cep'] = $request->cep[$part]; $data['cep'] = $request->cep[$part];
$data['uf'] = $request->uf[$part]; $data['uf'] = $request->uf[$part];
$data['cidade'] = $request->cidade[$part]; $data['cidade'] = $request->cidade[$part];
$data['rua'] = $request->rua[$part]; $data['rua'] = $request->rua[$part];
$data['numero'] = $request->numero[$part]; $data['numero'] = $request->numero[$part];
$data['bairro'] = $request->bairro[$part]; $data['bairro'] = $request->bairro[$part];
$data['complemento'] = $request->complemento[$part]; $data['complemento'] = $request->complemento[$part];
if ($request->instituicao[$part] != "Outra") { if ($request->instituicao[$part] != "Outra") {
$data['instituicao'] = $request->instituicao[$part]; $data['instituicao'] = $request->instituicao[$part];
} else { } else {
$data['instituicao'] = $request->outrainstituicao[$part]; $data['instituicao'] = $request->outrainstituicao[$part];
} }
$data['total_periodos'] = $request->total_periodos[$part]; $data['total_periodos'] = $request->total_periodos[$part];
if ($request->curso[$part] != "Outro") { if ($request->curso[$part] != "Outro") {
$data['curso'] = $request->curso[$part]; $data['curso'] = $request->curso[$part];
} else { } else {
$data['curso'] = $request->outrocurso[$part]; $data['curso'] = $request->outrocurso[$part];
} }
$data['turno'] = $request->turno[$part]; $data['turno'] = $request->turno[$part];
$data['periodo_atual'] = $request->periodo_atual[$part]; $data['periodo_atual'] = $request->periodo_atual[$part];
$data['ordem_prioridade'] = $request->ordem_prioridade[$part]; $data['ordem_prioridade'] = $request->ordem_prioridade[$part];
if($evento->tipo!="PIBEX") { if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso[$part]; $data['media_do_curso'] = $request->media_do_curso[$part];
} }
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part]; $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho[$part];
$user = User::where('email', $data['email'])->first(); $user = User::where('email', $data['email'])->first();
if ($user == null) { if ($user == null) {
$data['usuarioTemp'] = true; $data['usuarioTemp'] = true;
$user = User::create($data); $user = User::create($data);
$endereco = Endereco::create($data); $endereco = Endereco::create($data);
$endereco->user()->save($user); $endereco->user()->save($user);
} }
// $participante = $user->participantes->where('trabalho_id', $trabalho->id)->first(); // $participante = $user->participantes->where('trabalho_id', $trabalho->id)->first();
// if ($participante == null){ // if ($participante == null){
// $participante = Participante::create($data); // $participante = Participante::create($data);
// } // }
$participante = Participante::create($data); $participante = Participante::create($data);
$participante->data_entrada = $participante->created_at; $participante->data_entrada = $participante->created_at;
$user->participantes()->save($participante); $user->participantes()->save($participante);
$participante->trabalho_id = $trabalho->id; $participante->trabalho_id = $trabalho->id;
$participante->save(); $participante->save();
if ($request->has('anexoPlanoTrabalho')) { if ($request->has('anexoPlanoTrabalho')) {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho[$part]; $file = $request->anexoPlanoTrabalho[$part];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho']; $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id; $arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now(); $arquivo->data = now();
$arquivo->participanteId = $participante->id; $arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
} }
} }
} }
$evento->trabalhos()->save($trabalho); $evento->trabalhos()->save($trabalho);
$pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id; $pasta = 'trabalhos/' . $evento->id . '/' . $trabalho->id;
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento); $trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento);
$trabalho->modalidade = $request->modalidade; $trabalho->modalidade = $request->modalidade;
$trabalho->save(); $trabalho->save();
if($evento->natureza_id == 3){ if($evento->natureza_id == 3){
foreach($request->integrantes as $integrante){ foreach($request->integrantes as $integrante){
$integrante = explode(',', $integrante); $integrante = explode(',', $integrante);
$trabalho_user = new TrabalhoUser(); $trabalho_user = new TrabalhoUser();
$trabalho_user->user_id = $integrante[0]; $trabalho_user->user_id = $integrante[0];
$trabalho_user->funcao_participante_id = $integrante[1]; $trabalho_user->funcao_participante_id = $integrante[1];
$trabalho_user->trabalho_id = $trabalho->id; $trabalho_user->trabalho_id = $trabalho->id;
$trabalho_user->save(); $trabalho_user->save();
} }
} }
$trabalho->ods()->sync($request->ods); $trabalho->ods()->sync($request->ods);
DB::commit(); DB::commit();
if (!$request->has('rascunho')) { if (!$request->has('rascunho')) {
//Notificações //Notificações
//Coordenador //Coordenador
$userTemp = User::find($evento->coordenadorComissao->user_id); $userTemp = User::find($evento->coordenadorComissao->user_id);
$notificacao = App\Notificacao::create([ $notificacao = App\Notificacao::create([
'remetente_id' => Auth::user()->id, 'remetente_id' => Auth::user()->id,
'destinatario_id' => $evento->coordenadorComissao->user_id, 'destinatario_id' => $evento->coordenadorComissao->user_id,
'trabalho_id' => $trabalho->id, 'trabalho_id' => $trabalho->id,
'lido' => false, 'lido' => false,
'tipo' => 1, 'tipo' => 1,
]); ]);
$notificacao->save(); $notificacao->save();
// SubmissaoRecebidaNotification.php // SubmissaoRecebidaNotification.php
Notification::send($userTemp, new SubmissaoRecebidaNotification($trabalho->id,$trabalho->titulo,$userTemp)); Notification::send($userTemp, new SubmissaoRecebidaNotification($trabalho->id,$trabalho->titulo,$userTemp));
//Proponente //Proponente
$notificacao = App\Notificacao::create([ $notificacao = App\Notificacao::create([
'remetente_id' => Auth::user()->id, 'remetente_id' => Auth::user()->id,
'destinatario_id' => Auth::user()->id, 'destinatario_id' => Auth::user()->id,
'trabalho_id' => $trabalho->id, 'trabalho_id' => $trabalho->id,
'lido' => false, 'lido' => false,
'tipo' => 1, 'tipo' => 1,
]); ]);
$notificacao->save(); $notificacao->save();
// submissao e notificação.php $trabalho->id,$trabalho->titulo // submissao e notificação.php $trabalho->id,$trabalho->titulo
Notification::send(Auth::user(), new SubmissaoNotification($trabalho)); Notification::send(Auth::user(), new SubmissaoNotification($trabalho));
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta submetida!']); return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta submetida!']);
} else { } else {
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Rascunho salvo!']); return redirect(route('proponente.projetos'))->with(['mensagem' => 'Rascunho salvo!']);
} }
} catch (\Throwable $th) { } catch (\Throwable $th) {
DB::rollback(); DB::rollback();
return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]); return redirect(route('proponente.projetos'))->with(['mensagem' => $th->getMessage()]);
} }
} }
public function atribuirDados(Request $request, $edital, Trabalho $projeto = null) public function atribuirDados(Request $request, $edital, Trabalho $projeto = null)
{ {
if ($projeto == null) { if ($projeto == null) {
$projeto = new Trabalho(); $projeto = new Trabalho();
} }
$proponente = User::find(auth()->user()->id)->proponentes; $proponente = User::find(auth()->user()->id)->proponentes;
$hoje = now(); $hoje = now();
$projeto->titulo = $request->nomeProjeto; $projeto->titulo = $request->nomeProjeto;
$projeto->coordenador_id = $edital->coordenadorComissao->id; $projeto->coordenador_id = $edital->coordenadorComissao->id;
$projeto->grande_area_id = $request->grandeArea; $projeto->grande_area_id = $request->grandeArea;
$projeto->area_id = $request->area; $projeto->area_id = $request->area;
$projeto->sub_area_id = $request->subArea; $projeto->sub_area_id = $request->subArea;
$projeto->pontuacaoPlanilha = $request->pontuacaoPlanilha; $projeto->pontuacaoPlanilha = $request->pontuacaoPlanilha;
$projeto->linkGrupoPesquisa = $request->linkGrupo; $projeto->linkGrupoPesquisa = $request->linkGrupo;
$projeto->linkLattesEstudante = $request->linkLattesEstudante; $projeto->linkLattesEstudante = $request->linkLattesEstudante;
$projeto->data = $hoje; $projeto->data = $hoje;
$projeto->evento_id = $request->editalId; $projeto->evento_id = $request->editalId;
$projeto->status = 'submetido'; $projeto->status = 'submetido';
$projeto->proponente_id = $proponente->id; $projeto->proponente_id = $proponente->id;
$projeto->conflitosInteresse = $request->conflitosInteresse; $projeto->conflitosInteresse = $request->conflitosInteresse;
// Salvando anexos no storage // Salvando anexos no storage
$projeto->save(); $projeto->save();
$pasta = 'trabalhos/' . $edital->id . '/' . $projeto->id; $pasta = 'trabalhos/' . $edital->id . '/' . $projeto->id;
$projeto = $this->armazenarAnexosFinais($request, $pasta, $projeto, $edital); $projeto = $this->armazenarAnexosFinais($request, $pasta, $projeto, $edital);
return $projeto; return $projeto;
} }
public function salvarParticipantes(Request $request, $edital, $projeto, $edicao = false) public function salvarParticipantes(Request $request, $edital, $projeto, $edicao = false)
{ {
if ($edicao) { if ($edicao) {
$participantes = $projeto->participantes; $participantes = $projeto->participantes;
$participantesPermanecem = collect(); $participantesPermanecem = collect();
// dd($request->all()); // dd($request->all());
foreach ($request->participante_id as $key => $id) { foreach ($request->participante_id as $key => $id) {
// Novo participante // Novo participante
if ($id == 0 || $id == null) { if ($id == 0 || $id == null) {
$userParticipante = User::where('email', $request->emailParticipante[$key])->first(); $userParticipante = User::where('email', $request->emailParticipante[$key])->first();
$participante = new Participante(); $participante = new Participante();
if ($userParticipante == null) { if ($userParticipante == null) {
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$usuario = new User(); $usuario = new User();
$usuario->email = $request->emailParticipante[$key]; $usuario->email = $request->emailParticipante[$key];
$usuario->password = bcrypt($passwordTemporario); $usuario->password = bcrypt($passwordTemporario);
$usuario->usuarioTemp = false; $usuario->usuarioTemp = false;
$usuario->name = $request->nomeParticipante[$key]; $usuario->name = $request->nomeParticipante[$key];
$usuario->tipo = 'participante'; $usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key]; $usuario->instituicao = $request->universidade[$key];
$usuario->cpf = $request->cpf[$key]; $usuario->cpf = $request->cpf[$key];
$usuario->celular = $request->celular[$key]; $usuario->celular = $request->celular[$key];
$endereco = new Endereco(); $endereco = new Endereco();
$endereco->rua = $request->rua[$key]; $endereco->rua = $request->rua[$key];
$endereco->numero = $request->numero[$key]; $endereco->numero = $request->numero[$key];
$endereco->bairro = $request->bairro[$key]; $endereco->bairro = $request->bairro[$key];
$endereco->cidade = $request->cidade[$key]; $endereco->cidade = $request->cidade[$key];
$endereco->uf = $request->uf[$key]; $endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key]; $endereco->cep = $request->cep[$key];
$endereco->complemento = $request->complemento[$key]; $endereco->complemento = $request->complemento[$key];
$endereco->save(); $endereco->save();
$usuario->enderecoId = $endereco->id; $usuario->enderecoId = $endereco->id;
$usuario->save(); $usuario->save();
$participante->user_id = $usuario->id; $participante->user_id = $usuario->id;
$participante->trabalho_id = $projeto->id; $participante->trabalho_id = $projeto->id;
$participante->funcao_participante_id = $request->funcaoParticipante[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->confirmacao_convite = true;
$participante->rg = $request->rg[$key]; $participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key]; $participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key]; $participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->total_periodos = $request->total_periodos[$key];
if($edital->tipo != "PIBEX"){ if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->media_do_curso = $request->media_geral_curso[$key];
} }
$participante->save(); $participante->save();
$subject = "Participante de Projeto"; $subject = "Participante de Projeto";
Mail::to($request->emailParticipante[$key])->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id)); Mail::to($request->emailParticipante[$key])->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id));
} else { } else {
$participante->user_id = $userParticipante->id; $participante->user_id = $userParticipante->id;
$participante->trabalho_id = $projeto->id; $participante->trabalho_id = $projeto->id;
$participante->funcao_participante_id = $request->funcaoParticipante[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->confirmacao_convite = true;
$participante->rg = $request->rg[$key]; $participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key]; $participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key]; $participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->total_periodos = $request->total_periodos[$key];
if($edital->tipo != "PIBEX"){ if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->media_do_curso = $request->media_geral_curso[$key];
} }
$participante->save(); $participante->save();
$subject = "Participante de Projeto"; $subject = "Participante de Projeto";
Mail::to($request->emailParticipante[$key]) Mail::to($request->emailParticipante[$key])
->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto)); ->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto));
} }
if ($request->nomePlanoTrabalho[$key] != null) { if ($request->nomePlanoTrabalho[$key] != null) {
$usuario = User::where('email', $request->emailParticipante[$key])->first(); $usuario = User::where('email', $request->emailParticipante[$key])->first();
$participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first(); $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/'; $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf"; $nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$file = $request->anexoPlanoTrabalho[$key]; $file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$agora = now(); $agora = now();
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key]; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $projeto->id; $arquivo->trabalhoId = $projeto->id;
$arquivo->data = $agora; $arquivo->data = $agora;
$arquivo->participanteId = $participante->id; $arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
// dd($arquivo); // dd($arquivo);
} }
// Editado // Editado
} elseif ($id > 0) { } elseif ($id > 0) {
// Removo dos cantidatos excluidos // Removo dos cantidatos excluidos
$participante = Participante::find($id); $participante = Participante::find($id);
$participantesPermanecem->push($participante); $participantesPermanecem->push($participante);
$usuario = $participante->user; $usuario = $participante->user;
$endereco = $usuario->endereco; $endereco = $usuario->endereco;
$usuario->usuarioTemp = false; $usuario->usuarioTemp = false;
$usuario->name = $request->nomeParticipante[$key]; $usuario->name = $request->nomeParticipante[$key];
$usuario->tipo = 'participante'; $usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key]; $usuario->instituicao = $request->universidade[$key];
$usuario->cpf = $request->cpf[$key]; $usuario->cpf = $request->cpf[$key];
$usuario->celular = $request->celular[$key]; $usuario->celular = $request->celular[$key];
$usuario->update(); $usuario->update();
$endereco->rua = $request->rua[$key]; $endereco->rua = $request->rua[$key];
$endereco->numero = $request->numero[$key]; $endereco->numero = $request->numero[$key];
$endereco->bairro = $request->bairro[$key]; $endereco->bairro = $request->bairro[$key];
$endereco->cidade = $request->cidade[$key]; $endereco->cidade = $request->cidade[$key];
$endereco->uf = $request->uf[$key]; $endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key]; $endereco->cep = $request->cep[$key];
$endereco->complemento = $request->complemento[$key]; $endereco->complemento = $request->complemento[$key];
$endereco->update(); $endereco->update();
$participante->rg = $request->rg[$key]; $participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key]; $participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key]; $participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->total_periodos = $request->total_periodos[$key];
if($edital->tipo != "PIBEX"){ if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->media_do_curso = $request->media_geral_curso[$key];
} }
$participante->update(); $participante->update();
if ($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho) && $request->anexoPlanoTrabalho[$key] != null) { if ($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho) && $request->anexoPlanoTrabalho[$key] != null) {
$planoAtual = $participante->planoTrabalho; $planoAtual = $participante->planoTrabalho;
if (Storage::disk()->exists($planoAtual->nome)) { if (Storage::disk()->exists($planoAtual->nome)) {
Storage::delete($planoAtual->nome); Storage::delete($planoAtual->nome);
} }
$planoAtual->delete(); $planoAtual->delete();
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/'; $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf"; $nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$file = $request->anexoPlanoTrabalho[$key]; $file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$agora = now(); $agora = now();
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key]; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $projeto->id; $arquivo->trabalhoId = $projeto->id;
$arquivo->data = $agora; $arquivo->data = $agora;
$arquivo->participanteId = $id; $arquivo->participanteId = $id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
} }
} }
} }
// Excluidos // Excluidos
$participantesExcluidos = $participantes->diff($participantesPermanecem); $participantesExcluidos = $participantes->diff($participantesPermanecem);
foreach ($participantesExcluidos as $participante) { foreach ($participantesExcluidos as $participante) {
$plano = $participante->planoTrabalho; $plano = $participante->planoTrabalho;
if ($plano) if ($plano)
$plano->delete(); $plano->delete();
$participante->delete(); $participante->delete();
} }
return true; return true;
} }
if ($request->emailParticipante != null) { if ($request->emailParticipante != null) {
foreach ($request->emailParticipante as $key => $email) { foreach ($request->emailParticipante as $key => $email) {
$userParticipante = User::where('email', $email)->first(); $userParticipante = User::where('email', $email)->first();
$participante = new Participante(); $participante = new Participante();
if ($userParticipante == null) { if ($userParticipante == null) {
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$usuario = new User(); $usuario = new User();
$usuario->email = $email; $usuario->email = $email;
$usuario->password = bcrypt($passwordTemporario); $usuario->password = bcrypt($passwordTemporario);
$usuario->usuarioTemp = false; $usuario->usuarioTemp = false;
$usuario->name = $request->nomeParticipante[$key]; $usuario->name = $request->nomeParticipante[$key];
$usuario->tipo = 'participante'; $usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key]; $usuario->instituicao = $request->universidade[$key];
$usuario->cpf = $request->cpf[$key]; $usuario->cpf = $request->cpf[$key];
$usuario->celular = $request->celular[$key]; $usuario->celular = $request->celular[$key];
$endereco = new Endereco(); $endereco = new Endereco();
$endereco->rua = $request->rua[$key]; $endereco->rua = $request->rua[$key];
$endereco->numero = $request->numero[$key]; $endereco->numero = $request->numero[$key];
$endereco->bairro = $request->bairro[$key]; $endereco->bairro = $request->bairro[$key];
$endereco->cidade = $request->cidade[$key]; $endereco->cidade = $request->cidade[$key];
$endereco->uf = $request->uf[$key]; $endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key]; $endereco->cep = $request->cep[$key];
$endereco->complemento = $request->complemento[$key]; $endereco->complemento = $request->complemento[$key];
$endereco->save(); $endereco->save();
$usuario->enderecoId = $endereco->id; $usuario->enderecoId = $endereco->id;
$usuario->save(); $usuario->save();
$participante->user_id = $usuario->id; $participante->user_id = $usuario->id;
$participante->trabalho_id = $projeto->id; $participante->trabalho_id = $projeto->id;
$participante->funcao_participante_id = $request->funcaoParticipante[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->confirmacao_convite = true;
$participante->rg = $request->rg[$key]; $participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key]; $participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key]; $participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->total_periodos = $request->total_periodos[$key];
if($edital->tipo != "PIBEX"){ if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->media_do_curso = $request->media_geral_curso[$key];
} }
$participante->save(); $participante->save();
$usuario = User::where('email', $email)->first(); $usuario = User::where('email', $email)->first();
$participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first(); $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/'; $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf"; $nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$file = $request->anexoPlanoTrabalho[$key]; $file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$agora = now(); $agora = now();
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key]; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $projeto->id; $arquivo->trabalhoId = $projeto->id;
$arquivo->data = $agora; $arquivo->data = $agora;
$arquivo->participanteId = $participante->id; $arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
$subject = "Participante de Projeto"; $subject = "Participante de Projeto";
Mail::to($email)->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id)); Mail::to($email)->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject, $edital->tipo,$edital->natureza_id));
} else { } else {
$participante->user_id = $userParticipante->id; $participante->user_id = $userParticipante->id;
$participante->trabalho_id = $projeto->id; $participante->trabalho_id = $projeto->id;
$participante->funcao_participante_id = $request->funcaoParticipante[$key]; $participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true; $participante->confirmacao_convite = true;
$participante->rg = $request->rg[$key]; $participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key]; $participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key]; $participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key]; $participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key]; $participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key]; $participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key]; $participante->total_periodos = $request->total_periodos[$key];
if($edital->tipo != "PIBEX"){ if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key]; $participante->media_do_curso = $request->media_geral_curso[$key];
} }
$participante->save(); $participante->save();
if ($request->anexoPlanoTrabalho[$key]) { if ($request->anexoPlanoTrabalho[$key]) {
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/'; $path = 'trabalhos/' . $edital->id . '/' . $projeto->id . '/';
$nome = $request->nomePlanoTrabalho[$key] . ".pdf"; $nome = $request->nomePlanoTrabalho[$key] . ".pdf";
$file = $request->anexoPlanoTrabalho[$key]; $file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$agora = now(); $agora = now();
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key]; $arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $projeto->id; $arquivo->trabalhoId = $projeto->id;
$arquivo->data = $agora; $arquivo->data = $agora;
$arquivo->participanteId = $participante->id; $arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
} }
$subject = "Participante de Projeto"; $subject = "Participante de Projeto";
$time = Carbon::today('America/Recife'); $time = Carbon::today('America/Recife');
$time = $time->isoFormat('às H:mm, dddd, D/M/YYYY'); $time = $time->isoFormat('às H:mm, dddd, D/M/YYYY');
Mail::to($email) Mail::to($email)
->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto)); ->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto));
} }
// if($request->nomePlanoTrabalho[$key] != null){ // if($request->nomePlanoTrabalho[$key] != null){
// $usuario = User::where('email', $email)->first(); // $usuario = User::where('email', $email)->first();
// $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first(); // $participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
// $path = 'trabalhos/' . $edital->id . '/' . $projeto->id .'/'; // $path = 'trabalhos/' . $edital->id . '/' . $projeto->id .'/';
// $nome = $request->nomePlanoTrabalho[$key] .".pdf"; // $nome = $request->nomePlanoTrabalho[$key] .".pdf";
// $file = $request->anexoPlanoTrabalho[$key]; // $file = $request->anexoPlanoTrabalho[$key];
// Storage::putFileAs($path, $file, $nome); // Storage::putFileAs($path, $file, $nome);
// $agora = now(); // $agora = now();
// $arquivo = new Arquivo(); // $arquivo = new Arquivo();
// $arquivo->titulo = $request->nomePlanoTrabalho[$key]; // $arquivo->titulo = $request->nomePlanoTrabalho[$key];
// $arquivo->nome = $path . $nome; // $arquivo->nome = $path . $nome;
// $arquivo->trabalhoId = $projeto->id; // $arquivo->trabalhoId = $projeto->id;
// $arquivo->data = $agora; // $arquivo->data = $agora;
// $arquivo->participanteId = $participante->id; // $arquivo->participanteId = $participante->id;
// $arquivo->versaoFinal = true; // $arquivo->versaoFinal = true;
// $arquivo->save(); // $arquivo->save();
// } // }
} }
} }
return true; return true;
} }
public function atualizar(Request $request, $id) public function atualizar(Request $request, $id)
{ {
$edital = Evento::find($request->editalId); $edital = Evento::find($request->editalId);
$hoje = now(); $hoje = now();
$projeto = Trabalho::find($id); $projeto = Trabalho::find($id);
if (!($edital->inicioSubmissao < $hoje && $edital->fimSubmissao >= $hoje)) { if (!($edital->inicioSubmissao < $hoje && $edital->fimSubmissao >= $hoje)) {
return redirect()->route('inicial')->with(['error' => 0, 'mensagem' => 'As submissões para o edital ' . $edital->titulo . ' foram encerradas.']); return redirect()->route('inicial')->with(['error' => 0, 'mensagem' => 'As submissões para o edital ' . $edital->titulo . ' foram encerradas.']);
} }
$projeto = $this->atribuirDados($request, $edital, $projeto); $projeto = $this->atribuirDados($request, $edital, $projeto);
$projeto->update(); $projeto->update();
// dd($request->all()); // dd($request->all());
// Salvando participantes // Salvando participantes
$this->salvarParticipantes($request, $edital, $projeto, true); $this->salvarParticipantes($request, $edital, $projeto, true);
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Projeto atualizado com sucesso!']); return redirect(route('proponente.projetos'))->with(['mensagem' => 'Projeto atualizado com sucesso!']);
} }
public function telaTrocaPart(Request $request) public function telaTrocaPart(Request $request)
{ {
$projeto = Trabalho::find($request->projeto_id); $projeto = Trabalho::find($request->projeto_id);
$edital = Evento::find($projeto->evento_id); $edital = Evento::find($projeto->evento_id);
if(Auth::user()->id != $projeto->proponente->user->id){ if(Auth::user()->id != $projeto->proponente->user->id){
return redirect()->back(); return redirect()->back();
} }
$participantes = $projeto->participantes; $participantes = $projeto->participantes;
$substituicoesProjeto = Substituicao::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get(); $substituicoesProjeto = Substituicao::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get();
$desligamentosProjeto = Desligamento::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get(); $desligamentosProjeto = Desligamento::where('trabalho_id', $projeto->id)->orderBy('created_at', 'DESC')->get();
return view('administrador.substituirParticipante')->with(['projeto' => $projeto, return view('administrador.substituirParticipante')->with(['projeto' => $projeto,
'edital' => $edital, 'edital' => $edital,
'participantes' => $participantes, 'participantes' => $participantes,
'substituicoesProjeto' => $substituicoesProjeto, 'substituicoesProjeto' => $substituicoesProjeto,
'estados' => $this->estados, 'estados' => $this->estados,
'enum_turno' => Participante::ENUM_TURNO, 'enum_turno' => Participante::ENUM_TURNO,
'desligamentosProjeto' => $desligamentosProjeto, 'desligamentosProjeto' => $desligamentosProjeto,
]); ]);
} }
public function trocaParticipante(Request $request) public function trocaParticipante(Request $request)
{ {
try { try {
DB::beginTransaction(); DB::beginTransaction();
$trabalho = Trabalho::find($request->projetoId); $trabalho = Trabalho::find($request->projetoId);
$evento = Evento::find($request->editalId); $evento = Evento::find($request->editalId);
$participanteSubstituido = Participante::where('id', $request->participanteId)->first(); $participanteSubstituido = Participante::where('id', $request->participanteId)->first();
$planoAntigo = Arquivo::where('id', $participanteSubstituido->planoTrabalho->id)->first(); $planoAntigo = Arquivo::where('id', $participanteSubstituido->planoTrabalho->id)->first();
$passwordTemporario = Str::random(8); $passwordTemporario = Str::random(8);
$data['name'] = $request->name; $data['name'] = $request->name;
$data['email'] = $request->email; $data['email'] = $request->email;
$data['password'] = bcrypt($passwordTemporario); $data['password'] = bcrypt($passwordTemporario);
$data['data_de_nascimento'] = $request->data_de_nascimento; $data['data_de_nascimento'] = $request->data_de_nascimento;
$data['data_entrada'] = $request->data_entrada; $data['data_entrada'] = $request->data_entrada;
$data['cpf'] = $request->cpf; $data['cpf'] = $request->cpf;
$data['tipo'] = 'participante'; $data['tipo'] = 'participante';
$data['funcao_participante_id'] = 4; $data['funcao_participante_id'] = 4;
$data['rg'] = $request->rg; $data['rg'] = $request->rg;
$data['celular'] = $request->celular; $data['celular'] = $request->celular;
$data['linkLattes'] = $request->linkLattes; $data['linkLattes'] = $request->linkLattes;
$data['cep'] = $request->cep; $data['cep'] = $request->cep;
$data['uf'] = $request->uf; $data['uf'] = $request->uf;
$data['cidade'] = $request->cidade; $data['cidade'] = $request->cidade;
$data['rua'] = $request->rua; $data['rua'] = $request->rua;
$data['numero'] = $request->numero; $data['numero'] = $request->numero;
$data['bairro'] = $request->bairro; $data['bairro'] = $request->bairro;
$data['complemento'] = $request->complemento; $data['complemento'] = $request->complemento;
if ($request->instituicao != "Outra") { if ($request->instituicao != "Outra") {
$data['instituicao'] = $request->instituicao; $data['instituicao'] = $request->instituicao;
} else { } else {
$data['instituicao'] = $request->outrainstituicao; $data['instituicao'] = $request->outrainstituicao;
} }
$data['total_periodos'] = $request->total_periodos; $data['total_periodos'] = $request->total_periodos;
if ($request->curso != "Outro") { if ($request->curso != "Outro") {
$data['curso'] = $request->curso; $data['curso'] = $request->curso;
} else { } else {
$data['curso'] = $request->outrocurso; $data['curso'] = $request->outrocurso;
} }
$data['turno'] = $request->turno; $data['turno'] = $request->turno;
$data['periodo_atual'] = $request->periodo_atual; $data['periodo_atual'] = $request->periodo_atual;
$data['ordem_prioridade'] = $request->ordem_prioridade; $data['ordem_prioridade'] = $request->ordem_prioridade;
if($evento->tipo!="PIBEX") { if($evento->tipo!="PIBEX") {
$data['media_do_curso'] = $request->media_do_curso; $data['media_do_curso'] = $request->media_do_curso;
} }
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho; $data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho;
if ($request->substituirApenasPlanoCheck == 'check') { if ($request->substituirApenasPlanoCheck == 'check') {
$substituicao = new Substituicao(); $substituicao = new Substituicao();
if ($request->has('anexoPlanoTrabalho')) { if ($request->has('anexoPlanoTrabalho')) {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho; $file = $request->anexoPlanoTrabalho;
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho']; $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id; $arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now(); $arquivo->data = now();
$arquivo->participanteId = $participanteSubstituido->id; $arquivo->participanteId = $participanteSubstituido->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
$substituicao->status = 'Em Aguardo'; $substituicao->status = 'Em Aguardo';
$substituicao->tipo = 'TrocarPlano'; $substituicao->tipo = 'TrocarPlano';
$substituicao->observacao = $request->textObservacao; $substituicao->observacao = $request->textObservacao;
$substituicao->participanteSubstituido_id = $participanteSubstituido->id; $substituicao->participanteSubstituido_id = $participanteSubstituido->id;
$substituicao->participanteSubstituto_id = $participanteSubstituido->id; $substituicao->participanteSubstituto_id = $participanteSubstituido->id;
$substituicao->planoSubstituto_id = $arquivo->id; $substituicao->planoSubstituto_id = $arquivo->id;
$substituicao->trabalho_id = $trabalho->id; $substituicao->trabalho_id = $trabalho->id;
$substituicao->save(); $substituicao->save();
} }
} else { } else {
//$participanteSubstituido->delete(); //$participanteSubstituido->delete();
$substituicao = new Substituicao(); $substituicao = new Substituicao();
$substituicao->observacao = $request->textObservacao; $substituicao->observacao = $request->textObservacao;
if ($participanteSubstituido->data_entrada > $request->data_entrada) { if ($participanteSubstituido->data_entrada > $request->data_entrada) {
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Escolha uma data de entrada posterior a entrada do discente substituído"]); return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Escolha uma data de entrada posterior a entrada do discente substituído"]);
} }
$participanteSubstituido->data_saida = $request->data_entrada; $participanteSubstituido->data_saida = $request->data_entrada;
\App\Validator\CpfValidator::validate($request->all()); \App\Validator\CpfValidator::validate($request->all());
$user = User::where('email', $data['email'])->first(); $user = User::where('email', $data['email'])->first();
if (!$user) { if (!$user) {
$data['usuarioTemp'] = true; $data['usuarioTemp'] = true;
$user = User::create($data); $user = User::create($data);
$endereco = Endereco::create($data); $endereco = Endereco::create($data);
$endereco->user()->save($user); $endereco->user()->save($user);
} }
$participante = $user->participantes->where('trabalho_id', $trabalho->id)->first(); $participante = $user->participantes->where('trabalho_id', $trabalho->id)->first();
if (!$participante) { if (!$participante) {
$participante = Participante::create($data); $participante = Participante::create($data);
$participanteSubstituido->save(); $participanteSubstituido->save();
} }
$pasta = 'participantes/' . $participante->id; $pasta = 'participantes/' . $participante->id;
$participante->anexoTermoCompromisso = Storage::putFileAs($pasta, $request->anexoTermoCompromisso, "Termo_de_Compromisso.pdf"); $participante->anexoTermoCompromisso = Storage::putFileAs($pasta, $request->anexoTermoCompromisso, "Termo_de_Compromisso.pdf");
$participante->anexoComprovanteMatricula = Storage::putFileAs($pasta, $request->anexoComprovanteMatricula, "Comprovante_de_Matricula.pdf"); $participante->anexoComprovanteMatricula = Storage::putFileAs($pasta, $request->anexoComprovanteMatricula, "Comprovante_de_Matricula.pdf");
$participante->anexoLattes = Storage::putFileAs($pasta, $request->anexoCurriculoLattes, "Curriculo_Lattes.pdf"); $participante->anexoLattes = Storage::putFileAs($pasta, $request->anexoCurriculoLattes, "Curriculo_Lattes.pdf");
if ($request->anexoAutorizacaoPais != null) { if ($request->anexoAutorizacaoPais != null) {
$participante->anexoAutorizacaoPais = Storage::putFileAs($pasta, $request->anexoAutorizacaoPais, "Autorização_dos_Pais.pdf"); $participante->anexoAutorizacaoPais = Storage::putFileAs($pasta, $request->anexoAutorizacaoPais, "Autorização_dos_Pais.pdf");
} }
if ($request->anexoComprovanteBancario != null) { if ($request->anexoComprovanteBancario != null) {
$participante->anexoComprovanteBancario = Storage::putFileAs($pasta, $request->anexoComprovanteBancario, "Comprovante_Bancario." . $request->file('anexoComprovanteBancario')->getClientOriginalExtension()); $participante->anexoComprovanteBancario = Storage::putFileAs($pasta, $request->anexoComprovanteBancario, "Comprovante_Bancario." . $request->file('anexoComprovanteBancario')->getClientOriginalExtension());
} }
$user->participantes()->save($participante); $user->participantes()->save($participante);
//$trabalho->participantes()->save($participante); //$trabalho->participantes()->save($participante);
if ($request->manterPlanoCheck == 'check') { if ($request->manterPlanoCheck == 'check') {
$substituicao->status = 'Em Aguardo'; $substituicao->status = 'Em Aguardo';
$substituicao->tipo = 'ManterPlano'; $substituicao->tipo = 'ManterPlano';
$substituicao->observacao = $request->textObservacao; $substituicao->observacao = $request->textObservacao;
$substituicao->participanteSubstituido_id = $participanteSubstituido->id; $substituicao->participanteSubstituido_id = $participanteSubstituido->id;
$substituicao->participanteSubstituto_id = $participante->id; $substituicao->participanteSubstituto_id = $participante->id;
$substituicao->trabalho_id = $trabalho->id; $substituicao->trabalho_id = $trabalho->id;
$substituicao->planoSubstituto_id = $planoAntigo->id; $substituicao->planoSubstituto_id = $planoAntigo->id;
$planoAntigo->participanteId = $participante->id; $planoAntigo->participanteId = $participante->id;
$substituicao->save(); $substituicao->save();
$planoAntigo->save(); $planoAntigo->save();
} else { } else {
if ($request->has('anexoPlanoTrabalho')) { if ($request->has('anexoPlanoTrabalho')) {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/'; $path = 'trabalhos/' . $evento->id . '/' . $trabalho->id . '/';
$nome = $data['nomePlanoTrabalho'] . ".pdf"; $nome = $data['nomePlanoTrabalho'] . ".pdf";
$file = $request->anexoPlanoTrabalho; $file = $request->anexoPlanoTrabalho;
Storage::putFileAs($path, $file, $nome); Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo(); $arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho']; $arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome; $arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id; $arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now(); $arquivo->data = now();
$arquivo->participanteId = $participante->id; $arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true; $arquivo->versaoFinal = true;
$arquivo->save(); $arquivo->save();
$substituicao->status = 'Em Aguardo'; $substituicao->status = 'Em Aguardo';
$substituicao->tipo = 'Completa'; $substituicao->tipo = 'Completa';
$substituicao->observacao = $request->textObservacao; $substituicao->observacao = $request->textObservacao;
$substituicao->participanteSubstituido_id = $participanteSubstituido->id; $substituicao->participanteSubstituido_id = $participanteSubstituido->id;
$substituicao->participanteSubstituto_id = $participante->id; $substituicao->participanteSubstituto_id = $participante->id;
$substituicao->trabalho_id = $trabalho->id; $substituicao->trabalho_id = $trabalho->id;
$substituicao->planoSubstituto_id = $arquivo->id; $substituicao->planoSubstituto_id = $arquivo->id;
$substituicao->save(); $substituicao->save();
} }
} }
} }
$evento->trabalhos()->save($trabalho); $evento->trabalhos()->save($trabalho);
$trabalho->save(); $trabalho->save();
$notificacao = App\Notificacao::create([ $notificacao = App\Notificacao::create([
'remetente_id' => Auth::user()->id, 'remetente_id' => Auth::user()->id,
'destinatario_id' => $evento->coordenadorComissao->user_id, 'destinatario_id' => $evento->coordenadorComissao->user_id,
'trabalho_id' => $trabalho->id, 'trabalho_id' => $trabalho->id,
'lido' => false, 'lido' => false,
'tipo' => 2, 'tipo' => 2,
]); ]);
$notificacao->save(); $notificacao->save();
DB::commit(); DB::commit();
Mail::to($evento->coordenadorComissao->user->email)->send(new SolicitacaoSubstituicao($evento, $trabalho,'',$substituicao->tipo,$substituicao->status)); Mail::to($evento->coordenadorComissao->user->email)->send(new SolicitacaoSubstituicao($evento, $trabalho,'',$substituicao->tipo,$substituicao->status));
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['sucesso' => 'Pedido de substituição enviado com sucesso!']); return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['sucesso' => 'Pedido de substituição enviado com sucesso!']);
} catch (\App\Validator\ValidationException $th) { } catch (\App\Validator\ValidationException $th) {
DB::rollback(); DB::rollback();
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Cpf inválido"]); return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => "Cpf inválido"]);
} catch (\Throwable $th) { } catch (\Throwable $th) {
DB::rollback(); DB::rollback();
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => $th->getMessage()]); return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => $th->getMessage()]);
} }
} }
public function telaShowSubst(Request $request) public function telaShowSubst(Request $request)
{ {
$trabalho = Trabalho::find($request->trabalho_id); $trabalho = Trabalho::find($request->trabalho_id);
$substituicoesProjeto = Substituicao::where('trabalho_id', $trabalho->id)->orderBy('created_at', 'DESC')->get(); $substituicoesProjeto = Substituicao::where('trabalho_id', $trabalho->id)->orderBy('created_at', 'DESC')->get();
$substituicoesPendentes = Substituicao::where('trabalho_id', $trabalho->id)->where('status', 'Em Aguardo')->orderBy('created_at', 'DESC')->get(); $substituicoesPendentes = Substituicao::where('trabalho_id', $trabalho->id)->where('status', 'Em Aguardo')->orderBy('created_at', 'DESC')->get();
return view('administrador.analiseSubstituicoes')->with(['substituicoesPendentes' => $substituicoesPendentes, return view('administrador.analiseSubstituicoes')->with(['substituicoesPendentes' => $substituicoesPendentes,
'substituicoesProjeto' => $substituicoesProjeto, 'substituicoesProjeto' => $substituicoesProjeto,
'trabalho' => $trabalho]); 'trabalho' => $trabalho]);
} }
public function aprovarSubstituicao(Request $request) public function aprovarSubstituicao(Request $request)
{ {
$substituicao = Substituicao::find($request->substituicaoID); $substituicao = Substituicao::find($request->substituicaoID);
$trabalho = Trabalho::find($substituicao->trabalho->id); $trabalho = Trabalho::find($substituicao->trabalho->id);
if ($request->aprovar == 'true') { if ($request->aprovar == 'true') {
try { try {
if ($substituicao->tipo == 'TrocarPlano') { if ($substituicao->tipo == 'TrocarPlano') {
if(!empty($substituicao->participanteSubstituido)){ if(!empty($substituicao->participanteSubstituido)){
$substituicao->participanteSubstituido->planoTrabalho()->where('id', '!=', $substituicao->planoSubstituto->id)->delete(); $substituicao->participanteSubstituido->planoTrabalho()->where('id', '!=', $substituicao->planoSubstituto->id)->delete();
} }
$substituicao->status = 'Finalizada'; $substituicao->status = 'Finalizada';
$substituicao->justificativa = $request->textJustificativa; $substituicao->justificativa = $request->textJustificativa;
$substituicao->causa = $request->selectJustificativa; $substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->concluida_em = now();
$substituicao->save(); $substituicao->save();
} else { } else {
if(!empty($substituicao->participanteSubstituido)){ if(!empty($substituicao->participanteSubstituido)){
$substituicao->participanteSubstituido->delete(); $substituicao->participanteSubstituido->delete();
} }
$trabalho->participantes()->save($substituicao->participanteSubstituto); $trabalho->participantes()->save($substituicao->participanteSubstituto);
$substituicao->status = 'Finalizada'; $substituicao->status = 'Finalizada';
$substituicao->justificativa = $request->textJustificativa; $substituicao->justificativa = $request->textJustificativa;
$substituicao->causa = $request->selectJustificativa; $substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->concluida_em = now();
$substituicao->save(); $substituicao->save();
} }
Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status)); Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status));
return redirect()->back()->with(['sucesso' => 'Substituição concluída!']); return redirect()->back()->with(['sucesso' => 'Substituição concluída!']);
} catch (\Throwable $th) { } catch (\Throwable $th) {
return redirect()->back()->with(['erro' => $th->getMessage()]); return redirect()->back()->with(['erro' => $th->getMessage()]);
} }
} else { } else {
try { try {
if ($substituicao->tipo == 'TrocarPlano') { if ($substituicao->tipo == 'TrocarPlano') {
$substituicao->participanteSubstituido->planoTrabalho()->where('id', '=', $substituicao->planoSubstituto->id)->delete(); $substituicao->participanteSubstituido->planoTrabalho()->where('id', '=', $substituicao->planoSubstituto->id)->delete();
$substituicao->status = 'Negada'; $substituicao->status = 'Negada';
$substituicao->justificativa = $request->textJustificativa; $substituicao->justificativa = $request->textJustificativa;
$substituicao->causa = $request->selectJustificativa; $substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->concluida_em = now();
$substituicao->save(); $substituicao->save();
} elseif ($substituicao->tipo == 'ManterPlano') { } elseif ($substituicao->tipo == 'ManterPlano') {
$substituicao->planoSubstituto->participanteId = $substituicao->participanteSubstituido->id; $substituicao->planoSubstituto->participanteId = $substituicao->participanteSubstituido->id;
$substituicao->planoSubstituto->save(); $substituicao->planoSubstituto->save();
$substituicao->participanteSubstituto->delete(); $substituicao->participanteSubstituto->delete();
$substituicao->status = 'Negada'; $substituicao->status = 'Negada';
$substituicao->justificativa = $request->textJustificativa; $substituicao->justificativa = $request->textJustificativa;
$substituicao->causa = $request->selectJustificativa; $substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->concluida_em = now();
$substituicao->save(); $substituicao->save();
} else { } else {
$substituicao->participanteSubstituto->delete(); $substituicao->participanteSubstituto->delete();
$substituicao->status = 'Negada'; $substituicao->status = 'Negada';
$substituicao->justificativa = $request->textJustificativa; $substituicao->justificativa = $request->textJustificativa;
$substituicao->causa = $request->selectJustificativa; $substituicao->causa = $request->selectJustificativa;
$substituicao->concluida_em = now(); $substituicao->concluida_em = now();
$substituicao->save(); $substituicao->save();
} }
$trabalho = Trabalho::find($substituicao->trabalho->id); $trabalho = Trabalho::find($substituicao->trabalho->id);
Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status)); Mail::to($trabalho->proponente->user->email)->send(new SolicitacaoSubstituicao($trabalho->evento, $trabalho, 'resultado',$substituicao->tipo,$substituicao->status));
return redirect()->back()->with(['sucesso' => 'Substituição cancelada com sucesso!']); return redirect()->back()->with(['sucesso' => 'Substituição cancelada com sucesso!']);
} catch (\Throwable $th) { } catch (\Throwable $th) {
return redirect()->back()->with(['erro' => $th->getMessage()]); return redirect()->back()->with(['erro' => $th->getMessage()]);
} }
} }
} }
public function aprovarProposta(Request $request, $id) public function aprovarProposta(Request $request, $id)
{ {
$trabalho = Trabalho::find($id); $trabalho = Trabalho::find($id);
$trabalho->status = $request->statusProp; $trabalho->status = $request->statusProp;
$trabalho->comentario = $request->comentario; $trabalho->comentario = $request->comentario;
$trabalho->save(); $trabalho->save();
return redirect()->back()->with(['sucesso' => 'Proposta avaliada com sucesso']); return redirect()->back()->with(['sucesso' => 'Proposta avaliada com sucesso']);
} }
} }
\ No newline at end of file
<?php <?php
namespace App; namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
class Trabalho extends Model class Trabalho extends Model
{ {
use SoftDeletes; use SoftDeletes;
// 'rascunho','submetido', 'avaliado', 'corrigido','aprovado','reprovado', 'arquivado' // 'rascunho','submetido', 'avaliado', 'corrigido','aprovado','reprovado', 'arquivado'
protected $fillable = [ protected $fillable = [
'titulo', 'titulo',
'data', 'data',
'aprovado', 'aprovado',
'status', 'status',
'decisaoCONSU', 'decisaoCONSU',
'pontuacaoPlanilha', 'pontuacaoPlanilha',
'linkGrupoPesquisa', 'linkGrupoPesquisa',
'linkLattesEstudante', 'linkLattesEstudante',
'comentario', 'comentario',
'modalidade', 'modalidade',
'conflitosInteresse', 'conflitosInteresse',
'anexoDecisaoCONSU', 'anexoDecisaoCONSU',
'anexoAutorizacaoComiteEtica', 'anexoAutorizacaoComiteEtica',
'JustificativaAutorizacaoEtica', 'JustificativaAutorizacaoEtica',
'anexoLattesCoordenador', 'anexoLattesCoordenador',
'anexoGrupoPesquisa', 'anexoGrupoPesquisa',
'anexoPlanilhaPontuacao', 'anexoPlanilhaPontuacao',
'anexoProjeto', 'anexoProjeto',
'grande_area_id', 'grande_area_id',
'area_id', 'area_id',
'sub_area_id', 'sub_area_id',
'evento_id', 'evento_id',
'proponente_id', 'proponente_id',
'coordenador_id', 'coordenador_id',
'proponente_id', 'proponente_id',
'pivot', 'pivot',
'area_tematica_id', 'area_tematica_id',
]; ];
public function recurso(){ public function recurso(){
return $this->hasMany('App\Recurso', 'trabalhoId'); return $this->hasMany('App\Recurso', 'trabalhoId');
} }
public function arquivo(){ public function arquivo(){
return $this->hasMany('App\Arquivo', 'trabalhoId'); return $this->hasMany('App\Arquivo', 'trabalhoId');
} }
public function modalidade(){ public function modalidade(){
return $this->belongsTo('App\Modalidade', 'modalidadeId'); return $this->belongsTo('App\Modalidade', 'modalidadeId');
} }
public function area(){ public function area(){
return $this->belongsTo('App\Area'); return $this->belongsTo('App\Area');
} }
public function grandeArea(){ public function grandeArea(){
return $this->belongsTo('App\GrandeArea'); return $this->belongsTo('App\GrandeArea');
} }
public function subArea(){ public function subArea(){
return $this->belongsTo('App\SubArea'); return $this->belongsTo('App\SubArea');
} }
public function areaTematica(){ public function areaTematica(){
return $this->belongsTo('App\AreaTematica'); return $this->belongsTo('App\AreaTematica');
} }
public function autor(){ public function autor(){
return $this->belongsTo('App\User', 'autorId'); return $this->belongsTo('App\User', 'autorId');
} }
public function coautor(){ public function coautor(){
return $this->hasMany('App\Coautor', 'trabalhoId'); return $this->hasMany('App\Coautor', 'trabalhoId');
} }
public function parecer(){ public function parecer(){
return $this->hasMany('App\Parecer', 'trabalhoId'); return $this->hasMany('App\Parecer', 'trabalhoId');
} }
public function atribuicao(){ public function atribuicao(){
return $this->hasMany('App\Atribuicao', 'trabalhoId'); return $this->hasMany('App\Atribuicao', 'trabalhoId');
} }
public function evento(){ public function evento(){
return $this->belongsTo('App\Evento'); return $this->belongsTo('App\Evento');
} }
public function planoTrabalho(){ public function planoTrabalho(){
return $this->hasMany('App\PlanoTrabalho'); return $this->hasMany('App\PlanoTrabalho');
} }
public function participantes(){ public function participantes(){
// return $this->belongsToMany('App\Trabalho', 'trabalho_participante'); // return $this->belongsToMany('App\Trabalho', 'trabalho_participante');
return $this->hasMany('App\Participante', 'trabalho_id'); return $this->hasMany('App\Participante', 'trabalho_id');
} }
public function proponente(){ public function proponente(){
return $this->belongsTo('App\Proponente'); return $this->belongsTo('App\Proponente');
} }
public function coordenador(){ public function coordenador(){
return $this->belongsTo('App\CoordenadorComissao'); return $this->belongsTo('App\CoordenadorComissao');
} }
public function avaliadors(){ public function avaliadors(){
return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao', 'created_at','pontuacao','acesso'); return $this->belongsToMany('App\Avaliador')->withPivot('status', 'AnexoParecer', 'parecer', 'recomendacao', 'created_at','pontuacao','acesso');
} }
public function substituicaos(){ public function substituicaos(){
return $this->hasMany('App\Substituicao'); return $this->hasMany('App\Substituicao');
} }
public function parecer_internos(){ public function parecer_internos(){
return $this->hasMany(ParecerInterno::class, 'trab_id', 'id'); return $this->hasMany(ParecerInterno::class, 'trab_id', 'id');
} }
public function notificacoes(){ public function notificacoes(){
return $this->hasMany(Notificacao::class, 'trabalho_id', 'id'); return $this->hasMany(Notificacao::class, 'trabalho_id', 'id');
} }
public function desligamentos(){ public function desligamentos(){
return $this->hasMany(Desligamento::class, 'trabalho_id', 'id')->orderBy('created_at', 'DESC'); return $this->hasMany(Desligamento::class, 'trabalho_id', 'id')->orderBy('created_at', 'DESC');
} }
public function solicitacoesCertificados() public function solicitacoesCertificados()
{ {
return $this->hasMany(Certificado::class, 'trabalho_id'); return $this->hasMany(Certificado::class, 'trabalho_id');
} }
public function ods(){ public function ods(){
return $this->belongsToMany('App\ObjetivoDeDesenvolvimentoSustentavel', 'objetivo_de_desenvolvimento_sustentavel_trabalhos', 'trabalho_id'); return $this->belongsToMany('App\ObjetivoDeDesenvolvimentoSustentavel', 'objetivo_de_desenvolvimento_sustentavel_trabalhos', 'trabalho_id');
} }
public function integrantes() { public function integrantes() {
return $this->belongsToMany('App\User', 'trabalho_users', 'trabalho_id'); return $this->belongsToMany('App\User', 'trabalho_users', 'trabalho_id');
} }
} }
<?php <?php
namespace App; namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
class TrabalhoUser extends Model class TrabalhoUser extends Model
{ {
public function user(){ public function user(){
return $this->belongsTo('App\User'); return $this->belongsTo('App\User');
} }
public function funcao(){ public function funcao(){
return $this->belongsTo('App\FuncaoParticipantes', 'funcao_participante_id'); return $this->belongsTo('App\FuncaoParticipantes', 'funcao_participante_id');
} }
} }
<?php <?php
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
class CreateTrabalhoUsersTable extends Migration class CreateTrabalhoUsersTable extends Migration
{ {
/** /**
* Run the migrations. * Run the migrations.
* *
* @return void * @return void
*/ */
public function up() public function up()
{ {
Schema::create('trabalho_users', function (Blueprint $table) { Schema::create('trabalho_users', function (Blueprint $table) {
$table->bigIncrements('id'); $table->bigIncrements('id');
$table->timestamps(); $table->timestamps();
$table->integer('user_id'); $table->integer('user_id');
$table->foreign('user_id')->references('id')->on('users'); $table->foreign('user_id')->references('id')->on('users');
$table->integer('trabalho_id'); $table->integer('trabalho_id');
$table->foreign('trabalho_id')->references('id')->on('trabalhos'); $table->foreign('trabalho_id')->references('id')->on('trabalhos');
$table->integer('funcao_participante_id'); $table->integer('funcao_participante_id');
$table->foreign('funcao_participante_id')->references('id')->on('funcao_participantes'); $table->foreign('funcao_participante_id')->references('id')->on('funcao_participantes');
}); });
} }
/** /**
* Reverse the migrations. * Reverse the migrations.
* *
* @return void * @return void
*/ */
public function down() public function down()
{ {
Schema::dropIfExists('trabalho_users'); Schema::dropIfExists('trabalho_users');
} }
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
@extends('layouts.app') @extends('layouts.app')
@section('styles') @section('styles')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
@endsection @endsection
@section('content') @section('content')
<div class="container" style="margin-top: 30px;"> <div class="container" style="margin-top: 30px;">
<div class="container" > <div class="container" >
<div class="row justify-content-center d-flex align-items-center" style="margin-bottom: 50px;"> <div class="row justify-content-center d-flex align-items-center" style="margin-bottom: 50px;">
<div class="col-md-1"> <div class="col-md-1">
<a href="{{ route('admin.atribuir', ['evento_id' => $evento->id]) }}" class="btn btn-secondary"> <a href="{{ route('admin.atribuir', ['evento_id' => $evento->id]) }}" class="btn btn-secondary">
Voltar Voltar
</a> </a>
</div> </div>
<div class="col-md-9" style="text-align: center;"> <div class="col-md-9" style="text-align: center;">
<h3 class="titulo-table">Avaliadores</h3> <h3 class="titulo-table">Avaliadores</h3>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<!-- Button trigger modal --> <!-- Button trigger modal -->
<button type="button" class="btn btn-info" data-toggle="modal" data-target="#exampleModalCenter"> <button type="button" class="btn btn-info" data-toggle="modal" data-target="#exampleModalCenter">
Enviar Convite Enviar Convite
</button> </button>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-8"> <div class="col-md-8">
<div class="row"> <div class="row">
<div class="col-sm-1"> <div class="col-sm-1">
<button class="btn" onclick="buscar(this.parentElement.parentElement.children[1].children[0])"> <button class="btn" onclick="buscar(this.parentElement.parentElement.children[1].children[0])">
<img src="{{asset('img/icons/logo_lupa.png')}}" alt=""> <img src="{{asset('img/icons/logo_lupa.png')}}" alt="">
</button> </button>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="text" class="form-control form-control-edit" placeholder="Digite o e-mail do avaliador" onkeyup="buscar(this)"> <input type="text" class="form-control form-control-edit" placeholder="Digite o e-mail do avaliador" onkeyup="buscar(this)">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<hr> <hr>
<table class="table table-bordered"> <table class="table table-bordered">
<thead> <thead>
<tr> <tr>
<th scope="col">Nome do Usuário</th> <th scope="col">Nome do Usuário</th>
<th scope="col">Email</th> <th scope="col">Email</th>
@if($evento->natureza_id == 3) @if($evento->natureza_id == 3)
<th scope="col">Área Temática</th> <th scope="col">Área Temática</th>
@else @else
<th scope="col">Área</th> <th scope="col">Área</th>
@endif @endif
<th scope="col">Tipo</th> <th scope="col">Tipo</th>
<th scope="col" style="text-align:center">Ação</th> <th scope="col" style="text-align:center">Ação</th>
</tr> </tr>
</thead> </thead>
<tbody id="avaliadores"> <tbody id="avaliadores">
@foreach ($avaliadores as $avaliador) @foreach ($avaliadores as $avaliador)
<tr> <tr>
<td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->user->email }}</td> <td>{{ $avaliador->user->email }}</td>
<td> <td>
@if(is_null($avaliador->area)) @if(is_null($avaliador->area))
@if($avaliador->areaTematicas()->get()->first() != null) @if($avaliador->areaTematicas()->get()->first() != null)
{{ $avaliador->areaTematicas()->get()->first()->nome }} {{ $avaliador->areaTematicas()->get()->first()->nome }}
@else @else
Indefinida Indefinida
@endif @endif
@else @else
{{ $avaliador->area->nome }} {{ $avaliador->area->nome }}
@endif @endif
</td> </td>
<td> <td>
@if($avaliador->tipo == null) @if($avaliador->tipo == null)
Externo Externo
@else @else
{{$avaliador->tipo}} {{$avaliador->tipo}}
@endif @endif
</td> </td>
<td style="text-align:center"> <td style="text-align:center">
<form action="{{ route('admin.adicionar') }}" method="POST"> <form action="{{ route('admin.adicionar') }}" method="POST">
@csrf @csrf
<!-- Possibilidade de exclusão --> <!-- Possibilidade de exclusão -->
{{-- <input type="hidden" name="avaliador_id" value="{{ $avaliador->avaliador_id }}"> --}} {{-- <input type="hidden" name="avaliador_id" value="{{ $avaliador->avaliador_id }}"> --}}
<input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" > <input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" >
<input type="hidden" name="evento_id" value="{{ $evento->id }}" > <input type="hidden" name="evento_id" value="{{ $evento->id }}" >
<button type="submit" class="btn btn-primary" >Adicionar</button> <button type="submit" class="btn btn-primary" >Adicionar</button>
</form> </form>
</td> </td>
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
<div class="container" style="margin-top: 50px;"> <div class="container" style="margin-top: 50px;">
<div class="row justify-content-center" > <div class="row justify-content-center" >
<h4 class="titulo-table">Avaliadores Selecionados para o Edital: <span style="color: black;">{{ $evento->nome }}</span> </h4> <h4 class="titulo-table">Avaliadores Selecionados para o Edital: <span style="color: black;">{{ $evento->nome }}</span> </h4>
</div> </div>
</div> </div>
<hr> <hr>
<table class="table table-bordered"> <table class="table table-bordered">
<thead> <thead>
<tr> <tr>
<th scope="col">Nome do Usuário</th> <th scope="col">Nome do Usuário</th>
<th scope="col">Tipo</th> <th scope="col">Tipo</th>
<th scope="col">Email</th> <th scope="col">Email</th>
<th scope="col">Status</th> <th scope="col">Status</th>
<th scope="col">Projetos</th> <th scope="col">Projetos</th>
<th scope="col" style="text-align:center">Ação</th> <th scope="col" style="text-align:center">Ação</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($avalSelecionados as $avaliador) @foreach ($avalSelecionados as $avaliador)
<tr> <tr>
<td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->name }}</td>
<td>{{ $avaliador->tipo }}</td> <td>{{ $avaliador->tipo }}</td>
<td>{{ $avaliador->user->email }}</td> <td>{{ $avaliador->user->email }}</td>
@if($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite == true) @if($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite == true)
<td style="color: rgb(3, 189, 3);">Aceito</td> <td style="color: rgb(3, 189, 3);">Aceito</td>
@elseif(is_null($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite)) @elseif(is_null($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite))
<td>A confirmar</td> <td>A confirmar</td>
@else @else
<td style="color: red;">Recusado</td> <td style="color: red;">Recusado</td>
@endif @endif
<!-- ANTOIM --> <!-- ANTOIM -->
@if($avaliador->trabalhos->where('evento_id', $evento->id)->count() == 0) @if($avaliador->trabalhos->where('evento_id', $evento->id)->count() == 0)
<td><button data-toggle="modal" class="btn btn-primary" style="color:white; <td><button data-toggle="modal" class="btn btn-primary" style="color:white;
" data-target="#avaliadorModalCenter1{{$avaliador->id}}">Visualizar</button></td> " data-target="#avaliadorModalCenter1{{$avaliador->id}}">Visualizar</button></td>
@else @else
<td><button data-toggle="modal" class="btn btn-primary" style="color:white; <td><button data-toggle="modal" class="btn btn-primary" style="color:white;
" data-target="#avaliadorModalCenter{{$avaliador->id}}">Visualizar</button></td> " data-target="#avaliadorModalCenter{{$avaliador->id}}">Visualizar</button></td>
@endif @endif
<!-- MODAL Projetos --> <!-- MODAL Projetos -->
<div class="modal fade" id="avaliadorModalCenter{{$avaliador->id}}" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true" style="overflow-y: hidden"> <div class="modal fade" id="avaliadorModalCenter{{$avaliador->id}}" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true" style="overflow-y: hidden">
<div class="modal-dialog modal-dialog-centered modal-xl" role="document"> <div class="modal-dialog modal-dialog-centered modal-xl" role="document">
<div class="modal-content modal-submeta modal-xl"> <div class="modal-content modal-submeta modal-xl">
<div class="modal-header modal-header-submeta"> <div class="modal-header modal-header-submeta">
<div class="col-md-8" style="padding-left: 0px"> <div class="col-md-8" style="padding-left: 0px">
<h5 class="modal-title titulo-table" id="avaliacaoModalLongTitle"> <h5 class="modal-title titulo-table" id="avaliacaoModalLongTitle">
Projetos do Avaliador</h5> Projetos do Avaliador</h5>
</div> </div>
<div class="col-md-4" style="text-align: right"> <div class="col-md-4" style="text-align: right">
<button type="button" class="close" aria-label="Close" <button type="button" class="close" aria-label="Close"
data-dismiss="modal" style="color: rgb(182, 182, 182);padding-right: 0px;"> data-dismiss="modal" style="color: rgb(182, 182, 182);padding-right: 0px;">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
</div> </div>
<div class="modal-body" style="margin-left: 20px; margin-right: 20px;"> <div class="modal-body" style="margin-left: 20px; margin-right: 20px;">
@foreach($trabalhos as $trabalho) @foreach($trabalhos as $trabalho)
@foreach($trabalho->avaliadors as $avaliador1) @foreach($trabalho->avaliadors as $avaliador1)
@if($avaliador1->id == $avaliador->id) @if($avaliador1->id == $avaliador->id)
{{-- {{ $avaliador->trabalhos->where('id', $trabalho->id)->first()->pivot }} --}} {{-- {{ $avaliador->trabalhos->where('id', $trabalho->id)->first()->pivot }} --}}
<a href="{{route('admin.analisarProposta',['id'=>$trabalho->id])}}">Título: {{ $trabalho->titulo }}</a><br> <a href="{{route('admin.analisarProposta',['id'=>$trabalho->id])}}">Título: {{ $trabalho->titulo }}</a><br>
@endif @endif
@endforeach @endforeach
@endforeach @endforeach
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="avaliadorModalCenter1{{$avaliador->id}}" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true" style="overflow-y: hidden"> <div class="modal fade" id="avaliadorModalCenter1{{$avaliador->id}}" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true" style="overflow-y: hidden">
<div class="modal-dialog modal-dialog-centered modal-xl" role="document"> <div class="modal-dialog modal-dialog-centered modal-xl" role="document">
<div class="modal-content modal-submeta modal-xl"> <div class="modal-content modal-submeta modal-xl">
<div class="modal-header modal-header-submeta"> <div class="modal-header modal-header-submeta">
<div class="col-md-8" style="padding-left: 0px"> <div class="col-md-8" style="padding-left: 0px">
<h5 class="modal-title titulo-table" id="avaliacaoModalLongTitle"> <h5 class="modal-title titulo-table" id="avaliacaoModalLongTitle">
Projetos do Avaliador</h5> Projetos do Avaliador</h5>
</div> </div>
<div class="col-md-4" style="text-align: right"> <div class="col-md-4" style="text-align: right">
<button type="button" class="close" aria-label="Close" <button type="button" class="close" aria-label="Close"
data-dismiss="modal" style="color: rgb(182, 182, 182);padding-right: 0px;"> data-dismiss="modal" style="color: rgb(182, 182, 182);padding-right: 0px;">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
</div> </div>
<div class="modal-body" style="margin-left: 20px; margin-right: 20px;"> <div class="modal-body" style="margin-left: 20px; margin-right: 20px;">
Esse Avaliador não possui projetos. <a href="{{route('admin.analisar', ['evento_id' => $evento->id])}}">Clique aqui</a> e verifique os projetos disponíveis. Esse Avaliador não possui projetos. <a href="{{route('admin.analisar', ['evento_id' => $evento->id])}}">Clique aqui</a> e verifique os projetos disponíveis.
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<td @if($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite != null) style="text-align:center" @endif style="text-align:center; display:flex; justify-content: space-evenly"> <td @if($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite != null) style="text-align:center" @endif style="text-align:center; display:flex; justify-content: space-evenly">
<form action="{{ route('admin.remover') }}" method="POST"> <form action="{{ route('admin.remover') }}" method="POST">
@csrf @csrf
<input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" > <input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" >
<input type="hidden" name="evento_id" value="{{ $evento->id }}" > <input type="hidden" name="evento_id" value="{{ $evento->id }}" >
<button type="button" class="btn btn-danger" @if($avaliador->trabalhos->where('evento_id', $evento->id)->count() != 0) disabled="disabled" @endif <button type="button" class="btn btn-danger" @if($avaliador->trabalhos->where('evento_id', $evento->id)->count() != 0) disabled="disabled" @endif
data-toggle="modal" data-target="#modal{{ $avaliador->id }}" data-toggle="modal" data-target="#modal{{ $avaliador->id }}"
>Remover</button> >Remover</button>
<!-- Modal Remover --> <!-- Modal Remover -->
<div class="modal fade" id="modal{{ $avaliador->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="modal{{ $avaliador->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Remover Avaliador</h5> <h5 class="modal-title" id="exampleModalLabel">Remover Avaliador</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>Você tem certeza que deseja remover o avaliador: {{ $avaliador->user->name }}?</p> <p>Você tem certeza que deseja remover o avaliador: {{ $avaliador->user->name }}?</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
<button type="submit" class="btn btn-danger">Remover</button> <button type="submit" class="btn btn-danger">Remover</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
<form action="{{ route('admin.reenviarConvite') }}" method="POST"> <form action="{{ route('admin.reenviarConvite') }}" method="POST">
@csrf @csrf
<input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" > <input type="hidden" name="avaliador_id" value="{{ $avaliador->id }}" >
<input type="hidden" name="evento_id" value="{{ $evento->id }}" > <input type="hidden" name="evento_id" value="{{ $evento->id }}" >
<button type="submit" class="btn btn-secondary" @if($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite != null) disabled hidden @endif >Reenviar convite</button> <button type="submit" class="btn btn-secondary" @if($avaliador->eventos->where('id', $evento->id)->first()->pivot->convite != null) disabled hidden @endif >Reenviar convite</button>
</form> </form>
</td> </td>
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
</div> </div>
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content modal-submeta"> <div class="modal-content modal-submeta">
<div class="modal-header modal-header-submeta"> <div class="modal-header modal-header-submeta">
<h5 class="modal-title titulo-table" id="exampleModalLongTitle" style="font-size: 20px;">Enviar Convite</h5> <h5 class="modal-title titulo-table" id="exampleModalLongTitle" style="font-size: 20px;">Enviar Convite</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="color: rgb(182, 182, 182)"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="color: rgb(182, 182, 182)">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body" style="margin-left: 20px; margin-right: 20px;"> <div class="modal-body" style="margin-left: 20px; margin-right: 20px;">
<form action="{{ route('admin.enviarConvite') }}" method="POST" class="labels-blue"> <form action="{{ route('admin.enviarConvite') }}" method="POST" class="labels-blue">
@csrf @csrf
<input type="hidden" name="evento_id" value="{{ $evento->id }}" > <input type="hidden" name="evento_id" value="{{ $evento->id }}" >
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Nome Completo <span style="color: red;">*</span></label> <label for="exampleInputEmail1">Nome Completo <span style="color: red;">*</span></label>
<input type="text" class="form-control" name="nomeAvaliador" id="exampleInputNome1" required> <input type="text" class="form-control" name="nomeAvaliador" id="exampleInputNome1" required>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Email <span style="color: red;">*</span></label> <label for="exampleInputEmail1">Email <span style="color: red;">*</span></label>
<input type="email" class="form-control" name="emailAvaliador" id="exampleInputEmail1" required> <input type="email" class="form-control" name="emailAvaliador" id="exampleInputEmail1" required>
</div> </div>
<!-- aki --> <!-- aki -->
@if($evento->natureza_id != 3) @if($evento->natureza_id != 3)
<div class="form-group"> <div class="form-group">
<label for="grandeArea" class="col-form-label">{{ __('Grande Área') }} <span style="color: red; font-weight:bold">*</span></label> <label for="grandeArea" class="col-form-label">{{ __('Grande Área') }} <span style="color: red; font-weight:bold">*</span></label>
<select class="form-control" id="grandeArea" name="grande_area_id" onchange="areas()" required> <select class="form-control" id="grandeArea" name="grande_area_id" onchange="areas()" required>
<option value="" disabled selected hidden>-- Grande Área --</option> <option value="" disabled selected hidden>-- Grande Área --</option>
@foreach($grandeAreas as $grandeArea) @foreach($grandeAreas as $grandeArea)
<option value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option> <option value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option>
@endforeach @endforeach
</select> </select>
<label for="area" class="col-form-label">{{ __('Área') }} <span style="color: red; font-weight:bold">*</span></label> <label for="area" class="col-form-label">{{ __('Área') }} <span style="color: red; font-weight:bold">*</span></label>
<select class="form-control @error('area') is-invalid @enderror" id="area" name="area_id" required> <select class="form-control @error('area') is-invalid @enderror" id="area" name="area_id" required>
<option value="" disabled selected hidden>-- Área --</option> <option value="" disabled selected hidden>-- Área --</option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="exampleFormControlSelect1">Tipo</label> <label for="exampleFormControlSelect1">Tipo</label>
<select class="form-control" name="tipo" id="exampleFormControlSelect1" disabled> <select class="form-control" name="tipo" id="exampleFormControlSelect1" disabled>
<option value="avaliador" >Avaliador</option> <option value="avaliador" >Avaliador</option>
</select> </select>
</div> </div>
@else @else
<div class="form-group"> <div class="form-group">
<label for="areasTemeticas" class="col-form-label">{{ __('Áreas Temáticas') }}<span style="color: red; font-weight:bold">*</span></label> <label for="areasTemeticas" class="col-form-label">{{ __('Áreas Temáticas') }}<span style="color: red; font-weight:bold">*</span></label>
<select class="form-control" id="areaTematicaConvite" style="width: 425px" name="areasTemeticas[]" multiple="multiple" required> <select class="form-control" id="areaTematicaConvite" style="width: 425px" name="areasTemeticas[]" multiple="multiple" required>
@foreach($areasTematicas as $areaTematica) @foreach($areasTematicas as $areaTematica)
<option value="{{$areaTematica->id}}">{{$areaTematica->nome}}</option> <option value="{{$areaTematica->id}}">{{$areaTematica->nome}}</option>
@endforeach @endforeach
</select> </select>
</div> </div>
@endif @endif
@if($evento->natureza_id != 3) @if($evento->natureza_id != 3)
<div class="form-group"> <div class="form-group">
<label for="exampleFormControlSelect1">Instituição <span style="color: red; font-weight:bold">*</span></label> <label for="exampleFormControlSelect1">Instituição <span style="color: red; font-weight:bold">*</span></label>
<select class="form-control" name="instituicao" id="membro" required onchange="mostrarDiv(this)"> <select class="form-control" name="instituicao" id="membro" required onchange="mostrarDiv(this)">
<option value="" disabled>-- Selecione a instituição --</option> <option value="" disabled>-- Selecione a instituição --</option>
<option value="ufape" >Universidade Federal do Agreste de Pernambuco</option> <option value="ufape" >Universidade Federal do Agreste de Pernambuco</option>
<option value="outra" >Outra</option> <option value="outra" >Outra</option>
</select> </select>
</div> </div>
@endif @endif
<div class="form-group" id="div-outra" style="@if(old('instituicao') != null && old('instituicao') == "outra") display: block; @else display: none; @endif"> <div class="form-group" id="div-outra" style="@if(old('instituicao') != null && old('instituicao') == "outra") display: block; @else display: none; @endif">
<label for="outra">{{ __('Digite o nome da instituição') }}<span style="color: red; font-weight: bold;"> *</span></label> <label for="outra">{{ __('Digite o nome da instituição') }}<span style="color: red; font-weight: bold;"> *</span></label>
<input id="outra" class="form-control @error('outra') is-invalid @enderror" type="text" name="outra" value="{{old('outra')}}" autocomplete="outra" placeholder="Universidade Federal ..."> <input id="outra" class="form-control @error('outra') is-invalid @enderror" type="text" name="outra" value="{{old('outra')}}" autocomplete="outra" placeholder="Universidade Federal ...">
@error('outra') @error('outra')
<div id="validationServer03Feedback" class="invalid-feedback"> <div id="validationServer03Feedback" class="invalid-feedback">
{{ $message }} {{ $message }}
</div> </div>
@enderror @enderror
</div> </div>
<div class="form-group" style="margin-top: 40px; margin-bottom: 40px;"> <div class="form-group" style="margin-top: 40px; margin-bottom: 40px;">
<button type="submit" class="btn btn-info" style="width: 100%">Enviar</button> <button type="submit" class="btn btn-info" style="width: 100%">Enviar</button>
</div> </div>
<div class="form-group texto-info"> <div class="form-group texto-info">
O convite será enviador por e-mail e o preenchimento dos dados será de inteira responsabilidade do usuário convidado. O convite será enviador por e-mail e o preenchimento dos dados será de inteira responsabilidade do usuário convidado.
</div> </div>
</form> </form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection
@section('javascript') @section('javascript')
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="text/javascript"> <script type="text/javascript">
$("#areaTematicaConvite").select2({ $("#areaTematicaConvite").select2({
placeholder: 'Selecione as áreas temáticas', placeholder: 'Selecione as áreas temáticas',
allowClear: true allowClear: true
}); });
</script> </script>
<script> <script>
$('#myModal').on('shown.bs.modal', function () { $('#myModal').on('shown.bs.modal', function () {
$('#myInput').trigger('focus') $('#myInput').trigger('focus')
}); });
function buscar(input) { function buscar(input) {
var editais = document.getElementById('avaliadores').children; var editais = document.getElementById('avaliadores').children;
if(input.value.length > 2) { if(input.value.length > 2) {
for(var i = 0; i < editais.length; i++) { for(var i = 0; i < editais.length; i++) {
var nomeEvento = editais[i].children[1].textContent; var nomeEvento = editais[i].children[1].textContent;
if(nomeEvento.substr(0).indexOf(input.value) >= 0) { if(nomeEvento.substr(0).indexOf(input.value) >= 0) {
editais[i].style.display = ""; editais[i].style.display = "";
} else { } else {
editais[i].style.display = "none"; editais[i].style.display = "none";
} }
} }
} else { } else {
for(var i = 0; i < editais.length; i++) { for(var i = 0; i < editais.length; i++) {
editais[i].style.display = ""; editais[i].style.display = "";
} }
} }
} }
function areas() { function areas() {
var grandeArea = $('#grandeArea').val(); var grandeArea = $('#grandeArea').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('area.consulta') }}', url: '{{ route('area.consulta') }}',
data: 'id='+grandeArea , data: 'id='+grandeArea ,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados) => { success: (dados) => {
if (dados.length > 0) { if (dados.length > 0) {
if($('#oldArea').val() == null || $('#oldArea').val() == ""){ if($('#oldArea').val() == null || $('#oldArea').val() == ""){
var option = '<option selected disabled>-- Área --</option>'; var option = '<option selected disabled>-- Área --</option>';
} }
$.each(dados, function(i, obj) { $.each(dados, function(i, obj) {
if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){ if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{ }else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Área --</option>"; var option = "<option selected disabled>-- Área --</option>";
} }
$('#area').html(option).show(); $('#area').html(option).show();
subareas(); subareas();
}, },
error: (data) => { error: (data) => {
console.log(data); console.log(data);
} }
}) })
} }
function mostrarDiv(select) { function mostrarDiv(select) {
if(select.value == "outra") { if(select.value == "outra") {
document.getElementById('div-outra').style.display = "block"; document.getElementById('div-outra').style.display = "block";
$("#outra").prop('required',true); $("#outra").prop('required',true);
}else if(select.value == "ufape"){ }else if(select.value == "ufape"){
document.getElementById('div-outra').style.display = "none"; document.getElementById('div-outra').style.display = "none";
$("#outra").prop('required',false); $("#outra").prop('required',false);
} }
} }
</script> </script>
@endsection @endsection
@extends('layouts.app') @extends('layouts.app')
@section('styles') @section('styles')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
@endsection @endsection
@section('content') @section('content')
<div class="container" style="margin-top: 30px;"> <div class="container" style="margin-top: 30px;">
<div class="container" > <div class="container" >
<div class="row justify-content-center" style="margin-bottom: 50px;"> <div class="row justify-content-center" style="margin-bottom: 50px;">
<div class="col-md-1"> <div class="col-md-1">
<a href="{{ route('admin.atribuir', ['evento_id' => $evento->id]) }}" class="btn btn-secondary"> <a href="{{ route('admin.atribuir', ['evento_id' => $evento->id]) }}" class="btn btn-secondary">
Voltar Voltar
</a> </a>
</div> </div>
<div class="col-md-10" style="text-align: center;"> <div class="col-md-10" style="text-align: center;">
<h3 class="titulo-table">Status dos Projetos em Avaliação do edital: <span style="color: black;">{{ $evento->nome }}</span> </h3> <h3 class="titulo-table">Status dos Projetos em Avaliação do edital: <span style="color: black;">{{ $evento->nome }}</span> </h3>
</div> </div>
<div class="col-md-1"> <div class="col-md-1">
<!-- Button trigger modal --> <!-- Button trigger modal -->
{{-- <button type="button" class="btn btn-info" data-toggle="modal" data-target="#exampleModalCenter"> {{-- <button type="button" class="btn btn-info" data-toggle="modal" data-target="#exampleModalCenter">
Enviar Convite Enviar Convite
</button> --}} </button> --}}
</div> </div>
</div> </div>
<hr> <hr>
<table class="table table-bordered"> <table class="table table-bordered">
<thead> <thead>
<tr> <tr>
<th scope="col">Nome do Usuário</th> <th scope="col">Nome do Usuário</th>
<th scope="col">Tipo de Avaliação</th> <th scope="col">Tipo de Avaliação</th>
<th scope="col">E-mail</th> <th scope="col">E-mail</th>
<th scope="col">Titulo do projeto</th> <th scope="col">Titulo do projeto</th>
<th scope="col">Status avaliação</th> <th scope="col">Status avaliação</th>
<th scope="col" style="text-align:center">Ação</th> <th scope="col" style="text-align:center">Ação</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach($trabalhos as $trabalho) @foreach($trabalhos as $trabalho)
@foreach($trabalho->avaliadors as $avaliador) @foreach($trabalho->avaliadors as $avaliador)
{{-- Avaliação Interna --}} {{-- Avaliação Interna --}}
@if(($avaliador->tipo == 'Interno' && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 1)) @if(($avaliador->tipo == 'Interno' && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 1))
|| (($avaliador->user->instituicao == "UFAPE" || $avaliador->user->instituicao == "Universidade Federal do Agreste de Pernambuco") && $avaliador->tipo == null && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 1))) || (($avaliador->user->instituicao == "UFAPE" || $avaliador->user->instituicao == "Universidade Federal do Agreste de Pernambuco") && $avaliador->tipo == null && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 1)))
<tr> <tr>
<td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->name }}</td>
<td> Interno </td> <td> Interno </td>
<td>{{ $avaliador->user->email }}</td> <td>{{ $avaliador->user->email }}</td>
<td style="max-width:100px; overflow-x:hidden; text-overflow:ellipsis">{{ $trabalho->titulo }}</td> <td style="max-width:100px; overflow-x:hidden; text-overflow:ellipsis">{{ $trabalho->titulo }}</td>
@php @php
$parecerInterno = App\ParecerInterno::where([['avaliador_id',$avaliador->id],['trabalho_id',$trabalho->id]])->first(); $parecerInterno = App\ParecerInterno::where([['avaliador_id',$avaliador->id],['trabalho_id',$trabalho->id]])->first();
@endphp @endphp
<td>@if($parecerInterno == null) Pendente @else Avaliado @endif</td> <td>@if($parecerInterno == null) Pendente @else Avaliado @endif</td>
<td> <td>
<div class="btn-group dropright dropdown-options"> <div class="btn-group dropright dropdown-options">
<a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px"> <img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a> </a>
<div class="dropdown-menu"> <div class="dropdown-menu">
@if($parecerInterno != null) @if($parecerInterno != null)
<a href="{{ route('admin.visualizarParecerInterno', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id]) }}" class="dropdown-item text-center"> <a href="{{ route('admin.visualizarParecerInterno', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id]) }}" class="dropdown-item text-center">
Vizualizar Parecer Vizualizar Parecer
</a> </a>
@endif @endif
<a href="{{ route('admin.removerProjAval', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id,'flag'=>1]) }}" class="dropdown-item text-center"> <a href="{{ route('admin.removerProjAval', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id,'flag'=>1]) }}" class="dropdown-item text-center">
Desatribuir Avaliador Desatribuir Avaliador
</a> </a>
</div> </div>
</div> </div>
</td> </td>
</tr> </tr>
@endif @endif
{{-- Avaliação Ad Hoc --}} {{-- Avaliação Ad Hoc --}}
@if( ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null && $avaliador->tipo == "Externo") || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 2 @if( ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null && $avaliador->tipo == "Externo") || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 2
|| (($avaliador->user->instituicao != "UFAPE" && $avaliador->user->instituicao != "Universidade Federal do Agreste de Pernambuco") && $avaliador->tipo == null && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 2))) || (($avaliador->user->instituicao != "UFAPE" && $avaliador->user->instituicao != "Universidade Federal do Agreste de Pernambuco") && $avaliador->tipo == null && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso != 2)))
<tr> <tr>
<td>{{ $avaliador->user->name }}</td> <td>{{ $avaliador->user->name }}</td>
<td> Ad Hoc </td> <td> Ad Hoc </td>
<td>{{ $avaliador->user->email }}</td> <td>{{ $avaliador->user->email }}</td>
<td style="max-width:100px; overflow-x:hidden; text-overflow:ellipsis">{{ $trabalho->titulo }}</td> <td style="max-width:100px; overflow-x:hidden; text-overflow:ellipsis">{{ $trabalho->titulo }}</td>
<td>@if($avaliador->trabalhos->where('id', $trabalho->id)->first()->pivot->status == false) Pendente @else Avaliado @endif</td> <td>@if($avaliador->trabalhos->where('id', $trabalho->id)->first()->pivot->status == false) Pendente @else Avaliado @endif</td>
<td> <td>
<div class="btn-group dropright dropdown-options"> <div class="btn-group dropright dropdown-options">
<a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px"> <img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a> </a>
<div class="dropdown-menu"> <div class="dropdown-menu">
@if($avaliador->trabalhos->where('id', $trabalho->id)->first()->pivot->status == true) @if($avaliador->trabalhos->where('id', $trabalho->id)->first()->pivot->status == true)
<a href="{{ route('admin.visualizarParecer', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id]) }}" class="dropdown-item text-center"> <a href="{{ route('admin.visualizarParecer', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id]) }}" class="dropdown-item text-center">
Vizualizar Parecer Vizualizar Parecer
</a> </a>
@endif @endif
<a href="{{ route('admin.removerProjAval', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id,'flag'=>0]) }}" class="dropdown-item text-center"> <a href="{{ route('admin.removerProjAval', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id,'flag'=>0]) }}" class="dropdown-item text-center">
Desatribuir Avaliador Desatribuir Avaliador
</a> </a>
</div> </div>
</div> </div>
</td> </td>
</tr> </tr>
@endif @endif
@endforeach @endforeach
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
<div class="container" style="margin-top: 50px;"> <div class="container" style="margin-top: 50px;">
<div class="row justify-content-center d-flex align-items-center" > <div class="row justify-content-center d-flex align-items-center" >
<h3 class="titulo-table">Lista de Projetos do Edital: <span style="color: black;">{{ $evento->nome }}</span> </h3> <h3 class="titulo-table">Lista de Projetos do Edital: <span style="color: black;">{{ $evento->nome }}</span> </h3>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-8"> <div class="col-md-8">
<div class="row"> <div class="row">
<div class="col-sm-1"> <div class="col-sm-1">
<button class="btn" onclick="buscar(this.parentElement.parentElement.children[1].children[0])"> <button class="btn" onclick="buscar(this.parentElement.parentElement.children[1].children[0])">
<img src="{{asset('img/icons/logo_lupa.png')}}" alt=""> <img src="{{asset('img/icons/logo_lupa.png')}}" alt="">
</button> </button>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="text" class="form-control form-control-edit" placeholder="Digite o nome do projeto" onkeyup="buscar(this)"> <input type="text" class="form-control form-control-edit" placeholder="Digite o nome do projeto" onkeyup="buscar(this)">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<hr> <hr>
<table class="table table-bordered"> <table class="table table-bordered">
<thead> <thead>
<tr> <tr>
<th scope="col">Nome do Projeto</th> <th scope="col">Nome do Projeto</th>
@if($evento->natureza_id == 3) @if($evento->natureza_id == 3)
<th scope="col">Área Temática</th> <th scope="col">Área Temática</th>
@else @else
<th scope="col">Área</th> <th scope="col">Área</th>
@endif @endif
<th scope="col">Proponente</th> <th scope="col">Proponente</th>
<th scope="col" style="text-align:center">Ação</th> <th scope="col" style="text-align:center">Ação</th>
</tr> </tr>
</thead> </thead>
<tbody id="projetos"> <tbody id="projetos">
@foreach ($trabalhos as $trabalho) @foreach ($trabalhos as $trabalho)
<tr> <tr>
<td style="max-width:100px; overflow-x:auto; text-overflow:ellipsis">{{ $trabalho->titulo }}</td> <td style="max-width:100px; overflow-x:auto; text-overflow:ellipsis">{{ $trabalho->titulo }}</td>
@if($evento->natureza_id == 3) @if($evento->natureza_id == 3)
<td>{{ App\AreaTematica::find($trabalho->area_tematica_id)->nome }}</td> <td>{{ App\AreaTematica::find($trabalho->area_tematica_id)->nome }}</td>
@else @else
<td>{{ App\Area::find($trabalho->area_id)->nome }}</td> <td>{{ App\Area::find($trabalho->area_id)->nome }}</td>
@endif @endif
<td>{{ $trabalho->proponente->user->name }}</td> <td>{{ $trabalho->proponente->user->name }}</td>
<td style="text-align:center"> <td style="text-align:center">
<button type="button" class="btn btn-primary" value="{{ $trabalho->id }}" id="atribuir1" data-toggle="modal" data-target="#exampleModalCenter{{ $trabalho->id }}"> <button type="button" class="btn btn-primary" value="{{ $trabalho->id }}" id="atribuir1" data-toggle="modal" data-target="#exampleModalCenter{{ $trabalho->id }}">
Atribuir Atribuir
</button> </button>
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="exampleModalCenter{{ $trabalho->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal fade" id="exampleModalCenter{{ $trabalho->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl" role="document"> <div class="modal-dialog modal-dialog-centered modal-xl" role="document">
<div class="modal-content modal-submeta"> <div class="modal-content modal-submeta">
<div class="modal-header modal-header-submeta"> <div class="modal-header modal-header-submeta">
<h5 class="modal-title titulo-table" id="exampleModalLongTitle">Selecione o(s) avaliador(es)</h5> <h5 class="modal-title titulo-table" id="exampleModalLongTitle">Selecione o(s) avaliador(es)</h5>
<div class="col-md-4" style="text-align: right"> <div class="col-md-4" style="text-align: right">
<button type="button" id="enviarConviteButton" class="btn btn-info" <button type="button" id="enviarConviteButton" class="btn btn-info"
data-toggle="modal" onclick="abrirModalConviteAval({{ $trabalho->id }})"> data-toggle="modal" onclick="abrirModalConviteAval({{ $trabalho->id }})">
Enviar Convites Enviar Convites
</button> </button>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="color: rgb(182, 182, 182)"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="color: rgb(182, 182, 182)">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="{{ route('admin.atribuicao.projeto') }}" method="POST"> <form action="{{ route('admin.atribuicao.projeto') }}" method="POST">
@csrf @csrf
<input type="hidden" name="trabalho_id" value="{{ $trabalho->id }}"> <input type="hidden" name="trabalho_id" value="{{ $trabalho->id }}">
<input type="hidden" name="evento_id" value="{{ $evento->id }}"> <input type="hidden" name="evento_id" value="{{ $evento->id }}">
<div class="form-group text-left"> <div class="form-group text-left">
<div class="row" style="margin-left: 2px;margin-bottom: 1px"> <div class="row" style="margin-left: 2px;margin-bottom: 1px">
<div class="col-md-4"> <div class="col-md-4">
<label for="exampleFormControlSelect2" <label for="exampleFormControlSelect2"
style="font-size: 16px;">Selecione o(s) avaliador(es) style="font-size: 16px;">Selecione o(s) avaliador(es)
para esse projeto</label> para esse projeto</label>
</div> </div>
<div class="col-md-3" <div class="col-md-3"
style="text-align: center;overflow-y: auto;overflow-x: auto"> style="text-align: center;overflow-y: auto;overflow-x: auto">
<select class="form-control" id="grandeArea" <select class="form-control" id="grandeArea"
name="grande_area_id" onchange="areasFiltro()"> name="grande_area_id" onchange="areasFiltro()">
<option value="" disabled selected hidden>-- Grande Área <option value="" disabled selected hidden>-- Grande Área
-- --
</option> </option>
@foreach($grandesAreas as $grandeArea) @foreach($grandesAreas as $grandeArea)
<option title="{{$grandeArea->nome}}" <option title="{{$grandeArea->nome}}"
value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option> value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option>
@endforeach @endforeach
</select> </select>
</div> </div>
<div class="col-md-2" <div class="col-md-2"
style="text-align: center;overflow-y: auto;overflow-x: auto"> style="text-align: center;overflow-y: auto;overflow-x: auto">
<input type="hidden" id="oldArea" value="{{ old('area') }}"> <input type="hidden" id="oldArea" value="{{ old('area') }}">
<select class="form-control @error('area') is-invalid @enderror" <select class="form-control @error('area') is-invalid @enderror"
id="area" name="area_id" id="area" name="area_id"
onchange="(consultaExterno(),consultaInterno())"> onchange="(consultaExterno(),consultaInterno())">
<option value="" disabled selected hidden>-- Área -- <option value="" disabled selected hidden>-- Área --
</option> </option>
</select> </select>
</div> </div>
<div class="col-sm-3" style="display:flex; align-items: end;"> <div class="col-sm-3" style="display:flex; align-items: end;">
<input type="text" class="form-control form-control-edit" placeholder="Nome do avaliador" onkeyup="buscar(this)" style="max-width: 200px;"> <img src="{{asset('img/icons/logo_lupa.png')}}" alt=""> <input type="text" class="form-control form-control-edit" placeholder="Nome do avaliador" onkeyup="buscar(this)" style="max-width: 200px;"> <img src="{{asset('img/icons/logo_lupa.png')}}" alt="">
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<label style="font-weight: bold;font-size: 18px">Internos</label> <label style="font-weight: bold;font-size: 18px">Internos</label>
</div> </div>
<input type="hidden" id="oldAvalInterno" <input type="hidden" id="oldAvalInterno"
value="{{ old('exampleFormControlSelect2') }}"> value="{{ old('exampleFormControlSelect2') }}">
<select name="avaliadores_internos_id[]" multiple <select name="avaliadores_internos_id[]" multiple
class="form-control" id="exampleFormControlSelect2" class="form-control" id="exampleFormControlSelect2"
style="height: 200px;font-size: 15px"> style="height: 200px;font-size: 15px">
@foreach ($trabalho->avaliadors as $avaliador) @foreach ($trabalho->avaliadors as $avaliador)
@if(($avaliador->tipo == "Interno" && $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == 1) || @if(($avaliador->tipo == "Interno" && $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == 1) ||
(($avaliador->user->instituicao == "UFAPE" || $avaliador->user->instituicao == "Universidade Federal do Agreste de Pernambuco") && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == 1) )) (($avaliador->user->instituicao == "UFAPE" || $avaliador->user->instituicao == "Universidade Federal do Agreste de Pernambuco") && ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null || $avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == 1) ))
<option value="{{ $avaliador->id }}">{{ $avaliador->user->name }} <option value="{{ $avaliador->id }}">{{ $avaliador->user->name }}
> {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}} > {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}}
> {{$avaliador->area->nome ?? 'Indefinida'}} > {{$avaliador->area->nome ?? 'Indefinida'}}
> {{$avaliador->user->email}}</option> > {{$avaliador->user->email}}</option>
@endif @endif
@endforeach @endforeach
@foreach ($trabalho->aval as $avaliador) @foreach ($trabalho->aval as $avaliador)
@if($avaliador->tipo == "Interno" || $avaliador->user->instituicao == "UFAPE" || $avaliador->user->instituicao == "Universidade Federal do Agreste de Pernambuco") @if($avaliador->tipo == "Interno" || $avaliador->user->instituicao == "UFAPE" || $avaliador->user->instituicao == "Universidade Federal do Agreste de Pernambuco")
<option value="{{ $avaliador->id }}"> {{ $avaliador->user->name }} <option value="{{ $avaliador->id }}"> {{ $avaliador->user->name }}
> {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}} > {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}}
> {{$avaliador->area->nome ?? 'Indefinida'}} > {{$avaliador->area->nome ?? 'Indefinida'}}
> {{$avaliador->user->email}}</option> > {{$avaliador->user->email}}</option>
@endif @endif
@endforeach @endforeach
</select> </select>
<div class="col-md-6"> <div class="col-md-6">
<label style="font-weight: bold;font-size: 18px"><i>Ad Hoc</i></label> <label style="font-weight: bold;font-size: 18px"><i>Ad Hoc</i></label>
</div> </div>
<input type="hidden" id="trab" value="{{$trabalho->id}}"> <input type="hidden" id="trab" value="{{$trabalho->id}}">
<input type="hidden" id="oldAvalExterno" <input type="hidden" id="oldAvalExterno"
value="{{ old('exampleFormControlSelect3') }}"> value="{{ old('exampleFormControlSelect3') }}">
<select name="avaliadores_externos_id[]" multiple <select name="avaliadores_externos_id[]" multiple
class="form-control" id="exampleFormControlSelect3" class="form-control" id="exampleFormControlSelect3"
style="height: 200px;font-size:15px"> style="height: 200px;font-size:15px">
@foreach ($trabalho->avaliadors as $avaliador) @foreach ($trabalho->avaliadors as $avaliador)
@if($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == 2 || ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null && $avaliador->tipo == "Interno")) @if($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == 2 || ($avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso == null && $avaliador->tipo == "Interno"))
<option value="{{ $avaliador->id }}">{{ $avaliador->user->name }} <option value="{{ $avaliador->id }}">{{ $avaliador->user->name }}
> {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}} > {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}}
> {{$avaliador->area->nome ?? 'Indefinida'}} > {{$avaliador->area->nome ?? 'Indefinida'}}
> {{$avaliador->user->email}}</option> > {{$avaliador->user->email}}</option>
@endif @endif
@endforeach @endforeach
@foreach ($trabalho->aval as $avaliador) @foreach ($trabalho->aval as $avaliador)
<option value="{{ $avaliador->id }}"> {{ $avaliador->user->name }} <option value="{{ $avaliador->id }}"> {{ $avaliador->user->name }}
> {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}} > {{$avaliador->user->instituicao ?? 'Instituição Indefinida'}}
> {{$avaliador->area->nome ?? 'Indefinida'}} > {{$avaliador->area->nome ?? 'Indefinida'}}
> {{$avaliador->user->email}}</option> > {{$avaliador->user->email}}</option>
@endforeach @endforeach
</select> </select>
<small id="emailHelp" class="form-text text-muted">Segure SHIFT do <small id="emailHelp" class="form-text text-muted">Segure SHIFT do
teclado para selecionar mais de um.</small> teclado para selecionar mais de um.</small>
</div> </div>
<div> <div>
<button type="submit" class="btn btn-info" style="width: 100%"> <button type="submit" class="btn btn-info" style="width: 100%">
Atribuir Atribuir
</button> </button>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</td> </td>
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
<!-- Modal enviar convite e atribuir --> <!-- Modal enviar convite e atribuir -->
<div class="modal fade" id="modalConviteAval" tabindex="-1" role="dialog" <div class="modal fade" id="modalConviteAval" tabindex="-1" role="dialog"
aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content modal-submeta"> <div class="modal-content modal-submeta">
<div class="modal-header modal-header-submeta"> <div class="modal-header modal-header-submeta">
<h5 class="modal-title titulo-table" id="exampleModalLongTitle" style="font-size: 20px;">Enviar <h5 class="modal-title titulo-table" id="exampleModalLongTitle" style="font-size: 20px;">Enviar
Convite</h5> Convite</h5>
<button type="button" class="close" onclick="fecharModalConvite()" aria-label="Close" <button type="button" class="close" onclick="fecharModalConvite()" aria-label="Close"
style="color: rgb(182, 182, 182)"> style="color: rgb(182, 182, 182)">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body" style="margin-left: 20px; margin-right: 20px;"> <div class="modal-body" style="margin-left: 20px; margin-right: 20px;">
<form action="{{ route('admin.convite.atribuicao.projeto') }}" method="POST" class="labels-blue" id="formConvite"> <form action="{{ route('admin.convite.atribuicao.projeto') }}" method="POST" class="labels-blue" id="formConvite">
@csrf @csrf
<input type="hidden" name="evento_id" value="{{ $evento->id }}"> <input type="hidden" name="evento_id" value="{{ $evento->id }}">
<input type="hidden" id="trabalho_id" name="trabalho_id" value="{{ $trabalho->id }}"> <input type="hidden" id="trabalho_id" name="trabalho_id" value="{{ $trabalho->id }}">
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Nome Completo<span style="color: red;">*</span></label> <label for="exampleInputEmail1">Nome Completo<span style="color: red;">*</span></label>
<input type="text" class="form-control" name="nomeAvaliador" id="exampleInputNome1" <input type="text" class="form-control" name="nomeAvaliador" id="exampleInputNome1"
required> required>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Email <span style="color: red;">*</span></label> <label for="exampleInputEmail1">Email <span style="color: red;">*</span></label>
<input type="email" class="form-control" name="emailAvaliador" id="exampleInputEmail1" <input type="email" class="form-control" name="emailAvaliador" id="exampleInputEmail1"
required> required>
</div> </div>
@if($evento->natureza_id != 3) @if($evento->natureza_id != 3)
<div class="form-group"> <div class="form-group">
<label for="grandeArea" class="col-form-label">{{ __('Grande Área') }} <span <label for="grandeArea" class="col-form-label">{{ __('Grande Área') }} <span
style="color: red; font-weight:bold">*</span></label> style="color: red; font-weight:bold">*</span></label>
<select class="form-control" id="grandeAreaConvite" name="grande_area_id" onchange="areas()" <select class="form-control" id="grandeAreaConvite" name="grande_area_id" onchange="areas()"
required> required>
<option value="" disabled selected hidden>-- Grande Área --</option> <option value="" disabled selected hidden>-- Grande Área --</option>
@foreach($grandesAreas as $grandeArea) @foreach($grandesAreas as $grandeArea)
<option value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option> <option value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option>
@endforeach @endforeach
</select> </select>
<label for="area" class="col-form-label">{{ __('Área') }} <span <label for="area" class="col-form-label">{{ __('Área') }} <span
style="color: red; font-weight:bold">*</span></label> style="color: red; font-weight:bold">*</span></label>
<select class="form-control @error('area') is-invalid @enderror" id="areaConvite" <select class="form-control @error('area') is-invalid @enderror" id="areaConvite"
name="area_id" required> name="area_id" required>
<option value="" disabled selected hidden>-- Área --</option> <option value="" disabled selected hidden>-- Área --</option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="exampleFormControlSelect1">Tipo</label> <label for="exampleFormControlSelect1">Tipo</label>
<select class="form-control" name="tipo" id="exampleFormControlSelect1" disabled> <select class="form-control" name="tipo" id="exampleFormControlSelect1" disabled>
<option value="avaliador">Avaliador</option> <option value="avaliador">Avaliador</option>
</select> </select>
</div> </div>
@else @else
<div class="form-group"> <div class="form-group">
<label for="areasTemeticas" class="col-form-label">{{ __('Áreas Temáticas') }}<span style="color: red; font-weight:bold">*</span></label> <label for="areasTemeticas" class="col-form-label">{{ __('Áreas Temáticas') }}<span style="color: red; font-weight:bold">*</span></label>
<select class="form-control" id="areaTematicaConvite" style="width: 425px" name="areasTemeticas[]" multiple="multiple" required> <select class="form-control" id="areaTematicaConvite" style="width: 425px" name="areasTemeticas[]" multiple="multiple" required>
@foreach($areasTematicas as $areaTematica) @foreach($areasTematicas as $areaTematica)
<option value="{{$areaTematica->id}}">{{$areaTematica->nome}}</option> <option value="{{$areaTematica->id}}">{{$areaTematica->nome}}</option>
@endforeach @endforeach
</select> </select>
</div> </div>
@endif @endif
@if($evento->natureza_id != 3) @if($evento->natureza_id != 3)
<div class="form-group"> <div class="form-group">
<label for="exampleFormControlSelect1">Instituição <span <label for="exampleFormControlSelect1">Instituição <span
style="color: red; font-weight:bold">*</span></label> style="color: red; font-weight:bold">*</span></label>
<select class="form-control" name="instituicao" id="membro" required <select class="form-control" name="instituicao" id="membro" required
onchange="mostrarDiv(this)"> onchange="mostrarDiv(this)">
<option value="" disabled>-- Selecione a instituição --</option> <option value="" disabled>-- Selecione a instituição --</option>
<option value="ufape">Universidade Federal do Agreste de Pernambuco</option> <option value="ufape">Universidade Federal do Agreste de Pernambuco</option>
<option value="outra">Outra</option> <option value="outra">Outra</option>
</select> </select>
</div> </div>
@endif @endif
<div class="form-group" id="div-outra" <div class="form-group" id="div-outra"
style="@if(old('instituicao') != null && old('instituicao') == "outra") display: block; @else display: none; @endif"> style="@if(old('instituicao') != null && old('instituicao') == "outra") display: block; @else display: none; @endif">
<label for="outra">{{ __('Digite o nome da instituição') }}<span <label for="outra">{{ __('Digite o nome da instituição') }}<span
style="color: red; font-weight: bold;"> *</span></label> style="color: red; font-weight: bold;"> *</span></label>
<input id="outra" class="form-control @error('outra') is-invalid @enderror" type="text" <input id="outra" class="form-control @error('outra') is-invalid @enderror" type="text"
name="outra" value="{{old('outra')}}" autocomplete="outra" name="outra" value="{{old('outra')}}" autocomplete="outra"
placeholder="Universidade Federal ..."> placeholder="Universidade Federal ...">
@error('outra') @error('outra')
<div id="validationServer03Feedback" class="invalid-feedback"> <div id="validationServer03Feedback" class="invalid-feedback">
{{ $message }} {{ $message }}
</div> </div>
@enderror @enderror
</div> </div>
<div class="form-group" style="margin-top: 40px; margin-bottom: 40px;"> <div class="form-group" style="margin-top: 40px; margin-bottom: 40px;">
<button type="submit" class="btn btn-info" style="width: 100%">Enviar</button> <button type="submit" class="btn btn-info" style="width: 100%">Enviar</button>
</div> </div>
<div class="form-group texto-info"> <div class="form-group texto-info">
O convite será enviador por e-mail e o preenchimento dos dados será de inteira O convite será enviador por e-mail e o preenchimento dos dados será de inteira
responsabilidade do usuário convidado. responsabilidade do usuário convidado.
</div> </div>
</form> </form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection
@section('javascript') @section('javascript')
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="text/javascript"> <script type="text/javascript">
$("#areaTematicaConvite").select2({ $("#areaTematicaConvite").select2({
placeholder: 'Selecione as áreas temáticas', placeholder: 'Selecione as áreas temáticas',
allowClear: true allowClear: true
}); });
</script> </script>
<script> <script>
$('#myModal').on('shown.bs.modal', function () { $('#myModal').on('shown.bs.modal', function () {
$('#myInput').trigger('focus') $('#myInput').trigger('focus')
}); });
function buscar(input) { function buscar(input) {
var editais = document.getElementById('projetos').children; var editais = document.getElementById('projetos').children;
if(input.value.length > 2) { if(input.value.length > 2) {
for(var i = 0; i < editais.length; i++) { for(var i = 0; i < editais.length; i++) {
var nomeEvento = editais[i].children[0].textContent; var nomeEvento = editais[i].children[0].textContent;
if(nomeEvento.substr(0).indexOf(input.value) >= 0) { if(nomeEvento.substr(0).indexOf(input.value) >= 0) {
editais[i].style.display = ""; editais[i].style.display = "";
} else { } else {
editais[i].style.display = "none"; editais[i].style.display = "none";
} }
} }
} else { } else {
for(var i = 0; i < editais.length; i++) { for(var i = 0; i < editais.length; i++) {
editais[i].style.display = ""; editais[i].style.display = "";
} }
} }
} }
function abrirModalConviteAval(id) { function abrirModalConviteAval(id) {
// fechar modeal e abrir 2o modal // fechar modeal e abrir 2o modal
console.log(id); console.log(id);
$("#exampleModalCenter"+id).modal('toggle'); $("#exampleModalCenter"+id).modal('toggle');
$("#trabalho_id").val(id); $("#trabalho_id").val(id);
setTimeout(() => { setTimeout(() => {
$("#modalConviteAval").modal(); $("#modalConviteAval").modal();
}, 500); }, 500);
$('#modalConviteAval').focus(); $('#modalConviteAval').focus();
} }
function fecharModalConvite(){ function fecharModalConvite(){
$("#modalConviteAval").modal('toggle'); $("#modalConviteAval").modal('toggle');
} }
function areas() { function areas() {
var grandeArea = $('#grandeAreaConvite').val(); var grandeArea = $('#grandeAreaConvite').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('area.consulta') }}', url: '{{ route('area.consulta') }}',
data: 'id=' + grandeArea, data: 'id=' + grandeArea,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados) => { success: (dados) => {
if (dados.length > 0) { if (dados.length > 0) {
if ($('#oldArea').val() == null || $('#oldArea').val() == "") { if ($('#oldArea').val() == null || $('#oldArea').val() == "") {
var option = '<option selected disabled>-- Área --</option>'; var option = '<option selected disabled>-- Área --</option>';
} }
$.each(dados, function (i, obj) { $.each(dados, function (i, obj) {
if ($('#oldArea').val() != null && $('#oldArea').val() == obj.id) { if ($('#oldArea').val() != null && $('#oldArea').val() == obj.id) {
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
} else { } else {
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Área --</option>"; var option = "<option selected disabled>-- Área --</option>";
} }
$('#areaConvite').html(option).show(); $('#areaConvite').html(option).show();
}, },
error: (data) => { error: (data) => {
console.log(data); console.log(data);
} }
}) })
} }
function mostrarDiv(select) { function mostrarDiv(select) {
if (select.value == "outra") { if (select.value == "outra") {
document.getElementById('div-outra').style.display = "block"; document.getElementById('div-outra').style.display = "block";
$("#outra").prop('required', true); $("#outra").prop('required', true);
} else if (select.value == "ufape") { } else if (select.value == "ufape") {
document.getElementById('div-outra').style.display = "none"; document.getElementById('div-outra').style.display = "none";
$("#outra").prop('required', false); $("#outra").prop('required', false);
} }
} }
</script> </script>
@endsection @endsection
<div class="col-md-12" style="margin-top: 20px"> <div class="col-md-12" style="margin-top: 20px">
<div class="card" style="border-radius: 5px"> <div class="card" style="border-radius: 5px">
<div class="card-body" style="padding-top: 0.2rem;"> <div class="card-body" style="padding-top: 0.2rem;">
<div class="container"> <div class="container">
<div class="form-row mt-3"> <div class="form-row mt-3">
<div class="col-md-11"> <div class="col-md-11">
<h5 style="color: #234B8B; font-weight: bold">Adicionar Integrante(s)</h5> <h5 style="color: #234B8B; font-weight: bold">Adicionar Integrante(s)</h5>
</div> </div>
<div class="col-md-1 text-sm-right"> <div class="col-md-1 text-sm-right">
<a type="button" value="{{ $edital->id }}" id="atribuir1" data-toggle="modal" data-target="#modalIntegrante"> <a type="button" value="{{ $edital->id }}" id="atribuir1" data-toggle="modal" data-target="#modalIntegrante">
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt=""> <img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt="">
</a> </a>
</div> </div>
</div> </div>
<hr style="border-top: 1px solid#1492E6"> <hr style="border-top: 1px solid#1492E6">
<div class="row" id="integrante"> <div class="row" id="integrante">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- MODAL --> <!-- MODAL -->
<div class="modal fade" id="modalIntegrante" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="modalIntegrante" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl"> <div class="modal-dialog modal-dialog-centered modal-xl">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Adicionar Integrante</h5> <h5 class="modal-title" id="exampleModalLabel">Adicionar Integrante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="form-row" style="padding: 30px;"> <div class="form-row" style="padding: 30px;">
<div class="col-md-8"> <div class="col-md-8">
<label for="cpf_consulta">CPF:</label> <label for="cpf_consulta">CPF:</label>
<input type="text" id="cpf_consulta" name="cpf_consulta" class="form-control" onkeyup="mask_cpf();"> <input type="text" id="cpf_consulta" name="cpf_consulta" class="form-control" onkeyup="mask_cpf();">
</div> </div>
<div class="col-md-4 mt-4"> <div class="col-md-4 mt-4">
<button type="button" class="btn btn-primary" onclick="preencherUsuarioExistente()">Adicionar</button> <button type="button" class="btn btn-primary" onclick="preencherUsuarioExistente()">Adicionar</button>
</div> </div>
</div> </div>
<div class="form-row" style="padding: 0px 30px 30px 30px;"> <div class="form-row" style="padding: 0px 30px 30px 30px;">
<label for="funcao_participante">Função do Participante:</label> <label for="funcao_participante">Função do Participante:</label>
<select name="" id="funcao_participante" class="form-control"> <select name="" id="funcao_participante" class="form-control">
@foreach($funcaoParticipantes as $funcao) @foreach($funcaoParticipantes as $funcao)
<option value="{{$funcao->id}}">{{ $funcao->nome }}</option> <option value="{{$funcao->id}}">{{ $funcao->nome }}</option>
@endforeach @endforeach
</select> </select>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- MODAL DE ERRO --> <!-- MODAL DE ERRO -->
<div class="modal fade" id="aviso-modal-usuario-nao-existe" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="aviso-modal-usuario-nao-existe" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: #dc3545;"> <div class="modal-header" style="background-color: #dc3545;">
<h5 class="modal-title" id="exampleModalLabel" style="color: white;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel" style="color: white;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
CPF não consta no sistema! CPF não consta no sistema!
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary btn-color-dafault" data-dismiss="modal">Ok</button> <button type="button" class="btn btn-secondary btn-color-dafault" data-dismiss="modal">Ok</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="aviso-modal-usuario-adicionado" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="aviso-modal-usuario-adicionado" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: #32CD32;"> <div class="modal-header" style="background-color: #32CD32;">
<h5 class="modal-title" id="exampleModalLabel" style="color: white;">Sucesso!</h5> <h5 class="modal-title" id="exampleModalLabel" style="color: white;">Sucesso!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
Integrante adicionado com sucesso Integrante adicionado com sucesso
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-primary btn-color-dafault" data-dismiss="modal">Ok</button> <button type="button" class="btn btn-primary btn-color-dafault" data-dismiss="modal">Ok</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script> <script>
function mask_cpf() { function mask_cpf() {
$("#cpf_consulta").keydown(function(){ $("#cpf_consulta").keydown(function(){
try { try {
$("#cpf_consulta").unmask(); $("#cpf_consulta").unmask();
} catch (e) {} } catch (e) {}
$("#cpf_consulta").mask("999.999.999-99"); $("#cpf_consulta").mask("999.999.999-99");
// ajustando foco // ajustando foco
var elem = this; var elem = this;
setTimeout(function(){ setTimeout(function(){
// mudo a posição do seletor // mudo a posição do seletor
elem.selectionStart = elem.selectionEnd = 10000; elem.selectionStart = elem.selectionEnd = 10000;
}, 0); }, 0);
// reaplico o valor para mudar o foco // reaplico o valor para mudar o foco
var currentValue = $(this).val(); var currentValue = $(this).val();
$(this).val(''); $(this).val('');
$(this).val(currentValue); $(this).val(currentValue);
}); });
} }
function removerIntegrante(id) { function removerIntegrante(id) {
$(`#integrante${id}`).remove() $(`#integrante${id}`).remove()
} }
function preencherUsuarioExistente() { function preencherUsuarioExistente() {
$.ajaxSetup({ $.ajaxSetup({
headers: { headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
} }
}); });
$.ajax({ $.ajax({
url: '{{ route('trabalho.buscarUsuario') }}', url: '{{ route('trabalho.buscarUsuario') }}',
type: 'POST', type: 'POST',
dataType: 'json', dataType: 'json',
data: { data: {
'cpf_consulta': $('#cpf_consulta').val(), 'cpf_consulta': $('#cpf_consulta').val(),
'funcao': $('#funcao_participante').val() 'funcao': $('#funcao_participante').val()
}, },
success: function (data) { success: function (data) {
if(data == 'inexistente' || $('#cpf_consulta').val() == ""){ if(data == 'inexistente' || $('#cpf_consulta').val() == ""){
exibirModalUsuarioInexistente(); exibirModalUsuarioInexistente();
}else { }else {
exibirUsuarioAdicionado(); exibirUsuarioAdicionado();
$('#integrante').append(` $('#integrante').append(`
<div id="integrante${data[0]['id']}" class="col-md-6"> <div id="integrante${data[0]['id']}" class="col-md-6">
<div class="row"> <div class="row">
<input name="integrantes[]" type="text" value="${data[0]['id']},${$('#funcao_participante').val()}" hidden> <input name="integrantes[]" type="text" value="${data[0]['id']},${$('#funcao_participante').val()}" hidden>
<div class="col-md-2" style="display: flex; align-items: center;"> <div class="col-md-2" style="display: flex; align-items: center;">
<img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt=""> <img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt="">
</div> </div>
<div class="col-md-4 mb-1"> <div class="col-md-4 mb-1">
<strong>Nome:</strong> ${data[0]['name']} <strong>Nome:</strong> ${data[0]['name']}
<strong>CPF:</strong> ${data[0]['cpf']} <strong>CPF:</strong> ${data[0]['cpf']}
<strong>Função:</strong> ${data[1]['nome']} <strong>Função:</strong> ${data[1]['nome']}
<button type="button" class="btn btn-danger" onclick="removerIntegrante(${data[0]['id']})">Remover</button> <button type="button" class="btn btn-danger" onclick="removerIntegrante(${data[0]['id']})">Remover</button>
</div> </div>
</div> </div>
</div> </div>
`) `)
} }
} }
}); });
} }
function exibirModalUsuarioInexistente() { function exibirModalUsuarioInexistente() {
$('#aviso-modal-usuario-nao-existe').modal('show'); $('#aviso-modal-usuario-nao-existe').modal('show');
} }
function exibirUsuarioAdicionado() { function exibirUsuarioAdicionado() {
$('#aviso-modal-usuario-adicionado').modal('show');; $('#aviso-modal-usuario-adicionado').modal('show');;
} }
</script> </script>
\ No newline at end of file
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div> <div>
{{-- action="{{route('trabalho.store')}}" --}} {{-- action="{{route('trabalho.store')}}" --}}
<form method="POST" id="criarProjetoForm" action="{{route('trabalho.store')}}" enctype="multipart/form-data" > <form method="POST" id="criarProjetoForm" action="{{route('trabalho.store')}}" enctype="multipart/form-data" >
@csrf @csrf
<input type="hidden" name="editalId" value="{{$edital->id}}"> <input type="hidden" name="editalId" value="{{$edital->id}}">
<div class="container"> <div class="container">
<div class="row justify-content-center" style="margin-top: 35px"> <div class="row justify-content-center" style="margin-top: 35px">
@include('evento.formulario.projeto') @include('evento.formulario.projeto')
@include('evento.formulario.proponente') @include('evento.formulario.proponente')
@include('evento.formulario.participantes') @include('evento.formulario.participantes')
@if($edital->natureza_id == 3) @if($edital->natureza_id == 3)
@include('evento.formulario.integrantes') @include('evento.formulario.integrantes')
@endif @endif
@include('evento.formulario.anexos') @include('evento.formulario.anexos')
@include('evento.formulario.finalizar') @include('evento.formulario.finalizar')
<style> <style>
.col-form-label { .col-form-label {
font-size: 15.5px; font-size: 15.5px;
} }
</style> </style>
</div> </div>
</div> </div>
</form> </form>
<div id="participanteFirst" > <div id="participanteFirst" >
@component('componentes.participante', ['enum_turno' => $enum_turno,'estados' => $estados, ]) @component('componentes.participante', ['enum_turno' => $enum_turno,'estados' => $estados, ])
@endcomponent @endcomponent
</div> </div>
<!-- Modal de Aviso Edit --> <!-- Modal de Aviso Edit -->
<div class="modal fade" id="exampleModalAnexarDocumento" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true"> <div class="modal fade" id="exampleModalAnexarDocumento" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" id="idCorCabecalhoModalDocumento"> <div class="modal-header" id="idCorCabecalhoModalDocumento">
<h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row">
<div class="col-12" style="font-family: 'Roboto', sans-serif;"><label id="idTituloDaMensagemModalDocumento"></label></div> <div class="col-12" style="font-family: 'Roboto', sans-serif;"><label id="idTituloDaMensagemModalDocumento"></label></div>
<div class="col-12" style="font-family: 'Roboto', sans-serif; margin-top:10px;"> <div class="col-12" style="font-family: 'Roboto', sans-serif; margin-top:10px;">
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-light" data-dismiss="modal"style="width:200px;">Fechar</button> <button type="button" class="btn btn-light" data-dismiss="modal"style="width:200px;">Fechar</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="modalCpfInvalido" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true"> <div class="modal fade" id="modalCpfInvalido" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: red;"> <div class="modal-header" style="background-color: red;">
<h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
Existe um CPF inválido em um dos discentes por favor corrija para continuar. Existe um CPF inválido em um dos discentes por favor corrija para continuar.
</div> </div>
{{-- <div class="modal-footer"> {{-- <div class="modal-footer">
{{-- <button type="button" class="btn btn-secondary"></button> {{-- <button type="button" class="btn btn-secondary"></button>
{{-- <button type="button" class="btn btn-primary">Certo</button> {{-- <button type="button" class="btn btn-primary">Certo</button>
</div> --}} </div> --}}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection
@section('javascript') @section('javascript')
<script> <script>
let buttonSubmit = document.getElementById('idButtonSubmitProjeto'); let buttonSubmit = document.getElementById('idButtonSubmitProjeto');
let buttonRascunho = document.getElementById('idButtonSubmitRascunho'); let buttonRascunho = document.getElementById('idButtonSubmitRascunho');
let parts = document.getElementById('participante'); let parts = document.getElementById('participante');
let partsFirst = document.getElementById('participanteFirst'); let partsFirst = document.getElementById('participanteFirst');
const participante = partsFirst.firstElementChild; const participante = partsFirst.firstElementChild;
let contador = 0; let contador = 0;
buttonSubmit.addEventListener('click', (e)=>{ buttonSubmit.addEventListener('click', (e)=>{
$('.collapse').addClass('show') $('.collapse').addClass('show')
}) })
buttonRascunho.addEventListener('click', (e)=>{ buttonRascunho.addEventListener('click', (e)=>{
$('.collapse').addClass('show') $('.collapse').addClass('show')
const input = '<input id="input_rascunho" type="hidden" name="rascunho" value="true">'; const input = '<input id="input_rascunho" type="hidden" name="rascunho" value="true">';
$("#criarProjetoForm").append(input); $("#criarProjetoForm").append(input);
}) })
function gerarPeriodo(e){ function gerarPeriodo(e){
var select = e.parentElement.parentElement.nextElementSibling; var select = e.parentElement.parentElement.nextElementSibling;
selectPeriodos = select.children[0].children[1]; selectPeriodos = select.children[0].children[1];
var html = `<option value="" disabled selected>-- TOTAL DE PERÍODOS --</option>`; var html = `<option value="" disabled selected>-- TOTAL DE PERÍODOS --</option>`;
for(var i = 0; i < parseInt(e.value); i++) { for(var i = 0; i < parseInt(e.value); i++) {
html += `<option value="${i+1}">${i+1}º</option>`; html += `<option value="${i+1}">${i+1}º</option>`;
} }
$(selectPeriodos).html(''); $(selectPeriodos).html('');
$(selectPeriodos).append(html); $(selectPeriodos).append(html);
} }
function removerPart(e){ function removerPart(e){
console.log(e) console.log(e)
if(e.parentElement.parentElement){ if(e.parentElement.parentElement){
if(parts.children.length <= 1){ if(parts.children.length <= 1){
}else{ }else{
parts.removeChild(e.parentElement.parentElement); parts.removeChild(e.parentElement.parentElement);
//contador--; //contador--;
} }
} }
} }
buttonMais.addEventListener("click", (e) => { buttonMais.addEventListener("click", (e) => {
if(parts.children.length >= "{{ $edital->numParticipantes }}"){ if(parts.children.length >= "{{ $edital->numParticipantes }}"){
alert('Limite de participante.') alert('Limite de participante.')
}else{ }else{
contador++; contador++;
var cln = participante.cloneNode(true); var cln = participante.cloneNode(true);
cln.setAttribute('style', " "); cln.setAttribute('style', " ");
var id = cln.children[2].firstElementChild.id; var id = cln.children[2].firstElementChild.id;
var id2 = cln.children[0].firstElementChild.id; var id2 = cln.children[0].firstElementChild.id;
cln.children[2].firstElementChild.setAttribute('id', id + contador); cln.children[2].firstElementChild.setAttribute('id', id + contador);
cln.children[0].firstElementChild.setAttribute('href', "#collapseParticipante" + contador); cln.children[0].firstElementChild.setAttribute('href', "#collapseParticipante" + contador);
cln.children[0].firstElementChild.setAttribute('id', id2 + contador); cln.children[0].firstElementChild.setAttribute('id', id2 + contador);
for (i = 0; i < cln.children.length; i++) { for (i = 0; i < cln.children.length; i++) {
for (let index = 0; index < cln.children[i].querySelectorAll('input').length; index++) { for (let index = 0; index < cln.children[i].querySelectorAll('input').length; index++) {
let input = cln.children[i].querySelectorAll('input')[index]; let input = cln.children[i].querySelectorAll('input')[index];
let name = input.getAttributeNode("name").value; let name = input.getAttributeNode("name").value;
name = name.replace("[]", ""); name = name.replace("[]", "");
input.getAttributeNode("name").value = name + '['+ contador +']'; input.getAttributeNode("name").value = name + '['+ contador +']';
let select = cln.children[i].querySelectorAll('select')[index]; let select = cln.children[i].querySelectorAll('select')[index];
if(select){ if(select){
let selectName = select.getAttributeNode("name").value; let selectName = select.getAttributeNode("name").value;
selectName = selectName.replace("[", ""); selectName = selectName.replace("[", "");
selectName = selectName.replace("]", ""); selectName = selectName.replace("]", "");
select.getAttributeNode("name").value = selectName + '['+ contador +']'; select.getAttributeNode("name").value = selectName + '['+ contador +']';
} }
} }
} }
var SPMaskBehavior = function (val) { var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
}, },
spOptions = { spOptions = {
onKeyPress: function(val, e, field, options) { onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options); field.mask(SPMaskBehavior.apply({}, arguments), options);
} }
}; };
parts.appendChild(cln); parts.appendChild(cln);
$("input.cpf:text").val("").mask("000.000.000-00"); $("input.cpf:text").val("").mask("000.000.000-00");
$("input.celular:text").val("").mask(SPMaskBehavior, spOptions); $("input.celular:text").val("").mask(SPMaskBehavior, spOptions);
$("input.cep:text").val("").mask("00000-000"); $("input.cep:text").val("").mask("00000-000");
} }
}); });
$("input.rg:text").mask('00.000.000-0'); $("input.rg:text").mask('00.000.000-0');
function marcar(id){ function marcar(id){
let nome = document.getElementById("nome"+id); let nome = document.getElementById("nome"+id);
let linkNome = document.getElementById("nomePart"+(id+1)); let linkNome = document.getElementById("nomePart"+(id+1));
let nomePlano = document.getElementById("nomePlano"+(id+1)); let nomePlano = document.getElementById("nomePlano"+(id+1));
let linkTituloProj = document.getElementById("tituloProj"+(id+1)); let linkTituloProj = document.getElementById("tituloProj"+(id+1));
let planoTrabalho = document.getElementById("nomePlanoTrabalho"+id); let planoTrabalho = document.getElementById("nomePlanoTrabalho"+id);
if(nome.value != ""){ if(nome.value != ""){
if(planoTrabalho.value != ""){ if(planoTrabalho.value != ""){
nomePlano.innerText = `Nome: ${nome.value} \n Plano: ${planoTrabalho.value}`; nomePlano.innerText = `Nome: ${nome.value} \n Plano: ${planoTrabalho.value}`;
}else { }else {
nomePlano.innerText = `Nome: ${nome.value}`; nomePlano.innerText = `Nome: ${nome.value}`;
} }
}else{ }else{
nomePlano.innerText = `Discente `+(id+1); nomePlano.innerText = `Discente `+(id+1);
} }
if(id >=1){ if(id >=1){
document.getElementById("cancelar"+(id-1)).setAttribute("disabled", true); document.getElementById("cancelar"+(id-1)).setAttribute("disabled", true);
} }
document.getElementById("checkB"+id).checked = true; document.getElementById("checkB"+id).checked = true;
$("#atribuir1").attr('data-target','#exampleModal'+(id+1)); $("#atribuir1").attr('data-target','#exampleModal'+(id+1));
document.getElementById("part"+id).removeAttribute("hidden"); document.getElementById("part"+id).removeAttribute("hidden");
document.getElementById("exampleModal"+id).modal('hide'); document.getElementById("exampleModal"+id).modal('hide');
} }
function desmarcar(id){ function desmarcar(id){
if(id >= 1){; if(id >= 1){;
document.getElementById("cancelar"+(id-1)).removeAttribute("disabled"); document.getElementById("cancelar"+(id-1)).removeAttribute("disabled");
} }
document.getElementById("checkB"+id).checked = false; document.getElementById("checkB"+id).checked = false;
document.getElementById("part"+id).setAttribute("hidden",true); document.getElementById("part"+id).setAttribute("hidden",true);
$("#atribuir1").attr('data-target','#exampleModal'+(id)); $("#atribuir1").attr('data-target','#exampleModal'+(id));
document.getElementById("exampleModal"+id).modal('hide'); document.getElementById("exampleModal"+id).modal('hide');
} }
</script> </script>
<script> <script>
$( document ).ready( function () { $( document ).ready( function () {
$('#nomeParticipante').keyup(function () { $('#nomeParticipante').keyup(function () {
$('#display').text($(this).val()); $('#display').text($(this).val());
if($('#nomeParticipante').val() == ""){ if($('#nomeParticipante').val() == ""){
$('#display').hide(); $('#display').hide();
$('#pontos').hide(); $('#pontos').hide();
}else{ }else{
$('#display').show(); $('#display').show();
$('#pontos').show(); $('#pontos').show();
} }
}); });
$.validator.addMethod("alpha", function(value, element) { $.validator.addMethod("alpha", function(value, element) {
return this.optional(element) || value == value.match(/^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+$/); return this.optional(element) || value == value.match(/^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+$/);
}); });
$('input.cep:text').mask('00000-000'); $('input.cep:text').mask('00000-000');
$('input.cpf:text').mask('000.000.000-00'); $('input.cpf:text').mask('000.000.000-00');
$('.numero').mask('0000000000000'); $('.numero').mask('0000000000000');
var SPMaskBehavior = function (val) { var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
}, },
spOptions = { spOptions = {
onKeyPress: function(val, e, field, options) { onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options); field.mask(SPMaskBehavior.apply({}, arguments), options);
} }
}; };
$('.celular').mask(SPMaskBehavior, spOptions); $('.celular').mask(SPMaskBehavior, spOptions);
$('.sus').mask('000 0000 0000 0000'); $('.sus').mask('000 0000 0000 0000');
$("input[type='file']").on("change", function () { $("input[type='file']").on("change", function () {
if(this.files[0].size > 2000000) { if(this.files[0].size > 2000000) {
// console.log($(this).parents( ".col-sm-5" )) // console.log($(this).parents( ".col-sm-5" ))
alert("O tamanho do arquivo deve ser menor que 2MB!"); alert("O tamanho do arquivo deve ser menor que 2MB!");
$(this).val(''); $(this).val('');
} }
}); });
// $.validator.setDefaults( { // $.validator.setDefaults( {
// submitHandler: function (form) { // submitHandler: function (form) {
// form.submit(); // form.submit();
// } // }
// } ); // } );
// jQuery.extend(jQuery.validator.messages, { // jQuery.extend(jQuery.validator.messages, {
// required: "Este campo &eacute; requerido.", // required: "Este campo &eacute; requerido.",
// remote: "Por favor, corrija este campo.", // remote: "Por favor, corrija este campo.",
// email: "Por favor, forne&ccedil;a um endere&ccedil;o eletr&ocirc;nico v&aacute;lido.", // email: "Por favor, forne&ccedil;a um endere&ccedil;o eletr&ocirc;nico v&aacute;lido.",
// url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.", // url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.",
// date: "Por favor, forne&ccedil;a uma data v&aacute;lida.", // date: "Por favor, forne&ccedil;a uma data v&aacute;lida.",
// dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).", // dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).",
// number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.", // number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.",
// digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.", // digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.",
// creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.", // creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.",
// equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.", // equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.",
// accept: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.", // accept: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.",
// maxlength: jQuery.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."), // maxlength: jQuery.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."),
// minlength: jQuery.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."), // minlength: jQuery.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."),
// rangelength: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."), // rangelength: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."),
// range: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."), // range: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."),
// max: jQuery.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."), // max: jQuery.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."),
// min: jQuery.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}.") // min: jQuery.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}.")
// }); // });
// $( "#criarProjetoForm" ).validate( { // $( "#criarProjetoForm" ).validate( {
// lang: 'PT_BR', // lang: 'PT_BR',
// rules: { // rules: {
// firstname: "required", // firstname: "required",
// username: { // username: {
// required: true, // required: true,
// minlength: 2 // minlength: 2
// }, // },
// password: { // password: {
// required: true, // required: true,
// minlength: 5 // minlength: 5
// }, // },
// confirm_password: { // confirm_password: {
// required: true, // required: true,
// minlength: 5, // minlength: 5,
// equalTo: "#password" // equalTo: "#password"
// }, // },
// email: { // email: {
// required: true, // required: true,
// email: true, // email: true,
// }, // },
// "complemento[]":{ // "complemento[]":{
// }, // },
// "nomeParticipante[]":{ // "nomeParticipante[]":{
// alpha:true, // alpha:true,
// }, // },
// 'rg[]':{ // 'rg[]':{
// maxlength: 12, // maxlength: 12,
// }, // },
// agree: "required" // agree: "required"
// }, // },
// messages: { // messages: {
// // nomeProjeto: "O nome do projeto é obrigatório.", // // nomeProjeto: "O nome do projeto é obrigatório.",
// // 'emailParticipante[]': "Este campo é obrigatório.", // // 'emailParticipante[]': "Este campo é obrigatório.",
// // 'data_de_nascimento[]': "Este campo é obrigatório.", // // 'data_de_nascimento[]': "Este campo é obrigatório.",
// // 'cpf[]': "Este campo é obrigatório.", // // 'cpf[]': "Este campo é obrigatório.",
// // 'rg[]': { // // 'rg[]': {
// // required: "Este campo é obrigatório.", // // required: "Este campo é obrigatório.",
// // maxlength: "Este campo deve conter no máximo 8 números." // // maxlength: "Este campo deve conter no máximo 8 números."
// // }, // // },
// // 'celular[]': "Este campo é obrigatório.", // // 'celular[]': "Este campo é obrigatório.",
// // 'cep[]': "Este campo é obrigatório.", // // 'cep[]': "Este campo é obrigatório.",
// // 'uf[]': "Este campo é obrigatório.", // // 'uf[]': "Este campo é obrigatório.",
// // 'cidade[]': "Este campo é obrigatório.", // // 'cidade[]': "Este campo é obrigatório.",
// // 'bairro[]': "Este campo é obrigatório.", // // 'bairro[]': "Este campo é obrigatório.",
// // 'rua[]': "Este campo é obrigatório.", // // 'rua[]': "Este campo é obrigatório.",
// // 'numero[]': "Este campo é obrigatório.", // // 'numero[]': "Este campo é obrigatório.",
// // 'complemento[]': "Este campo é obrigatório.", // // 'complemento[]': "Este campo é obrigatório.",
// // 'universidade[]': "Este campo é obrigatório.", // // 'universidade[]': "Este campo é obrigatório.",
// // 'curso[]': "Este campo é obrigatório.", // // 'curso[]': "Este campo é obrigatório.",
// // 'turno[]': "Este campo é obrigatório.", // // 'turno[]': "Este campo é obrigatório.",
// // 'total_periodos[]': "Este campo é obrigatório.", // // 'total_periodos[]': "Este campo é obrigatório.",
// // 'periodo_atual[]': "Este campo é obrigatório.", // // 'periodo_atual[]': "Este campo é obrigatório.",
// // 'ordem_prioridade[]': "Este campo é obrigatório.", // // 'ordem_prioridade[]': "Este campo é obrigatório.",
// // 'media_geral_curso[]': "Este campo é obrigatório.", // // 'media_geral_curso[]': "Este campo é obrigatório.",
// // 'nomePlanoTrabalho[]': "Este campo é obrigatório.", // // 'nomePlanoTrabalho[]': "Este campo é obrigatório.",
// // 'anexoPlanoTrabalho[]': "Este campo é obrigatório.", // // 'anexoPlanoTrabalho[]': "Este campo é obrigatório.",
// // grandeArea: "Escolha uma grande área.", // // grandeArea: "Escolha uma grande área.",
// // area: "Escolha uma área.", // // area: "Escolha uma área.",
// // linkGrupo: "Este campo é obrigatório.", // // linkGrupo: "Este campo é obrigatório.",
// // pontuacaoPlanilha: "Este campo é obrigatório.", // // pontuacaoPlanilha: "Este campo é obrigatório.",
// // anexoProjeto: "Este campo é obrigatório.", // // anexoProjeto: "Este campo é obrigatório.",
// // anexoLattesCoordenador: "Este campo é obrigatório.", // // anexoLattesCoordenador: "Este campo é obrigatório.",
// // anexoConsuPreenchido: "Este campo é obrigatório.", // // anexoConsuPreenchido: "Este campo é obrigatório.",
// // anexoGrupoPesquisa: "Este campo é obrigatório.", // // anexoGrupoPesquisa: "Este campo é obrigatório.",
// // anexoPlanilha: "Este campo é obrigatório.", // // anexoPlanilha: "Este campo é obrigatório.",
// // anexoComiteEtica: "Este campo é obrigatório.", // // anexoComiteEtica: "Este campo é obrigatório.",
// // inputJustificativa: "Este campo é obrigatório.", // // inputJustificativa: "Este campo é obrigatório.",
// // "nomeParticipante[]": { // // "nomeParticipante[]": {
// // required: "O nome do participante é obrigatório.", // // required: "O nome do participante é obrigatório.",
// // alpha: "Não é permitido números." // // alpha: "Não é permitido números."
// // }, // // },
// // username: { // // username: {
// // required: "Please enter a username", // // required: "Please enter a username",
// // minlength: "Your username must consist of at least 2 characters" // // minlength: "Your username must consist of at least 2 characters"
// // }, // // },
// // password: { // // password: {
// // required: "Please provide a password", // // required: "Please provide a password",
// // minlength: "Your password must be at least 5 characters long" // // minlength: "Your password must be at least 5 characters long"
// // }, // // },
// // confirm_password: { // // confirm_password: {
// // required: "Please provide a password", // // required: "Please provide a password",
// // minlength: "Your password must be at least 5 characters long", // // minlength: "Your password must be at least 5 characters long",
// // equalTo: "Please enter the same password as above" // // equalTo: "Please enter the same password as above"
// // }, // // },
// // email: "Please enter a valid email address", // // email: "Please enter a valid email address",
// // agree: "Please accept our policy" // // agree: "Please accept our policy"
// }, // },
// errorElement: "em", // errorElement: "em",
// errorPlacement: function ( error, element ) { // errorPlacement: function ( error, element ) {
// // Add the `help-block` class to the error element // // Add the `help-block` class to the error element
// error.addClass( "invalid-feedback" ); // error.addClass( "invalid-feedback" );
// if ( element.prop( "type" ) === "checkbox" ) { // if ( element.prop( "type" ) === "checkbox" ) {
// error.insertAfter( element.parent( "label" ) ); // error.insertAfter( element.parent( "label" ) );
// } else { // } else {
// error.insertAfter( element ); // error.insertAfter( element );
// } // }
// }, // },
// highlight: function ( element, errorClass, validClass ) { // highlight: function ( element, errorClass, validClass ) {
// $( element ).parents( ".col-sm-5" ).addClass( "has-error" ).removeClass( "has-success" ); // $( element ).parents( ".col-sm-5" ).addClass( "has-error" ).removeClass( "has-success" );
// }, // },
// unhighlight: function (element, errorClass, validClass) { // unhighlight: function (element, errorClass, validClass) {
// $( element ).parents( ".col-sm-5" ).addClass( "has-success" ).removeClass( "has-error" ); // $( element ).parents( ".col-sm-5" ).addClass( "has-success" ).removeClass( "has-error" );
// } // }
// } ); // } );
} ); } );
</script> </script>
<script type="text/javascript"> <script type="text/javascript">
function validarCPF(valor){ function validarCPF(valor){
var soma = 0; var soma = 0;
var resto; var resto;
var inputCPF = valor.match(/\d/g).join(''); var inputCPF = valor.match(/\d/g).join('');
if(inputCPF == '00000000000') return false; if(inputCPF == '00000000000') return false;
if(inputCPF.length >11) return false; if(inputCPF.length >11) return false;
for(i=1; i<=9; i++) soma = soma + parseInt(inputCPF.substring(i-1, i)) * (11 - i); for(i=1; i<=9; i++) soma = soma + parseInt(inputCPF.substring(i-1, i)) * (11 - i);
resto = (soma * 10) % 11; resto = (soma * 10) % 11;
if((resto == 10) || (resto == 11)) resto = 0; if((resto == 10) || (resto == 11)) resto = 0;
if(resto != parseInt(inputCPF.substring(9, 10))) return false; if(resto != parseInt(inputCPF.substring(9, 10))) return false;
soma = 0; soma = 0;
for(i = 1; i <= 10; i++) soma = soma + parseInt(inputCPF.substring(i-1, i))*(12-i); for(i = 1; i <= 10; i++) soma = soma + parseInt(inputCPF.substring(i-1, i))*(12-i);
resto = (soma * 10) % 11; resto = (soma * 10) % 11;
if((resto == 10) || (resto == 11)) resto = 0; if((resto == 10) || (resto == 11)) resto = 0;
if(resto != parseInt(inputCPF.substring(10, 11))) return false; if(resto != parseInt(inputCPF.substring(10, 11))) return false;
return true; return true;
} }
/* /*
* FUNCAO: Gerar as areas * FUNCAO: Gerar as areas
* *
*/ */
function areas() { function areas() {
var grandeArea = $('#grandeArea').val(); var grandeArea = $('#grandeArea').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('area.consulta') }}', url: '{{ route('area.consulta') }}',
data: 'id='+grandeArea , data: 'id='+grandeArea ,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados) => { success: (dados) => {
if (dados.length > 0) { if (dados.length > 0) {
if($('#oldArea').val() == null || $('#oldArea').val() == ""){ if($('#oldArea').val() == null || $('#oldArea').val() == ""){
var option = '<option selected disabled>-- Área --</option>'; var option = '<option selected disabled>-- Área --</option>';
} }
$.each(dados, function(i, obj) { $.each(dados, function(i, obj) {
if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){ if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{ }else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Área --</option>"; var option = "<option selected disabled>-- Área --</option>";
} }
$('#area').html(option).show(); $('#area').html(option).show();
subareas(); subareas();
}, },
error: (data) => { error: (data) => {
console.log(data); console.log(data);
} }
}) })
} }
/* /*
* FUNCAO: Gerar as subareas * FUNCAO: Gerar as subareas
* *
*/ */
function subareas() { function subareas() {
var area = $('#area').val(); var area = $('#area').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('subarea.consulta') }}', url: '{{ route('subarea.consulta') }}',
data: 'id='+area , data: 'id='+area ,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados)=> { success: (dados)=> {
if (dados.length > 0) { if (dados.length > 0) {
if($('#oldSubArea').val() == null || $('#oldSubArea').val() == ""){ if($('#oldSubArea').val() == null || $('#oldSubArea').val() == ""){
var option = '<option selected disabled>-- Subárea --</option>'; var option = '<option selected disabled>-- Subárea --</option>';
} }
$.each(dados, function(i, obj) { $.each(dados, function(i, obj) {
if($('#oldSubArea').val() != null && $('#oldSubArea').val() == obj.id){ if($('#oldSubArea').val() != null && $('#oldSubArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{ }else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Subárea --</option>"; var option = "<option selected disabled>-- Subárea --</option>";
} }
$('#subArea').html(option).show(); $('#subArea').html(option).show();
}, },
error: (dados) => { error: (dados) => {
console.log(dados); console.log(dados);
} }
}) })
} }
/* /*
* FUNCAO: funcao responsavel pelo abre e fecha da area "possui autorizacoes especiais?" * FUNCAO: funcao responsavel pelo abre e fecha da area "possui autorizacoes especiais?"
* *
*/ */
function displayAutorizacoesEspeciais(valor){ function displayAutorizacoesEspeciais(valor){
if(valor == "sim"){ if(valor == "sim"){
document.getElementById("radioSim").checked = true; document.getElementById("radioSim").checked = true;
document.getElementById("radioNao").checked = false; document.getElementById("radioNao").checked = false;
document.getElementById("displaySim").style.display = "block"; document.getElementById("displaySim").style.display = "block";
document.getElementById("displayNao").style.display = "none"; document.getElementById("displayNao").style.display = "none";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
}else if(valor == "nao"){ }else if(valor == "nao"){
document.getElementById("radioSim").checked = false; document.getElementById("radioSim").checked = false;
document.getElementById("radioNao").checked = true; document.getElementById("radioNao").checked = true;
document.getElementById("displaySim").style.display = "none"; document.getElementById("displaySim").style.display = "none";
document.getElementById("displayNao").style.display = "block"; document.getElementById("displayNao").style.display = "block";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
} }
} }
/* /*
* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (PDF) * FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (PDF)
* *
*/ */
function verificarArquivoAnexado_pdf(item, legenda){ function verificarArquivoAnexado_pdf(item, legenda){
if(item.files[0].type.split('/')[1] != "pdf"){ if(item.files[0].type.split('/')[1] != "pdf"){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo PDF! "; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo PDF! ";
document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB."; document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else if(item.files[0].size > 2000000 && item.files[0].type.split('/')[1] == "pdf"){ }else if(item.files[0].size > 2000000 && item.files[0].type.split('/')[1] == "pdf"){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!"; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!";
document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB."; document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else{ }else{
document.getElementById(legenda).innerHTML = item.value.split('\\')[2]; document.getElementById(legenda).innerHTML = item.value.split('\\')[2];
} }
} }
/* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (XLS, XLSX, ODS) /* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (XLS, XLSX, ODS)
* *
*/ */
function verificarArquivoAnexado_xls_xlsx_ods(item, legenda){ function verificarArquivoAnexado_xls_xlsx_ods(item, legenda){
if(item.files[0].name.split('.')[1] == "xls" || item.files[0].name.split('.')[1] == "ods" || item.files[0].name.split('.')[1] == "xlsx"){ if(item.files[0].name.split('.')[1] == "xls" || item.files[0].name.split('.')[1] == "ods" || item.files[0].name.split('.')[1] == "xlsx"){
if(item.files[0].size > 2000000){ if(item.files[0].size > 2000000){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!"; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!";
document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB."; document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else{ }else{
document.getElementById(legenda).innerHTML = item.value.split('\\')[2]; document.getElementById(legenda).innerHTML = item.value.split('\\')[2];
} }
}else{ }else{
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo XLS, XLSX ou ODS! "; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo XLS, XLSX ou ODS! ";
document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB."; document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
} }
} }
/* /*
* FUNCAO: Gerar periodos 1 * FUNCAO: Gerar periodos 1
* *
*/ */
// function gerarPeriodos1(select) { // function gerarPeriodos1(select) {
// var div = select.parentElement.parentElement; // var div = select.parentElement.parentElement;
// var selectPeriodos = div.children[22].children[1]; // var selectPeriodos = div.children[22].children[1];
// var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`; // var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`;
// for(var i = 0; i < parseInt(select.value); i++) { // for(var i = 0; i < parseInt(select.value); i++) {
// html += `<option value="${i+1}">${i+1}º</option>`; // html += `<option value="${i+1}">${i+1}º</option>`;
// } // }
// }); // });
// }); // });
// $(document).ready(function(){ // $(document).ready(function(){
// $(".cpf").change(function(){ // $(".cpf").change(function(){
// console.log(this.parentElement.children[0]) // console.log(this.parentElement.children[0])
// if (validarCPF(retirarFormatacao(this.value))) { // if (validarCPF(retirarFormatacao(this.value))) {
// this.parentElement.children[1].style.display = "none"; // this.parentElement.children[1].style.display = "none";
// this.parentElement.children[2].style.display = "block"; // this.parentElement.children[2].style.display = "block";
// } else { // } else {
// this.parentElement.children[1].style.display = "block"; // this.parentElement.children[1].style.display = "block";
// this.parentElement.children[2].style.display = "none"; // this.parentElement.children[2].style.display = "none";
// } // }
// }); // });
// }); // });
function checarCPFdoCampo(input) { function checarCPFdoCampo(input) {
if (input.value.length == 14) { if (input.value.length == 14) {
if (validarCPF(retirarFormatacao(input.value))) { if (validarCPF(retirarFormatacao(input.value))) {
input.parentElement.children[1].style.display = "none"; input.parentElement.children[1].style.display = "none";
input.parentElement.children[2].style.display = "block"; input.parentElement.children[2].style.display = "block";
} else { } else {
input.parentElement.children[1].style.display = "block"; input.parentElement.children[1].style.display = "block";
input.parentElement.children[2].style.display = "none"; input.parentElement.children[2].style.display = "none";
} }
} else { } else {
input.parentElement.children[1].style.display = "none"; input.parentElement.children[1].style.display = "none";
input.parentElement.children[2].style.display = "none"; input.parentElement.children[2].style.display = "none";
} }
} }
function validarCPF(strCPF) { function validarCPF(strCPF) {
var soma; var soma;
var resto; var resto;
soma = 0; soma = 0;
// Verifica se foi informado todos os digitos corretamente // Verifica se foi informado todos os digitos corretamente
if (strCPF.length != 11) { if (strCPF.length != 11) {
return false; return false;
} }
// Verifica se foi informada uma sequência de digitos repetidos. Ex: 111.111.111-11 // Verifica se foi informada uma sequência de digitos repetidos. Ex: 111.111.111-11
if (varificarDigitos(strCPF)) { if (varificarDigitos(strCPF)) {
return false; return false;
} }
// Faz o calculo para validar o CPF // Faz o calculo para validar o CPF
for (var t = 9; t < 11; t++) { for (var t = 9; t < 11; t++) {
for (var d = 0, c = 0; c < t; c++) { for (var d = 0, c = 0; c < t; c++) {
d += strCPF[c] * ((t + 1) - c); d += strCPF[c] * ((t + 1) - c);
} }
d = ((10 * d) % 11) % 10; d = ((10 * d) % 11) % 10;
if (strCPF[c] != d) { if (strCPF[c] != d) {
return false; return false;
} }
} }
return true; return true;
} }
function retirarFormatacao(strCpf) { function retirarFormatacao(strCpf) {
resultado = ""; resultado = "";
for(var i = 0; i < strCpf.length; i++) { for(var i = 0; i < strCpf.length; i++) {
if (strCpf[i] != "." && strCpf[i] != "-") { if (strCpf[i] != "." && strCpf[i] != "-") {
resultado += strCpf[i]; resultado += strCpf[i];
} }
} }
return resultado; return resultado;
} }
function varificarDigitos(strCpf) { function varificarDigitos(strCpf) {
var cont = 1; var cont = 1;
dig1 = strCpf[0]; dig1 = strCpf[0];
for(var i = 1; i < strCpf.length; i++) { for(var i = 1; i < strCpf.length; i++) {
if(dig1 == strCpf[i]) { if(dig1 == strCpf[i]) {
cont++; cont++;
} }
} }
if (cont == strCpf.length) { if (cont == strCpf.length) {
return true; return true;
} }
return false; return false;
} }
function checarCpfs() { function checarCpfs() {
var validacoes = document.getElementsByClassName("cpf-invalido"); var validacoes = document.getElementsByClassName("cpf-invalido");
var count = validacoes.length; var count = validacoes.length;
var quant = 0; var quant = 0;
for(var i = 0; i < validacoes.length; i++) { for(var i = 0; i < validacoes.length; i++) {
if (validacoes[i].style.display == "none") { if (validacoes[i].style.display == "none") {
quant++; quant++;
} }
} }
if(quant == count) { if(quant == count) {
return true; return true;
} }
return false; return false;
} }
function submeterProposta() { function submeterProposta() {
if (checarCpfs()) { if (checarCpfs()) {
document.getElementById("submeterFormProposta").click(); document.getElementById("submeterFormProposta").click();
} else { } else {
$("#modalCpfInvalido").modal('show'); $("#modalCpfInvalido").modal('show');
} }
} }
function mascaraCPF(input) { function mascaraCPF(input) {
var numeros = "0123456789.-"; var numeros = "0123456789.-";
var resultado = ""; var resultado = "";
if (input.value.length < 14) { if (input.value.length < 14) {
for (var i = 0; i < input.value.length; i++) { for (var i = 0; i < input.value.length; i++) {
if (numeros.indexOf(input.value[i]) > -1) { if (numeros.indexOf(input.value[i]) > -1) {
if ((i == 2 || i == 6) && input.value[i+1] != ".") { if ((i == 2 || i == 6) && input.value[i+1] != ".") {
resultado += input.value[i] + "."; resultado += input.value[i] + ".";
} else if (i == 10 && input.value[i+1] != "-") { } else if (i == 10 && input.value[i+1] != "-") {
resultado += input.value[i] + "-"; resultado += input.value[i] + "-";
} else { } else {
resultado += input.value[i]; resultado += input.value[i];
} }
} }
} }
} else { } else {
for (var i = 0; i < 14; i++) { for (var i = 0; i < 14; i++) {
resultado += input.value[i]; resultado += input.value[i];
} }
} }
input.value = resultado; input.value = resultado;
} }
function showInstituicao(instituicao){ function showInstituicao(instituicao){
var instituicaoSelect = instituicao; var instituicaoSelect = instituicao;
var idSelect = instituicaoSelect.name; var idSelect = instituicaoSelect.name;
var instituicao = document.getElementById('outra'+idSelect); var instituicao = document.getElementById('outra'+idSelect);
var display = document.getElementById('display'+idSelect); var display = document.getElementById('display'+idSelect);
if(instituicaoSelect.value === "Outra"){ if(instituicaoSelect.value === "Outra"){
display.style.display = "block"; display.style.display = "block";
instituicao.parentElement.style.display = ''; instituicao.parentElement.style.display = '';
instituicao.value=""; instituicao.value="";
}else if(instituicaoSelect.value === "UFAPE"){ }else if(instituicaoSelect.value === "UFAPE"){
display.style.display = "none"; display.style.display = "none";
} }
} }
function showCurso(curso){ function showCurso(curso){
var cursoSelect = curso; var cursoSelect = curso;
var idSelect = cursoSelect.name; var idSelect = cursoSelect.name;
var curso = document.getElementById('outro'+idSelect); var curso = document.getElementById('outro'+idSelect);
var displayCurso = document.getElementById('display'+idSelect); var displayCurso = document.getElementById('display'+idSelect);
if(cursoSelect.value === "Outro"){ if(cursoSelect.value === "Outro"){
displayCurso.style.display = "block"; displayCurso.style.display = "block";
curso.parentElement.style.display = ''; curso.parentElement.style.display = '';
curso.value=""; curso.value="";
}else{ }else{
displayCurso.style.display = "none"; displayCurso.style.display = "none";
} }
} }
</script> </script>
@endsection @endsection
\ No newline at end of file
<!doctype html> <!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token --> <!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title> <title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts --> <!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com"> <link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!-- Styles --> <!-- Styles -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="{{ asset('js/jquery-3.4.1.min.js')}}"></script> <script src="{{ asset('js/jquery-3.4.1.min.js')}}"></script>
<script src="{{ asset('js/jquery-mask-plugin.js')}}"></script> <script src="{{ asset('js/jquery-mask-plugin.js')}}"></script>
{{-- <script src="https://cdn.jsdelivr.net/npm/jquery-mask-plugin@1.14.16/dist/jquery.mask.min.js"></script> --}} {{-- <script src="https://cdn.jsdelivr.net/npm/jquery-mask-plugin@1.14.16/dist/jquery.mask.min.js"></script> --}}
<link href="{{ asset('css/app.css') }}" rel="stylesheet"> <link href="{{ asset('css/app.css') }}" rel="stylesheet">
<link href="{{ asset('css/layout.css') }}" rel="stylesheet"> <link href="{{ asset('css/layout.css') }}" rel="stylesheet">
@yield('styles') @yield('styles')
<style> <style>
body{ body{
background-color: #f8fafc background-color: #f8fafc
} }
.styleRodape { .styleRodape {
background-color: rgb(0, 140, 255);; background-color: rgb(0, 140, 255);;
text-align: center; text-align: center;
} }
.styleRodape_Imagem_ufape { .styleRodape_Imagem_ufape {
padding-top: 1.5rem; padding-top: 1.5rem;
padding-bottom: 1rem; padding-bottom: 1rem;
text-align: center; text-align: center;
} }
.styleRodape_Imagem_lmts { .styleRodape_Imagem_lmts {
padding-top: 3rem; padding-top: 3rem;
padding-bottom: 2rem; padding-bottom: 2rem;
text-align: center; text-align: center;
} }
.styleRodape_Texto { .styleRodape_Texto {
font-size: 13px; font-size: 13px;
color: white; color: white;
text-align: center; text-align: center;
} }
.styleRodape_Texto_Titulo { .styleRodape_Texto_Titulo {
padding-top: 1rem; padding-top: 1rem;
padding-bottom: 1rem; padding-bottom: 1rem;
color: white; color: white;
} }
.styleRodape_Texto_Conteudo_MapaDoSite { .styleRodape_Texto_Conteudo_MapaDoSite {
color: white; color: white;
font-size: 13px; font-size: 13px;
padding-top: 0.4rem; padding-top: 0.4rem;
} }
.styleRodape_container { .styleRodape_container {
padding-bottom: 0.1rem; padding-bottom: 0.1rem;
text-align: left; text-align: left;
} }
.styleRodape_Texto_Contato { .styleRodape_Texto_Contato {
font-size: 14px; font-size: 14px;
} }
.styleRodape_linha_left { .styleRodape_linha_left {
border-left: solid; border-left: solid;
color: white; color: white;
margin-top: 0.5rem; margin-top: 0.5rem;
padding-bottom: 1rem; padding-bottom: 1rem;
margin-left: 0.5rem; margin-left: 0.5rem;
height: 100%; height: 100%;
} }
.styleRodape_linha_top { .styleRodape_linha_top {
border-top: solid; border-top: solid;
color: white; color: white;
margin: 0.5rem; margin: 0.5rem;
} }
.font-size-naturezas { .font-size-naturezas {
font-size: 1.2rem; font-size: 1.2rem;
} }
</style> </style>
</head> </head>
<body> <body>
<div id="app"> <div id="app">
<header> <header>
{{-- Navbar --}} {{-- Navbar --}}
<nav class="navbar navbar-light backgroud-color-default shadow"> <nav class="navbar navbar-light backgroud-color-default shadow">
<div class="container"> <div class="container">
<div class="links-menu"> <div class="links-menu">
<a class="navbar-brand" href="{{route('inicial')}}"> <a class="navbar-brand" href="{{route('inicial')}}">
<img id="logo-menu" src="{{ asset('img/icons/logo_submeta_pemenor.png') }}" alt=""> <img id="logo-menu" src="{{ asset('img/icons/logo_submeta_pemenor.png') }}" alt="">
</a> </a>
</div> </div>
<div class="navbar-text"> <div class="navbar-text">
@guest @guest
<a href="{{ route('coord.home') }}" class="btn navbar-text negrito" style="color: rgb(0, 140, 255);">Editais</a> <a href="{{ route('coord.home') }}" class="btn navbar-text negrito" style="color: rgb(0, 140, 255);">Editais</a>
<a href="#" class="btn dropdown-toggle negrito" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="color: rgb(0, 140, 255);">Login</a> <a href="#" class="btn dropdown-toggle negrito" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="color: rgb(0, 140, 255);">Login</a>
<div id="dropdown-login" class="dropdown-menu dropdown-menu-right negrito" aria-labelledby="dropdownMenuLink" style="right: 15%; width: 300px; height: auto;"> <div id="dropdown-login" class="dropdown-menu dropdown-menu-right negrito" aria-labelledby="dropdownMenuLink" style="right: 15%; width: 300px; height: auto;">
<div class=""> <div class="">
<form method="POST" action="{{ route('login') }}"> <form method="POST" action="{{ route('login') }}">
@csrf @csrf
<div style="padding: 20px;"> <div style="padding: 20px;">
<div style="color: rgb(0, 140, 255); margin: 5px; text-align: center; font-size: 20px;"> <div style="color: rgb(0, 140, 255); margin: 5px; text-align: center; font-size: 20px;">
Entrar Entrar
</div> </div>
<input type="hidden" name="login" value="0"> <input type="hidden" name="login" value="0">
<div style="margin-top: 30px;"> <div style="margin-top: 30px;">
<label for="email" class="col-form-label negrito" style="color: rgb(0, 140, 255);">{{ __('Endereço de E-mail') }}</label> <label for="email" class="col-form-label negrito" style="color: rgb(0, 140, 255);">{{ __('Endereço de E-mail') }}</label>
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus> <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email') @error('email')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
<label for="password" class="col-form-label negrito" style="color: rgb(0, 140, 255);">{{ __('Senha') }}</label> <label for="password" class="col-form-label negrito" style="color: rgb(0, 140, 255);">{{ __('Senha') }}</label>
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password"> <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password') @error('password')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
</div> </div>
<div> <div>
<div class="form-check"> <div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}> <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
<label class="form-check-label" for="remember"> <label class="form-check-label" for="remember">
{{ __('Lembrar Senha') }} {{ __('Lembrar Senha') }}
</label> </label>
</div> </div>
</div> </div>
<div style="margin-top: 10px; margin-bottom: 10px;"> <div style="margin-top: 10px; margin-bottom: 10px;">
<button class="btn btn-login"> <button class="btn btn-login">
{{__('Entrar')}} {{__('Entrar')}}
</button> </button>
<br> <br>
<a href="{{ route('password.request') }}" style="font-weight: normal; color: rgb(44, 96, 209);">{{ __('Esqueceu sua senha?')}}</a> <a href="{{ route('password.request') }}" style="font-weight: normal; color: rgb(44, 96, 209);">{{ __('Esqueceu sua senha?')}}</a>
</div> </div>
<div style="margin-top: 10px; margin-bottom: 10px;"> <div style="margin-top: 10px; margin-bottom: 10px;">
<label for="password" class="col-form-label negrito" style="color: rgb(0, 140, 255);">{{ __('Crie sua conta!') }}</label> <label for="password" class="col-form-label negrito" style="color: rgb(0, 140, 255);">{{ __('Crie sua conta!') }}</label>
<br> <br>
<a href="{{ route('register') }}"> <a href="{{ route('register') }}">
<button type="button" class="btn btn-cadastro"> <button type="button" class="btn btn-cadastro">
{{__('Cadastre-se')}} {{__('Cadastre-se')}}
</button> </button>
</a> </a>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<a href="{{ route('register') }}" class="btn navbar-text btn-azul-destaque negrito" style="color: rgb(0, 140, 255);">{{ __('Cadastre-se') }}</a> <a href="{{ route('register') }}" class="btn navbar-text btn-azul-destaque negrito" style="color: rgb(0, 140, 255);">{{ __('Cadastre-se') }}</a>
@else @else
@if(Auth::user()->avaliadors != null) @if(Auth::user()->avaliadors != null)
@if(Auth::user()->avaliadors->tipo == "Interno") @if(Auth::user()->avaliadors->tipo == "Interno")
<a href="" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);pointer-events: none;" >Comissão Interna</a> <a href="" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);pointer-events: none;" >Comissão Interna</a>
@elseif(Auth::user()->avaliadors->tipo == "Externo") @elseif(Auth::user()->avaliadors->tipo == "Externo")
<a href="" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);pointer-events: none;" >Comissão <i>Ad Hoc</i></a> <a href="" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);pointer-events: none;" >Comissão <i>Ad Hoc</i></a>
@endif @endif
@endif @endif
@if(Auth::user()->administradors != null) @if(Auth::user()->administradors != null)
<a href="{{route('admin.editais')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Editais</a> <a href="{{route('admin.editais')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Editais</a>
<!--<a href="{{route('admin.showProjetos')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Projetos</a> --> <!--<a href="{{route('admin.showProjetos')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Projetos</a> -->
<a href="{{route('notificacao.listarTrab')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Notificações</a> <a href="{{route('notificacao.listarTrab')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Notificações</a>
@elseif(Auth::user()->coordenadorComissao != null) @elseif(Auth::user()->coordenadorComissao != null)
<a href="{{route('notificacao.listarTrab')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Notificações</a> <a href="{{route('notificacao.listarTrab')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Notificações</a>
<a href="{{ route('coordenador.editais') }}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Editais</a> <a href="{{ route('coordenador.editais') }}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Editais</a>
@else @else
<a href="{{route('notificacao.listarTrab')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Notificações</a> <a href="{{route('notificacao.listarTrab')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);" >Notificações</a>
<a href="{{route('coord.home')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Editais</a> <a href="{{route('coord.home')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Editais</a>
@endif @endif
<a id="navbarDropdown" class="btn navbar-text negrito dropdown-toggle" style="color: rgb(0, 140, 255);" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> <a id="navbarDropdown" class="btn navbar-text negrito dropdown-toggle" style="color: rgb(0, 140, 255);" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} <span class="caret"></span> {{ Auth::user()->name }} <span class="caret"></span>
</a> </a>
<div class="dropdown-menu dropdown-menu-right" style="right: 5%;" aria-labelledby="navbarDropdown"> <div class="dropdown-menu dropdown-menu-right" style="right: 5%;" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('user.perfil') }}"> <a class="dropdown-item" href="{{ route('user.perfil') }}">
<img src="{{asset('img/icons/perfil.svg')}}" alt=""> <img src="{{asset('img/icons/perfil.svg')}}" alt="">
{{ __('Minha Conta') }} {{ __('Minha Conta') }}
</a> </a>
@if(Auth::user()->administradors != null) @if(Auth::user()->administradors != null)
<a class="dropdown-item" href="{{ route('admin.index') }}"> <a class="dropdown-item" href="{{ route('admin.index') }}">
<img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt=""> <img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt="">
{{ __('Perfil Administrador') }} {{ __('Perfil Administrador') }}
</a> </a>
@endif @endif
@if(Auth::user()->AdministradorResponsavel != null) @if(Auth::user()->AdministradorResponsavel != null)
<a class="dropdown-item" href="{{ route('adminResp.index') }}"> <a class="dropdown-item" href="{{ route('adminResp.index') }}">
<img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt=""> <img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt="">
{{ __('Perfil Pro-reitor') }} {{ __('Perfil Pro-reitor') }}
</a> </a>
@endif @endif
@if(Auth::user()->coordenadorComissao != null) @if(Auth::user()->coordenadorComissao != null)
<a class="dropdown-item" href="{{ route('coordenador.index') }}"> <a class="dropdown-item" href="{{ route('coordenador.index') }}">
<img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt=""> <img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt="">
{{ __('Perfil Coordenador') }} {{ __('Perfil Coordenador') }}
</a> </a>
@endif @endif
@if(Auth::user()->avaliadors != null) @if(Auth::user()->avaliadors != null)
<a class="dropdown-item" href="{{ route('avaliador.index') }}"> <a class="dropdown-item" href="{{ route('avaliador.index') }}">
<img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt=""> <img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt="">
{{ __('Perfil Avaliador') }} {{ __('Perfil Avaliador') }}
</a> </a>
@endif @endif
@if(Auth::user()->proponentes != null) @if(Auth::user()->proponentes != null)
<a class="dropdown-item" href="{{ route('proponente.index') }}"> <a class="dropdown-item" href="{{ route('proponente.index') }}">
<img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt=""> <img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt="">
{{ __('Perfil Proponente') }} {{ __('Perfil Proponente') }}
</a> </a>
@endif @endif
@if(Auth::user()->participantes->where('user_id', Auth::user()->id)->count() != 0) @if(Auth::user()->participantes->where('user_id', Auth::user()->id)->count() != 0)
<a class="dropdown-item" href="{{ route('participante.index') }}"> <a class="dropdown-item" href="{{ route('participante.index') }}">
<img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt=""> <img src="{{asset('img/icons/file-alt-regular-black.svg')}}" alt="">
{{ __('Perfil Participante') }} {{ __('Perfil Participante') }}
</a> </a>
@endif @endif
<a class="dropdown-item" href="{{ route('logout') }}" <a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault(); onclick="event.preventDefault();
document.getElementById('logout-form').submit();"> document.getElementById('logout-form').submit();">
<img src="{{asset('img/icons/sign-out-alt-solid.svg')}}" alt=""> <img src="{{asset('img/icons/sign-out-alt-solid.svg')}}" alt="">
{{ __('Sair') }} {{ __('Sair') }}
</a> </a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf @csrf
</form> </form>
</div> </div>
@endguest @endguest
</div> </div>
</div> </div>
</nav> </nav>
</header> </header>
<section> <section>
@hasSection ('sidebar') @hasSection ('sidebar')
@yield('sidebar') @yield('sidebar')
@endif @endif
{{-- <main class="container-fluid"> --}} {{-- <main class="container-fluid"> --}}
@yield('content') @yield('content')
{{-- </main> --}} {{-- </main> --}}
</section> </section>
</div> </div>
@hasSection ('javascript') @hasSection ('javascript')
@yield('javascript') @yield('javascript')
@else @else
@endif @endif
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<div class="styleRodape noPrint" style="background-color:#fff"> <div class="styleRodape noPrint" style="background-color:#fff">
<div class="container"> <div class="container">
<div class="form-row justify-content-center"> <div class="form-row justify-content-center">
<div class="col-sm-4" style="margin-top: 2.5rem;"> <div class="col-sm-4" style="margin-top: 2.5rem;">
<img src="{{ asset('img/icons/logo_submeta_pemenor2.png') }}" alt="Logo" width="200px;"> <img src="{{ asset('img/icons/logo_submeta_pemenor2.png') }}" alt="Logo" width="200px;">
</div> </div>
<div class="col-sm-4 form-group" style="margin-top: 0.5rem; color:#909090"> <div class="col-sm-4 form-group" style="margin-top: 0.5rem; color:#909090">
<div style="margin-top: 5px; margin-bottom:5px">Desenvolvido por:</div> <div style="margin-top: 5px; margin-bottom:5px">Desenvolvido por:</div>
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-sm-5" style="margin-right: 0.5rem;"> <div class="col-sm-5" style="margin-right: 0.5rem;">
<a href="http://ufape.edu.br/" target="_blank"><img src="{{ asset('img\icons\Logo_UFAPE_Colorida_com_Lettering.png') }}" alt="Logo" width="170px;" style="margin-right: 0.5rem;"></a> <a href="http://ufape.edu.br/" target="_blank"><img src="{{ asset('img\icons\Logo_UFAPE_Colorida_com_Lettering.png') }}" alt="Logo" width="170px;" style="margin-right: 0.5rem;"></a>
</div> </div>
<div class="col-sm-5"> <div class="col-sm-5">
<a href="http://lmts.uag.ufrpe.br/" target="_blank"><img src="{{ asset('img/icons/logo_ufape_color.png') }}" alt="Logo" width="160px;"></a> <a href="http://lmts.uag.ufrpe.br/" target="_blank"><img src="{{ asset('img/icons/logo_ufape_color.png') }}" alt="Logo" width="160px;"></a>
</div> </div>
</div> </div>
</div> </div>
<div class="col-sm-4 form-group" style="margin-top: 0.5rem; color:#909090"> <div class="col-sm-4 form-group" style="margin-top: 0.5rem; color:#909090">
<div style="margin-top: 5px; margin-bottom:5px">Redes sociais:</div> <div style="margin-top: 5px; margin-bottom:5px">Redes sociais:</div>
<div class="btn-group"> <div class="btn-group">
<div><a href="https://www.facebook.com/LMTSUFAPE/" target="_blank"><img src="{{ asset('img/icons/icon_facebook.svg') }}" alt="Logo" width="40px;" style="margin:5px"></a></div> <div><a href="https://www.facebook.com/LMTSUFAPE/" target="_blank"><img src="{{ asset('img/icons/icon_facebook.svg') }}" alt="Logo" width="40px;" style="margin:5px"></a></div>
<div><a href="https://www.instagram.com/lmts_ufape/" target="_blank"><img src="{{ asset('img/icons/icon_instagram.svg') }}" alt="Logo" width="40px;" style="margin:5px"></a></div> <div><a href="https://www.instagram.com/lmts_ufape/" target="_blank"><img src="{{ asset('img/icons/icon_instagram.svg') }}" alt="Logo" width="40px;" style="margin:5px"></a></div>
</div> </div>
<div><img src="{{ asset('img/icons/icon_email.svg') }}" alt="Logo" width="20px;" style="margin:5px;"> <span>lmts@ufape.edu.br</span></div> <div><img src="{{ asset('img/icons/icon_email.svg') }}" alt="Logo" width="20px;" style="margin:5px;"> <span>lmts@ufape.edu.br</span></div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{{-- <script src="https://code.jquery.com/jquery-3.6.0.min.js" ></script> --}} {{-- <script src="https://code.jquery.com/jquery-3.6.0.min.js" ></script> --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/jquery.validate.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-mask-plugin@1.14.16/dist/jquery.mask.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/jquery-mask-plugin@1.14.16/dist/jquery.mask.min.js"></script>
<script> <script>
$.ajaxSetup({ $.ajaxSetup({
headers: { headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
} }
}); });
$(document).ready(function() { $(document).ready(function() {
$("#dropdown-login").on('click', function(event){ $("#dropdown-login").on('click', function(event){
event.stopPropagation(); event.stopPropagation();
}); });
}); });
@if(old('login') != null) @if(old('login') != null)
$(document).ready(function() { $(document).ready(function() {
$('#dropdownMenuLink').click(); $('#dropdownMenuLink').click();
}); });
@endif @endif
</script> </script>
<style> <style>
@media print { @media print {
.noPrint{ .noPrint{
display:none; display:none;
} }
.doPrint{ .doPrint{
display:block !important; display:block !important;
} }
} }
</style> </style>
</body> </body>
</html> </html>
\ No newline at end of file
<div class="col-md-12" style="margin-top: 20px"> <div class="col-md-12" style="margin-top: 20px">
<div class="card" style="border-radius: 5px"> <div class="card" style="border-radius: 5px">
<div class="card-body" style="padding-top: 0.2rem;"> <div class="card-body" style="padding-top: 0.2rem;">
<div class="container"> <div class="container">
<div class="form-row mt-3"> <div class="form-row mt-3">
<div class="col-md-11"> <div class="col-md-11">
<h5 style="color: #234B8B; font-weight: bold">Integrante(s)</h5> <h5 style="color: #234B8B; font-weight: bold">Integrante(s)</h5>
</div> </div>
<div class="col-md-1 text-sm-right"> <div class="col-md-1 text-sm-right">
<a type="button" value="{{ $edital->id }}" id="atribuir1" data-toggle="modal" data-target="#modalIntegrante"> <a type="button" value="{{ $edital->id }}" id="atribuir1" data-toggle="modal" data-target="#modalIntegrante">
<img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt=""> <img class="" src="{{asset('img/icons/add.ico')}}" style="width:30px" alt="">
</a> </a>
</div> </div>
</div> </div>
<hr style="border-top: 1px solid#1492E6"> <hr style="border-top: 1px solid#1492E6">
<div class="row" id="integrante"> <div class="row" id="integrante">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="modalIntegrante" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="modalIntegrante" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl"> <div class="modal-dialog modal-dialog-centered modal-xl">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Adicionar Integrante</h5> <h5 class="modal-title" id="exampleModalLabel">Adicionar Integrante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="form-row" style="padding: 30px;"> <div class="form-row" style="padding: 30px;">
<div class="col-md-8"> <div class="col-md-8">
<label for="cpf_consulta">CPF:</label> <label for="cpf_consulta">CPF:</label>
<input type="text" id="cpf_consulta" name="cpf_consulta" class="form-control" onkeyup="mask_cpf();"> <input type="text" id="cpf_consulta" name="cpf_consulta" class="form-control" onkeyup="mask_cpf();">
</div> </div>
<div class="col-md-4 mt-4"> <div class="col-md-4 mt-4">
<button type="button" class="btn btn-primary" onclick="preencherUsuarioExistente()">Adicionar</button> <button type="button" class="btn btn-primary" onclick="preencherUsuarioExistente()">Adicionar</button>
</div> </div>
</div> </div>
<div class="form-row" style="padding: 0px 30px 30px 30px;"> <div class="form-row" style="padding: 0px 30px 30px 30px;">
<label for="funcao_participante">Função do Participante:</label> <label for="funcao_participante">Função do Participante:</label>
<select name="" id="funcao_participante" class="form-control"> <select name="" id="funcao_participante" class="form-control">
@foreach($funcaoParticipantes as $funcao) @foreach($funcaoParticipantes as $funcao)
<option value="{{$funcao->id}}">{{ $funcao->nome }}</option> <option value="{{$funcao->id}}">{{ $funcao->nome }}</option>
@endforeach @endforeach
</select> </select>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="aviso-modal-usuario-adicionado" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="aviso-modal-usuario-adicionado" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: #32CD32;"> <div class="modal-header" style="background-color: #32CD32;">
<h5 class="modal-title" id="exampleModalLabel" style="color: white;">Sucesso!</h5> <h5 class="modal-title" id="exampleModalLabel" style="color: white;">Sucesso!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
Integrante adicionado com sucesso Integrante adicionado com sucesso
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-primary btn-color-dafault" data-dismiss="modal">Ok</button> <button type="button" class="btn btn-primary btn-color-dafault" data-dismiss="modal">Ok</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- MODAL DE ERRO --> <!-- MODAL DE ERRO -->
<div class="modal fade" id="aviso-modal-usuario-nao-existe" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="aviso-modal-usuario-nao-existe" data-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: #dc3545;"> <div class="modal-header" style="background-color: #dc3545;">
<h5 class="modal-title" id="exampleModalLabel" style="color: white;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel" style="color: white;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body" > <div class="modal-body" >
<span id="texto-erro">CPF não consta no sistema!</span> <span id="texto-erro">CPF não consta no sistema!</span>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary btn-color-dafault" data-dismiss="modal">Ok</button> <button type="button" class="btn btn-secondary btn-color-dafault" data-dismiss="modal">Ok</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script> <script>
function mask_cpf() { function mask_cpf() {
$("#cpf_consulta").keydown(function(){ $("#cpf_consulta").keydown(function(){
try { try {
$("#cpf_consulta").unmask(); $("#cpf_consulta").unmask();
} catch (e) {} } catch (e) {}
$("#cpf_consulta").mask("999.999.999-99"); $("#cpf_consulta").mask("999.999.999-99");
// ajustando foco // ajustando foco
var elem = this; var elem = this;
setTimeout(function(){ setTimeout(function(){
// mudo a posição do seletor // mudo a posição do seletor
elem.selectionStart = elem.selectionEnd = 10000; elem.selectionStart = elem.selectionEnd = 10000;
}, 0); }, 0);
// reaplico o valor para mudar o foco // reaplico o valor para mudar o foco
var currentValue = $(this).val(); var currentValue = $(this).val();
$(this).val(''); $(this).val('');
$(this).val(currentValue); $(this).val(currentValue);
}); });
} }
function removerIntegrante(id) { function removerIntegrante(id) {
$(`#integrante${id}`).remove() $(`#integrante${id}`).remove()
} }
function preencherUsuarioExistente() { function preencherUsuarioExistente() {
$.ajaxSetup({ $.ajaxSetup({
headers: { headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
} }
}); });
$.ajax({ $.ajax({
url: '{{ route('trabalho.buscarUsuario') }}', url: '{{ route('trabalho.buscarUsuario') }}',
type: 'POST', type: 'POST',
dataType: 'json', dataType: 'json',
data: { data: {
'cpf_consulta': $('#cpf_consulta').val(), 'cpf_consulta': $('#cpf_consulta').val(),
'funcao': $('#funcao_participante').val() 'funcao': $('#funcao_participante').val()
}, },
success: function (data) { success: function (data) {
console.log(data) console.log(data)
if(data == 'inexistente' || $('#cpf_consulta').val() == ""){ if(data == 'inexistente' || $('#cpf_consulta').val() == ""){
$('#texto-erro').html('CPF não consta no sistema!'); $('#texto-erro').html('CPF não consta no sistema!');
exibirModalUsuarioInexistente(); exibirModalUsuarioInexistente();
}else { }else {
exibirUsuarioAdicionado(); exibirUsuarioAdicionado();
$('#integrante').append(` $('#integrante').append(`
<div id="integrante${data[0]['id']}" class="col-md-6"> <div id="integrante${data[0]['id']}" class="col-md-6">
<div class="row"> <div class="row">
<input name="integrantes[]" type="text" value="${data[0]['id']},${$('#funcao_participante').val()}" hidden> <input name="integrantes[]" type="text" value="${data[0]['id']},${$('#funcao_participante').val()}" hidden>
<div class="col-md-2" style="display: flex; align-items: center;"> <div class="col-md-2" style="display: flex; align-items: center;">
<img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt=""> <img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt="">
</div> </div>
<div class="col-md-4 mb-1"> <div class="col-md-4 mb-1">
<strong>Nome:</strong> ${data[0]['name']} <strong>Nome:</strong> ${data[0]['name']}
<strong>CPF:</strong> ${data[0]['cpf']} <strong>CPF:</strong> ${data[0]['cpf']}
<strong>Função:</strong> ${data[1]['nome']} <strong>Função:</strong> ${data[1]['nome']}
<button type="button" class="btn btn-danger" onclick="removerIntegrante(${data[0]['id']})">Remover</button> <button type="button" class="btn btn-danger" onclick="removerIntegrante(${data[0]['id']})">Remover</button>
</div> </div>
</div> </div>
</div> </div>
`) `)
} }
} }
}); });
} }
function exibirModalUsuarioInexistente() { function exibirModalUsuarioInexistente() {
$('#aviso-modal-usuario-nao-existe').modal('show'); $('#aviso-modal-usuario-nao-existe').modal('show');
} }
function exibirUsuarioAdicionado() { function exibirUsuarioAdicionado() {
$('#aviso-modal-usuario-adicionado').modal('show');; $('#aviso-modal-usuario-adicionado').modal('show');;
} }
$(document).ready(function() { $(document).ready(function() {
@foreach($trabalhos_user as $trabalho_user) @foreach($trabalhos_user as $trabalho_user)
$('#integrante').append(` $('#integrante').append(`
<div id="integrante{{$trabalho_user->id}}" class="col-md-6"> <div id="integrante{{$trabalho_user->id}}" class="col-md-6">
<div class="row"> <div class="row">
<input name="integrantesExistentes[]" type="text" value="{{ $trabalho_user->user->id }}" hidden> <input name="integrantesExistentes[]" type="text" value="{{ $trabalho_user->user->id }}" hidden>
<div class="col-md-2" style="display: flex; align-items: center;"> <div class="col-md-2" style="display: flex; align-items: center;">
<img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt=""> <img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt="">
</div> </div>
<div class="col-md-4 mb-1"> <div class="col-md-4 mb-1">
<strong>Nome:</strong> {{{$trabalho_user->user->name}}} <strong>Nome:</strong> {{{$trabalho_user->user->name}}}
<strong>CPF:</strong> {{ $trabalho_user->user->cpf }} <strong>CPF:</strong> {{ $trabalho_user->user->cpf }}
<strong>Função:</strong> {{ $trabalho_user->funcao->nome }} <strong>Função:</strong> {{ $trabalho_user->funcao->nome }}
<button type="button" class="btn btn-danger" onclick="removerIntegrante({{$trabalho_user->id}})">Remover</button> <button type="button" class="btn btn-danger" onclick="removerIntegrante({{$trabalho_user->id}})">Remover</button>
</div> </div>
</div> </div>
</div> </div>
`) `)
@endforeach @endforeach
}); });
</script> </script>
\ No newline at end of file
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div> <div>
{{-- action="{{route('trabalho.store')}}" --}} {{-- action="{{route('trabalho.store')}}" --}}
<form method="POST" id="updateProjetoForm" action="{{route('trabalho.update', ['id' => $projeto->id])}}" enctype="multipart/form-data" > <form method="POST" id="updateProjetoForm" action="{{route('trabalho.update', ['id' => $projeto->id])}}" enctype="multipart/form-data" >
@csrf @csrf
<input type="hidden" name="editalId" value="{{$edital->id}}"> <input type="hidden" name="editalId" value="{{$edital->id}}">
<div class="container"> <div class="container">
{{-- @dd($errors->get('name.*')) --}} {{-- @dd($errors->get('name.*')) --}}
{{-- @dd($errors->has('cpf.*')) --}} {{-- @dd($errors->has('cpf.*')) --}}
{{-- @dd($errors->getBags()['default']->keys()) --}} {{-- @dd($errors->getBags()['default']->keys()) --}}
@if (session('mensagem')) @if (session('mensagem'))
<div class="alert alert-warning" role="alert"> <div class="alert alert-warning" role="alert">
{{ session('mensagem') }} {{ session('mensagem') }}
</div> </div>
@endif @endif
<!-- @if ($errors->any()) <!-- @if ($errors->any())
<div class="alert alert-danger"> <div class="alert alert-danger">
<ul> <ul>
@foreach ($errors->all() as $error) @foreach ($errors->all() as $error)
<li>{{ $error }}</li> <li>{{ $error }}</li>
@endforeach @endforeach
</ul> </ul>
</div> </div>
@endif --> @endif -->
<div class="row justify-content-center"> <div class="row justify-content-center">
@include('projeto.editaFormulario.projeto') @include('projeto.editaFormulario.projeto')
@include('projeto.editaFormulario.proponente') @include('projeto.editaFormulario.proponente')
@include('projeto.editaFormulario.participantes') @include('projeto.editaFormulario.participantes')
@if($edital->natureza_id == 3) @if($edital->natureza_id == 3)
@include('projeto.editaFormulario.integrantes') @include('projeto.editaFormulario.integrantes')
@endif @endif
@include('projeto.editaFormulario.anexos') @include('projeto.editaFormulario.anexos')
@include('projeto.editaFormulario.finalizar') @include('projeto.editaFormulario.finalizar')
</div> </div>
</div> </div>
</form> </form>
<div id="participanteFirst" > <div id="participanteFirst" >
@component('componentes.participante', ['enum_turno' => $enum_turno,'estados' => $estados, ]) @component('componentes.participante', ['enum_turno' => $enum_turno,'estados' => $estados, ])
@endcomponent @endcomponent
</div> </div>
<!-- Modal de Aviso Edit --> <!-- Modal de Aviso Edit -->
<div class="modal fade" id="exampleModalAnexarDocumento" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true"> <div class="modal fade" id="exampleModalAnexarDocumento" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" id="idCorCabecalhoModalDocumento"> <div class="modal-header" id="idCorCabecalhoModalDocumento">
<h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row">
<div class="col-12" style="font-family: 'Roboto', sans-serif;"><label id="idTituloDaMensagemModalDocumento"></label></div> <div class="col-12" style="font-family: 'Roboto', sans-serif;"><label id="idTituloDaMensagemModalDocumento"></label></div>
<div class="col-12" style="font-family: 'Roboto', sans-serif; margin-top:10px;"> <div class="col-12" style="font-family: 'Roboto', sans-serif; margin-top:10px;">
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-light" data-dismiss="modal"style="width:200px;">Fechar</button> <button type="button" class="btn btn-light" data-dismiss="modal"style="width:200px;">Fechar</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="modalCpfInvalido" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true"> <div class="modal fade" id="modalCpfInvalido" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: red;"> <div class="modal-header" style="background-color: red;">
<h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
Existe um CPF inválido em um dos discentes por favor corrija para continuar. Existe um CPF inválido em um dos discentes por favor corrija para continuar.
</div> </div>
{{-- <div class="modal-footer"> {{-- <div class="modal-footer">
{{-- <button type="button" class="btn btn-secondary"></button> {{-- <button type="button" class="btn btn-secondary"></button>
{{-- <button type="button" class="btn btn-primary">Certo</button> {{-- <button type="button" class="btn btn-primary">Certo</button>
</div> --}} </div> --}}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection
@section('javascript') @section('javascript')
<script> <script>
if(document.getElementById("radioSim").checked){ if(document.getElementById("radioSim").checked){
document.getElementById("radioSim").checked = true; document.getElementById("radioSim").checked = true;
document.getElementById("radioNao").checked = false; document.getElementById("radioNao").checked = false;
document.getElementById("displaySim").style.display = "block"; document.getElementById("displaySim").style.display = "block";
document.getElementById("displayNao").style.display = "none"; document.getElementById("displayNao").style.display = "none";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
}else{ }else{
document.getElementById("radioSim").checked = false; document.getElementById("radioSim").checked = false;
document.getElementById("radioNao").checked = true; document.getElementById("radioNao").checked = true;
document.getElementById("displaySim").style.display = "none"; document.getElementById("displaySim").style.display = "none";
document.getElementById("displayNao").style.display = "block"; document.getElementById("displayNao").style.display = "block";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
} }
let buttonSubmit = document.getElementById('idButtonSubmitProjeto'); let buttonSubmit = document.getElementById('idButtonSubmitProjeto');
let buttonRascunho = document.getElementById('idButtonSubmitRascunho'); let buttonRascunho = document.getElementById('idButtonSubmitRascunho');
let parts = document.getElementById('participante'); let parts = document.getElementById('participante');
let partsFirst = document.getElementById('participanteFirst'); let partsFirst = document.getElementById('participanteFirst');
const participante = partsFirst.firstElementChild; const participante = partsFirst.firstElementChild;
let contador = 0; let contador = 0;
buttonSubmit.addEventListener('click', (e)=>{ buttonSubmit.addEventListener('click', (e)=>{
$('.collapse').addClass('show') $('.collapse').addClass('show')
}) })
buttonRascunho.addEventListener('click', (e)=>{ buttonRascunho.addEventListener('click', (e)=>{
$('.collapse').addClass('show'); $('.collapse').addClass('show');
const input = '<input id="input_rascunho" type="hidden" name="rascunho" value="true">'; const input = '<input id="input_rascunho" type="hidden" name="rascunho" value="true">';
$("#updateProjetoForm").append(input); $("#updateProjetoForm").append(input);
}) })
function gerarPeriodo(e){ function gerarPeriodo(e){
var select = e.parentElement.parentElement.nextElementSibling; var select = e.parentElement.parentElement.nextElementSibling;
selectPeriodos = select.children[0].children[1]; selectPeriodos = select.children[0].children[1];
var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`; var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`;
for(var i = 0; i < parseInt(e.value); i++) { for(var i = 0; i < parseInt(e.value); i++) {
html += `<option value="${i+1}">${i+1}º</option>`; html += `<option value="${i+1}">${i+1}º</option>`;
} }
$(selectPeriodos).html(''); $(selectPeriodos).html('');
$(selectPeriodos).append(html); $(selectPeriodos).append(html);
} }
function removerPart(e){ function removerPart(e){
console.log(e) console.log(e)
if(e.parentElement.parentElement){ if(e.parentElement.parentElement){
if(parts.children.length <= 1){ if(parts.children.length <= 1){
}else{ }else{
parts.removeChild(e.parentElement.parentElement); parts.removeChild(e.parentElement.parentElement);
//contador--; //contador--;
} }
} }
} }
var SPMaskBehavior = function (val) { var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
}, },
spOptions = { spOptions = {
onKeyPress: function(val, e, field, options) { onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options); field.mask(SPMaskBehavior.apply({}, arguments), options);
} }
}; };
$("input.cpf:text").mask("000.000.000-00"); $("input.cpf:text").mask("000.000.000-00");
$("input.celular:text").mask(SPMaskBehavior, spOptions); $("input.celular:text").mask(SPMaskBehavior, spOptions);
$("input.cep:text").mask("00000-000"); $("input.cep:text").mask("00000-000");
buttonMais.addEventListener("click", (e) => { buttonMais.addEventListener("click", (e) => {
if(parts.children.length >= "{{ $edital->numParticipantes }}"){ if(parts.children.length >= "{{ $edital->numParticipantes }}"){
alert('Limite de participante.') alert('Limite de participante.')
}else{ }else{
contador++; contador++;
var cln = participante.cloneNode(true); var cln = participante.cloneNode(true);
cln.setAttribute('style', " "); cln.setAttribute('style', " ");
var id = cln.children[2].firstElementChild.id; var id = cln.children[2].firstElementChild.id;
var id2 = cln.children[0].firstElementChild.id; var id2 = cln.children[0].firstElementChild.id;
cln.children[2].firstElementChild.setAttribute('id', id + contador); cln.children[2].firstElementChild.setAttribute('id', id + contador);
cln.children[0].firstElementChild.setAttribute('href', "#collapseParticipante" + contador); cln.children[0].firstElementChild.setAttribute('href', "#collapseParticipante" + contador);
cln.children[0].firstElementChild.setAttribute('id', id2 + contador); cln.children[0].firstElementChild.setAttribute('id', id2 + contador);
for (i = 0; i < cln.children.length; i++) { for (i = 0; i < cln.children.length; i++) {
for (let index = 0; index < cln.children[i].querySelectorAll('input').length; index++) { for (let index = 0; index < cln.children[i].querySelectorAll('input').length; index++) {
let input = cln.children[i].querySelectorAll('input')[index]; let input = cln.children[i].querySelectorAll('input')[index];
let name = input.getAttributeNode("name").value; let name = input.getAttributeNode("name").value;
name = name.replace("[]", ""); name = name.replace("[]", "");
input.getAttributeNode("name").value = name + '['+ contador +']'; input.getAttributeNode("name").value = name + '['+ contador +']';
let select = cln.children[i].querySelectorAll('select')[index]; let select = cln.children[i].querySelectorAll('select')[index];
if(select){ if(select){
let selectName = select.getAttributeNode("name").value; let selectName = select.getAttributeNode("name").value;
selectName = selectName.replace("[", ""); selectName = selectName.replace("[", "");
selectName = selectName.replace("]", ""); selectName = selectName.replace("]", "");
select.getAttributeNode("name").value = selectName + '['+ contador +']'; select.getAttributeNode("name").value = selectName + '['+ contador +']';
} }
} }
} }
var SPMaskBehavior = function (val) { var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
}, },
spOptions = { spOptions = {
onKeyPress: function(val, e, field, options) { onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options); field.mask(SPMaskBehavior.apply({}, arguments), options);
} }
}; };
parts.appendChild(cln); parts.appendChild(cln);
$("input.cpf:text").val("").mask("000.000.000-00"); $("input.cpf:text").val("").mask("000.000.000-00");
$("input.celular:text").val("").mask(SPMaskBehavior, spOptions); $("input.celular:text").val("").mask(SPMaskBehavior, spOptions);
$("input.cep:text").val("").mask("00000-000"); $("input.cep:text").val("").mask("00000-000");
} }
}); });
function marcar(id){ function marcar(id){
let nome = document.getElementById("nome"+id); let nome = document.getElementById("nome"+id);
let linkNome = document.getElementById("nomePart"+(id+1)); let linkNome = document.getElementById("nomePart"+(id+1));
let linkTituloProj = document.getElementById("tituloProj"+(id+1)); let linkTituloProj = document.getElementById("tituloProj"+(id+1));
let planoTrabalho = document.getElementById("nomePlanoTrabalho"+id); let planoTrabalho = document.getElementById("nomePlanoTrabalho"+id);
if(nome.value != ""){ if(nome.value != ""){
if(planoTrabalho.value != ""){ if(planoTrabalho.value != ""){
linkNome.innerText = `Nome: ${nome.value} \n Plano: ${planoTrabalho.value}`; linkNome.innerText = `Nome: ${nome.value} \n Plano: ${planoTrabalho.value}`;
}else { }else {
linkNome.innerText = `Nome: ${nome.value}`; linkNome.innerText = `Nome: ${nome.value}`;
} }
} }
if(id >=1){ if(id >=1){
document.getElementById("cancelar"+(id-1)).setAttribute("disabled", true); document.getElementById("cancelar"+(id-1)).setAttribute("disabled", true);
} }
document.getElementById("checkB"+id).checked = true; document.getElementById("checkB"+id).checked = true;
$("#atribuir1").attr('data-target','#exampleModal'+(id+1)); $("#atribuir1").attr('data-target','#exampleModal'+(id+1));
document.getElementById("part"+id).removeAttribute("hidden"); document.getElementById("part"+id).removeAttribute("hidden");
document.getElementById("exampleModal"+id).modal('hide'); document.getElementById("exampleModal"+id).modal('hide');
} }
function desmarcar(id){ function desmarcar(id){
if(id >= 1){; if(id >= 1){;
document.getElementById("cancelar"+(id-1)).removeAttribute("disabled"); document.getElementById("cancelar"+(id-1)).removeAttribute("disabled");
} }
document.getElementById("checkB"+id).checked = false; document.getElementById("checkB"+id).checked = false;
document.getElementById("part"+id).setAttribute("hidden",true); document.getElementById("part"+id).setAttribute("hidden",true);
$("#atribuir1").attr('data-target','#exampleModal'+(id)); $("#atribuir1").attr('data-target','#exampleModal'+(id));
document.getElementById("exampleModal"+id).modal('hide'); document.getElementById("exampleModal"+id).modal('hide');
} }
</script> </script>
<script> <script>
$.validator.addMethod("alpha", function(value, element) { $.validator.addMethod("alpha", function(value, element) {
return this.optional(element) || value == value.match(/^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+$/); return this.optional(element) || value == value.match(/^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+$/);
}); });
$('input.cep:text').mask('00000-000'); $('input.cep:text').mask('00000-000');
//$('input.cpf:text').mask('000.000.000-00'); //$('input.cpf:text').mask('000.000.000-00');
$('.numero').mask('0000000000000'); $('.numero').mask('0000000000000');
var SPMaskBehavior = function (val) { var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
}, },
spOptions = { spOptions = {
onKeyPress: function(val, e, field, options) { onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options); field.mask(SPMaskBehavior.apply({}, arguments), options);
} }
}; };
$('.celular').mask(SPMaskBehavior, spOptions); $('.celular').mask(SPMaskBehavior, spOptions);
$('.sus').mask('000 0000 0000 0000'); $('.sus').mask('000 0000 0000 0000');
$("input[type='file']").on("change", function () { $("input[type='file']").on("change", function () {
if(this.files[0].size > 2000000) { if(this.files[0].size > 2000000) {
// console.log($(this).parents( ".col-sm-5" )) // console.log($(this).parents( ".col-sm-5" ))
alert("O tamanho do arquivo deve ser menor que 2MB!"); alert("O tamanho do arquivo deve ser menor que 2MB!");
$(this).val(''); $(this).val('');
} }
}); });
// $.validator.setDefaults( { // $.validator.setDefaults( {
// submitHandler: function (form) { // submitHandler: function (form) {
// form.submit(); // form.submit();
// } // }
// } ); // } );
// jQuery.extend(jQuery.validator.messages, { // jQuery.extend(jQuery.validator.messages, {
// required: "Este campo &eacute; requerido.", // required: "Este campo &eacute; requerido.",
// remote: "Por favor, corrija este campo.", // remote: "Por favor, corrija este campo.",
// email: "Por favor, forne&ccedil;a um endere&ccedil;o eletr&ocirc;nico v&aacute;lido.", // email: "Por favor, forne&ccedil;a um endere&ccedil;o eletr&ocirc;nico v&aacute;lido.",
// url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.", // url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.",
// date: "Por favor, forne&ccedil;a uma data v&aacute;lida.", // date: "Por favor, forne&ccedil;a uma data v&aacute;lida.",
// dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).", // dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).",
// number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.", // number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.",
// digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.", // digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.",
// creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.", // creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.",
// equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.", // equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.",
// accept: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.", // accept: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.",
// maxlength: jQuery.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."), // maxlength: jQuery.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."),
// minlength: jQuery.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."), // minlength: jQuery.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."),
// rangelength: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."), // rangelength: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."),
// range: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."), // range: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."),
// max: jQuery.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."), // max: jQuery.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."),
// min: jQuery.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}.") // min: jQuery.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}.")
// }); // });
// $( "#criarProjetoForm" ).validate( { // $( "#criarProjetoForm" ).validate( {
// lang: 'PT_BR', // lang: 'PT_BR',
// rules: { // rules: {
// firstname: "required", // firstname: "required",
// username: { // username: {
// required: true, // required: true,
// minlength: 2 // minlength: 2
// }, // },
// password: { // password: {
// required: true, // required: true,
// minlength: 5 // minlength: 5
// }, // },
// confirm_password: { // confirm_password: {
// required: true, // required: true,
// minlength: 5, // minlength: 5,
// equalTo: "#password" // equalTo: "#password"
// }, // },
// email: { // email: {
// required: true, // required: true,
// email: true, // email: true,
// }, // },
// "complemento[]":{ // "complemento[]":{
// }, // },
// "nomeParticipante[]":{ // "nomeParticipante[]":{
// alpha:true, // alpha:true,
// }, // },
// 'rg[]':{ // 'rg[]':{
// maxlength: 12, // maxlength: 12,
// }, // },
// agree: "required" // agree: "required"
// }, // },
// messages: { // messages: {
// // nomeProjeto: "O nome do projeto é obrigatório.", // // nomeProjeto: "O nome do projeto é obrigatório.",
// // 'emailParticipante[]': "Este campo é obrigatório.", // // 'emailParticipante[]': "Este campo é obrigatório.",
// // 'data_de_nascimento[]': "Este campo é obrigatório.", // // 'data_de_nascimento[]': "Este campo é obrigatório.",
// // 'cpf[]': "Este campo é obrigatório.", // // 'cpf[]': "Este campo é obrigatório.",
// // 'rg[]': { // // 'rg[]': {
// // required: "Este campo é obrigatório.", // // required: "Este campo é obrigatório.",
// // maxlength: "Este campo deve conter no máximo 8 números." // // maxlength: "Este campo deve conter no máximo 8 números."
// // }, // // },
// // 'celular[]': "Este campo é obrigatório.", // // 'celular[]': "Este campo é obrigatório.",
// // 'cep[]': "Este campo é obrigatório.", // // 'cep[]': "Este campo é obrigatório.",
// // 'uf[]': "Este campo é obrigatório.", // // 'uf[]': "Este campo é obrigatório.",
// // 'cidade[]': "Este campo é obrigatório.", // // 'cidade[]': "Este campo é obrigatório.",
// // 'bairro[]': "Este campo é obrigatório.", // // 'bairro[]': "Este campo é obrigatório.",
// // 'rua[]': "Este campo é obrigatório.", // // 'rua[]': "Este campo é obrigatório.",
// // 'numero[]': "Este campo é obrigatório.", // // 'numero[]': "Este campo é obrigatório.",
// // 'complemento[]': "Este campo é obrigatório.", // // 'complemento[]': "Este campo é obrigatório.",
// // 'universidade[]': "Este campo é obrigatório.", // // 'universidade[]': "Este campo é obrigatório.",
// // 'curso[]': "Este campo é obrigatório.", // // 'curso[]': "Este campo é obrigatório.",
// // 'turno[]': "Este campo é obrigatório.", // // 'turno[]': "Este campo é obrigatório.",
// // 'total_periodos[]': "Este campo é obrigatório.", // // 'total_periodos[]': "Este campo é obrigatório.",
// // 'periodo_atual[]': "Este campo é obrigatório.", // // 'periodo_atual[]': "Este campo é obrigatório.",
// // 'ordem_prioridade[]': "Este campo é obrigatório.", // // 'ordem_prioridade[]': "Este campo é obrigatório.",
// // 'media_geral_curso[]': "Este campo é obrigatório.", // // 'media_geral_curso[]': "Este campo é obrigatório.",
// // 'nomePlanoTrabalho[]': "Este campo é obrigatório.", // // 'nomePlanoTrabalho[]': "Este campo é obrigatório.",
// // 'anexoPlanoTrabalho[]': "Este campo é obrigatório.", // // 'anexoPlanoTrabalho[]': "Este campo é obrigatório.",
// // grandeArea: "Escolha uma grande área.", // // grandeArea: "Escolha uma grande área.",
// // area: "Escolha uma área.", // // area: "Escolha uma área.",
// // linkGrupo: "Este campo é obrigatório.", // // linkGrupo: "Este campo é obrigatório.",
// // pontuacaoPlanilha: "Este campo é obrigatório.", // // pontuacaoPlanilha: "Este campo é obrigatório.",
// // anexoProjeto: "Este campo é obrigatório.", // // anexoProjeto: "Este campo é obrigatório.",
// // anexoLattesCoordenador: "Este campo é obrigatório.", // // anexoLattesCoordenador: "Este campo é obrigatório.",
// // anexoConsuPreenchido: "Este campo é obrigatório.", // // anexoConsuPreenchido: "Este campo é obrigatório.",
// // anexoGrupoPesquisa: "Este campo é obrigatório.", // // anexoGrupoPesquisa: "Este campo é obrigatório.",
// // anexoPlanilha: "Este campo é obrigatório.", // // anexoPlanilha: "Este campo é obrigatório.",
// // anexoComiteEtica: "Este campo é obrigatório.", // // anexoComiteEtica: "Este campo é obrigatório.",
// // inputJustificativa: "Este campo é obrigatório.", // // inputJustificativa: "Este campo é obrigatório.",
// // "nomeParticipante[]": { // // "nomeParticipante[]": {
// // required: "O nome do participante é obrigatório.", // // required: "O nome do participante é obrigatório.",
// // alpha: "Não é permitido números." // // alpha: "Não é permitido números."
// // }, // // },
// // username: { // // username: {
// // required: "Please enter a username", // // required: "Please enter a username",
// // minlength: "Your username must consist of at least 2 characters" // // minlength: "Your username must consist of at least 2 characters"
// // }, // // },
// // password: { // // password: {
// // required: "Please provide a password", // // required: "Please provide a password",
// // minlength: "Your password must be at least 5 characters long" // // minlength: "Your password must be at least 5 characters long"
// // }, // // },
// // confirm_password: { // // confirm_password: {
// // required: "Please provide a password", // // required: "Please provide a password",
// // minlength: "Your password must be at least 5 characters long", // // minlength: "Your password must be at least 5 characters long",
// // equalTo: "Please enter the same password as above" // // equalTo: "Please enter the same password as above"
// // }, // // },
// // email: "Please enter a valid email address", // // email: "Please enter a valid email address",
// // agree: "Please accept our policy" // // agree: "Please accept our policy"
// }, // },
// errorElement: "em", // errorElement: "em",
// errorPlacement: function ( error, element ) { // errorPlacement: function ( error, element ) {
// // Add the `help-block` class to the error element // // Add the `help-block` class to the error element
// error.addClass( "invalid-feedback" ); // error.addClass( "invalid-feedback" );
// if ( element.prop( "type" ) === "checkbox" ) { // if ( element.prop( "type" ) === "checkbox" ) {
// error.insertAfter( element.parent( "label" ) ); // error.insertAfter( element.parent( "label" ) );
// } else { // } else {
// error.insertAfter( element ); // error.insertAfter( element );
// } // }
// }, // },
// highlight: function ( element, errorClass, validClass ) { // highlight: function ( element, errorClass, validClass ) {
// $( element ).parents( ".col-sm-5" ).addClass( "has-error" ).removeClass( "has-success" ); // $( element ).parents( ".col-sm-5" ).addClass( "has-error" ).removeClass( "has-success" );
// }, // },
// unhighlight: function (element, errorClass, validClass) { // unhighlight: function (element, errorClass, validClass) {
// $( element ).parents( ".col-sm-5" ).addClass( "has-success" ).removeClass( "has-error" ); // $( element ).parents( ".col-sm-5" ).addClass( "has-success" ).removeClass( "has-error" );
// } // }
// } ); // } );
} ); } );
</script> </script>
<script type="text/javascript"> <script type="text/javascript">
function validarCPF(valor){ function validarCPF(valor){
var soma = 0; var soma = 0;
var resto; var resto;
var inputCPF = valor.match(/\d/g).join(''); var inputCPF = valor.match(/\d/g).join('');
if(inputCPF == '00000000000') return false; if(inputCPF == '00000000000') return false;
if(inputCPF.length >11) return false; if(inputCPF.length >11) return false;
for(i=1; i<=9; i++) soma = soma + parseInt(inputCPF.substring(i-1, i)) * (11 - i); for(i=1; i<=9; i++) soma = soma + parseInt(inputCPF.substring(i-1, i)) * (11 - i);
resto = (soma * 10) % 11; resto = (soma * 10) % 11;
if((resto == 10) || (resto == 11)) resto = 0; if((resto == 10) || (resto == 11)) resto = 0;
if(resto != parseInt(inputCPF.substring(9, 10))) return false; if(resto != parseInt(inputCPF.substring(9, 10))) return false;
soma = 0; soma = 0;
for(i = 1; i <= 10; i++) soma = soma + parseInt(inputCPF.substring(i-1, i))*(12-i); for(i = 1; i <= 10; i++) soma = soma + parseInt(inputCPF.substring(i-1, i))*(12-i);
resto = (soma * 10) % 11; resto = (soma * 10) % 11;
if((resto == 10) || (resto == 11)) resto = 0; if((resto == 10) || (resto == 11)) resto = 0;
if(resto != parseInt(inputCPF.substring(10, 11))) return false; if(resto != parseInt(inputCPF.substring(10, 11))) return false;
return true; return true;
} }
/* /*
* FUNCAO: Gerar as areas * FUNCAO: Gerar as areas
* *
*/ */
function areas() { function areas() {
var grandeArea = $('#grandeArea').val(); var grandeArea = $('#grandeArea').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('area.consulta') }}', url: '{{ route('area.consulta') }}',
data: 'id='+grandeArea , data: 'id='+grandeArea ,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados) => { success: (dados) => {
if (dados.length > 0) { if (dados.length > 0) {
if($('#oldArea').val() == null || $('#oldArea').val() == ""){ if($('#oldArea').val() == null || $('#oldArea').val() == ""){
var option = '<option selected disabled>-- Área --</option>'; var option = '<option selected disabled>-- Área --</option>';
} }
$.each(dados, function(i, obj) { $.each(dados, function(i, obj) {
if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){ if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{ }else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Área --</option>"; var option = "<option selected disabled>-- Área --</option>";
} }
$('#area').html(option).show(); $('#area').html(option).show();
subareas(); subareas();
}, },
error: (data) => { error: (data) => {
console.log(data); console.log(data);
} }
}) })
} }
/* /*
* FUNCAO: Gerar as subareas * FUNCAO: Gerar as subareas
* *
*/ */
function subareas() { function subareas() {
var area = $('#area').val(); var area = $('#area').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('subarea.consulta') }}', url: '{{ route('subarea.consulta') }}',
data: 'id='+area , data: 'id='+area ,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados)=> { success: (dados)=> {
if (dados.length > 0) { if (dados.length > 0) {
if($('#oldSubArea').val() == null || $('#oldSubArea').val() == ""){ if($('#oldSubArea').val() == null || $('#oldSubArea').val() == ""){
var option = '<option selected disabled>-- Subárea --</option>'; var option = '<option selected disabled>-- Subárea --</option>';
} }
$.each(dados, function(i, obj) { $.each(dados, function(i, obj) {
if($('#oldSubArea').val() != null && $('#oldSubArea').val() == obj.id){ if($('#oldSubArea').val() != null && $('#oldSubArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{ }else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Subárea --</option>"; var option = "<option selected disabled>-- Subárea --</option>";
} }
$('#subArea').html(option).show(); $('#subArea').html(option).show();
}, },
error: (dados) => { error: (dados) => {
console.log(dados); console.log(dados);
} }
}) })
} }
/* /*
* FUNCAO: funcao responsavel pelo abre e fecha da area "possui autorizacoes especiais?" * FUNCAO: funcao responsavel pelo abre e fecha da area "possui autorizacoes especiais?"
* *
*/ */
function displayAutorizacoesEspeciais(valor){ function displayAutorizacoesEspeciais(valor){
if(valor == "sim"){ if(valor == "sim"){
document.getElementById("radioSim").checked = true; document.getElementById("radioSim").checked = true;
document.getElementById("radioNao").checked = false; document.getElementById("radioNao").checked = false;
document.getElementById("displaySim").style.display = "block"; document.getElementById("displaySim").style.display = "block";
document.getElementById("displayNao").style.display = "none"; document.getElementById("displayNao").style.display = "none";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
}else if(valor == "nao"){ }else if(valor == "nao"){
document.getElementById("radioSim").checked = false; document.getElementById("radioSim").checked = false;
document.getElementById("radioNao").checked = true; document.getElementById("radioNao").checked = true;
document.getElementById("displaySim").style.display = "none"; document.getElementById("displaySim").style.display = "none";
document.getElementById("displayNao").style.display = "block"; document.getElementById("displayNao").style.display = "block";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
} }
} }
/* /*
* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (PDF) * FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (PDF)
* *
*/ */
function verificarArquivoAnexado_pdf(item, legenda){ function verificarArquivoAnexado_pdf(item, legenda){
if(item.files[0].type.split('/')[1] != "pdf"){ if(item.files[0].type.split('/')[1] != "pdf"){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo PDF! "; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo PDF! ";
document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB."; document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else if(item.files[0].size > 2000000 && item.files[0].type.split('/')[1] == "pdf"){ }else if(item.files[0].size > 2000000 && item.files[0].type.split('/')[1] == "pdf"){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!"; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!";
document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB."; document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else{ }else{
document.getElementById(legenda).innerHTML = item.value.split('\\')[2]; document.getElementById(legenda).innerHTML = item.value.split('\\')[2];
} }
} }
/* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (XLS, XLSX, ODS) /* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (XLS, XLSX, ODS)
* *
*/ */
function verificarArquivoAnexado_xls_xlsx_ods(item, legenda){ function verificarArquivoAnexado_xls_xlsx_ods(item, legenda){
if(item.files[0].name.split('.')[1] == "xls" || item.files[0].name.split('.')[1] == "ods" || item.files[0].name.split('.')[1] == "xlsx"){ if(item.files[0].name.split('.')[1] == "xls" || item.files[0].name.split('.')[1] == "ods" || item.files[0].name.split('.')[1] == "xlsx"){
if(item.files[0].size > 2000000){ if(item.files[0].size > 2000000){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!"; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!";
document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB."; document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else{ }else{
document.getElementById(legenda).innerHTML = item.value.split('\\')[2]; document.getElementById(legenda).innerHTML = item.value.split('\\')[2];
} }
}else{ }else{
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo XLS, XLSX ou ODS! "; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo XLS, XLSX ou ODS! ";
document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB."; document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
} }
} }
/* /*
* FUNCAO: Gerar periodos 1 * FUNCAO: Gerar periodos 1
* *
*/ */
// function gerarPeriodos1(select) { // function gerarPeriodos1(select) {
// var div = select.parentElement.parentElement; // var div = select.parentElement.parentElement;
// var selectPeriodos = div.children[22].children[1]; // var selectPeriodos = div.children[22].children[1];
// var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`; // var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`;
// for(var i = 0; i < parseInt(select.value); i++) { // for(var i = 0; i < parseInt(select.value); i++) {
// html += `<option value="${i+1}">${i+1}º</option>`; // html += `<option value="${i+1}">${i+1}º</option>`;
// } // }
// }); // });
// }); // });
// $(document).ready(function(){ // $(document).ready(function(){
// $(".cpf").change(function(){ // $(".cpf").change(function(){
// console.log(this.parentElement.children[0]) // console.log(this.parentElement.children[0])
// if (validarCPF(retirarFormatacao(this.value))) { // if (validarCPF(retirarFormatacao(this.value))) {
// this.parentElement.children[1].style.display = "none"; // this.parentElement.children[1].style.display = "none";
// this.parentElement.children[2].style.display = "block"; // this.parentElement.children[2].style.display = "block";
// } else { // } else {
// this.parentElement.children[1].style.display = "block"; // this.parentElement.children[1].style.display = "block";
// this.parentElement.children[2].style.display = "none"; // this.parentElement.children[2].style.display = "none";
// } // }
// }); // });
// }); // });
function checarCPFdoCampo(input) { function checarCPFdoCampo(input) {
if (input.value.length == 14) { if (input.value.length == 14) {
if (validarCPF(retirarFormatacao(input.value))) { if (validarCPF(retirarFormatacao(input.value))) {
input.parentElement.children[1].style.display = "none"; input.parentElement.children[1].style.display = "none";
input.parentElement.children[2].style.display = "block"; input.parentElement.children[2].style.display = "block";
} else { } else {
input.parentElement.children[1].style.display = "block"; input.parentElement.children[1].style.display = "block";
input.parentElement.children[2].style.display = "none"; input.parentElement.children[2].style.display = "none";
} }
} else { } else {
input.parentElement.children[1].style.display = "none"; input.parentElement.children[1].style.display = "none";
input.parentElement.children[2].style.display = "none"; input.parentElement.children[2].style.display = "none";
} }
} }
function validarCPF(strCPF) { function validarCPF(strCPF) {
var soma; var soma;
var resto; var resto;
soma = 0; soma = 0;
// Verifica se foi informado todos os digitos corretamente // Verifica se foi informado todos os digitos corretamente
if (strCPF.length != 11) { if (strCPF.length != 11) {
return false; return false;
} }
// Verifica se foi informada uma sequência de digitos repetidos. Ex: 111.111.111-11 // Verifica se foi informada uma sequência de digitos repetidos. Ex: 111.111.111-11
if (varificarDigitos(strCPF)) { if (varificarDigitos(strCPF)) {
return false; return false;
} }
// Faz o calculo para validar o CPF // Faz o calculo para validar o CPF
for (var t = 9; t < 11; t++) { for (var t = 9; t < 11; t++) {
for (var d = 0, c = 0; c < t; c++) { for (var d = 0, c = 0; c < t; c++) {
d += strCPF[c] * ((t + 1) - c); d += strCPF[c] * ((t + 1) - c);
} }
d = ((10 * d) % 11) % 10; d = ((10 * d) % 11) % 10;
if (strCPF[c] != d) { if (strCPF[c] != d) {
return false; return false;
} }
} }
return true; return true;
} }
function retirarFormatacao(strCpf) { function retirarFormatacao(strCpf) {
resultado = ""; resultado = "";
for(var i = 0; i < strCpf.length; i++) { for(var i = 0; i < strCpf.length; i++) {
if (strCpf[i] != "." && strCpf[i] != "-") { if (strCpf[i] != "." && strCpf[i] != "-") {
resultado += strCpf[i]; resultado += strCpf[i];
} }
} }
return resultado; return resultado;
} }
function varificarDigitos(strCpf) { function varificarDigitos(strCpf) {
var cont = 1; var cont = 1;
dig1 = strCpf[0]; dig1 = strCpf[0];
for(var i = 1; i < strCpf.length; i++) { for(var i = 1; i < strCpf.length; i++) {
if(dig1 == strCpf[i]) { if(dig1 == strCpf[i]) {
cont++; cont++;
} }
} }
if (cont == strCpf.length) { if (cont == strCpf.length) {
return true; return true;
} }
return false; return false;
} }
function checarCpfs() { function checarCpfs() {
var validacoes = document.getElementsByClassName("cpf-invalido"); var validacoes = document.getElementsByClassName("cpf-invalido");
var count = validacoes.length; var count = validacoes.length;
var quant = 0; var quant = 0;
for(var i = 0; i < validacoes.length; i++) { for(var i = 0; i < validacoes.length; i++) {
if (validacoes[i].style.display == "none") { if (validacoes[i].style.display == "none") {
quant++; quant++;
} }
} }
if(quant == count) { if(quant == count) {
return true; return true;
} }
return false; return false;
} }
function submeterProposta() { function submeterProposta() {
if (checarCpfs()) { if (checarCpfs()) {
document.getElementById("submeterFormProposta").click(); document.getElementById("submeterFormProposta").click();
} else { } else {
$("#modalCpfInvalido").modal('show'); $("#modalCpfInvalido").modal('show');
} }
} }
function mascaraCPF(input) { function mascaraCPF(input) {
var numeros = "0123456789.-"; var numeros = "0123456789.-";
var resultado = ""; var resultado = "";
if (input.value.length < 14) { if (input.value.length < 14) {
for (var i = 0; i < input.value.length; i++) { for (var i = 0; i < input.value.length; i++) {
if (numeros.indexOf(input.value[i]) > -1) { if (numeros.indexOf(input.value[i]) > -1) {
if ((i == 2 || i == 6) && input.value[i+1] != ".") { if ((i == 2 || i == 6) && input.value[i+1] != ".") {
resultado += input.value[i] + "."; resultado += input.value[i] + ".";
} else if (i == 10 && input.value[i+1] != "-") { } else if (i == 10 && input.value[i+1] != "-") {
resultado += input.value[i] + "-"; resultado += input.value[i] + "-";
} else { } else {
resultado += input.value[i]; resultado += input.value[i];
} }
} }
} }
} else { } else {
for (var i = 0; i < 14; i++) { for (var i = 0; i < 14; i++) {
resultado += input.value[i]; resultado += input.value[i];
} }
} }
input.value = resultado; input.value = resultado;
} }
function showInstituicao(instituicao){ function showInstituicao(instituicao){
var instituicaoSelect = instituicao; var instituicaoSelect = instituicao;
var idSelect = instituicaoSelect.name; var idSelect = instituicaoSelect.name;
var instituicao = document.getElementById('outra'+idSelect); var instituicao = document.getElementById('outra'+idSelect);
var display = document.getElementById('display'+idSelect); var display = document.getElementById('display'+idSelect);
if(instituicaoSelect.value === "Outra"){ if(instituicaoSelect.value === "Outra"){
display.style.display = "block"; display.style.display = "block";
instituicao.parentElement.style.display = ''; instituicao.parentElement.style.display = '';
//instituicao.value=""; //instituicao.value="";
}else{ }else{
display.style.display = "none"; display.style.display = "none";
} }
} }
function showCurso(curso){ function showCurso(curso){
var cursoSelect = curso; var cursoSelect = curso;
var idSelect = cursoSelect.name; var idSelect = cursoSelect.name;
var curso = document.getElementById('outro'+idSelect); var curso = document.getElementById('outro'+idSelect);
var displayCurso = document.getElementById('display'+idSelect); var displayCurso = document.getElementById('display'+idSelect);
if(cursoSelect.value === "Outro"){ if(cursoSelect.value === "Outro"){
displayCurso.style.display = "block"; displayCurso.style.display = "block";
curso.parentElement.style.display = ''; curso.parentElement.style.display = '';
//curso.value=""; //curso.value="";
}else{ }else{
displayCurso.style.display = "none"; displayCurso.style.display = "none";
} }
} }
</script> </script>
@endsection @endsection
\ No newline at end of file
<!-- Participantes --> <!-- Participantes -->
<div class="col-md-12" style="margin-top: 20px"> <div class="col-md-12" style="margin-top: 20px">
<div class="card" style="border-radius: 5px"> <div class="card" style="border-radius: 5px">
<div class="card-body" style="padding-top: 0.2rem;"> <div class="card-body" style="padding-top: 0.2rem;">
<div class="container"> <div class="container">
<div class="form-row mt-3"> <div class="form-row mt-3">
<div class="col-sm-8"><h5 style="color: #234B8B; font-weight: bold">Integrantes</h5></div> <div class="col-sm-8"><h5 style="color: #234B8B; font-weight: bold">Integrantes</h5></div>
</div> </div>
<hr style="border-top: 1px solid#1492E6"> <hr style="border-top: 1px solid#1492E6">
<div class="row justify-content-start" style="alignment: center"> <div class="row justify-content-start" style="alignment: center">
@foreach($trabalhos_user as $trabalho_user) @foreach($trabalhos_user as $trabalho_user)
<div class="col-sm-1 mt-4"> <div class="col-sm-1 mt-4">
<img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt=""> <img src="{{asset('img/icons/usuario.svg')}}" style="width:60px" alt="">
</div> </div>
<div class="col-sm-5 mt-4"> <div class="col-sm-5 mt-4">
<h5 class="mb-0">Nome: {{ $trabalho_user->user->name }}</h5> <h5 class="mb-0">Nome: {{ $trabalho_user->user->name }}</h5>
<h5 class="mb-0">Função: {{ $trabalho_user->funcao->nome }}</h5> <h5 class="mb-0">Função: {{ $trabalho_user->funcao->nome }}</h5>
</div> </div>
@endforeach @endforeach
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!--X Participantes X--> <!--X Participantes X-->
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div> <div>
{{-- action="{{route('trabalho.store')}}" --}} {{-- action="{{route('trabalho.store')}}" --}}
<form method="POST" id="criarProjetoForm" action="{{route('trabalho.update', ['id' => $projeto->id])}}" enctype="multipart/form-data" > <form method="POST" id="criarProjetoForm" action="{{route('trabalho.update', ['id' => $projeto->id])}}" enctype="multipart/form-data" >
@csrf @csrf
<input type="hidden" name="editalId" value="{{$edital->id}}"> <input type="hidden" name="editalId" value="{{$edital->id}}">
<div class="container"> <div class="container">
@if (session('mensagem')) @if (session('mensagem'))
<div class="alert alert-warning" role="alert"> <div class="alert alert-warning" role="alert">
{{ session('mensagem') }} {{ session('mensagem') }}
</div> </div>
@endif @endif
@if($errors->any()) @if($errors->any())
<div class="alert alert-danger mt-1" > <div class="alert alert-danger mt-1" >
{{$errors->first()}} {{$errors->first()}}
</div> </div>
@endif @endif
<div class="row justify-content-center" style="margin-top: 4rem"> <div class="row justify-content-center" style="margin-top: 4rem">
@component('projeto.formularioVisualizar.projeto2', @component('projeto.formularioVisualizar.projeto2',
['edital' => $edital, 'projeto' => $projeto]) ['edital' => $edital, 'projeto' => $projeto])
@endcomponent @endcomponent
@component('projeto.formularioVisualizar.proponente2', ['projeto' => $projeto, 'edital' => $edital, 'areasTematicas' => $areasTematicas]) @component('projeto.formularioVisualizar.proponente2', ['projeto' => $projeto, 'edital' => $edital, 'areasTematicas' => $areasTematicas])
@endcomponent @endcomponent
@component('projeto.formularioVisualizar.anexos2', ['edital' => $edital,'projeto' => $projeto]) @component('projeto.formularioVisualizar.anexos2', ['edital' => $edital,'projeto' => $projeto])
@endcomponent @endcomponent
@component('projeto.formularioVisualizar.participantes2', ['projeto' => $projeto, 'edital' => $edital]) @component('projeto.formularioVisualizar.participantes2', ['projeto' => $projeto, 'edital' => $edital])
@endcomponent @endcomponent
@if($edital->natureza_id == 3) @if($edital->natureza_id == 3)
@component('projeto.formularioVisualizar.integrantes', ['projeto' => $projeto, 'edital' => $edital, 'trabalhos_user' => $trabalhos_user]) @component('projeto.formularioVisualizar.integrantes', ['projeto' => $projeto, 'edital' => $edital, 'trabalhos_user' => $trabalhos_user])
@endcomponent @endcomponent
@endif @endif
@component('projeto.formularioVisualizar.relatorio',['edital' => $edital,'projeto' => $projeto,'flagSubstituicao' =>$flagSubstituicao]) @component('projeto.formularioVisualizar.relatorio',['edital' => $edital,'projeto' => $projeto,'flagSubstituicao' =>$flagSubstituicao])
@endcomponent @endcomponent
@component('projeto.formularioVisualizar.resultado2', @component('projeto.formularioVisualizar.resultado2',
['projeto' => $projeto]) ['projeto' => $projeto])
@endcomponent @endcomponent
{{-- @component('projeto.formularioVisualizar.finalizar', ['projeto' => $projeto]) {{-- @component('projeto.formularioVisualizar.finalizar', ['projeto' => $projeto])
@endcomponent --}} @endcomponent --}}
</div> </div>
<div class="row justify-content-end" style="padding: 15px;"> <div class="row justify-content-end" style="padding: 15px;">
<a href="{{ url()->previous() }}" class="btn btn-primary" style="font-size: 16px;">Voltar</a> <a href="{{ url()->previous() }}" class="btn btn-primary" style="font-size: 16px;">Voltar</a>
</div> </div>
</div> </div>
</form> </form>
<div class="modal fade" id="modalSelecionarDiscentes" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="modalSelecionarDiscentes" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="overflow-x:auto; padding-left: 31px"> <div class="modal-header" style="overflow-x:auto; padding-left: 31px">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Selecione os discentes que dejesa solicitar certificado/declaração</h5> <h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Selecione os discentes que dejesa solicitar certificado/declaração</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body" style="padding-right: 32px;padding-left: 32px;padding-top: 20px;padding-bottom: 32px;"> <div class="modal-body" style="padding-right: 32px;padding-left: 32px;padding-top: 20px;padding-bottom: 32px;">
<form id="certificadoForm" action="{{route('trabalho.solicitarCertificado', $projeto)}}" method="POST"> <form id="certificadoForm" action="{{route('trabalho.solicitarCertificado', $projeto)}}" method="POST">
@csrf @csrf
<div class="form-check"> <div class="form-check">
<input name="users[]" class="form-check-input" type="checkbox" value="{{$projeto->proponente->user->id}}" id="pa-{{$projeto->proponente->user->id}}"> <input name="users[]" class="form-check-input" type="checkbox" value="{{$projeto->proponente->user->id}}" id="pa-{{$projeto->proponente->user->id}}">
<label class="form-check-label" for="pa-{{$projeto->proponente->user->id}}"> <label class="form-check-label" for="pa-{{$projeto->proponente->user->id}}">
{{$projeto->proponente->user->name}} {{$projeto->proponente->user->name}}
</label> </label>
</div> </div>
@foreach ($projeto->participantes as $participante) @foreach ($projeto->participantes as $participante)
<div class="form-check"> <div class="form-check">
<input name="users[]" class="form-check-input" type="checkbox" value="{{$participante->user->id}}" id="pa-{{$participante->user->id}}"> <input name="users[]" class="form-check-input" type="checkbox" value="{{$participante->user->id}}" id="pa-{{$participante->user->id}}">
<label class="form-check-label" for="pa-{{$participante->user->id}}"> <label class="form-check-label" for="pa-{{$participante->user->id}}">
{{$participante->user->name}} {{$participante->user->name}}
</label> </label>
</div> </div>
@endforeach @endforeach
</form> </form>
</div> </div>
<div class="modal-footer d-flex justify-content-between px-3"> <div class="modal-footer d-flex justify-content-between px-3">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
<button type="submit" form="certificadoForm" class="btn btn-primary">Confirmar</button> <button type="submit" form="certificadoForm" class="btn btn-primary">Confirmar</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="participanteFirst" > <div id="participanteFirst" >
@component('componentes.participante', ['enum_turno' => $enum_turno,'estados' => $estados, ]) @component('componentes.participante', ['enum_turno' => $enum_turno,'estados' => $estados, ])
@endcomponent @endcomponent
</div> </div>
<!-- Modal de Aviso Edit --> <!-- Modal de Aviso Edit -->
<div class="modal fade" id="exampleModalAnexarDocumento" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true"> <div class="modal fade" id="exampleModalAnexarDocumento" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" id="idCorCabecalhoModalDocumento"> <div class="modal-header" id="idCorCabecalhoModalDocumento">
<h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row">
<div class="col-12" style="font-family: 'Roboto', sans-serif;"><label id="idTituloDaMensagemModalDocumento"></label></div> <div class="col-12" style="font-family: 'Roboto', sans-serif;"><label id="idTituloDaMensagemModalDocumento"></label></div>
<div class="col-12" style="font-family: 'Roboto', sans-serif; margin-top:10px;"> <div class="col-12" style="font-family: 'Roboto', sans-serif; margin-top:10px;">
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-light" data-dismiss="modal"style="width:200px;">Fechar</button> <button type="button" class="btn btn-light" data-dismiss="modal"style="width:200px;">Fechar</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="modalCpfInvalido" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true"> <div class="modal fade" id="modalCpfInvalido" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: red;"> <div class="modal-header" style="background-color: red;">
<h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5> <h5 class="modal-title" id="exampleModalLabel2" style="font-size:20px; margin-top:7px; color:white; font-weight:bold; font-family: 'Roboto', sans-serif;">Aviso</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
Existe um CPF inválido em um dos discentes por favor corrija para continuar. Existe um CPF inválido em um dos discentes por favor corrija para continuar.
</div> </div>
{{-- <div class="modal-footer"> {{-- <div class="modal-footer">
{{-- <button type="button" class="btn btn-secondary"></button> {{-- <button type="button" class="btn btn-secondary"></button>
{{-- <button type="button" class="btn btn-primary">Certo</button> {{-- <button type="button" class="btn btn-primary">Certo</button>
</div> --}} </div> --}}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection
@section('javascript') @section('javascript')
<style> <style>
body{font-family:Calibri, Tahoma, Arial} body{font-family:Calibri, Tahoma, Arial}
.TabControl{ width:100%; overflow:hidden; height:400px} .TabControl{ width:100%; overflow:hidden; height:400px}
.TabControl #header{ width:100%; overflow:hidden} .TabControl #header{ width:100%; overflow:hidden}
.TabControl #content{ width:100%; overflow:hidden; height:100%; } .TabControl #content{ width:100%; overflow:hidden; height:100%; }
.TabControl .abas{display:inline;} .TabControl .abas{display:inline;}
.TabControl .abas li{float:left} .TabControl .abas li{float:left}
.aba{width:100px; height:30px; border-radius:5px 5px 0 0; .aba{width:100px; height:30px; border-radius:5px 5px 0 0;
text-align:center; padding-top:5px;} text-align:center; padding-top:5px;}
.ativa{width:100px; height:30px; border-radius:5px 5px 0 0; .ativa{width:100px; height:30px; border-radius:5px 5px 0 0;
text-align:center; padding-top:5px; background:#27408B;} text-align:center; padding-top:5px; background:#27408B;}
.ativa span, .selected span{color:#fff} .ativa span, .selected span{color:#fff}
.TabControl .conteudo{width:100%; display:none; height:100%;} .TabControl .conteudo{width:100%; display:none; height:100%;}
.selected{width:100px; height:30px; border-radius:5px 5px 0 0; .selected{width:100px; height:30px; border-radius:5px 5px 0 0;
text-align:center; padding-top:5px; background:#27408B} text-align:center; padding-top:5px; background:#27408B}
.card:hover{ .card:hover{
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2); box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2);
} }
.card-body{ .card-body{
font-size:18.4px; font-size:18.4px;
} }
h6,h5{ h6,h5{
font-size:18.4px; font-size:18.4px;
} }
</style> </style>
<script> <script>
if(document.getElementById("radioSim").checked){ if(document.getElementById("radioSim").checked){
document.getElementById("radioSim").checked = true; document.getElementById("radioSim").checked = true;
document.getElementById("radioNao").checked = false; document.getElementById("radioNao").checked = false;
document.getElementById("displaySim").style.display = "block"; document.getElementById("displaySim").style.display = "block";
document.getElementById("displayNao").style.display = "none"; document.getElementById("displayNao").style.display = "none";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
}else{ }else{
document.getElementById("radioSim").checked = false; document.getElementById("radioSim").checked = false;
document.getElementById("radioNao").checked = true; document.getElementById("radioNao").checked = true;
document.getElementById("displaySim").style.display = "none"; document.getElementById("displaySim").style.display = "none";
document.getElementById("displayNao").style.display = "block"; document.getElementById("displayNao").style.display = "block";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
} }
let buttonSubmit = document.getElementById('idButtonSubmitProjeto'); let buttonSubmit = document.getElementById('idButtonSubmitProjeto');
let parts = document.getElementById('participante'); let parts = document.getElementById('participante');
let partsFirst = document.getElementById('participanteFirst'); let partsFirst = document.getElementById('participanteFirst');
const participante = partsFirst.firstElementChild; const participante = partsFirst.firstElementChild;
let contador = 0; let contador = 0;
buttonSubmit.addEventListener('click', (e)=>{ buttonSubmit.addEventListener('click', (e)=>{
$('.collapse').addClass('show') $('.collapse').addClass('show')
}) })
function gerarPeriodo(e){ function gerarPeriodo(e){
var select = e.parentElement.parentElement.nextElementSibling; var select = e.parentElement.parentElement.nextElementSibling;
selectPeriodos = select.children[0].children[1]; selectPeriodos = select.children[0].children[1];
var html = `<option value="" disabled selected>-- TOTAL DE PERÍODOS --</option>`; var html = `<option value="" disabled selected>-- TOTAL DE PERÍODOS --</option>`;
for(var i = 0; i < parseInt(e.value); i++) { for(var i = 0; i < parseInt(e.value); i++) {
html += `<option value="${i+1}">${i+1}º</option>`; html += `<option value="${i+1}">${i+1}º</option>`;
} }
$(selectPeriodos).html(''); $(selectPeriodos).html('');
$(selectPeriodos).append(html); $(selectPeriodos).append(html);
} }
function removerPart(e){ function removerPart(e){
console.log(e) console.log(e)
if(e.parentElement.parentElement){ if(e.parentElement.parentElement){
if(parts.children.length <= 1){ if(parts.children.length <= 1){
}else{ }else{
parts.removeChild(e.parentElement.parentElement); parts.removeChild(e.parentElement.parentElement);
contador--; contador--;
} }
} }
} }
buttonMais.addEventListener("click", (e) => { buttonMais.addEventListener("click", (e) => {
if(parts.children.length >= "{{ $edital->numParticipantes }}"){ if(parts.children.length >= "{{ $edital->numParticipantes }}"){
alert('Limite de participante.') alert('Limite de participante.')
}else{ }else{
contador++; contador++;
var cln = participante.cloneNode(true); var cln = participante.cloneNode(true);
cln.setAttribute('style', " "); cln.setAttribute('style', " ");
var id = cln.children[2].firstElementChild.id; var id = cln.children[2].firstElementChild.id;
var id2 = cln.children[0].firstElementChild.id; var id2 = cln.children[0].firstElementChild.id;
cln.children[2].firstElementChild.setAttribute('id', id + contador); cln.children[2].firstElementChild.setAttribute('id', id + contador);
cln.children[0].firstElementChild.setAttribute('href', "#collapseParticipante" + contador); cln.children[0].firstElementChild.setAttribute('href', "#collapseParticipante" + contador);
cln.children[0].firstElementChild.setAttribute('id', id2 + contador); cln.children[0].firstElementChild.setAttribute('id', id2 + contador);
for (i = 0; i < cln.children.length; i++) { for (i = 0; i < cln.children.length; i++) {
for (let index = 0; index < cln.children[i].querySelectorAll('input').length; index++) { for (let index = 0; index < cln.children[i].querySelectorAll('input').length; index++) {
let input = cln.children[i].querySelectorAll('input')[index]; let input = cln.children[i].querySelectorAll('input')[index];
let name = input.getAttributeNode("name").value; let name = input.getAttributeNode("name").value;
name = name.replace("[]", ""); name = name.replace("[]", "");
input.getAttributeNode("name").value = name + '['+ contador +']'; input.getAttributeNode("name").value = name + '['+ contador +']';
let select = cln.children[i].querySelectorAll('select')[index]; let select = cln.children[i].querySelectorAll('select')[index];
if(select){ if(select){
let selectName = select.getAttributeNode("name").value; let selectName = select.getAttributeNode("name").value;
selectName = selectName.replace("[", ""); selectName = selectName.replace("[", "");
selectName = selectName.replace("]", ""); selectName = selectName.replace("]", "");
select.getAttributeNode("name").value = selectName + '['+ contador +']'; select.getAttributeNode("name").value = selectName + '['+ contador +']';
} }
} }
} }
var SPMaskBehavior = function (val) { var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
}, },
spOptions = { spOptions = {
onKeyPress: function(val, e, field, options) { onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options); field.mask(SPMaskBehavior.apply({}, arguments), options);
} }
}; };
parts.appendChild(cln); parts.appendChild(cln);
// console.log(cln); // console.log(cln);
$(cln).find(".cpf").val("").mask("000.000.000-00"); $(cln).find(".cpf").val("").mask("000.000.000-00");
// $("input.cpf:text").val("").mask("000.000.000-00"); // $("input.cpf:text").val("").mask("000.000.000-00");
$("input.celular:text").val("").mask(SPMaskBehavior, spOptions); $("input.celular:text").val("").mask(SPMaskBehavior, spOptions);
$("input.cep:text").val("").mask("00000-000"); $("input.cep:text").val("").mask("00000-000");
} }
}); });
</script> </script>
<script> <script>
$( document ).ready( function () { $( document ).ready( function () {
$('#nomeParticipante').keyup(function () { $('#nomeParticipante').keyup(function () {
$('#display').text($(this).val()); $('#display').text($(this).val());
if($('#nomeParticipante').val() == ""){ if($('#nomeParticipante').val() == ""){
$('#display').hide(); $('#display').hide();
$('#pontos').hide(); $('#pontos').hide();
}else{ }else{
$('#display').show(); $('#display').show();
$('#pontos').show(); $('#pontos').show();
} }
}); });
$.validator.addMethod("alpha", function(value, element) { $.validator.addMethod("alpha", function(value, element) {
return this.optional(element) || value == value.match(/^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+$/); return this.optional(element) || value == value.match(/^[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+$/);
}); });
$('.cep').mask('00000000'); $('.cep').mask('00000000');
// $('.cpf').mask('000.000.000-00'); // $('.cpf').mask('000.000.000-00');
$('.numero').mask('0000000000000'); $('.numero').mask('0000000000000');
var SPMaskBehavior = function (val) { var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
}, },
spOptions = { spOptions = {
onKeyPress: function(val, e, field, options) { onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options); field.mask(SPMaskBehavior.apply({}, arguments), options);
} }
}; };
$('.celular').mask(SPMaskBehavior, spOptions); $('.celular').mask(SPMaskBehavior, spOptions);
$('.sus').mask('000 0000 0000 0000'); $('.sus').mask('000 0000 0000 0000');
$("input[type='file']").on("change", function () { $("input[type='file']").on("change", function () {
if(this.files[0].size > 2000000) { if(this.files[0].size > 2000000) {
// console.log($(this).parents( ".col-sm-5" )) // console.log($(this).parents( ".col-sm-5" ))
alert("O tamanho do arquivo deve ser menor que 2MB!"); alert("O tamanho do arquivo deve ser menor que 2MB!");
$(this).val(''); $(this).val('');
} }
}); });
$.validator.setDefaults( { $.validator.setDefaults( {
submitHandler: function (form) { submitHandler: function (form) {
form.submit(); form.submit();
} }
} ); } );
jQuery.extend(jQuery.validator.messages, { jQuery.extend(jQuery.validator.messages, {
required: "Este campo &eacute; requerido.", required: "Este campo &eacute; requerido.",
remote: "Por favor, corrija este campo.", remote: "Por favor, corrija este campo.",
email: "Por favor, forne&ccedil;a um endere&ccedil;o eletr&ocirc;nico v&aacute;lido.", email: "Por favor, forne&ccedil;a um endere&ccedil;o eletr&ocirc;nico v&aacute;lido.",
url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.", url: "Por favor, forne&ccedil;a uma URL v&aacute;lida.",
date: "Por favor, forne&ccedil;a uma data v&aacute;lida.", date: "Por favor, forne&ccedil;a uma data v&aacute;lida.",
dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).", dateISO: "Por favor, forne&ccedil;a uma data v&aacute;lida (ISO).",
number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.", number: "Por favor, forne&ccedil;a um n&uacute;mero v&aacute;lido.",
digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.", digits: "Por favor, forne&ccedil;a somente d&iacute;gitos.",
creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.", creditcard: "Por favor, forne&ccedil;a um cart&atilde;o de cr&eacute;dito v&aacute;lido.",
equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.", equalTo: "Por favor, forne&ccedil;a o mesmo valor novamente.",
accept: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.", accept: "Por favor, forne&ccedil;a um valor com uma extens&atilde;o v&aacute;lida.",
maxlength: jQuery.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."), maxlength: jQuery.validator.format("Por favor, forne&ccedil;a n&atilde;o mais que {0} caracteres."),
minlength: jQuery.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."), minlength: jQuery.validator.format("Por favor, forne&ccedil;a ao menos {0} caracteres."),
rangelength: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."), rangelength: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1} caracteres de comprimento."),
range: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."), range: jQuery.validator.format("Por favor, forne&ccedil;a um valor entre {0} e {1}."),
max: jQuery.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."), max: jQuery.validator.format("Por favor, forne&ccedil;a um valor menor ou igual a {0}."),
min: jQuery.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}.") min: jQuery.validator.format("Por favor, forne&ccedil;a um valor maior ou igual a {0}.")
}); });
$( "#criarProjetoForm" ).validate( { $( "#criarProjetoForm" ).validate( {
lang: 'PT_BR', lang: 'PT_BR',
rules: { rules: {
firstname: "required", firstname: "required",
username: { username: {
required: true, required: true,
minlength: 2 minlength: 2
}, },
password: { password: {
required: true, required: true,
minlength: 5 minlength: 5
}, },
confirm_password: { confirm_password: {
required: true, required: true,
minlength: 5, minlength: 5,
equalTo: "#password" equalTo: "#password"
}, },
email: { email: {
required: true, required: true,
email: true, email: true,
}, },
"complemento[]":{ "complemento[]":{
}, },
"nomeParticipante[]":{ "nomeParticipante[]":{
required:true, required:true,
alpha:true, alpha:true,
}, },
'rg[]':{ 'rg[]':{
required: true, required: true,
maxlength: 12, maxlength: 12,
}, },
agree: "required" agree: "required"
}, },
messages: { messages: {
// nomeProjeto: "O nome do projeto é obrigatório.", // nomeProjeto: "O nome do projeto é obrigatório.",
// 'emailParticipante[]': "Este campo é obrigatório.", // 'emailParticipante[]': "Este campo é obrigatório.",
// 'data_de_nascimento[]': "Este campo é obrigatório.", // 'data_de_nascimento[]': "Este campo é obrigatório.",
// 'cpf[]': "Este campo é obrigatório.", // 'cpf[]': "Este campo é obrigatório.",
// 'rg[]': { // 'rg[]': {
// required: "Este campo é obrigatório.", // required: "Este campo é obrigatório.",
// maxlength: "Este campo deve conter no máximo 8 números." // maxlength: "Este campo deve conter no máximo 8 números."
// }, // },
// 'celular[]': "Este campo é obrigatório.", // 'celular[]': "Este campo é obrigatório.",
// 'cep[]': "Este campo é obrigatório.", // 'cep[]': "Este campo é obrigatório.",
// 'uf[]': "Este campo é obrigatório.", // 'uf[]': "Este campo é obrigatório.",
// 'cidade[]': "Este campo é obrigatório.", // 'cidade[]': "Este campo é obrigatório.",
// 'bairro[]': "Este campo é obrigatório.", // 'bairro[]': "Este campo é obrigatório.",
// 'rua[]': "Este campo é obrigatório.", // 'rua[]': "Este campo é obrigatório.",
// 'numero[]': "Este campo é obrigatório.", // 'numero[]': "Este campo é obrigatório.",
// 'complemento[]': "Este campo é obrigatório.", // 'complemento[]': "Este campo é obrigatório.",
// 'universidade[]': "Este campo é obrigatório.", // 'universidade[]': "Este campo é obrigatório.",
// 'curso[]': "Este campo é obrigatório.", // 'curso[]': "Este campo é obrigatório.",
// 'turno[]': "Este campo é obrigatório.", // 'turno[]': "Este campo é obrigatório.",
// 'total_periodos[]': "Este campo é obrigatório.", // 'total_periodos[]': "Este campo é obrigatório.",
// 'periodo_atual[]': "Este campo é obrigatório.", // 'periodo_atual[]': "Este campo é obrigatório.",
// 'ordem_prioridade[]': "Este campo é obrigatório.", // 'ordem_prioridade[]': "Este campo é obrigatório.",
// 'media_geral_curso[]': "Este campo é obrigatório.", // 'media_geral_curso[]': "Este campo é obrigatório.",
// 'nomePlanoTrabalho[]': "Este campo é obrigatório.", // 'nomePlanoTrabalho[]': "Este campo é obrigatório.",
// 'anexoPlanoTrabalho[]': "Este campo é obrigatório.", // 'anexoPlanoTrabalho[]': "Este campo é obrigatório.",
// grandeArea: "Escolha uma grande área.", // grandeArea: "Escolha uma grande área.",
// area: "Escolha uma área.", // area: "Escolha uma área.",
// linkGrupo: "Este campo é obrigatório.", // linkGrupo: "Este campo é obrigatório.",
// pontuacaoPlanilha: "Este campo é obrigatório.", // pontuacaoPlanilha: "Este campo é obrigatório.",
// anexoProjeto: "Este campo é obrigatório.", // anexoProjeto: "Este campo é obrigatório.",
// anexoLattesCoordenador: "Este campo é obrigatório.", // anexoLattesCoordenador: "Este campo é obrigatório.",
// anexoConsuPreenchido: "Este campo é obrigatório.", // anexoConsuPreenchido: "Este campo é obrigatório.",
// anexoGrupoPesquisa: "Este campo é obrigatório.", // anexoGrupoPesquisa: "Este campo é obrigatório.",
// anexoPlanilha: "Este campo é obrigatório.", // anexoPlanilha: "Este campo é obrigatório.",
// anexoComiteEtica: "Este campo é obrigatório.", // anexoComiteEtica: "Este campo é obrigatório.",
// inputJustificativa: "Este campo é obrigatório.", // inputJustificativa: "Este campo é obrigatório.",
// "nomeParticipante[]": { // "nomeParticipante[]": {
// required: "O nome do participante é obrigatório.", // required: "O nome do participante é obrigatório.",
// alpha: "Não é permitido números." // alpha: "Não é permitido números."
// }, // },
// username: { // username: {
// required: "Please enter a username", // required: "Please enter a username",
// minlength: "Your username must consist of at least 2 characters" // minlength: "Your username must consist of at least 2 characters"
// }, // },
// password: { // password: {
// required: "Please provide a password", // required: "Please provide a password",
// minlength: "Your password must be at least 5 characters long" // minlength: "Your password must be at least 5 characters long"
// }, // },
// confirm_password: { // confirm_password: {
// required: "Please provide a password", // required: "Please provide a password",
// minlength: "Your password must be at least 5 characters long", // minlength: "Your password must be at least 5 characters long",
// equalTo: "Please enter the same password as above" // equalTo: "Please enter the same password as above"
// }, // },
// email: "Please enter a valid email address", // email: "Please enter a valid email address",
// agree: "Please accept our policy" // agree: "Please accept our policy"
}, },
errorElement: "em", errorElement: "em",
errorPlacement: function ( error, element ) { errorPlacement: function ( error, element ) {
// Add the `help-block` class to the error element // Add the `help-block` class to the error element
error.addClass( "invalid-feedback" ); error.addClass( "invalid-feedback" );
if ( element.prop( "type" ) === "checkbox" ) { if ( element.prop( "type" ) === "checkbox" ) {
error.insertAfter( element.parent( "label" ) ); error.insertAfter( element.parent( "label" ) );
} else { } else {
error.insertAfter( element ); error.insertAfter( element );
} }
}, },
highlight: function ( element, errorClass, validClass ) { highlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".col-sm-5" ).addClass( "has-error" ).removeClass( "has-success" ); $( element ).parents( ".col-sm-5" ).addClass( "has-error" ).removeClass( "has-success" );
}, },
unhighlight: function (element, errorClass, validClass) { unhighlight: function (element, errorClass, validClass) {
$( element ).parents( ".col-sm-5" ).addClass( "has-success" ).removeClass( "has-error" ); $( element ).parents( ".col-sm-5" ).addClass( "has-success" ).removeClass( "has-error" );
} }
} ); } );
} ); } );
</script> </script>
<script type="text/javascript"> <script type="text/javascript">
function validarCPF(valor){ function validarCPF(valor){
var soma = 0; var soma = 0;
var resto; var resto;
var inputCPF = valor.match(/\d/g).join(''); var inputCPF = valor.match(/\d/g).join('');
if(inputCPF == '00000000000') return false; if(inputCPF == '00000000000') return false;
if(inputCPF.length >11) return false; if(inputCPF.length >11) return false;
for(i=1; i<=9; i++) soma = soma + parseInt(inputCPF.substring(i-1, i)) * (11 - i); for(i=1; i<=9; i++) soma = soma + parseInt(inputCPF.substring(i-1, i)) * (11 - i);
resto = (soma * 10) % 11; resto = (soma * 10) % 11;
if((resto == 10) || (resto == 11)) resto = 0; if((resto == 10) || (resto == 11)) resto = 0;
if(resto != parseInt(inputCPF.substring(9, 10))) return false; if(resto != parseInt(inputCPF.substring(9, 10))) return false;
soma = 0; soma = 0;
for(i = 1; i <= 10; i++) soma = soma + parseInt(inputCPF.substring(i-1, i))*(12-i); for(i = 1; i <= 10; i++) soma = soma + parseInt(inputCPF.substring(i-1, i))*(12-i);
resto = (soma * 10) % 11; resto = (soma * 10) % 11;
if((resto == 10) || (resto == 11)) resto = 0; if((resto == 10) || (resto == 11)) resto = 0;
if(resto != parseInt(inputCPF.substring(10, 11))) return false; if(resto != parseInt(inputCPF.substring(10, 11))) return false;
return true; return true;
} }
/* /*
* FUNCAO: Gerar as areas * FUNCAO: Gerar as areas
* *
*/ */
function areas() { function areas() {
var grandeArea = $('#grandeArea').val(); var grandeArea = $('#grandeArea').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('area.consulta') }}', url: '{{ route('area.consulta') }}',
data: 'id='+grandeArea , data: 'id='+grandeArea ,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados) => { success: (dados) => {
if (dados.length > 0) { if (dados.length > 0) {
if($('#oldArea').val() == null || $('#oldArea').val() == ""){ if($('#oldArea').val() == null || $('#oldArea').val() == ""){
var option = '<option selected disabled>-- Área --</option>'; var option = '<option selected disabled>-- Área --</option>';
} }
$.each(dados, function(i, obj) { $.each(dados, function(i, obj) {
if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){ if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{ }else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Área --</option>"; var option = "<option selected disabled>-- Área --</option>";
} }
$('#area').html(option).show(); $('#area').html(option).show();
subareas(); subareas();
}, },
error: (data) => { error: (data) => {
console.log(data); console.log(data);
} }
}) })
} }
/* /*
* FUNCAO: Gerar as subareas * FUNCAO: Gerar as subareas
* *
*/ */
function subareas() { function subareas() {
var area = $('#area').val(); var area = $('#area').val();
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: '{{ route('subarea.consulta') }}', url: '{{ route('subarea.consulta') }}',
data: 'id='+area , data: 'id='+area ,
headers: headers:
{ {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
success: (dados)=> { success: (dados)=> {
if (dados.length > 0) { if (dados.length > 0) {
if($('#oldSubArea').val() == null || $('#oldSubArea').val() == ""){ if($('#oldSubArea').val() == null || $('#oldSubArea').val() == ""){
var option = '<option selected disabled>-- Subárea --</option>'; var option = '<option selected disabled>-- Subárea --</option>';
} }
$.each(dados, function(i, obj) { $.each(dados, function(i, obj) {
if($('#oldSubArea').val() != null && $('#oldSubArea').val() == obj.id){ if($('#oldSubArea').val() != null && $('#oldSubArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{ }else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>'; option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
} }
}) })
} else { } else {
var option = "<option selected disabled>-- Subárea --</option>"; var option = "<option selected disabled>-- Subárea --</option>";
} }
$('#subArea').html(option).show(); $('#subArea').html(option).show();
}, },
error: (dados) => { error: (dados) => {
console.log(dados); console.log(dados);
} }
}) })
} }
/* /*
* FUNCAO: funcao responsavel pelo abre e fecha da area "possui autorizacoes especiais?" * FUNCAO: funcao responsavel pelo abre e fecha da area "possui autorizacoes especiais?"
* *
*/ */
function displayAutorizacoesEspeciais(valor){ function displayAutorizacoesEspeciais(valor){
if(valor == "sim"){ if(valor == "sim"){
document.getElementById("radioSim").checked = true; document.getElementById("radioSim").checked = true;
document.getElementById("radioNao").checked = false; document.getElementById("radioNao").checked = false;
document.getElementById("displaySim").style.display = "block"; document.getElementById("displaySim").style.display = "block";
document.getElementById("displayNao").style.display = "none"; document.getElementById("displayNao").style.display = "none";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
}else if(valor == "nao"){ }else if(valor == "nao"){
document.getElementById("radioSim").checked = false; document.getElementById("radioSim").checked = false;
document.getElementById("radioNao").checked = true; document.getElementById("radioNao").checked = true;
document.getElementById("displaySim").style.display = "none"; document.getElementById("displaySim").style.display = "none";
document.getElementById("displayNao").style.display = "block"; document.getElementById("displayNao").style.display = "block";
document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none"; document.getElementById("idAvisoAutorizacaoEspecial").style.display = "none";
} }
} }
/* /*
* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (PDF) * FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (PDF)
* *
*/ */
function verificarArquivoAnexado_pdf(item, legenda){ function verificarArquivoAnexado_pdf(item, legenda){
if(item.files[0].type.split('/')[1] != "pdf"){ if(item.files[0].type.split('/')[1] != "pdf"){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo PDF! "; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo PDF! ";
document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB."; document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else if(item.files[0].size > 2000000 && item.files[0].type.split('/')[1] == "pdf"){ }else if(item.files[0].size > 2000000 && item.files[0].type.split('/')[1] == "pdf"){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!"; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!";
document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB."; document.getElementById(legenda).innerHTML = "O arquivo deve ser no formato PDF de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else{ }else{
document.getElementById(legenda).innerHTML = item.value.split('\\')[2]; document.getElementById(legenda).innerHTML = item.value.split('\\')[2];
} }
} }
/* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (XLS, XLSX, ODS) /* FUNCAO: funcao responsavel pela verificacao dos arquivos anexados (XLS, XLSX, ODS)
* *
*/ */
function verificarArquivoAnexado_xls_xlsx_ods(item, legenda){ function verificarArquivoAnexado_xls_xlsx_ods(item, legenda){
if(item.files[0].name.split('.')[1] == "xls" || item.files[0].name.split('.')[1] == "ods" || item.files[0].name.split('.')[1] == "xlsx"){ if(item.files[0].name.split('.')[1] == "xls" || item.files[0].name.split('.')[1] == "ods" || item.files[0].name.split('.')[1] == "xlsx"){
if(item.files[0].size > 2000000){ if(item.files[0].size > 2000000){
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!"; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado é maior que 2MB!";
document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB."; document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
}else{ }else{
document.getElementById(legenda).innerHTML = item.value.split('\\')[2]; document.getElementById(legenda).innerHTML = item.value.split('\\')[2];
} }
}else{ }else{
document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red"; document.getElementById("idCorCabecalhoModalDocumento").style.backgroundColor = "red";
document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo XLS, XLSX ou ODS! "; document.getElementById("idTituloDaMensagemModalDocumento").innerHTML = "O arquivo selecionado não é do tipo XLS, XLSX ou ODS! ";
document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB."; document.getElementById(legenda).innerHTML = "Formato do arquivo: XLS, XLSX ou ODS de até 2MB.";
document.getElementById(item.id).value = ""; document.getElementById(item.id).value = "";
$("#exampleModalAnexarDocumento").modal({show: true}); $("#exampleModalAnexarDocumento").modal({show: true});
} }
} }
/* /*
* FUNCAO: Gerar periodos 1 * FUNCAO: Gerar periodos 1
* *
*/ */
// function gerarPeriodos1(select) { // function gerarPeriodos1(select) {
// var div = select.parentElement.parentElement; // var div = select.parentElement.parentElement;
// var selectPeriodos = div.children[22].children[1]; // var selectPeriodos = div.children[22].children[1];
// var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`; // var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`;
// for(var i = 0; i < parseInt(select.value); i++) { // for(var i = 0; i < parseInt(select.value); i++) {
// html += `<option value="${i+1}">${i+1}º</option>`; // html += `<option value="${i+1}">${i+1}º</option>`;
// } // }
// }); // });
// }); // });
// $(document).ready(function(){ // $(document).ready(function(){
// $(".cpf").change(function(){ // $(".cpf").change(function(){
// console.log(this.parentElement.children[0]) // console.log(this.parentElement.children[0])
// if (validarCPF(retirarFormatacao(this.value))) { // if (validarCPF(retirarFormatacao(this.value))) {
// this.parentElement.children[1].style.display = "none"; // this.parentElement.children[1].style.display = "none";
// this.parentElement.children[2].style.display = "block"; // this.parentElement.children[2].style.display = "block";
// } else { // } else {
// this.parentElement.children[1].style.display = "block"; // this.parentElement.children[1].style.display = "block";
// this.parentElement.children[2].style.display = "none"; // this.parentElement.children[2].style.display = "none";
// } // }
// }); // });
// }); // });
function checarCPFdoCampo(input) { function checarCPFdoCampo(input) {
if (input.value.length == 14) { if (input.value.length == 14) {
if (validarCPF(retirarFormatacao(input.value))) { if (validarCPF(retirarFormatacao(input.value))) {
input.parentElement.children[1].style.display = "none"; input.parentElement.children[1].style.display = "none";
input.parentElement.children[2].style.display = "block"; input.parentElement.children[2].style.display = "block";
} else { } else {
input.parentElement.children[1].style.display = "block"; input.parentElement.children[1].style.display = "block";
input.parentElement.children[2].style.display = "none"; input.parentElement.children[2].style.display = "none";
} }
} else { } else {
input.parentElement.children[1].style.display = "none"; input.parentElement.children[1].style.display = "none";
input.parentElement.children[2].style.display = "none"; input.parentElement.children[2].style.display = "none";
} }
} }
function validarCPF(strCPF) { function validarCPF(strCPF) {
var soma; var soma;
var resto; var resto;
soma = 0; soma = 0;
// Verifica se foi informado todos os digitos corretamente // Verifica se foi informado todos os digitos corretamente
if (strCPF.length != 11) { if (strCPF.length != 11) {
return false; return false;
} }
// Verifica se foi informada uma sequência de digitos repetidos. Ex: 111.111.111-11 // Verifica se foi informada uma sequência de digitos repetidos. Ex: 111.111.111-11
if (varificarDigitos(strCPF)) { if (varificarDigitos(strCPF)) {
return false; return false;
} }
// Faz o calculo para validar o CPF // Faz o calculo para validar o CPF
for (var t = 9; t < 11; t++) { for (var t = 9; t < 11; t++) {
for (var d = 0, c = 0; c < t; c++) { for (var d = 0, c = 0; c < t; c++) {
d += strCPF[c] * ((t + 1) - c); d += strCPF[c] * ((t + 1) - c);
} }
d = ((10 * d) % 11) % 10; d = ((10 * d) % 11) % 10;
if (strCPF[c] != d) { if (strCPF[c] != d) {
return false; return false;
} }
} }
return true; return true;
} }
function retirarFormatacao(strCpf) { function retirarFormatacao(strCpf) {
resultado = ""; resultado = "";
for(var i = 0; i < strCpf.length; i++) { for(var i = 0; i < strCpf.length; i++) {
if (strCpf[i] != "." && strCpf[i] != "-") { if (strCpf[i] != "." && strCpf[i] != "-") {
resultado += strCpf[i]; resultado += strCpf[i];
} }
} }
return resultado; return resultado;
} }
function varificarDigitos(strCpf) { function varificarDigitos(strCpf) {
var cont = 1; var cont = 1;
dig1 = strCpf[0]; dig1 = strCpf[0];
for(var i = 1; i < strCpf.length; i++) { for(var i = 1; i < strCpf.length; i++) {
if(dig1 == strCpf[i]) { if(dig1 == strCpf[i]) {
cont++; cont++;
} }
} }
if (cont == strCpf.length) { if (cont == strCpf.length) {
return true; return true;
} }
return false; return false;
} }
function checarCpfs() { function checarCpfs() {
var validacoes = document.getElementsByClassName("cpf-invalido"); var validacoes = document.getElementsByClassName("cpf-invalido");
var count = validacoes.length; var count = validacoes.length;
var quant = 0; var quant = 0;
for(var i = 0; i < validacoes.length; i++) { for(var i = 0; i < validacoes.length; i++) {
if (validacoes[i].style.display == "none") { if (validacoes[i].style.display == "none") {
quant++; quant++;
} }
} }
if(quant == count) { if(quant == count) {
return true; return true;
} }
return false; return false;
} }
function submeterProposta() { function submeterProposta() {
document.getElementById("submeterFormProposta").click(); document.getElementById("submeterFormProposta").click();
// if (checarCpfs()) { // if (checarCpfs()) {
// } else { // } else {
// $("#modalCpfInvalido").modal('show'); // $("#modalCpfInvalido").modal('show');
// } // }
} }
function mascaraCPF(input) { function mascaraCPF(input) {
var numeros = "0123456789.-"; var numeros = "0123456789.-";
var resultado = ""; var resultado = "";
if (input.value.length < 14) { if (input.value.length < 14) {
for (var i = 0; i < input.value.length; i++) { for (var i = 0; i < input.value.length; i++) {
if (numeros.indexOf(input.value[i]) > -1) { if (numeros.indexOf(input.value[i]) > -1) {
if ((i == 2 || i == 6) && input.value[i+1] != ".") { if ((i == 2 || i == 6) && input.value[i+1] != ".") {
resultado += input.value[i] + "."; resultado += input.value[i] + ".";
} else if (i == 10 && input.value[i+1] != "-") { } else if (i == 10 && input.value[i+1] != "-") {
resultado += input.value[i] + "-"; resultado += input.value[i] + "-";
} else { } else {
resultado += input.value[i]; resultado += input.value[i];
} }
} }
} }
} else { } else {
for (var i = 0; i < 14; i++) { for (var i = 0; i < 14; i++) {
resultado += input.value[i]; resultado += input.value[i];
} }
} }
input.value = resultado; input.value = resultado;
} }
</script> </script>
@endsection @endsection
<?php <?php
use App\Notifications\SubmissaoNotification; use App\Notifications\SubmissaoNotification;
use App\Trabalho; use App\Trabalho;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Notification;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Web Routes | Web Routes
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| Here is where you can register web routes for your application. These | Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which | routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great! | contains the "web" middleware group. Now create something great!
| |
*/ */
Route::get('/email', function (Request $request) { Route::get('/email', function (Request $request) {
$id = Trabalho::find(9)->id; $id = Trabalho::find(9)->id;
Notification::send(Auth::user(), new SubmissaoNotification($id)); Notification::send(Auth::user(), new SubmissaoNotification($id));
return 'Ok'; return 'Ok';
// Auth::user()->notify(new SubmissaoTrabalho('teste')); // Auth::user()->notify(new SubmissaoTrabalho('teste'));
}); });
Route::get('/baixarModeloAvaliacao', 'AdministradorController@baixarModeloAvaliacao')->name('baixarModelo'); Route::get('/baixarModeloAvaliacao', 'AdministradorController@baixarModeloAvaliacao')->name('baixarModelo');
Route::get('/', 'UserController@index')->name('home-user'); Route::get('/', 'UserController@index')->name('home-user');
Route::get('/', 'UserController@inicial')->name('inicial'); Route::get('/', 'UserController@inicial')->name('inicial');
Route::get('/home', 'HomeController@index')->name('home')->middleware('verified'); Route::get('/home', 'HomeController@index')->name('home')->middleware('verified');
Route::get('/evento/visualizar/naologado/{id}', 'EventoController@showNaoLogado')->name('evento.visualizarNaoLogado'); Route::get('/evento/visualizar/naologado/{id}', 'EventoController@showNaoLogado')->name('evento.visualizarNaoLogado');
Route::get('/editais/home', 'EventoController@index')->name('coord.home'); Route::get('/editais/home', 'EventoController@index')->name('coord.home');
Route::get('/perfil', 'UserController@perfil')->name('perfil'); Route::get('/perfil', 'UserController@perfil')->name('perfil');
Auth::routes(['verify' => true]); Auth::routes(['verify' => true]);
//Rota para avaliador atualizar perfil, deixando de ser usuario temporario //Rota para avaliador atualizar perfil, deixando de ser usuario temporario
Route::post('/perfil-usuario', 'UserController@editarPerfil')->name('perfil.edit')->middleware(['auth', 'verified']); Route::post('/perfil-usuario', 'UserController@editarPerfil')->name('perfil.edit')->middleware(['auth', 'verified']);
Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function () { Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function () {
//######### Proponente ######################################## //######### Proponente ########################################
Route::get('/proponente/index', 'ProponenteController@index')->name('proponente.index'); Route::get('/proponente/index', 'ProponenteController@index')->name('proponente.index');
Route::get('/proponente/cadastro', 'ProponenteController@create')->name('proponente.create'); Route::get('/proponente/cadastro', 'ProponenteController@create')->name('proponente.create');
Route::post('/proponente/cadastro', 'ProponenteController@store')->name('proponente.store'); Route::post('/proponente/cadastro', 'ProponenteController@store')->name('proponente.store');
Route::get('/proponente/editais', 'ProponenteController@editais')->name('proponente.editais'); Route::get('/proponente/editais', 'ProponenteController@editais')->name('proponente.editais');
Route::get('/projetos-submetidos', 'ProponenteController@projetosDoProponente')->name('proponente.projetos'); Route::get('/projetos-submetidos', 'ProponenteController@projetosDoProponente')->name('proponente.projetos');
Route::get('/projetos-edital/{id}', 'ProponenteController@projetosEdital')->name('proponente.projetosEdital')->middleware('auth'); Route::get('/projetos-edital/{id}', 'ProponenteController@projetosEdital')->name('proponente.projetosEdital')->middleware('auth');
Route::post('/proponente/edital/{edital_id}/projeto/{projeto_id}/solicitar_desligamento/{participante_id}', 'ProponenteController@solicitarDesligamento')->name('proponente.solicitar.desligamento'); Route::post('/proponente/edital/{edital_id}/projeto/{projeto_id}/solicitar_desligamento/{participante_id}', 'ProponenteController@solicitarDesligamento')->name('proponente.solicitar.desligamento');
//######## Rotas Avaliador #################################### //######## Rotas Avaliador ####################################
Route::prefix('avaliacaoRelatorio')->name('avaliacaoRelatorio.')->group(function () { Route::prefix('avaliacaoRelatorio')->name('avaliacaoRelatorio.')->group(function () {
Route::post('/atribuirAvaliadorPlano', 'AvaliacaoRelatorioController@atribuicaoAvaliador')->name('atribuicao.avaliador')->middleware('checkRoles:coordenador,administrador'); Route::post('/atribuirAvaliadorPlano', 'AvaliacaoRelatorioController@atribuicaoAvaliador')->name('atribuicao.avaliador')->middleware('checkRoles:coordenador,administrador');
Route::get('/removerAvaliadorPlano/{id}', 'AvaliacaoRelatorioController@removerAvaliador')->name('remover.avaliador')->middleware('checkRoles:coordenador,administrador'); Route::get('/removerAvaliadorPlano/{id}', 'AvaliacaoRelatorioController@removerAvaliador')->name('remover.avaliador')->middleware('checkRoles:coordenador,administrador');
}); });
Route::get('/trabalho/planos/avaliacao/{id}', 'AvaliacaoRelatorioController@listarUser')->name('planos.avaliacoesUser'); Route::get('/trabalho/planos/avaliacao/{id}', 'AvaliacaoRelatorioController@listarUser')->name('planos.avaliacoesUser');
Route::get('/trabalho/planos/avaliacoes/index', 'AvaliacaoRelatorioController@index')->name('planos.avaliacoes.index'); Route::get('/trabalho/planos/avaliacoes/index', 'AvaliacaoRelatorioController@index')->name('planos.avaliacoes.index');
Route::post('/trabalho/planos/avaliacoes/criar', 'AvaliacaoRelatorioController@criar')->name('planos.avaliacoesUser.criar'); Route::post('/trabalho/planos/avaliacoes/criar', 'AvaliacaoRelatorioController@criar')->name('planos.avaliacoesUser.criar');
Route::prefix('areaTematica')->name('areaTematica.')->group(function () { Route::prefix('areaTematica')->name('areaTematica.')->group(function () {
Route::get('/editar/{id}', 'AreaTematicaController@edit')->name('edit')->middleware('checkAdministrador'); Route::get('/editar/{id}', 'AreaTematicaController@edit')->name('edit')->middleware('checkAdministrador');
Route::post('/atualizar/{id}', 'AreaTematicaController@update')->name('atualizar')->middleware('checkAdministrador'); Route::post('/atualizar/{id}', 'AreaTematicaController@update')->name('atualizar')->middleware('checkAdministrador');
Route::post('/excluir/{id}', 'AreaTematicaController@destroy')->name('deletar')->middleware('checkAdministrador'); Route::post('/excluir/{id}', 'AreaTematicaController@destroy')->name('deletar')->middleware('checkAdministrador');
Route::post('/salvar', 'AreaTematicaController@store')->name('salvar')->middleware('checkAdministrador'); Route::post('/salvar', 'AreaTematicaController@store')->name('salvar')->middleware('checkAdministrador');
Route::get('/nova', 'AreaTematicaController@create')->name('criar')->middleware('checkAdministrador'); Route::get('/nova', 'AreaTematicaController@create')->name('criar')->middleware('checkAdministrador');
}); });
Route::prefix('objetivoDeDenvolvimentoSustentavel')->name('objetivoDeDenvolvimentoSustentavel.')->group(function () { Route::prefix('objetivoDeDenvolvimentoSustentavel')->name('objetivoDeDenvolvimentoSustentavel.')->group(function () {
Route::get('/editar/{id}', 'ObjetivoDeDesenvolvimentoSustentavelController@edit')->name('edit')->middleware('checkAdministrador'); Route::get('/editar/{id}', 'ObjetivoDeDesenvolvimentoSustentavelController@edit')->name('edit')->middleware('checkAdministrador');
Route::post('/atualizar/{id}', 'ObjetivoDeDesenvolvimentoSustentavelController@update')->name('atualizar')->middleware('checkAdministrador'); Route::post('/atualizar/{id}', 'ObjetivoDeDesenvolvimentoSustentavelController@update')->name('atualizar')->middleware('checkAdministrador');
Route::post('/excluir/{id}', 'ObjetivoDeDesenvolvimentoSustentavelController@destroy')->name('deletar')->middleware('checkAdministrador'); Route::post('/excluir/{id}', 'ObjetivoDeDesenvolvimentoSustentavelController@destroy')->name('deletar')->middleware('checkAdministrador');
Route::post('/salvar', 'ObjetivoDeDesenvolvimentoSustentavelController@store')->name('salvar')->middleware('checkAdministrador'); Route::post('/salvar', 'ObjetivoDeDesenvolvimentoSustentavelController@store')->name('salvar')->middleware('checkAdministrador');
Route::get('/novo', 'ObjetivoDeDesenvolvimentoSustentavelController@create')->name('criar')->middleware('checkAdministrador'); Route::get('/novo', 'ObjetivoDeDesenvolvimentoSustentavelController@create')->name('criar')->middleware('checkAdministrador');
}); });
//######### Rotas Administrador ################################# //######### Rotas Administrador #################################
Route::get('/perfil-usuario', 'UserController@minhaConta')->name('user.perfil')->middleware(['auth', 'verified']); Route::get('/perfil-usuario', 'UserController@minhaConta')->name('user.perfil')->middleware(['auth', 'verified']);
//######## Rotas Avaliador #################################### //######## Rotas Avaliador ####################################
Route::prefix('avaliador')->name('avaliador.')->group(function () { Route::prefix('avaliador')->name('avaliador.')->group(function () {
Route::get('/index', 'AvaliadorController@index')->name('index')->middleware('auth'); Route::get('/index', 'AvaliadorController@index')->name('index')->middleware('auth');
Route::get('/trabalhos', 'AvaliadorController@visualizarTrabalhos')->name('visualizarTrabalho')->middleware('auth'); Route::get('/trabalhos', 'AvaliadorController@visualizarTrabalhos')->name('visualizarTrabalho')->middleware('auth');
Route::get('/planos', 'AvaliadorController@listarPlanos')->name('listarPlanos')->middleware('auth'); Route::get('/planos', 'AvaliadorController@listarPlanos')->name('listarPlanos')->middleware('auth');
Route::post('/parecer', 'AvaliadorController@parecer')->name('parecer')->middleware('auth'); Route::post('/parecer', 'AvaliadorController@parecer')->name('parecer')->middleware('auth');
Route::post('/parecer/plano', 'AvaliadorController@parecerPlano')->name('parecer.plano')->middleware('auth'); Route::post('/parecer/plano', 'AvaliadorController@parecerPlano')->name('parecer.plano')->middleware('auth');
Route::get('/editais', 'AvaliadorController@editais')->name('editais')->middleware('auth'); Route::get('/editais', 'AvaliadorController@editais')->name('editais')->middleware('auth');
Route::post('/Enviarparecer', 'AvaliadorController@enviarParecer')->name('enviarParecer')->middleware('auth'); Route::post('/Enviarparecer', 'AvaliadorController@enviarParecer')->name('enviarParecer')->middleware('auth');
Route::post('/Enviarparecer/plano', 'AvaliadorController@enviarParecerPlano')->name('enviarParecerPlano')->middleware('auth'); Route::post('/Enviarparecer/plano', 'AvaliadorController@enviarParecerPlano')->name('enviarParecerPlano')->middleware('auth');
Route::get('/Resposta', 'AvaliadorController@conviteResposta')->name('conviteResposta')->middleware('auth'); Route::get('/Resposta', 'AvaliadorController@conviteResposta')->name('conviteResposta')->middleware('auth');
Route::post('/parecerInterno', 'AvaliadorController@parecerInterno')->name('parecerInterno')->middleware('auth'); Route::post('/parecerInterno', 'AvaliadorController@parecerInterno')->name('parecerInterno')->middleware('auth');
Route::post('/EnviarparecerInterno', 'AvaliadorController@enviarParecerInterno')->name('enviarParecerInterno')->middleware('auth'); Route::post('/EnviarparecerInterno', 'AvaliadorController@enviarParecerInterno')->name('enviarParecerInterno')->middleware('auth');
}); });
Route::get('/notificacao/listar', 'NotificacaoController@listar')->name('notificacao.listar')->middleware('auth'); Route::get('/notificacao/listar', 'NotificacaoController@listar')->name('notificacao.listar')->middleware('auth');
Route::get('/notificacao/lista', 'NotificacaoController@listarTrab')->name('notificacao.listarTrab')->middleware('auth'); Route::get('/notificacao/lista', 'NotificacaoController@listarTrab')->name('notificacao.listarTrab')->middleware('auth');
Route::get('/notificacao/ler/{id}', 'NotificacaoController@ler')->name('notificacao.ler'); Route::get('/notificacao/ler/{id}', 'NotificacaoController@ler')->name('notificacao.ler');
Route::get('/home/edital', 'EventoController@index')->name('visualizarEvento'); Route::get('/home/edital', 'EventoController@index')->name('visualizarEvento');
// ######## rotas de teste ##################################### // ######## rotas de teste #####################################
Route::get('/coordenador/evento/detalhes', 'EventoController@detalhes')->name('coord.detalhesEvento'); Route::get('/coordenador/evento/detalhes', 'EventoController@detalhes')->name('coord.detalhesEvento');
//####### Visualizar trabalhos do usuário ###################### //####### Visualizar trabalhos do usuário ######################
Route::get('/user/trabalhos', 'UserController@meusTrabalhos')->name('user.meusTrabalhos'); Route::get('/user/trabalhos', 'UserController@meusTrabalhos')->name('user.meusTrabalhos');
//######### Cadastrar Comissão ################################### //######### Cadastrar Comissão ###################################
Route::post('/evento/cadastrarComissao', 'ComissaoController@store')->name('cadastrar.comissao'); Route::post('/evento/cadastrarComissao', 'ComissaoController@store')->name('cadastrar.comissao');
Route::post('/evento/cadastrarCoordComissao', 'ComissaoController@coordenadorComissao')->name('cadastrar.coordComissao'); Route::post('/evento/cadastrarCoordComissao', 'ComissaoController@coordenadorComissao')->name('cadastrar.coordComissao');
//######### rota downloadArquivo ################################ //######### rota downloadArquivo ################################
Route::get('/downloadArquivo', 'HomeController@downloadArquivo')->name('download'); Route::get('/downloadArquivo', 'HomeController@downloadArquivo')->name('download');
//######### Area do participante ############################### //######### Area do participante ###############################
Route::get('/participante', 'EventoController@areaParticipante')->name('area.participante'); Route::get('/participante', 'EventoController@areaParticipante')->name('area.participante');
Route::get('participante/editais', 'ParticipanteController@editais')->name('participante.editais'); Route::get('participante/editais', 'ParticipanteController@editais')->name('participante.editais');
//######### Participante ######################################## //######### Participante ########################################
Route::get('/participante/index', 'ParticipanteController@index')->name('participante.index'); Route::get('/participante/index', 'ParticipanteController@index')->name('participante.index');
Route::get('/participante/edital/{id}', 'ParticipanteController@edital')->name('participante.edital'); Route::get('/participante/edital/{id}', 'ParticipanteController@edital')->name('participante.edital');
//######### Plano de Trablho ######################################## //######### Plano de Trablho ########################################
Route::prefix('/plano/trabalho')->name('plano.trabalho.')->group(function () { Route::prefix('/plano/trabalho')->name('plano.trabalho.')->group(function () {
Route::get('/index/{evento_id}', 'PlanoTrabalhoController@index')->name('index'); Route::get('/index/{evento_id}', 'PlanoTrabalhoController@index')->name('index');
Route::get('/selecionar/{evento_id}', 'PlanoTrabalhoController@selecionarPlanos')->name('selecionarPlanos'); Route::get('/selecionar/{evento_id}', 'PlanoTrabalhoController@selecionarPlanos')->name('selecionarPlanos');
Route::post('/atribuicao', 'PlanoTrabalhoController@atribuicao')->name('atribuicao'); Route::post('/atribuicao', 'PlanoTrabalhoController@atribuicao')->name('atribuicao');
}); });
//########## Area da comissao ################################### //########## Area da comissao ###################################
Route::get('/comissoes', 'EventoController@listComissao')->name('comissoes'); Route::get('/comissoes', 'EventoController@listComissao')->name('comissoes');
Route::get('/area/comissao', 'EventoController@listComissaoTrabalhos')->name('area.comissao'); Route::get('/area/comissao', 'EventoController@listComissaoTrabalhos')->name('area.comissao');
//########### Deletar Comissão ################################### //########### Deletar Comissão ###################################
Route::delete('/evento/apagar-comissao/', 'ComissaoController@destroy')->name('delete.comissao'); Route::delete('/evento/apagar-comissao/', 'ComissaoController@destroy')->name('delete.comissao');
Route::post('/evento/numTrabalhos', 'EventoController@numTrabalhos')->name('trabalho.numTrabalhos'); Route::post('/evento/numTrabalhos', 'EventoController@numTrabalhos')->name('trabalho.numTrabalhos');
//########## Area ########################################### //########## Area ###########################################
Route::post('/area/criar', 'AreaController@store')->name('area.store'); Route::post('/area/criar', 'AreaController@store')->name('area.store');
//########### Deletar Area ###################################### //########### Deletar Area ######################################
Route::delete('/area/deletar/{id}', 'AreaController@destroy')->name('area.delete'); Route::delete('/area/deletar/{id}', 'AreaController@destroy')->name('area.delete');
//######### Deletar Revisores ############################## //######### Deletar Revisores ##############################
Route::delete('/revisor/apagar', 'RevisorController@destroy')->name('revisor.delete'); Route::delete('/revisor/apagar', 'RevisorController@destroy')->name('revisor.delete');
//######### AreaModalidade ################################### //######### AreaModalidade ###################################
Route::post('/areaModalidade/criar', 'AreaModalidadeController@store')->name('areaModalidade.store'); Route::post('/areaModalidade/criar', 'AreaModalidadeController@store')->name('areaModalidade.store');
//######### Trabalho ######################################## //######### Trabalho ########################################
Route::get('/trabalho/submeter/{id}', 'TrabalhoController@index')->name('trabalho.index'); Route::get('/trabalho/submeter/{id}', 'TrabalhoController@index')->name('trabalho.index');
// Route::get( '/trabalho/visualizar/{id}','TrabalhoController@show' )->name('trabalho.show'); // Route::get( '/trabalho/visualizar/{id}','TrabalhoController@show' )->name('trabalho.show');
Route::post('/trabalho/novaVersao', 'TrabalhoController@novaVersao')->name('trabalho.novaVersao'); Route::post('/trabalho/novaVersao', 'TrabalhoController@novaVersao')->name('trabalho.novaVersao');
Route::post('/trabalho/criar', 'TrabalhoController@salvar')->name('trabalho.store'); Route::post('/trabalho/criar', 'TrabalhoController@salvar')->name('trabalho.store');
Route::post('/trabalho/criarRascunho', 'TrabalhoController@storeParcial')->name('trabalho.storeParcial'); Route::post('/trabalho/criarRascunho', 'TrabalhoController@storeParcial')->name('trabalho.storeParcial');
Route::get('/edital/{id}/projetos', 'TrabalhoController@projetosDoEdital')->name('projetos.edital'); Route::get('/edital/{id}/projetos', 'TrabalhoController@projetosDoEdital')->name('projetos.edital');
Route::get('/projeto/visualizar/{id}', 'TrabalhoController@show')->name('trabalho.show'); Route::get('/projeto/visualizar/{id}', 'TrabalhoController@show')->name('trabalho.show');
Route::get('/projeto/{id}/editar', 'TrabalhoController@edit')->name('trabalho.editar'); Route::get('/projeto/{id}/editar', 'TrabalhoController@edit')->name('trabalho.editar');
Route::post('/projeto/buscarUsuario', 'TrabalhoController@buscarUsuario')->name('trabalho.buscarUsuario'); Route::post('/projeto/buscarUsuario', 'TrabalhoController@buscarUsuario')->name('trabalho.buscarUsuario');
Route::post('/projeto/{id}/atualizar', 'TrabalhoController@update')->name('trabalho.update'); Route::post('/projeto/{id}/atualizar', 'TrabalhoController@update')->name('trabalho.update');
Route::get('/projeto/{id}/excluir', 'TrabalhoController@destroy')->name('trabalho.destroy'); Route::get('/projeto/{id}/excluir', 'TrabalhoController@destroy')->name('trabalho.destroy');
Route::get('/projeto/{id}/excluirParticipante', 'TrabalhoController@excluirParticipante')->name('trabalho.excluirParticipante'); Route::get('/projeto/{id}/excluirParticipante', 'TrabalhoController@excluirParticipante')->name('trabalho.excluirParticipante');
Route::post('/projeto/{trabalho}/solicitarCertificado', 'TrabalhoController@solicitarCertificado')->name('trabalho.solicitarCertificado'); Route::post('/projeto/{trabalho}/solicitarCertificado', 'TrabalhoController@solicitarCertificado')->name('trabalho.solicitarCertificado');
Route::get('/projeto/exportar/{id}', 'TrabalhoController@exportProjeto')->name('exportar.projeto'); Route::get('/projeto/exportar/{id}', 'TrabalhoController@exportProjeto')->name('exportar.projeto');
Route::get('/projeto/substituirParticipante', 'TrabalhoController@telaTrocaPart')->name('trabalho.trocaParticipante'); Route::get('/projeto/substituirParticipante', 'TrabalhoController@telaTrocaPart')->name('trabalho.trocaParticipante');
Route::post('/projeto/substituirParticipante', 'TrabalhoController@trocaParticipante')->name('trabalho.infoTrocaParticipante'); Route::post('/projeto/substituirParticipante', 'TrabalhoController@trocaParticipante')->name('trabalho.infoTrocaParticipante');
Route::get('/showSubstituicoes', 'TrabalhoController@telaShowSubst')->name('trabalho.telaAnaliseSubstituicoes')->middleware('checkRoles:coordenador,administrador'); Route::get('/showSubstituicoes', 'TrabalhoController@telaShowSubst')->name('trabalho.telaAnaliseSubstituicoes')->middleware('checkRoles:coordenador,administrador');
Route::post('/aprovarSubstituicao', 'TrabalhoController@aprovarSubstituicao')->name('trabalho.aprovarSubstituicao'); Route::post('/aprovarSubstituicao', 'TrabalhoController@aprovarSubstituicao')->name('trabalho.aprovarSubstituicao');
Route::post('/aprovarProposta/{id}', 'TrabalhoController@aprovarProposta')->name('trabalho.aprovarProposta'); Route::post('/aprovarProposta/{id}', 'TrabalhoController@aprovarProposta')->name('trabalho.aprovarProposta');
Route::post('/certificado/{certificado}', 'CertificadoController@update')->name('certificado.update'); Route::post('/certificado/{certificado}', 'CertificadoController@update')->name('certificado.update');
//########## Bolsas //########## Bolsas
Route::get('/bolsas', 'ParticipanteController@listarParticipanteEdital')->name('bolsas.listar'); Route::get('/bolsas', 'ParticipanteController@listarParticipanteEdital')->name('bolsas.listar');
Route::post('/bolsas/alteracao', 'ParticipanteController@alterarBolsa')->name('bolsa.alterar'); Route::post('/bolsas/alteracao', 'ParticipanteController@alterarBolsa')->name('bolsa.alterar');
//########## Arquivar Projeto e Plano //########## Arquivar Projeto e Plano
Route::get('/arquivar/projeto', 'TrabalhoController@arquivar')->name('projeto.arquivar'); Route::get('/arquivar/projeto', 'TrabalhoController@arquivar')->name('projeto.arquivar');
Route::get('/arquivar/plano', 'ArquivoController@arquivar')->name('arquivo.arquivar'); Route::get('/arquivar/plano', 'ArquivoController@arquivar')->name('arquivo.arquivar');
//######### Imprimir Resultado ################################# //######### Imprimir Resultado #################################
Route::get('/usuarios/showResultados/imprimir', 'AdministradorController@imprimirResultados')->name('resultados.gerar'); Route::get('/usuarios/showResultados/imprimir', 'AdministradorController@imprimirResultados')->name('resultados.gerar');
//########## Relatórios //########## Relatórios
Route::get('/projeto/planosTrabalho/{id}', 'ArquivoController@listar')->name('planos.listar'); Route::get('/projeto/planosTrabalho/{id}', 'ArquivoController@listar')->name('planos.listar');
Route::post('/projeto/planosTrabalho/anexarRelatorio', 'ArquivoController@anexarRelatorio')->name('planos.anexar.relatorio'); Route::post('/projeto/planosTrabalho/anexarRelatorio', 'ArquivoController@anexarRelatorio')->name('planos.anexar.relatorio');
//########## Documentação Complementar //########## Documentação Complementar
Route::get('/documentacaoComplementar', 'ParticipanteController@listarParticipanteProjeto')->name('docComplementar.listar'); Route::get('/documentacaoComplementar', 'ParticipanteController@listarParticipanteProjeto')->name('docComplementar.listar');
Route::post('/documentacaoComplementar/enviar', 'ParticipanteController@atualizarDocComplementar')->name('docComplementar.enviar'); Route::post('/documentacaoComplementar/enviar', 'ParticipanteController@atualizarDocComplementar')->name('docComplementar.enviar');
//######### Atribuição ####################################### //######### Atribuição #######################################
Route::get('/atribuir', 'AtribuicaoController@distribuicaoAutomatica')->name('distribuicao'); Route::get('/atribuir', 'AtribuicaoController@distribuicaoAutomatica')->name('distribuicao');
Route::get('/atribuirPorArea', 'AtribuicaoController@distribuicaoPorArea')->name('distribuicaoAutomaticaPorArea'); Route::get('/atribuirPorArea', 'AtribuicaoController@distribuicaoPorArea')->name('distribuicaoAutomaticaPorArea');
Route::post('/distribuicaoManual', 'AtribuicaoController@distribuicaoManual')->name('distribuicaoManual'); Route::post('/distribuicaoManual', 'AtribuicaoController@distribuicaoManual')->name('distribuicaoManual');
Route::post('/removerAtribuicao', 'AtribuicaoController@deletePorRevisores')->name('atribuicao.delete'); Route::post('/removerAtribuicao', 'AtribuicaoController@deletePorRevisores')->name('atribuicao.delete');
//########## Revisores ######################################### //########## Revisores #########################################
Route::post('/revisor/criar', 'RevisorController@store')->name('revisor.store'); Route::post('/revisor/criar', 'RevisorController@store')->name('revisor.store');
Route::get('/revisor/listarTrabalhos', 'RevisorController@indexListarTrabalhos')->name('revisor.listarTrabalhos'); Route::get('/revisor/listarTrabalhos', 'RevisorController@indexListarTrabalhos')->name('revisor.listarTrabalhos');
Route::post('/revisor/email', 'RevisorController@enviarEmailRevisor')->name('revisor.email'); Route::post('/revisor/email', 'RevisorController@enviarEmailRevisor')->name('revisor.email');
Route::post('/revisor/emailTodos', 'RevisorController@enviarEmailTodosRevisores')->name('revisor.emailTodos'); Route::post('/revisor/emailTodos', 'RevisorController@enviarEmailTodosRevisores')->name('revisor.emailTodos');
//########## Rotas de download de documentos ########################### //########## Rotas de download de documentos ###########################
Route::get('/baixar/anexo-projeto/{id}', 'TrabalhoController@baixarAnexoProjeto')->name('baixar.anexo.projeto'); Route::get('/baixar/anexo-projeto/{id}', 'TrabalhoController@baixarAnexoProjeto')->name('baixar.anexo.projeto');
Route::get('/baixar/anexo-consu/{id}', 'TrabalhoController@baixarAnexoConsu')->name('baixar.anexo.consu'); Route::get('/baixar/anexo-consu/{id}', 'TrabalhoController@baixarAnexoConsu')->name('baixar.anexo.consu');
Route::get('/baixar/anexo-comite/{id}', 'TrabalhoController@baixarAnexoComite')->name('baixar.anexo.comite'); Route::get('/baixar/anexo-comite/{id}', 'TrabalhoController@baixarAnexoComite')->name('baixar.anexo.comite');
Route::get('/baixar/anexo-justificativa/{id}', 'TrabalhoController@baixarAnexoJustificativa')->name('baixar.anexo.justificativa'); Route::get('/baixar/anexo-justificativa/{id}', 'TrabalhoController@baixarAnexoJustificativa')->name('baixar.anexo.justificativa');
Route::get('/baixar/anexo-lattes/{id}', 'TrabalhoController@baixarAnexoLattes')->name('baixar.anexo.lattes'); Route::get('/baixar/anexo-lattes/{id}', 'TrabalhoController@baixarAnexoLattes')->name('baixar.anexo.lattes');
Route::get('/baixar/anexo-planilha/{id}', 'TrabalhoController@baixarAnexoPlanilha')->name('baixar.anexo.planilha'); Route::get('/baixar/anexo-planilha/{id}', 'TrabalhoController@baixarAnexoPlanilha')->name('baixar.anexo.planilha');
Route::get('/baixar/plano-de-trabalho/{id}', 'ArquivoController@baixarPlano')->name('baixar.plano'); Route::get('/baixar/plano-de-trabalho/{id}', 'ArquivoController@baixarPlano')->name('baixar.plano');
Route::get('/baixar/anexoGrupoPesquisa/{id}', 'TrabalhoController@baixarAnexoGrupoPesquisa')->name('baixar.anexoGrupoPesquisa'); Route::get('/baixar/anexoGrupoPesquisa/{id}', 'TrabalhoController@baixarAnexoGrupoPesquisa')->name('baixar.anexoGrupoPesquisa');
Route::get('/baixar/anexo-temp/{eventoId}/{nomeAnexo}', 'TrabalhoController@baixarAnexoTemp')->name('baixar.anexo.temp'); Route::get('/baixar/anexo-temp/{eventoId}/{nomeAnexo}', 'TrabalhoController@baixarAnexoTemp')->name('baixar.anexo.temp');
Route::get('/baixar/evento-temp/{nomeAnexo}', 'TrabalhoController@baixarEventoTemp')->name('baixar.evento.temp'); Route::get('/baixar/evento-temp/{nomeAnexo}', 'TrabalhoController@baixarEventoTemp')->name('baixar.evento.temp');
Route::get('/baixar/documentosParticipante', 'ParticipanteController@baixarDocumento')->name('baixar.documentosParticipante'); Route::get('/baixar/documentosParticipante', 'ParticipanteController@baixarDocumento')->name('baixar.documentosParticipante');
Route::get('/baixar/anexoDocExtra/{id}', 'TrabalhoController@baixarAnexoDocExtra')->name('baixar.anexo.docExtra'); Route::get('/baixar/anexoDocExtra/{id}', 'TrabalhoController@baixarAnexoDocExtra')->name('baixar.anexo.docExtra');
}); });
Route::get('/baixar/edital/{id}', 'EventoController@baixarEdital')->name('baixar.edital'); Route::get('/baixar/edital/{id}', 'EventoController@baixarEdital')->name('baixar.edital');
Route::get('/baixar/modelos/{id}', 'EventoController@baixarModelos')->name('baixar.modelos'); Route::get('/baixar/modelos/{id}', 'EventoController@baixarModelos')->name('baixar.modelos');
Route::prefix('usuarios')->name('admin.')->group(function () { Route::prefix('usuarios')->name('admin.')->group(function () {
//######### Rotas da administração dos usuários #################### //######### Rotas da administração dos usuários ####################
Route::get('/home-admin', 'AdministradorController@index')->name('index')->middleware('checkAdministrador'); Route::get('/home-admin', 'AdministradorController@index')->name('index')->middleware('checkAdministrador');
Route::get('/usuarios', 'AdministradorController@usuarios')->name('usuarios')->middleware('checkAdministrador'); Route::get('/usuarios', 'AdministradorController@usuarios')->name('usuarios')->middleware('checkAdministrador');
Route::get('/novo', 'AdministradorController@create')->name('user.create')->middleware('checkAdministrador'); Route::get('/novo', 'AdministradorController@create')->name('user.create')->middleware('checkAdministrador');
Route::post('/salvar-novo', 'AdministradorController@salvar')->name('user.store')->middleware('checkAdministrador'); Route::post('/salvar-novo', 'AdministradorController@salvar')->name('user.store')->middleware('checkAdministrador');
Route::get('/editar/{id}', 'AdministradorController@edit')->name('user.edit')->middleware('checkAdministrador'); Route::get('/editar/{id}', 'AdministradorController@edit')->name('user.edit')->middleware('checkAdministrador');
Route::post('/editar/atualizar/{id}', 'AdministradorController@update')->name('user.update')->middleware('checkAdministrador'); Route::post('/editar/atualizar/{id}', 'AdministradorController@update')->name('user.update')->middleware('checkAdministrador');
Route::post('/editar/deletar/{id}', 'AdministradorController@destroy')->name('user.destroy')->middleware('checkAdministrador'); Route::post('/editar/deletar/{id}', 'AdministradorController@destroy')->name('user.destroy')->middleware('checkAdministrador');
Route::get('/editais', 'AdministradorController@editais')->name('editais'); Route::get('/editais', 'AdministradorController@editais')->name('editais');
Route::get('/atribuir', 'AdministradorController@atribuir')->name('atribuir'); Route::get('/atribuir', 'AdministradorController@atribuir')->name('atribuir');
Route::get('/selecionarAvaliador', 'AdministradorController@selecionar')->name('selecionar'); Route::get('/selecionarAvaliador', 'AdministradorController@selecionar')->name('selecionar');
Route::get('/selecionarProjetos', 'AdministradorController@projetos')->name('projetos'); Route::get('/selecionarProjetos', 'AdministradorController@projetos')->name('projetos');
Route::post('/adicionarAvalEvento', 'AdministradorController@adicionar')->name('adicionar'); Route::post('/adicionarAvalEvento', 'AdministradorController@adicionar')->name('adicionar');
Route::post('/removerAvalEvento', 'AdministradorController@remover')->name('remover'); Route::post('/removerAvalEvento', 'AdministradorController@remover')->name('remover');
Route::get('/removerProjAval', 'AdministradorController@removerProjAval')->name('removerProjAval'); Route::get('/removerProjAval', 'AdministradorController@removerProjAval')->name('removerProjAval');
Route::post('/atribuirAvaliadorProjeto', 'AdministradorController@atribuicaoProjeto')->name('atribuicao.projeto'); Route::post('/atribuirAvaliadorProjeto', 'AdministradorController@atribuicaoProjeto')->name('atribuicao.projeto');
Route::post('/enviarConviteEAtribuirProjeto', 'AdministradorController@enviarConviteEAtribuir')->name('convite.atribuicao.projeto'); Route::post('/enviarConviteEAtribuirProjeto', 'AdministradorController@enviarConviteEAtribuir')->name('convite.atribuicao.projeto');
Route::get('/reenviarConviteAtribuicaoProjeto', 'AdministradorController@reenviarConviteAtribuicaoProjeto')->name('reenviar.atribuicao.projeto'); Route::get('/reenviarConviteAtribuicaoProjeto', 'AdministradorController@reenviarConviteAtribuicaoProjeto')->name('reenviar.atribuicao.projeto');
Route::post('/enviarConviteAvaliador', 'AdministradorController@enviarConvite')->name('enviarConvite'); Route::post('/enviarConviteAvaliador', 'AdministradorController@enviarConvite')->name('enviarConvite');
Route::post('/reenviarConviteAvaliador', 'AdministradorController@reenviarConvite')->name('reenviarConvite'); Route::post('/reenviarConviteAvaliador', 'AdministradorController@reenviarConvite')->name('reenviarConvite');
Route::post('/visualizarParecer', 'AdministradorController@visualizarParecer')->name('visualizarParecer'); Route::post('/visualizarParecer', 'AdministradorController@visualizarParecer')->name('visualizarParecer');
Route::get('/visualizarParecer', 'AdministradorController@visualizarParecer')->name('visualizarParecer'); Route::get('/visualizarParecer', 'AdministradorController@visualizarParecer')->name('visualizarParecer');
Route::get('/visualizarParecerInterno', 'AdministradorController@visualizarParecerInterno')->name('visualizarParecerInterno'); Route::get('/visualizarParecerInterno', 'AdministradorController@visualizarParecerInterno')->name('visualizarParecerInterno');
Route::get('/pareceresProjetos', 'AdministradorController@pareceres')->name('pareceres'); Route::get('/pareceresProjetos', 'AdministradorController@pareceres')->name('pareceres');
Route::get('/analisarProjetos/{column?}', 'AdministradorController@analisar')->name('analisar')->middleware('checkRoles:coordenador,administrador'); Route::get('/analisarProjetos/{column?}', 'AdministradorController@analisar')->name('analisar')->middleware('checkRoles:coordenador,administrador');
Route::get('/analisarProposta', 'AdministradorController@analisarProposta')->name('analisarProposta')->middleware('checkRoles:coordenador,administrador'); Route::get('/analisarProposta', 'AdministradorController@analisarProposta')->name('analisarProposta')->middleware('checkRoles:coordenador,administrador');
Route::get('/showProjetos', 'AdministradorController@showProjetos')->name('showProjetos'); Route::get('/showProjetos', 'AdministradorController@showProjetos')->name('showProjetos');
Route::get('/showResultados', 'AdministradorController@showResultados')->name('showResultados')->middleware(['auth', 'verified']); Route::get('/showResultados', 'AdministradorController@showResultados')->name('showResultados')->middleware(['auth', 'verified']);
}); });
Route::prefix('naturezas')->group(function () { Route::prefix('naturezas')->group(function () {
//########### Rotas das naturezas ############################### //########### Rotas das naturezas ###############################
Route::get('/', 'AdministradorController@naturezas')->name('admin.naturezas')->middleware('checkAdministrador'); Route::get('/', 'AdministradorController@naturezas')->name('admin.naturezas')->middleware('checkAdministrador');
Route::get('/index', 'NaturezaController@index')->name('natureza.index')->middleware('checkAdministrador'); Route::get('/index', 'NaturezaController@index')->name('natureza.index')->middleware('checkAdministrador');
Route::get('/nova', 'NaturezaController@create')->name('natureza.criar')->middleware('checkAdministrador'); Route::get('/nova', 'NaturezaController@create')->name('natureza.criar')->middleware('checkAdministrador');
Route::post('/salvar', 'NaturezaController@store')->name('natureza.salvar')->middleware('checkAdministrador'); Route::post('/salvar', 'NaturezaController@store')->name('natureza.salvar')->middleware('checkAdministrador');
Route::get('/detalhes/{id}', 'NaturezaController@show')->name('natureza.show')->middleware('checkAdministrador'); Route::get('/detalhes/{id}', 'NaturezaController@show')->name('natureza.show')->middleware('checkAdministrador');
Route::get('/editar/{id}', 'NaturezaController@edit')->name('natureza.editar')->middleware('checkAdministrador'); Route::get('/editar/{id}', 'NaturezaController@edit')->name('natureza.editar')->middleware('checkAdministrador');
Route::get('/atualizar/{id}', 'NaturezaController@update')->name('natureza.atualizar')->middleware('checkAdministrador'); Route::get('/atualizar/{id}', 'NaturezaController@update')->name('natureza.atualizar')->middleware('checkAdministrador');
Route::get('/excluir/{id}', 'NaturezaController@destroy')->name('natureza.deletar')->middleware('checkAdministrador'); Route::get('/excluir/{id}', 'NaturezaController@destroy')->name('natureza.deletar')->middleware('checkAdministrador');
//########### Rotas das grandes areas ############################## //########### Rotas das grandes areas ##############################
Route::get('/grande-area', 'GrandeAreaController@index')->name('grandearea.index')->middleware('checkAdministrador'); Route::get('/grande-area', 'GrandeAreaController@index')->name('grandearea.index')->middleware('checkAdministrador');
Route::get('/grande-area/nova', 'GrandeAreaController@create')->name('grandearea.criar')->middleware('checkAdministrador'); Route::get('/grande-area/nova', 'GrandeAreaController@create')->name('grandearea.criar')->middleware('checkAdministrador');
Route::post('/grande-area/salvar', 'GrandeAreaController@store')->name('grandearea.salvar')->middleware('checkAdministrador'); Route::post('/grande-area/salvar', 'GrandeAreaController@store')->name('grandearea.salvar')->middleware('checkAdministrador');
Route::get('/grande-area/detalhes/{id}', 'GrandeAreaController@show')->name('grandearea.show')->middleware('checkAdministrador'); Route::get('/grande-area/detalhes/{id}', 'GrandeAreaController@show')->name('grandearea.show')->middleware('checkAdministrador');
Route::get('/grande-area/editar/{id}', 'GrandeAreaController@edit')->name('grandearea.editar')->middleware('checkAdministrador'); Route::get('/grande-area/editar/{id}', 'GrandeAreaController@edit')->name('grandearea.editar')->middleware('checkAdministrador');
Route::post('/grande-area/atualizar/{id}', 'GrandeAreaController@update')->name('grandearea.atualizar')->middleware('checkAdministrador'); Route::post('/grande-area/atualizar/{id}', 'GrandeAreaController@update')->name('grandearea.atualizar')->middleware('checkAdministrador');
Route::post('/grande-area/excluir/{id}', 'GrandeAreaController@destroy')->name('grandearea.deletar')->middleware('checkAdministrador'); Route::post('/grande-area/excluir/{id}', 'GrandeAreaController@destroy')->name('grandearea.deletar')->middleware('checkAdministrador');
//#### Rotas das areas, id's de nova e salvar são os ids da grande área a qual a nova área pertence #### //#### Rotas das areas, id's de nova e salvar são os ids da grande área a qual a nova área pertence ####
Route::get('/areas', 'AreaController@index')->name('area.index')->middleware('checkAdministrador'); Route::get('/areas', 'AreaController@index')->name('area.index')->middleware('checkAdministrador');
Route::get('/{id}/area/nova', 'AreaController@create')->name('area.criar')->middleware('checkAdministrador'); Route::get('/{id}/area/nova', 'AreaController@create')->name('area.criar')->middleware('checkAdministrador');
Route::post('/{id}/area/salvar', 'AreaController@store')->name('area.salvar')->middleware('checkAdministrador'); Route::post('/{id}/area/salvar', 'AreaController@store')->name('area.salvar')->middleware('checkAdministrador');
Route::get('/area/detalhes/{id}', 'AreaController@show')->name('area.show')->middleware('checkAdministrador'); Route::get('/area/detalhes/{id}', 'AreaController@show')->name('area.show')->middleware('checkAdministrador');
Route::get('/area/editar/{id}', 'AreaController@edit')->name('area.editar')->middleware('checkAdministrador'); Route::get('/area/editar/{id}', 'AreaController@edit')->name('area.editar')->middleware('checkAdministrador');
Route::post('/area/atualizar/{id}', 'AreaController@update')->name('area.atualizar')->middleware('checkAdministrador'); Route::post('/area/atualizar/{id}', 'AreaController@update')->name('area.atualizar')->middleware('checkAdministrador');
Route::post('/area/excluir/{id}', 'AreaController@destroy')->name('area.deletar')->middleware('checkAdministrador'); Route::post('/area/excluir/{id}', 'AreaController@destroy')->name('area.deletar')->middleware('checkAdministrador');
Route::post('/areas/', 'AreaController@consulta')->name('area.consulta'); Route::post('/areas/', 'AreaController@consulta')->name('area.consulta');
Route::post('/avalConExterno/', 'AvaliadorController@consultaExterno')->name('aval.consultaExterno'); Route::post('/avalConExterno/', 'AvaliadorController@consultaExterno')->name('aval.consultaExterno');
Route::post('/avalConInterno/', 'AvaliadorController@consultaInterno')->name('aval.consultaInterno'); Route::post('/avalConInterno/', 'AvaliadorController@consultaInterno')->name('aval.consultaInterno');
//### Rotas das subareas, id's de nova e salvar são os ids da área a qual a nova subárea pertence ##### //### Rotas das subareas, id's de nova e salvar são os ids da área a qual a nova subárea pertence #####
Route::get('/subareas', 'SubAreaController@index')->name('subarea.index')->middleware('checkAdministrador'); Route::get('/subareas', 'SubAreaController@index')->name('subarea.index')->middleware('checkAdministrador');
Route::get('/{id}/subarea/nova', 'SubAreaController@create')->name('subarea.criar')->middleware('checkAdministrador'); Route::get('/{id}/subarea/nova', 'SubAreaController@create')->name('subarea.criar')->middleware('checkAdministrador');
Route::post('/{id}/subarea/salvar', 'SubAreaController@store')->name('subarea.salvar')->middleware('checkAdministrador'); Route::post('/{id}/subarea/salvar', 'SubAreaController@store')->name('subarea.salvar')->middleware('checkAdministrador');
Route::get('/subarea/detalhes/{id}', 'SubAreaController@show')->name('subarea.show')->middleware('checkAdministrador'); Route::get('/subarea/detalhes/{id}', 'SubAreaController@show')->name('subarea.show')->middleware('checkAdministrador');
Route::get('/subarea/editar/{id}', 'SubAreaController@edit')->name('subarea.editar')->middleware('checkAdministrador'); Route::get('/subarea/editar/{id}', 'SubAreaController@edit')->name('subarea.editar')->middleware('checkAdministrador');
Route::post('/subarea/atualizar/{id}', 'SubAreaController@update')->name('subarea.atualizar')->middleware('checkAdministrador'); Route::post('/subarea/atualizar/{id}', 'SubAreaController@update')->name('subarea.atualizar')->middleware('checkAdministrador');
Route::post('/subarea/excluir/{id}', 'SubAreaController@destroy')->name('subarea.deletar')->middleware('checkAdministrador'); Route::post('/subarea/excluir/{id}', 'SubAreaController@destroy')->name('subarea.deletar')->middleware('checkAdministrador');
Route::post('/subarea/', 'SubAreaController@consulta')->name('subarea.consulta'); Route::post('/subarea/', 'SubAreaController@consulta')->name('subarea.consulta');
Route::post('/funcao-participante/store', 'ParticipanteController@storeFuncao')->name('funcao_participante.store'); Route::post('/funcao-participante/store', 'ParticipanteController@storeFuncao')->name('funcao_participante.store');
Route::post('/funcao-participante/{id}/update', 'ParticipanteController@updateFuncao')->name('funcao_participante.update'); Route::post('/funcao-participante/{id}/update', 'ParticipanteController@updateFuncao')->name('funcao_participante.update');
Route::get('/funcao-participante/{id}/destroy', 'ParticipanteController@destroyFuncao')->name('funcao_participante.destroy'); Route::get('/funcao-participante/{id}/destroy', 'ParticipanteController@destroyFuncao')->name('funcao_participante.destroy');
}); });
//############ Evento ############################################## //############ Evento ##############################################
Route::prefix('evento')->name('evento.')->group(function () { Route::prefix('evento')->name('evento.')->group(function () {
Route::get('/criar', 'EventoController@create')->name('criar')->middleware('checkAdministrador'); Route::get('/criar', 'EventoController@create')->name('criar')->middleware('checkAdministrador');
Route::post('/criar', 'EventoController@store')->name('criar')->middleware('checkAdministrador'); Route::post('/criar', 'EventoController@store')->name('criar')->middleware('checkAdministrador');
Route::get('/visualizar/{id}', 'EventoController@show')->name('visualizar')->middleware('auth'); Route::get('/visualizar/{id}', 'EventoController@show')->name('visualizar')->middleware('auth');
Route::get('/listar', 'EventoController@listar')->name('listar')->middleware('auth'); Route::get('/listar', 'EventoController@listar')->name('listar')->middleware('auth');
Route::delete('/excluir/{id}', 'EventoController@destroy')->name('deletar')->middleware('checkRoles:coordenador,administrador'); Route::delete('/excluir/{id}', 'EventoController@destroy')->name('deletar')->middleware('checkRoles:coordenador,administrador');
Route::get('/editar/{id}', 'EventoController@edit')->name('editar')->middleware('checkRoles:coordenador,administrador'); Route::get('/editar/{id}', 'EventoController@edit')->name('editar')->middleware('checkRoles:coordenador,administrador');
Route::post('/editar/{id}', 'EventoController@update')->name('update')->middleware('checkRoles:coordenador,administrador'); Route::post('/editar/{id}', 'EventoController@update')->name('update')->middleware('checkRoles:coordenador,administrador');
Route::post('/setResumo', 'EventoController@setResumo')->name('setResumo')->middleware('checkAdministrador'); Route::post('/setResumo', 'EventoController@setResumo')->name('setResumo')->middleware('checkAdministrador');
Route::post('/setFoto', 'EventoController@setFotoEvento')->name('setFotoEvento')->middleware('checkAdministrador'); Route::post('/setFoto', 'EventoController@setFotoEvento')->name('setFotoEvento')->middleware('checkAdministrador');
}); });
//########## Rotas de administrador responsavel (Reitor ou pro-reitor)######## //########## Rotas de administrador responsavel (Reitor ou pro-reitor)########
Route::prefix('adminResp')->name('adminResp.')->group(function () { Route::prefix('adminResp')->name('adminResp.')->group(function () {
Route::get('/index', 'AdministradorResponsavelController@index')->name('index'); Route::get('/index', 'AdministradorResponsavelController@index')->name('index');
Route::get('/editais', 'AdministradorResponsavelController@editais')->name('editais'); Route::get('/editais', 'AdministradorResponsavelController@editais')->name('editais');
Route::get('/usuarios', 'AdministradorResponsavelController@usuarios')->name('usuarios'); Route::get('/usuarios', 'AdministradorResponsavelController@usuarios')->name('usuarios');
Route::get('/atribuir', 'AdministradorResponsavelController@atribuirPermissao')->name('atribuir'); Route::get('/atribuir', 'AdministradorResponsavelController@atribuirPermissao')->name('atribuir');
Route::post('/atribuir', 'AdministradorResponsavelController@atribuirPermissao')->name('atribuir'); Route::post('/atribuir', 'AdministradorResponsavelController@atribuirPermissao')->name('atribuir');
Route::post('/verPermissao', 'AdministradorResponsavelController@verPermissao')->name('verPermissao'); Route::post('/verPermissao', 'AdministradorResponsavelController@verPermissao')->name('verPermissao');
}); });
//########### Rotas Coordenador ################################## //########### Rotas Coordenador ##################################
Route::prefix('coordenador')->name('coordenador.')->group(function () { Route::prefix('coordenador')->name('coordenador.')->group(function () {
Route::get('/index', 'CoordenadorComissaoController@index')->name('index'); Route::get('/index', 'CoordenadorComissaoController@index')->name('index');
Route::get('/editais', 'CoordenadorComissaoController@editais')->name('editais'); Route::get('/editais', 'CoordenadorComissaoController@editais')->name('editais');
Route::get('/usuarios', 'CoordenadorComissaoController@usuarios')->name('usuarios'); Route::get('/usuarios', 'CoordenadorComissaoController@usuarios')->name('usuarios');
Route::get('/listarCoord', 'CoordenadorComissaoController@coordenadorComite')->name('coord'); Route::get('/listarCoord', 'CoordenadorComissaoController@coordenadorComite')->name('coord');
Route::get('/listarAvaliador', 'CoordenadorComissaoController@avaliador')->name('avaliador'); Route::get('/listarAvaliador', 'CoordenadorComissaoController@avaliador')->name('avaliador');
Route::get('/listarProponente', 'CoordenadorComissaoController@proponente')->name('proponente'); Route::get('/listarProponente', 'CoordenadorComissaoController@proponente')->name('proponente');
Route::get('/listarParticipante', 'CoordenadorComissaoController@participante')->name('participante'); Route::get('/listarParticipante', 'CoordenadorComissaoController@participante')->name('participante');
Route::get('/listarTrabalhos', 'CoordenadorComissaoController@listarTrabalhos')->name('listarTrabalhos'); Route::get('/listarTrabalhos', 'CoordenadorComissaoController@listarTrabalhos')->name('listarTrabalhos');
Route::get('/detalhesEdital/{evento_id}', 'CoordenadorComissaoController@detalhesEdital')->name('detalhesEdital'); Route::get('/detalhesEdital/{evento_id}', 'CoordenadorComissaoController@detalhesEdital')->name('detalhesEdital');
Route::post('/retornoDetalhes', 'CoordenadorComissaoController@retornoDetalhes')->name('retornoDetalhes'); Route::post('/retornoDetalhes', 'CoordenadorComissaoController@retornoDetalhes')->name('retornoDetalhes');
Route::post('/atribuirAvaliadorTrabalho', 'TrabalhoController@atribuirAvaliadorTrabalho')->name('atribuirAvaliadorTrabalho'); Route::post('/atribuirAvaliadorTrabalho', 'TrabalhoController@atribuirAvaliadorTrabalho')->name('atribuirAvaliadorTrabalho');
Route::post('/atribuir', 'TrabalhoController@atribuir')->name('atribuir'); Route::post('/atribuir', 'TrabalhoController@atribuir')->name('atribuir');
Route::post('/atribuir', 'TrabalhoController@atribuir')->name('atribuir'); Route::post('/atribuir', 'TrabalhoController@atribuir')->name('atribuir');
Route::post('/resposta-solicitacao-desligamento/{desligamento_id}', 'CoordenadorComissaoController@respostaDesligamento')->name('resposta.desligamento'); Route::post('/resposta-solicitacao-desligamento/{desligamento_id}', 'CoordenadorComissaoController@respostaDesligamento')->name('resposta.desligamento');
}); });
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment