Commit e43ec496 authored by José Rômulo's avatar José Rômulo
Browse files

Adicionando substituir participante

parent 8d0924c7
......@@ -44,35 +44,6 @@ use Illuminate\Support\Facades\Notification;
class TrabalhoController extends Controller
{
###### Prototipo troca de participantes ######
public function telaTrocaPart(Request $request){
$projeto = Trabalho::find($request->projeto_id);
$edital = Evento::find($projeto->evento_id);
$participantes = $projeto->participantes;
$participantesUsersIds = Participante::where('trabalho_id', $projeto->id)->select('user_id')->get();
$participantesExcluidos = Participante::onlyTrashed()->where('trabalho_id', $projeto->id);
$participantesExcluidosUsersIds = Participante::onlyTrashed()->where('trabalho_id', $projeto->id)->select('user_id');
$users = User::whereIn('id', $participantesUsersIds)->get();
$usersExcluidos = User::whereIn('id', $participantesExcluidosUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $projeto->id)->get();
return view('trocarParti')->with(['projeto' => $projeto,
'edital' => $edital,
'users' => $users,
'usersExcluidos' => $usersExcluidos,
'participantes' => $participantes,
'participantesExcluidos' => $participantesExcluidos,
'arquivos' => $arquivos,
'estados' => $this->estados,
'enum_turno' => Participante::ENUM_TURNO,
]);
}
##############################################
public $estados = array(
'AC' => 'Acre',
'AL' => 'Alagoas',
......@@ -460,15 +431,17 @@ class TrabalhoController extends Controller
}
public function excluirParticipante($id){
$participante = Participante::where('user_id', Auth()->user()->id)
->where('trabalho_id', $id)->first();
$participante = Participante::where('id', $id)->first();
//$participante = Participante::where('user_id', Auth()->user()->id)
// ->where('trabalho_id', $id)->first();
$participante->trabalhos()->detach($id);
//$participante->trabalhos()->detach($id);
$participante->delete();
return redirect()->back();
}
public function novaVersao(Request $request){
$mytime = Carbon::now('America/Recife');
$mytime = $mytime->toDateString();
......@@ -1378,4 +1351,142 @@ class TrabalhoController extends Controller
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Projeto atualizado com sucesso!']);
}
public function telaTrocaPart(Request $request){
$projeto = Trabalho::find($request->projeto_id);
$edital = Evento::find($projeto->evento_id);
$participantes = $projeto->participantes;
$participantesExcluidos = Participante::onlyTrashed()->where('trabalho_id', $projeto->id)->get();
return view('administrador.substituirParticipante')->with(['projeto' => $projeto,
'edital' => $edital,
'participantes' => $participantes,
'participantesExcluidos' => $participantesExcluidos,
'estados' => $this->estados,
'enum_turno' => Participante::ENUM_TURNO,
]);
}
public function trocaParticipante(Request $request){
try{
DB::beginTransaction();
$trabalho = Trabalho::find($request->projetoId);
$evento = Evento::find($request->editalId);
$participanteSubstituido = Participante::where('id', $request->participanteId)->first();
$planoAntigo = Arquivo::where('id', $participanteSubstituido->planoTrabalho->id)->first();
$passwordTemporario = Str::random(8);
$data['name'] = $request->name;
$data['email'] = $request->email;
$data['password'] = bcrypt($passwordTemporario);
$data['data_de_nascimento'] = $request->data_de_nascimento;
$data['cpf'] = $request->cpf;
$data['tipo'] = 'participante';
$data['funcao_participante_id'] = 4;
$data['rg'] = $request->rg;
$data['celular'] = $request->celular;
$data['cep'] = $request->cep;
$data['uf'] = $request->uf;
$data['cidade'] = $request->cidade;
$data['rua'] = $request->rua;
$data['numero'] = $request->numero;
$data['bairro'] = $request->bairro;
$data['complemento'] = $request->complemento;
if($request->instituicao != "Outra"){
$data['instituicao'] = $request->instituicao;
}else{
$data['instituicao'] = $request->outrainstituicao;
}
$data['total_periodos'] = $request->total_periodos;
if($request->curso != "Outro"){
$data['curso'] = $request->curso;
}else{
$data['curso'] = $request->outrocurso;
}
$data['turno'] = $request->turno;
$data['periodo_atual'] = $request->periodo_atual;
$data['ordem_prioridade'] = $request->ordem_prioridade;
$data['media_do_curso'] = $request->media_do_curso;
$data['nomePlanoTrabalho'] = $request->nomePlanoTrabalho;
if($request->substituirApenasPlanoCheck == 'check'){
if ( $request->has('anexoPlanoTrabalho') ) {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id .'/';
$nome = $data['nomePlanoTrabalho'] .".pdf";
$file = $request->anexoPlanoTrabalho;
Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now();
$participanteSubstituido->planoTrabalho()->delete();
$arquivo->participanteId = $participanteSubstituido->id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
}else{
$participanteSubstituido->delete();
$user = User::where('email' , $data['email'])->first();
if (!$user){
$data['usuarioTemp'] = true;
$user = User::create($data);
$endereco = Endereco::create($data);
$endereco->user()->save($user);
}
$participante = $user->participantes->where('trabalho_id', $trabalho->id)->first();
if (!$participante){
$participante = Participante::create($data);
}
$user->participantes()->save($participante);
$trabalho->participantes()->save($participante);
if($request->manterPlanoCheck == 'check'){
$planoAntigo->participanteId = $participante->id;
$planoAntigo->save();
}else{
if ( $request->has('anexoPlanoTrabalho') ) {
$path = 'trabalhos/' . $evento->id . '/' . $trabalho->id .'/';
$nome = $data['nomePlanoTrabalho'] .".pdf";
$file = $request->anexoPlanoTrabalho;
Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo();
$arquivo->titulo = $data['nomePlanoTrabalho'];
$arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id;
$arquivo->data = now();
$arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
}
}
$evento->trabalhos()->save($trabalho);
$trabalho->save();
DB::commit();
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['sucesso' => 'Troca de participantes realizada com sucesso!']);
}catch (\Throwable $th) {
DB::rollback();
return redirect(route('trabalho.trocaParticipante', ['evento_id' => $evento->id, 'projeto_id' => $trabalho->id]))->with(['erro' => $th->getMessage()]);
}
}
}
\ No newline at end of file
......@@ -248,13 +248,12 @@
<div class="dropdown-menu">
@if($avaliador->pivot->parecer != null)
<a href="{{ route('admin.visualizarParecer', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id]) }}" class="dropdown-item text-center">
Vizualizar Parecer
Vizualizar Parecer
</a>
@else
@endif
<a href="{{ route('admin.removerProjAval', ['trabalho_id' => $trabalho->id, 'avaliador_id' => $avaliador->id]) }}" class="dropdown-item text-center">
Desatribuir Avaliador
</a>
@endif
</div>
</div>
</td>
......
@extends('layouts.app')
@section('content')
<div class="container">
@if (session('sucesso'))
<div class="alert alert-success" role="alert">
{{ session('sucesso') }}
</div>
@endif
@if(session('erro'))
<div class="alert alert-danger" role="alert">
{{ session('erro') }}
</div>
@endif
<div class="row justify-content-center">
<div class="col-sm-12">
<div class="card" style="margin-top:50px">
<div class="card-header">
<h4 class="card-title" style= "color:#1492E6">
Substituir Participante
</h4>
<h5 style= "color:grey; font-size:medium">{{$edital->nome}}: {{$projeto->titulo}}</h5>
</div>
<div class="card-body">
<h4>Formação Atual</h4>
<div style="margin-top: 20px">
<div class="card-header">
<h5 class="card-title" style= "color:#1492E6">
Nome/Periodo
</h5>
</div>
<div class="card-body">
@foreach($participantes as $participante)
<div class="row"style="margin-bottom: 20px;">
<div class="col-10">
<h4 style="font-size:20px">{{$participante->user->name}}</h4>
<h5 style= "color:grey; font-size:medium">{{date('d-m-Y', strtotime($participante->created_at))}} - Atualmente</h5>
</div>
<div class="col-2 align-self-center">
<div class="row justify-content-around">
<a href="" data-toggle="modal" data-target="#modalSubParticipante{{$participante->id}}" class="button"><i class="fas fa-exchange-alt fa-2x"></i><a>
<a href="" data-toggle="modal" data-target="#modalVizuParticipante{{$participante->id}}" class="button"><i class="far fa-eye fa-2x"></i></a>
</div>
</div>
</div>
<!-- Modal substituir participante -->
<div class="modal fade" id="modalSubParticipante{{$participante->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Novo participante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
@include('administrador.substituirParticipanteForm')
</div>
</div>
</div>
</div>
<!-- Modal visualizar informações participante -->
<div class="modal fade" id="modalVizuParticipante{{$participante->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Informações Participante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
@include('administrador.substituirParticipanteForm', ['visualizarOnly' => 1])
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
<h4 style="margin-top: 50px">Histórico de participantes</h4>
<div style="margin-top: 20px">
<div class="card-header">
<h5 class="card-title" style= "color:#1492E6">
Nome/Periodo
</h5>
</div>
<div class="card-body">
@foreach($participantesExcluidos as $participante)
<div class="row"style="margin-bottom: 20px;">
<div class="col-10">
<h4 style="font-size:20px">{{$participante->user->name}}</h4>
<h5 style= "color:grey; font-size:medium">{{date('d-m-Y', strtotime($participante->created_at))}} - {{date('d-m-Y', strtotime($participante->deleted_at))}}</h5>
</div>
<div class="col-2 align-self-center">
<div class="row justify-content-center">
<a href="" data-toggle="modal" data-target="#modalVizuParticipanteExcluido{{$participante->id}}" class="button"><i class="far fa-eye fa-2x"></i></a>
</div>
</div>
</div>
<!-- Modal visualizar informações participante excluido -->
<div class="modal fade" id="modalVizuParticipanteExcluido{{$participante->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Informações Participante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
@include('administrador.substituirParticipanteForm', ['visualizarOnly' => 1])
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('javascript')
<script>
$(document).ready(function(){
$('input.cep:text').mask('00000-000');
$('input.cpf:text').mask('000.000.000-00');
$('input.celular').mask('(00) 00000-0000');
$('input').on("input", function(){
var maxlength = $(this).attr("maxlength");
var currentLength = $(this).val().length;
var idInput = $(this).attr("id");
if( currentLength >= maxlength ){
$("#caracsRestantes"+idInput).html("Caracteres restantes: " + (maxlength - this.value.length));
}else if(currentLength == 0){
$("#caracsRestantes"+idInput).html("");
}else{
$("#caracsRestantes"+idInput).html("Caracteres restantes: " + (maxlength - this.value.length));
}
});
});
function manterPlano(checkBox){
var checkboxInput = checkBox;
var idParticipante = checkboxInput.id;
var tituloPlano = document.getElementById('nomePlanoTrabalho'+idParticipante);
var anexoPlano = document.getElementById('anexoPlanoTrabalho'+idParticipante);
if(checkboxInput.checked){
tituloPlano.setAttribute('disabled', 'disabled');
tituloPlano.removeAttribute('required');
anexoPlano.setAttribute('disabled', 'disabled');
anexoPlano.removeAttribute('required');
}else if(!checkboxInput.checked){
tituloPlano.removeAttribute('disabled');
tituloPlano.setAttribute('required', 'required');
anexoPlano.removeAttribute('disabled');
anexoPlano.setAttribute('required', 'required');
}
}
function substituirApenasPlano(checkBox){
var checkboxInput = checkBox;
var checkBoxId = checkboxInput.id;
var idParticipante = checkBoxId.slice(11);
var inputsForm = [];
inputsForm.push(document.getElementById('nome'+idParticipante));
inputsForm.push(document.getElementById('email'+idParticipante));
inputsForm.push(document.getElementById('nascimento'+idParticipante));
inputsForm.push(document.getElementById('cpf'+idParticipante));
inputsForm.push(document.getElementById('rg'+idParticipante));
inputsForm.push(document.getElementById('cep'+idParticipante));
inputsForm.push(document.getElementById('celular'+idParticipante));
inputsForm.push(document.getElementById('estado'+idParticipante));
inputsForm.push(document.getElementById('cidade'+idParticipante));
inputsForm.push(document.getElementById('bairro'+idParticipante));
inputsForm.push(document.getElementById('rua'+idParticipante));
inputsForm.push(document.getElementById('numero'+idParticipante));
var complementoInput = document.getElementById('complemento'+idParticipante);
inputsForm.push(complementoInput);
inputsForm.push(document.getElementById('instituicao['+idParticipante+']'));
var outraInstituicaoInput = document.getElementById('outrainstituicao['+idParticipante+']');
inputsForm.push(outraInstituicaoInput);
inputsForm.push(document.getElementById('curso['+idParticipante+']'));
var outroCursoInput = document.getElementById('outrocurso['+idParticipante+']');
inputsForm.push(outroCursoInput);
inputsForm.push(document.getElementById('turno'+idParticipante));
inputsForm.push(document.getElementById('periodosTotal'+idParticipante));
inputsForm.push(document.getElementById('periodo'+idParticipante));
inputsForm.push(document.getElementById('ordem'+idParticipante));
inputsForm.push(document.getElementById('media'+idParticipante));
if(checkboxInput.checked){
inputsForm.forEach(function(item,indice,array){
item.setAttribute('disabled', 'disabled');
item.removeAttribute('required');
});
}else if(!checkboxInput.checked){
inputsForm.forEach(function(item,indice,array){
item.removeAttribute('disabled');
item.setAttribute('required', 'required');
});
complementoInput.removeAttribute('required');
outraInstituicaoInput.removeAttribute('required');
outroCursoInput.removeAttribute('required');
}
}
function showInstituicao(instituicao){
var instituicaoSelect = instituicao;
var idSelect = instituicaoSelect.id;
var instituicao = document.getElementById('outra'+idSelect);
var display = document.getElementById('display'+idSelect);
if(instituicaoSelect.value === "Outra"){
display.style.display = "block";
instituicao.parentElement.style.display = '';
instituicao.value="";
}else if(instituicaoSelect.value === "UFAPE"){
display.style.display = "none";
}
}
function showCurso(curso){
var cursoSelect = curso;
var idSelect = cursoSelect.id;
var curso = document.getElementById('outro'+idSelect);
var displayCurso = document.getElementById('display'+idSelect);
if(cursoSelect.value === "Outro"){
displayCurso.style.display = "block";
curso.parentElement.style.display = '';
curso.value="";
}else{
displayCurso.style.display = "none";
}
}
function gerarPeriodo(e){
var select = e.parentElement.parentElement.nextElementSibling;
selectPeriodos = select.children[0].children[1];
var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`;
for(var i = 0; i < parseInt(e.value); i++) {
html += `<option value="${i+1}">${i+1}º</option>`;
}
$(selectPeriodos).html('');
$(selectPeriodos).append(html);
}
</script>
@endsection
\ No newline at end of file
<!-- Verificação para definir se a informação do modal será o formulário para substituição ou apenas visualização-->
@if($visualizarOnly ?? '')
<!-- Apenas visualização-->
<div class="container-fluid">
<div class="row">
<div class="col-md-12 mt-3">
<h5>Dados do discente</h5>
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'Nome completo'])
<input type="text" class="form-control " value="{{$participante->user->name}}" name="name" placeholder="Nome Completo" maxlength="150" id="nome{{$participante->id}}" disabled />
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'E-mail'])
<input type="email" class="form-control" value="{{$participante->user->email}}" name="email" placeholder="E-mail" maxlength="150" id="email{{$participante->id}}" disabled />
@endcomponent
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'Data de nascimento'])
<input type="date" class="form-control" value="{{$participante->data_de_nascimento}}" name="data_de_nascimento" placeholder="Data de nascimento" disabled />
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'CPF'])
<input type="text" class="form-control cpf" value="{{$participante->user->cpf}}" name="cpf" placeholder="CPF" disabled />
@endcomponent
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'RG'])
<input type="number" class="form-control" min="1" maxlength="12" value="{{$participante->rg}}" name="rg" placeholder="RG" disabled />
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Celular'])
<input type="tel" class="form-control celular" value="{{$participante->user->celular}}" name="celular" placeholder="Celular" id="inputCelular" disabled />
@endcomponent
</div>
</div>
<div class="row">
<div class="col-md-12">
<h5>Endereço</h5>
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'CEP'])
<input type="text" class="form-control cep" value="{{$participante->user->endereco->cep}}" name="cep" placeholder="CEP" disabled />
@endcomponent
</div>
<div class="col-6">
@component('componentes.select', ['label' => 'Estado'])
<select name="uf" id="estado" class="form-control" style="visibility: visible" disabled>
<option value="{{$participante->user->endereco->uf}}" selected>{{$participante->user->endereco->uf}}</option>
</select>
@endcomponent
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'Cidade'])
<input type="text" class="form-control" value="{{$participante->user->endereco->cidade}}" name="cidade" placeholder="Cidade" maxlength="50" id="cidade{{$participante->id}}" disabled />
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Bairro'])
<input type="text" class="form-control" value="{{$participante->user->endereco->bairro}}" name="bairro" placeholder="Bairro" maxlength="50" id="bairro{{$participante->id}}" disabled />
@endcomponent
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'Rua'])
<input type="text" class="form-control" value="{{$participante->user->endereco->rua}}" name="rua" placeholder="Rua" maxlength="100" id="rua{{$participante->id}}" disabled />
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Número'])
<input type="text" class="form-control" value="{{$participante->user->endereco->numero}}" name="numero" placeholder="Número" disabled />
@endcomponent
</div>
</div>
<div class="row">
<div class="col-12">
<div class="form-group">
<label class=" control-label" for="firstname">Complemento</label>
<input type="text" class="form-control" value="{{$participante->user->endereco->complemento}}" name="complemento" placeholder="Complemento" maxlength="75" id="complemento{{$participante->id}}" disabled />
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h5>Dados do curso</h5>
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'Instituição de Ensino'])
<select style="display: inline" onchange="showInstituicao(this)" class="form-control" name="instituicao" id="instituicao[{{$participante->id}}]" disabled>
<option value="{{$participante->user->instituicao}}" disabled selected hidden>{{$participante->user->instituicao}}</option>
</select>
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Curso'])
<select style="display: inline" class="form-control" name="curso" onchange="showCurso(this)" id="curso[{{$participante->id}}]" disabled>
<option value="{{$participante->curso}}" disabled selected hidden>{{$participante->curso}}</option>
</select>
@endcomponent
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.select', ['label' => 'Turno'])
<select name="turno" class="form-control" disabled>
<option value="{{$participante->turno}}" selected>{{$participante->turno}}</option>
</select>
@endcomponent
</div>
<div class="col-6">
@component('componentes.select', ['label' => 'Total de períodos/anos do curso'])
<select name="total_periodos" class="form-control" onchange="gerarPeriodo(this)" disabled>
<option value="{{$participante->total_periodos}}" selected>{{$participante->total_periodos}}</option>
</select>
@endcomponent
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.select', ['label' => 'Período/Ano atual'])
<select name="periodo_atual" class="form-control" disabled>
<option value="{{$participante->periodo_atual}}" selected>{{$participante->periodo_atual}}</option>
</select>
@endcomponent
</div>
<div class="col-6">
@component('componentes.select', ['label' => 'Ordem de prioridade'])
<select name="ordem_prioridade" class="form-control" disabled>
<option value="{{$participante->ordem_prioridade}}" selected>{{$participante->ordem_prioridade}}</option>
</select>
@endcomponent
</div>
</div>
<div class="row">
<div class="col-6">
@component('componentes.input', ['label' => 'Coeficiente de rendimento'])
<input type="number" class="form-control media" value="{{$participante->media_do_curso}}" name="media_do_curso" min="0" max="10" step="0.01" disabled>
@endcomponent
</div>
</div>
<div class="row">
<div class="col-md-12">
<h5>Plano de trabalho</h5>
</div>
</div>
<div class="row justify-content-center">
@if($participante->planoTrabalho)
<div class="col-6">
<h6>{{$participante->planoTrabalho->titulo}}</h6>
</div>
<div class="col-6">
<a href="{{ route('baixar.plano', ['id' => $participante->planoTrabalho->id]) }}"><i class="fas fa-file-pdf fa-2x"></i></a>
</div>
@else
<div class="col-3 text-danger">
<p><i class="fas fa-times-circle fa-2x"></i></p>
</div>
@endif
</div>
</div>
@else
<form method="POST" id="SubParticForm" action="{{route('trabalho.infoTrocaParticipante')}}" enctype="multipart/form-data">
@csrf
<input type="hidden" name="editalId" value="{{$edital->id}}">
<input type="hidden" name="participanteId" value="{{$participante->id}}">
<input type="hidden" name="projetoId" value="{{$projeto->id}}">
<div class="container-fluid">
<div class="row">
<div class="col-12 mb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="check" id="apenasPlano{{$participante->id}}" name="substituirApenasPlanoCheck" onchange="substituirApenasPlano(this)">
<label class="form-check-label" for="apenasPlano{{$participante->id}}">
Substituir apenas o plano de trabalho
</label>
</div>
</div>
<div class="col-md-12 mt-3">
<h5>Dados do discente</h5>
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Nome completo'])
<input type="text" class="form-control " @value="" name="name" placeholder="Nome Completo" maxlength="150" id="nome{{$participante->id}}" required />
<span style="color: red; font-size: 12px" id="caracsRestantesnome{{$participante->id}}">
</span>
@error("name")
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'E-mail'])
<input type="email" class="form-control" value="" name="email" placeholder="E-mail" maxlength="150" id="email{{$participante->id}}" required />
<span style="color: red; font-size: 12px" id="caracsRestantesemail{{$participante->id}}">
</span>
@error('email')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Data de nascimento'])
<input type="date" class="form-control" value="" name="data_de_nascimento" placeholder="Data de nascimento" id="nascimento{{$participante->id}}" required />
@error('data_de_nascimento')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'CPF'])
<input type="text" class="form-control cpf" value="" name="cpf" placeholder="CPF" id="cpf{{$participante->id}}" required />
@error('cpf')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'RG'])
<input type="number" class="form-control" min="1" maxlength="12" value="" name="rg" placeholder="RG" id="rg{{$participante->id}}" required />
@error('rg')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Celular'])
<input type="tel" class="form-control celular" value="" name="celular" placeholder="Celular" id="celular{{$participante->id}}" required />
@error('celular')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-md-12">
<h5>Endereço</h5>
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'CEP'])
<input type="text" class="form-control cep" value="" name="cep" placeholder="CEP" id="cep{{$participante->id}}" required />
@error('cep')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.select', ['label' => 'Estado'])
<select name="uf" class="form-control" style="visibility: visible" id="estado{{$participante->id}}" required>
<option value="" selected>-- Selecione uma opção --</option>
@foreach ($estados as $sigla => $nome)
<option value="{{ $sigla }}">{{ $nome }}</option>
@endforeach
</select>
@error('uf')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Cidade'])
<input type="text" class="form-control" value="" name="cidade" placeholder="Cidade" maxlength="50" id="cidade{{$participante->id}}" required />
<span style="color: red; font-size: 12px" id="caracsRestantescidade{{$participante->id}}">
</span>
@error('cidade')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Bairro'])
<input type="text" class="form-control" value="" name="bairro" placeholder="Bairro" maxlength="50" id="bairro{{$participante->id}}" required />
<span style="color: red; font-size: 12px" id="caracsRestantesbairro{{$participante->id}}">
</span>
@error('bairro')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Rua'])
<input type="text" class="form-control" value="" name="rua" placeholder="Rua" maxlength="100" id="rua{{$participante->id}}" required />
<span style="color: red; font-size: 12px" id="caracsRestantesrua{{$participante->id}}">
</span>
@error('rua')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Número'])
<input type="text" class="form-control" value="" name="numero" placeholder="Número" id="numero{{$participante->id}}" required />
@error('numero')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-12">
<div class="form-group">
<label class=" control-label" for="firstname">Complemento</label>
<input type="text" class="form-control" value="" name="complemento" placeholder="Complemento" maxlength="75" id="complemento{{$participante->id}}" />
<span style="color: red; font-size: 12px" id="caracsRestantescomplemento{{$participante->id}}">
</span>
@error('complemento')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-md-12">
<h5>Dados do curso</h5>
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Instituição de Ensino'])
<select style="display: inline" onchange="showInstituicao(this)" class="form-control" name="instituicao" id="instituicao[{{$participante->id}}]" required>
<option value="" disabled selected hidden>-- Instituição --</option>
<option value="UFAPE">Universidade Federal do Agreste de Pernambuco - UFAPE</option>
<option value="Outra">Outra</option>
</select>
@error('instituicao')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6" id="displayinstituicao[{{$participante->id}}]" style='display:none'>
@component('componentes.input', ['label' => 'Digite a Instituição'])
<input id="outrainstituicao[{{$participante->id}}]" type="text" class="form-control @error('instituicao') is-invalid @enderror" name="outrainstituicao" value="" placeholder="Digite o nome da Instituição" autocomplete="instituicao" autofocus>
@error('outrainstituicao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Curso'])
<select style="display: inline" class="form-control" name="curso" onchange="showCurso(this)" id="curso[{{$participante->id}}]" required>
<option value="" disabled selected hidden>-- Selecione uma opção--</option>
<option value="Bacharelado em Agronomia">Bacharelado em Agronomia</option>
<option value="Bacharelado em Ciência da Computação">Bacharelado em Ciência da Computação</option>
<option value="Bacharelado em Engenharia de Alimentos">Bacharelado em Engenharia de Alimentos</option>
<option value="Bacharelado em Medicina Veterinária">Bacharelado em Medicina Veterinária</option>
<option value="Bacharelado em Zootecnia">Bacharelado em Zootecnia</option>
<option value="Licenciatura em Letras">Licenciatura em Letras</option>
<option value="Licenciatura em Pedagogia">Licenciatura em Pedagogia</option>
<option value="Outro">Outro</option>
</select>
@error('curso')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6" id="displaycurso[{{$participante->id}}]" style='display:none'>
@component('componentes.input', ['label' => 'Digite o nome do curso'])
<input id="outrocurso[{{$participante->id}}]" type="text" class="form-control" name="outrocurso" value="" placeholder="Digite o nome do curso" autocomplete="curso" autofocus>
@error('outrocurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.select', ['label' => 'Turno'])
<select name="turno" class="form-control" id="turno{{$participante->id}}" required>
<option value="" selected>-- Selecione uma opção --</option>
@foreach ($enum_turno as $key => $value)
<option value="{{ $value }}">{{ $value }}</option>
@endforeach
</select>
@error('turno')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
@php
$options = array('3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7,'8' => 8,'9' => 9,'10' => 10,'11' => 11,'12' => 12);
@endphp
<div class="col-6">
@component('componentes.select', ['label' => 'Total de períodos/anos do curso'])
<select name="total_periodos" class="form-control" onchange="gerarPeriodo(this)" id="periodosTotal{{$participante->id}}" required>
<option value="" selected>-- Selecione uma opção --</option>
@foreach ($options as $key => $value)
<option value="{{ $key }}">{{ $value }}</option>
@endforeach
</select>
@error('total_periodos')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.select', ['label' => 'Período/Ano atual'])
<select name="periodo_atual" class="form-control" id="periodo{{$participante->id}}" required>
<option value="" selected>-- Selecione uma opção --</option>
</select>
@error('periodo_atual')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.select', ['label' => 'Ordem de prioridade'])
<select name="ordem_prioridade" class="form-control" id="ordem{{$participante->id}}" required>
<option value="" selected>-- ORDEM --</option>
@for($j = 1; $j <= 3; $j++) <option value="{{ $j }}">{{ $j }}</option>
@endfor
</select>
@error('ordem_prioridade')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Coeficiente de rendimento'])
<input type="number" class="form-control media" value="" name="media_do_curso" min="0" max="10" step="0.01" id="media{{$participante->id}}" required>
@error('media_do_curso')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-12 mb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="check" id="{{$participante->id}}" name="manterPlanoCheck" onchange="manterPlano(this)">
<label class="form-check-label" for="{{$participante->id}}">
Manter o plano de trabalho
</label>
</div>
</div>
<div class="col-md-12">
<h5>Plano de trabalho</h5>
</div>
<div class="col-12">
@component('componentes.input', ['label' => 'Título'])
<input type="text" class="form-control" value="" name="nomePlanoTrabalho" placeholder="Digite o título do plano de trabalho" maxlength="255" id="nomePlanoTrabalho{{$participante->id}}" required>
<span style="color: red; font-size: 12px" id="caracsRestantesnomePlanoTrabalho{{$participante->id}}">
</span>
@error('nomePlanoTrabalho')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-6">
@component('componentes.input', ['label' => 'Anexo (.pdf)'])
<input type="file" class="input-group-text" value="" name="anexoPlanoTrabalho" accept=".pdf" placeholder="Anexo do Plano de Trabalho" id="anexoPlanoTrabalho{{$participante->id}}" required />
@error('anexoPlanoTrabalho')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@error('anexoPlanoTrabalho')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@endcomponent
</div>
<div class="col-12">
<button type="submit" class="btn btn-success" id="idButtonSubmitParticipante">Salvar</button>
</div>
</div>
</div>
</form>
@endif
\ No newline at end of file
......@@ -94,7 +94,8 @@
Editar
</a>
<hr class="dropdown-hr">
@else
@elseif($projeto->evento->fimSubmissao <= $hoje)
<a href="{{route('trabalho.trocaParticipante', ['evento_id' => $projeto->evento->id, 'projeto_id' => $projeto->id])}}" class="dropdown-item" style="text-align: center;">Substituir participante</a>
@endif
<a href="{{ route('trabalho.show', ['id' => $projeto->id]) }}" class="dropdown-item" style="text-align: center">
Visualizar
......
......@@ -107,7 +107,8 @@
Editar
</a>
<hr class="dropdown-hr">
@else
@elseif($projeto->evento->fimSubmissao <= $hoje)
<a href="{{route('trabalho.trocaParticipante', ['evento_id' => $projeto->evento->id, 'projeto_id' => $projeto->id])}}" class="dropdown-item" style="text-align: center;">Substituir participante</a>
@endif
<a href="{{ route('trabalho.show', ['id' => $projeto->id]) }}" class="dropdown-item" style="text-align: center">
Visualizar
......
......@@ -129,6 +129,7 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
Route::get( '/projeto/{id}/excluirParticipante','TrabalhoController@excluirParticipante')->name('trabalho.excluirParticipante');
Route::get( '/projeto/exportar/{id}','TrabalhoController@exportProjeto' )->name('exportar.projeto');
Route::get( '/projeto/substituirParticipante', 'TrabalhoController@telaTrocaPart' )->name('trabalho.trocaParticipante');
Route::post( '/projeto/substituirParticipante', 'TrabalhoController@trocaParticipante' )->name('trabalho.infoTrocaParticipante');
//######### Atribuição #######################################
Route::get( '/atribuir', 'AtribuicaoController@distribuicaoAutomatica' )->name('distribuicao');
......
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