Unverified Commit 0a6bdf37 authored by carlos1270's avatar carlos1270 Committed by GitHub
Browse files

Merge pull request #80 from carlos1270/master

Submeter, editar e deletar projeto
parents 976ba2e4 4ec83f75
...@@ -12,10 +12,14 @@ class Arquivo extends Model ...@@ -12,10 +12,14 @@ class Arquivo extends Model
* @var array * @var array
*/ */
protected $fillable = [ protected $fillable = [
'nome', 'versao', 'versaoFinal', 'data', 'trabalhoId', 'nome', 'versao', 'versaoFinal', 'data', 'trabalhoId', 'participanteId'
]; ];
public function trabalho(){ public function trabalho(){
return $this->belongsTo('App\Trabalho', 'trabalhoId'); return $this->belongsTo('App\Trabalho', 'trabalhoId');
} }
public function participante() {
return $this->belongsTo('App\Participante', 'participanteId');
}
} }
...@@ -397,6 +397,68 @@ class TrabalhoController extends Controller ...@@ -397,6 +397,68 @@ class TrabalhoController extends Controller
public function armazenarAnexosFinais($request, $pasta, $trabalho, $evento){ public function armazenarAnexosFinais($request, $pasta, $trabalho, $evento){
// Checando se é um novo trabalho ou uma edição
if ($trabalho->anexoProjeto != null) {
// Anexo Projeto
if(isset($request->anexoProjeto)){
if(Storage::disk()->exists($trabalho->anexoProjeto)) {
Storage::delete($trabalho->anexoProjeto);
}
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf');
}
//Anexo Decisão CONSU
if( $evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
if(isset($request->anexoCONSU)){
if(Storage::disk()->exists($trabalho->anexoDecisaoCONSU)) {
Storage::delete($trabalho->anexoDecisaoCONSU);
}
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoCONSU, 'CONSU.pdf');
}
}
//Autorização ou Justificativa
if( isset($request->anexoComiteEtica)){
if(Storage::disk()->exists($trabalho->anexoAutorizacaoComiteEtica)) {
Storage::delete($trabalho->anexoAutorizacaoComiteEtica);
}
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, 'Comite_de_etica.pdf');
} elseif( isset($request->justificativaAutorizacaoEtica)){
if(Storage::disk()->exists($trabalho->justificativaAutorizacaoEtica)) {
Storage::delete($trabalho->justificativaAutorizacaoEtica);
}
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf');
}
//Anexo Lattes
if( isset($request->anexoLattesCoordenador)){
if(Storage::disk()->exists($trabalho->anexoLattesCoordenador)) {
Storage::delete($trabalho->anexoLattesCoordenador);
}
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf');
}
//Anexo Planilha
if( isset($request->anexoPlanilha)){
if(Storage::disk()->exists($trabalho->anexoPlanilhaPontuacao)) {
Storage::delete($trabalho->anexoPlanilhaPontuacao);
}
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilha, "Planilha.". $request->file('anexoPlanilha')->extension());
}
// Anexo grupo pesquisa
if(isset($request->grupoPesquisa)){
if(Storage::disk()->exists($trabalho->anexoGrupoPesquisa)) {
Storage::delete($trabalho->anexoGrupoPesquisa);
}
$trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoPlanilha, "Grupo_de_pesquisa.". $request->file('grupoPesquisa')->extension());
}
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');
...@@ -427,7 +489,10 @@ class TrabalhoController extends Controller ...@@ -427,7 +489,10 @@ class TrabalhoController extends Controller
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilha, "Planilha.". $request->file('anexoPlanilha')->extension()); $trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilha, "Planilha.". $request->file('anexoPlanilha')->extension());
} }
$trabalho->update(); // Anexo grupo pesquisa
if(isset($request->grupoPesquisa)){
$trabalho->anexoGrupoPesquisa = Storage::putFileAs($pasta, $request->anexoPlanilha, "Grupo_de_pesquisa.". $request->file('grupoPesquisa')->extension());
}
return $trabalho; return $trabalho;
} }
...@@ -490,7 +555,9 @@ class TrabalhoController extends Controller ...@@ -490,7 +555,9 @@ class TrabalhoController extends Controller
'users' => $users, 'users' => $users,
'funcaoParticipantes' => $funcaoParticipantes, 'funcaoParticipantes' => $funcaoParticipantes,
'participantes' => $participantes, 'participantes' => $participantes,
'arquivos' => $arquivos,]); 'arquivos' => $arquivos,
'enum_turno' => Participante::ENUM_TURNO,
]);
} }
/** /**
...@@ -737,11 +804,18 @@ class TrabalhoController extends Controller ...@@ -737,11 +804,18 @@ class TrabalhoController extends Controller
*/ */
public function destroy(Request $request) public function destroy(Request $request)
{ {
$trabalho = Trabalho::find($request->id); $projeto = Trabalho::find($request->id);
//dd($trabalho); //dd($trabalho);
Storage::deleteDirectory('trabalhos/' . $trabalho->evento->id . '/' . $trabalho->id ); Storage::deleteDirectory('trabalhos/' . $projeto->evento->id . '/' . $projeto->id );
$trabalho->delete(); $participantes = $projeto->participantes;
foreach ($participantes as $participante) {
$plano = $participante->planoTrabalho;
$plano->delete();
$participante->delete();
}
$projeto->delete();
return redirect()->back()->with(['mensagem' => 'Projeto deletado com sucesso!']); return redirect()->back()->with(['mensagem' => 'Projeto deletado com sucesso!']);
} }
...@@ -984,11 +1058,7 @@ class TrabalhoController extends Controller ...@@ -984,11 +1058,7 @@ class TrabalhoController extends Controller
$projeto = $this->atribuirDados($request, $edital); $projeto = $this->atribuirDados($request, $edital);
$projeto->save(); $projeto->save();
// Salvando anexos no storage // Email de submissão
$pasta = 'trabalhos/' . $edital->id . '/' . $projeto->id;
$projeto = $this->armazenarAnexosFinais($request, $pasta, $projeto, $edital);
$subject = "Submissão de Trabalho"; $subject = "Submissão de Trabalho";
$proponente = Auth()->user(); $proponente = Auth()->user();
Mail::to($proponente->email)->send(new SubmissaoTrabalho($proponente, $subject, $edital, $projeto)); Mail::to($proponente->email)->send(new SubmissaoTrabalho($proponente, $subject, $edital, $projeto));
...@@ -996,11 +1066,14 @@ class TrabalhoController extends Controller ...@@ -996,11 +1066,14 @@ class TrabalhoController extends Controller
// Salvando participantes // Salvando participantes
$this->salvarParticipantes($request, $edital, $projeto); $this->salvarParticipantes($request, $edital, $projeto);
dd("foi"); return redirect(route('proponente.projetos'))->with(['mensagem' => 'Projeto submetido com sucesso!']);
} }
public function atribuirDados(Request $request, $edital) { public function atribuirDados(Request $request, $edital, Trabalho $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();
...@@ -1016,21 +1089,186 @@ class TrabalhoController extends Controller ...@@ -1016,21 +1089,186 @@ class TrabalhoController extends Controller
$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;
//Anexos
$projeto->anexoProjeto = $request->anexoProjeto;
$projeto->anexoAutorizacaoComiteEtica = $request->anexoComiteEtica;
$projeto->justificativaAutorizacaoEtica = $request->justificativaAutorizacaoEtica;
$projeto->anexoLattesCoordenador = $request->anexoLattesCoordenador;
$projeto->anexoPlanilhaPontuacao = $request->anexoPlanilha;
if($edital->tipo == 'PIBIC' || $edital->tipo == 'PIBIC-EM'){ // Salvando anexos no storage
$projeto->anexoDecisaoCONSU = $request->anexoCONSU;
} $pasta = 'trabalhos/' . $edital->id . '/' . $projeto->id;
$projeto = $this->armazenarAnexosFinais($request, $pasta, $projeto, $edital);
return $projeto; return $projeto;
} }
public function salvarParticipantes(Request $request, $edital, $projeto) { public function salvarParticipantes(Request $request, $edital, $projeto, $edicao = false) {
if ($edicao) {
$participantes = $projeto->participantes;
$participantesPermanecem = collect();
foreach ($request->participante_id as $key => $id) {
// Novo participante
if ($id == 0) {
$userParticipante = User::where('email', $request->emailParticipante[$key])->first();
$participante = new Participante();
if($userParticipante == null){
$passwordTemporario = Str::random(8);
$usuario = new User();
$usuario->email = $request->emailParticipante[$key];
$usuario->password = bcrypt($passwordTemporario);
$usuario->usuarioTemp = false;
$usuario->name = $request->nomeParticipante[$key];
$usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key];
$usuario->cpf = $request->cpf[$key];
$usuario->celular = $request->celular[$key];
$endereco = new Endereco();
$endereco->rua = $request->rua[$key];
$endereco->numero = $request->numero[$key];
$endereco->bairro = $request->bairro[$key];
$endereco->cidade = $request->cidade[$key];
$endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key];
$endereco->complemento = $request->complemento[$key];
$endereco->save();
$usuario->enderecoId = $endereco->id;
$usuario->save();
$participante->user_id = $usuario->id;
$participante->trabalho_id = $projeto->id;
$participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true;
$participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_cursado[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
$participante->save();
$subject = "Participante de Projeto";
Mail::to($request->emailParticipante[$key])->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $projeto->titulo, 'Participante', $edital->nome, $passwordTemporario, $subject));
} else {
$participante->user_id = $userParticipante->id;
$participante->trabalho_id = $projeto->id;
$participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->confirmacao_convite = true;
$participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_cursado[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
$participante->save();
$subject = "Participante de Projeto";
Mail::to($request->emailParticipante[$key])
->send(new SubmissaoTrabalho($userParticipante, $subject, $edital, $projeto));
}
if($request->nomePlanoTrabalho[$key] != null){
$usuario = User::where('email', $request->emailParticipante[$key])->first();
$participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $projeto->id]])->first();
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id .'/';
$nome = $request->nomePlanoTrabalho[$key] .".pdf";
$file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome);
$agora = now();
$arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $projeto->id;
$arquivo->data = $agora;
$arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
// Editado
} elseif ($id > 0) {
// Removo dos cantidatos excluidos
$participante = Participante::find($id);
$participantesPermanecem->push($participante);
$usuario = $participante->user;
$endereco = $usuario->endereco;
$usuario->usuarioTemp = false;
$usuario->name = $request->nomeParticipante[$key];
$usuario->tipo = 'participante';
$usuario->instituicao = $request->universidade[$key];
$usuario->cpf = $request->cpf[$key];
$usuario->celular = $request->celular[$key];
$usuario->update();
$endereco->rua = $request->rua[$key];
$endereco->numero = $request->numero[$key];
$endereco->bairro = $request->bairro[$key];
$endereco->cidade = $request->cidade[$key];
$endereco->uf = $request->uf[$key];
$endereco->cep = $request->cep[$key];
$endereco->complemento = $request->complemento[$key];
$endereco->update();
$participante->rg = $request->rg[$key];
$participante->data_de_nascimento = $request->data_de_nascimento[$key];
$participante->curso = $request->curso[$key];
$participante->turno = $request->turno[$key];
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_cursado[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
$participante->update();
if($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho) && $request->anexoPlanoTrabalho[$key] != null){
$planoAtual = $participante->planoTrabalho;
if(Storage::disk()->exists($planoAtual->nome)) {
Storage::delete($planoAtual->nome);
}
$planoAtual->delete();
$path = 'trabalhos/' . $edital->id . '/' . $projeto->id .'/';
$nome = $request->nomePlanoTrabalho[$key] .".pdf";
$file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome);
$agora = now();
$arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $projeto->id;
$arquivo->data = $agora;
$arquivo->participanteId = $id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
}
}
// Excluidos
$participantesExcluidos = $participantes->diff($participantesPermanecem);
foreach ($participantesExcluidos as $participante) {
$plano = $participante->planoTrabalho;
$plano->delete();
$participante->delete();
}
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();
...@@ -1124,5 +1362,26 @@ class TrabalhoController extends Controller ...@@ -1124,5 +1362,26 @@ class TrabalhoController extends Controller
} }
} }
} }
return true;
}
public function atualizar(Request $request, $id) {
$edital = Evento::find($request->editalId);
$hoje = now();
$projeto = Trabalho::find($id);
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.']);
}
$projeto = $this->atribuirDados($request, $edital, $projeto);
$projeto->update();
// Salvando participantes
$this->salvarParticipantes($request, $edital, $projeto, true);
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Projeto atualizado com sucesso!']);
} }
} }
\ No newline at end of file
...@@ -18,4 +18,8 @@ class Participante extends Model ...@@ -18,4 +18,8 @@ class Participante extends Model
public function trabalhos(){ public function trabalhos(){
return $this->belongsToMany('App\Trabalho', 'trabalho_participante'); return $this->belongsToMany('App\Trabalho', 'trabalho_participante');
} }
public function planoTrabalho() {
return $this->hasOne('App\Arquivo', 'participanteId');
}
} }
...@@ -28,6 +28,7 @@ class Trabalho extends Model ...@@ -28,6 +28,7 @@ class Trabalho extends Model
'anexoAutorizacaoComiteEtica', 'anexoAutorizacaoComiteEtica',
'JustificativaAutorizacaoEtica', 'JustificativaAutorizacaoEtica',
'anexoLattesCoordenador', 'anexoLattesCoordenador',
'anexoGrupoPesquisa',
'anexoPlanilhaPontuacao', 'anexoPlanilhaPontuacao',
'anexoProjeto', 'anexoProjeto',
...@@ -82,7 +83,7 @@ class Trabalho extends Model ...@@ -82,7 +83,7 @@ class Trabalho extends Model
return $this->hasMany('App\PlanoTrabalho'); return $this->hasMany('App\PlanoTrabalho');
} }
public function participantes(){ public function participantes(){
return $this->belongsToMany('App\Participante', 'trabalho_participante'); return $this->hasMany('App\Participante', 'trabalho_id');
} }
public function proponente(){ public function proponente(){
return $this->belongsTo('App\Proponente'); return $this->belongsTo('App\Proponente');
......
...@@ -23,10 +23,11 @@ class CreateTrabalhosTable extends Migration ...@@ -23,10 +23,11 @@ class CreateTrabalhosTable extends Migration
$table->string('pontuacaoPlanilha'); $table->string('pontuacaoPlanilha');
$table->date('data')->nullable(); $table->date('data')->nullable();
//Anexos //Anexos
$table->string('anexoProjeto'); $table->string('anexoProjeto')->nullable();
$table->string('anexoDecisaoCONSU')->nullable(); $table->string('anexoDecisaoCONSU')->nullable();
$table->string('anexoPlanilhaPontuacao'); $table->string('anexoPlanilhaPontuacao')->nullable();
$table->string('anexoLattesCoordenador'); $table->string('anexoLattesCoordenador')->nullable();
$table->string('anexoGrupoPesquisa')->nullable();
$table->string('anexoAutorizacaoComiteEtica')->nullable(); $table->string('anexoAutorizacaoComiteEtica')->nullable();
$table->string('justificativaAutorizacaoEtica')->nullable(); $table->string('justificativaAutorizacaoEtica')->nullable();
//chaves estrangeiras //chaves estrangeiras
......
...@@ -66,9 +66,11 @@ ...@@ -66,9 +66,11 @@
<div class="color-subtitle-edital">Submissão até o dia {{ date('d/m/Y', strtotime($evento->fimSubmissao)) }}</div> <div class="color-subtitle-edital">Submissão até o dia {{ date('d/m/Y', strtotime($evento->fimSubmissao)) }}</div>
</div> </div>
<div class="col-sm-4"> <div class="col-sm-4">
<a href="{{ route('evento.visualizarNaoLogado', ['id' => $evento->id]) }}">
<button class="btn btn-opcoes-edital background-yellow" style="float: right;" disable> <button class="btn btn-opcoes-edital background-yellow" style="float: right;" disable>
Em avaliação Em avaliação
</button> </button>
</a>
</div> </div>
</div> </div>
</div> </div>
...@@ -85,9 +87,11 @@ ...@@ -85,9 +87,11 @@
<div class="color-subtitle-edital">Submissão até o dia {{ date('d/m/Y', strtotime($evento->fimSubmissao)) }}</div> <div class="color-subtitle-edital">Submissão até o dia {{ date('d/m/Y', strtotime($evento->fimSubmissao)) }}</div>
</div> </div>
<div class="col-sm-3"> <div class="col-sm-3">
<a href="{{ route('evento.visualizarNaoLogado', ['id' => $evento->id]) }}">
<button class="btn btn-opcoes-edital background-red" style="float: right;" disabled> <button class="btn btn-opcoes-edital background-red" style="float: right;" disabled>
Encerrado Encerrado
</button> </button>
</a>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -262,88 +262,237 @@ ...@@ -262,88 +262,237 @@
@enderror @enderror
</div> </div>
@endif @endif
</div> </div>
<hr> <hr>
<h3>Participantes</h3> <h3>Participantes</h3>
<input type="hidden" value="{{sizeof($participantes)}}" id="qtdParticipantes"> <input type="hidden" value="{{sizeof($participantes)}}" id="countParticipante">
{{-- Participantes --}} {{-- Participantes --}}
<div class="row" style="margin-top:20px"> <div class="row" style="margin-top:20px">
<div class="col-sm-12"> <div class="col-sm-12">
<div id="participantes"> <div id="participantes">
@foreach($participantes as $participante) @foreach($participantes as $participante)
@foreach($users as $user) <div id="novoParticipante" style="display: block;">
@if($participante->user_id === $user->id)
<div id="novoParticipante">
<br> <br>
<h4>Dados do participante</h4> <h4>Dados do participante</h4>
<h6>Dados pessoais</h6>
<input type="hidden" name="participante_id[]" value="{{$participante->id}}">
<div class="row"> <div class="row">
<div class="col-sm-5"> <div class="col-sm-5">
<label>Nome Completo</label> <label>Nome Completo*</label>
<input value="{{ $user->name }}" type="text" style="margin-bottom:10px" class="form-control @error('nomeParticipante') is-invalid @enderror" name="nomeParticipante[]" placeholder="Nome" required> <input type="text" style="margin-bottom:10px" class="form-control @error('nomeParticipante') is-invalid @enderror" name="nomeParticipante[]" placeholder="Nome" value="{{$participante->user->name}}" required>
@error('nomeParticipante') @error('nomeParticipante.'.$projeto->id)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
</div> </div>
<div class="col-sm-4"> <div class="col-sm-4">
<label>E-mail</label> <label>E-mail*</label>
<input value="{{ $user->email }}" type="email" style="margin-bottom:10px" class="form-control @error('emailParticipante') is-invalid @enderror" name="emailParticipante[]" placeholder="email" required> <input type="email" style="margin-bottom:10px" class="form-control @error('emailParticipante') is-invalid @enderror" name="emailParticipante[]" placeholder="email" value="{{$participante->user->email}}" required>
@error('emailParticipante') @error('emailParticipante.'.$projeto->id)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
</div> </div>
<div class="col-sm-3"> <div class="col-sm-3">
<label>Função:</label> <label>Função*:</label>
<select class="form-control @error('funcaoParticipante') is-invalid @enderror" name="funcaoParticipante[]" id="funcaoParticipante"> <select class="form-control @error('funcaoParticipante') is-invalid @enderror" name="funcaoParticipante[]" id="funcaoParticipante" required>
<option value="" disabled selected hidden>-- Função --</option> <option value="" disabled selected hidden>-- Função --</option>
@foreach($funcaoParticipantes as $funcaoParticipante) @foreach($funcaoParticipantes as $funcaoParticipante)
@if($funcaoParticipante->id === $participante->funcao_participante_id) <option @if($participante->funcao_participante_id==$funcaoParticipante->id ) selected @endif value="{{$funcaoParticipante->id}}">{{$funcaoParticipante->nome}}</option>
<option value="{{$funcaoParticipante->id}}" selected>{{$funcaoParticipante->nome}}</option>
@else
<option value="{{$funcaoParticipante->id}}">{{$funcaoParticipante->nome}}</option>
@endif
@endforeach @endforeach
</select>
@error('funcaoParticipante') @error('funcaoParticipante')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong> <strong>{{ $message }}</strong>
</span> </span>
@enderror @enderror
</div>
</div>
<div id="dados_complemento_1">
<div class="form-group">
<div class="row">
<div class="col-sm-4">
<label for="">{{ __('CPF*') }}</label>
<input type="text" class="form-control cpf" name="cpf[]" required value="{{$participante->user->cpf}}">
</div>
<div class="col-sm-4">
<label for="">{{ __('RG*') }}</label>
<input type="text" class="form-control rg" name="rg[]" required value="{{$participante->rg}}">
</div>
<div class="col-sm-4">
<label for="">{{ __('Celular*') }}</label>
<input type="text" class="form-control celular" name="celular[]" required value="{{$participante->user->celular}}">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-4">
<label for="">{{ __('Data de nascimento*') }}</label>
<input type="date" class="form-control" name="data_de_nascimento[]" required value="{{$participante->data_de_nascimento}}">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="container">
<h6>Endereço do participante</h6>
</div>
</div>
<div class="row">
<div class="col-sm-3">
<label for="">{{ __('CEP*') }}</label>
<input type="text" class="form-control" name="cep[]" required value="{{$participante->user->endereco->cep}}">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6">
<label for="">{{ __('Rua*') }}</label>
<input type="text" class="form-control" name="rua[]" required value="{{$participante->user->endereco->rua}}">
</div>
<div class="col-sm-3">
<label for="">{{ __('Número*') }}</label>
<input type="text" class="form-control" name="numero[]" required value="{{$participante->user->endereco->numero}}">
</div>
<div class="col-sm-3">
<label for="">{{ __('Bairro*') }}</label>
<input type="text" class="form-control" name="bairro[]" required value="{{$participante->user->endereco->bairro}}">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-4">
<label for="">{{ __('Cidade*') }}</label>
<input type="text" class="form-control " name="cidade[]" required value="{{$participante->user->endereco->cidade}}">
</div>
<div class="col-sm-4">
<label for="">{{ __('Complemento*') }}</label>
<input type="text" class="form-control" name="complemento[]" required value="{{$participante->user->endereco->complemento}}">
</div>
<div class="col-sm-4">
<label for="">{{ __('Estado*') }}</label>
<select name="uf[]" id="" class="form-control" required>
<option value="" disabled selected>-- UF --</option>
<option @if($participante->user->endereco->uf == 'AC') selected @endif value="AC">Acre</option>
<option @if($participante->user->endereco->uf == 'AL') selected @endif value="AL">Alagoas</option>
<option @if($participante->user->endereco->uf == 'AP') selected @endif value="AP">Amapá</option>
<option @if($participante->user->endereco->uf == 'AM') selected @endif value="AM">Amazonas</option>
<option @if($participante->user->endereco->uf == 'BA') selected @endif value="BA">Bahia</option>
<option @if($participante->user->endereco->uf == 'CE') selected @endif value="CE">Ceará</option>
<option @if($participante->user->endereco->uf == 'DF') selected @endif value="DF">Distrito Federal</option>
<option @if($participante->user->endereco->uf == 'ES') selected @endif value="ES">Espírito Santo</option>
<option @if($participante->user->endereco->uf == 'GO') selected @endif value="GO">Goiás</option>
<option @if($participante->user->endereco->uf == 'MA') selected @endif value="MA">Maranhão</option>
<option @if($participante->user->endereco->uf == 'MT') selected @endif value="MT">Mato Grosso</option>
<option @if($participante->user->endereco->uf == 'MS') selected @endif value="MS">Mato Grosso do Sul</option>
<option @if($participante->user->endereco->uf == 'MG') selected @endif value="MG">Minas Gerais</option>
<option @if($participante->user->endereco->uf == 'PA') selected @endif value="PA">Pará</option>
<option @if($participante->user->endereco->uf == 'PB') selected @endif value="PB">Paraíba</option>
<option @if($participante->user->endereco->uf == 'PR') selected @endif value="PR">Paraná</option>
<option @if($participante->user->endereco->uf == 'PE') selected @endif value="PE">Pernambuco</option>
<option @if($participante->user->endereco->uf == 'PI') selected @endif value="PI">Piauí</option>
<option @if($participante->user->endereco->uf == 'RJ') selected @endif value="RJ">Rio de Janeiro</option>
<option @if($participante->user->endereco->uf == 'RN') selected @endif value="RN">Rio Grande do Norte</option>
<option @if($participante->user->endereco->uf == 'RS') selected @endif value="RS">Rio Grande do Sul</option>
<option @if($participante->user->endereco->uf == 'RO') selected @endif value="RO">Rondônia</option>
<option @if($participante->user->endereco->uf == 'RR') selected @endif value="RR">Roraima</option>
<option @if($participante->user->endereco->uf == 'SC') selected @endif value="SC">Santa Catarina</option>
<option @if($participante->user->endereco->uf == 'SP') selected @endif value="SP">São Paulo</option>
<option @if($participante->user->endereco->uf == 'SE') selected @endif value="SE">Sergipe</option>
<option @if($participante->user->endereco->uf == 'TO') selected @endif value="TO">Tocantins</option>
</select> </select>
</div> </div>
</div> </div>
</div>
<div class="form-group">
<div class="row"> <div class="row">
<div class='col-sm-11'> <div class="container">
<h6 class="mb-1">Possui plano de trabalho?</h6> <h6>Dados do curso do participante</h6>
<button class="btn btn-primary mt-2 mb-2 simPlano" id="simPlano">Sim</button>
<button class="btn btn-primary mt-2 mb-2 naoPlano">Não</button>
<input type="hidden" name="semPlano[]" value="">
</div> </div>
<div class="col-sm-1 deletarSemPlano" >
<a class="delete">
<img src="/img/icons/user-times-solid.svg" style="width:25px;margin-top:35px">
</a>
</div> </div>
<div class="row">
<div class="col-sm-6">
<label for="">{{ __('Universidade*') }}</label>
<input type="text" class="form-control" name="universidade[]" required value="{{$participante->user->instituicao}}">
</div> </div>
<div id="planoHabilitado" > <div class="col-sm-6">
@foreach ($arquivos as $arquivo) <label for="">{{ __('Curso*') }}</label>
@if($arquivo->participanteId === $participante->id) <input type="text" class="form-control" name="curso[]" required value="{{$participante->curso}}">
<input type="hidden" class="exibirPlano"> </div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-2">
<label for="">{{ __('Turno*') }}</label>
<select id="" class="form-control" name="turno[]" required>
<option value="" disabled selected>-- TURNO --</option>
@foreach ($enum_turno as $turno)
<option @if($participante->turno == $turno) selected @endif value="{{$turno}}">{{$turno}}</option>
@endforeach
</select>
</div>
<div class="col-sm-3">
<label for="">{{ __('Total de periodos do curso*') }}</label>
<select name="total_periodos[]" id="" class="form-control" onchange="gerarPeriodos(this)" required>
<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>
<option @if($participante->total_periodos == "6") selected @endif value="6">6</option>
<option @if($participante->total_periodos == "7") selected @endif value="7">7</option>
<option @if($participante->total_periodos == "8") selected @endif value="8">8</option>
<option @if($participante->total_periodos == "9") selected @endif value="9">9</option>
<option @if($participante->total_periodos == "10") selected @endif value="10">10</option>
<option @if($participante->total_periodos == "11") selected @endif value="11">11</option>
<option @if($participante->total_periodos == "12") selected @endif value="12">12</option>
</select>
</div>
<div class="col-sm-2">
<label for="">{{ __('Periodo atual*') }}</label>
<select name="periodo_cursado[]" id="" class="form-control" required>
<option value="" disabled selected>-- PERÍODO ATUAL --</option>
@for($i = 1; $i <= $participante->total_periodos; $i++)
<option @if($participante->periodo_atual == $i) selected @endif value="{{$i}}">{{$i}}</option>
@endfor
</select>
</div>
<div class="col-sm-2">
<label for="">{{ __('Ordem de prioridade*') }}</label>
<select name="ordem_prioridade[]" id="" class="form-control" required>
<option value="" disabled selected>-- ORDEM --</option>
<option @if($participante->ordem_prioridade == "1") selected @endif value="1">1º</option>
<option @if($participante->ordem_prioridade == "2") selected @endif value="2">2º</option>
<option @if($participante->ordem_prioridade == "3") selected @endif value="3">3º</option>
<option @if($participante->ordem_prioridade == "4") selected @endif value="4">4º</option>
</select>
</div>
<div class="col-sm-3">
<label for="">{{ __('Média geral do curso*') }}</label>
<input type="number" class="form-control media" min="0" max="10" step="0.01" value="{{$participante->media_do_curso}}" name="media_geral_curso[]" required>
</div>
</div>
</div>
</div>
<h6 class="mb-1">Possui plano de trabalho?</h6>
<button class="btn btn-primary mt-2 mb-2 simPlano">Sim</button>
<button class="btn btn-primary mt-2 mb-2 naoPlano">Não</button>
{{-- {{dd($participantes)}} --}}
<div id="planoHabilitado" style="display:@if($participante->planoTrabalho != null) block; @else none; @endif">
<h5>Dados do plano de trabalho</h5> <h5>Dados do plano de trabalho</h5>
<a href="{{ route('baixar.plano', ['id' => $arquivo->id]) }}">Plano de trabalho atual</a>
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-sm-12">
<div id="planoTrabalho"> <div id="planoTrabalho">
<div class="row"> <div class="row">
<div class="col-sm-4"> <div class="col-sm-4">
<label>Titulo </label> <label>Titulo* </label>
<input type="text" value="{{$arquivo->titulo}}" style="margin-bottom:10px" class="form-control @error('nomePlanoTrabalho') is-invalid @enderror" name="nomePlanoTrabalho[]" placeholder="Nome">
<input type="text" style="margin-bottom:10px" class="form-control @error('nomePlanoTrabalho') is-invalid @enderror" name="nomePlanoTrabalho[]" placeholder="Nome" value="{{$participante->planoTrabalho->titulo}}">
@error('nomePlanoTrabalho') @error('nomePlanoTrabalho')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block"> <span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
...@@ -353,14 +502,14 @@ ...@@ -353,14 +502,14 @@
</div> </div>
{{-- Arquivo --}} {{-- Arquivo --}}
<div class="col-sm-7"> <div class="col-sm-7">
<label for="nomeTrabalho">Anexo</label> <label for="nomeTrabalho">Anexo*</label> <a href="{{ route('baixar.plano', ['id' => $participante->planoTrabalho->id]) }}">plano de trabalho atual</a>
<div class="input-group"> <div class="input-group">
<div class="input-group-prepend"> <div class="input-group-prepend">
<span class="input-group-text" id="anexoPlanoTrabalho">Selecione um arquivo:</span> <span class="input-group-text" id="anexoPlanoTrabalho">Selecione um arquivo:</span>
</div> </div>
<div class="custom-file"> <div class="custom-file">
<input type="file" class="custom-file-input @error('anexoPlanoTrabalho') is-invalid @enderror" id="anexoPlanoTrabalho" aria-describedby="anexoPlanoTrabalho" name="anexoPlanoTrabalho[]"> <input type="file" class="custom-file-input @error('anexoPlanoTrabalho') is-invalid @enderror" id="anexoPlanoTrabalho" aria-describedby="anexoPlanoTrabalho" name="anexoPlanoTrabalho[]">
<label class="custom-file-label" id="custom-file-label" for="inputGroupFile01">O arquivo deve ser no formato PDF de até 2mb.</label> <label class="custom-file-label" id="custom-file-label" for="inputGroupFile01">O arquivo deve ser no formato PDF de até 2MB.</label>
</div> </div>
</div> </div>
@error('anexoPlanoTrabalho') @error('anexoPlanoTrabalho')
...@@ -369,24 +518,18 @@ ...@@ -369,24 +518,18 @@
</span> </span>
@enderror @enderror
</div> </div>
<div class="col-sm-1">
<a class="delete">
<img src="/img/icons/user-times-solid.svg" style="width:25px;margin-top:35px">
</a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endif <button class="btn btn-danger mt-2 mb-2 delete" style='width:100%;margin-top:10px' @if(sizeof($participantes) == 1) disabled @endif>@if(sizeof($participantes) == 1)Limite minimo de participantes @else Remover @endif</button>
@endforeach
</div>
</div> </div>
@endif
@endforeach
@endforeach @endforeach
</div> </div>
<a href="#" class="btn btn-primary" id="addCoautor" style="width:100%;margin-top:10px">Participantes +</a> <button class="btn btn-primary" id="addCoautor" style="width:100%;margin-top:10px">Participantes +</button>
</div> </div>
</div> </div>
...@@ -418,18 +561,38 @@ ...@@ -418,18 +561,38 @@
<script type="text/javascript"> <script type="text/javascript">
$(function() { $(function() {
var qtdLinhas = 1; var qtdLinhas = 1;
var qtdParticipantes = $('#qtdParticipantes').val(); const limiteMaxParticipantes = 3;
const limiteMinParticipantes = 1;
// Coautores // Coautores
$('#addCoautor').click(function(e) { $('#addCoautor').click(function(e) {
if (qtdParticipantes < 100) { var countParticipante = document.getElementById('countParticipante');
if (countParticipante.value < limiteMaxParticipantes) {
e.preventDefault(); e.preventDefault();
linha = montarLinhaInput(); linha = montarLinhaInput();
$('#participantes').append(linha); $('#participantes').append(linha);
qtdParticipantes++ setParticipanteDiv(parseInt(countParticipante.value) + 1);
var btnsDeletar = document.getElementsByClassName("delete");
for(var i = 0; i < btnsDeletar.length; i++) {
btnsDeletar[i].disabled = "";
$(btnsDeletar[i]).text("Remover participantes");
} }
if (countParticipante.value >= limiteMaxParticipantes) {
var btn = document.getElementById('addCoautor');
btn.disabled = "true";
$('#addCoautor').text("Limite de participantes atingido");
}
// aplicarMascaras();
}
}); });
function setParticipanteDiv(qtdParticipante) {
var countParticipante = document.getElementById('countParticipante');
countParticipante.value = qtdParticipante;
}
// $('#addPlanoTrabalho').click(function(e) { // $('#addPlanoTrabalho').click(function(e) {
// e.preventDefault(); // e.preventDefault();
// if (qtdLinhas < 4) { // if (qtdLinhas < 4) {
...@@ -446,9 +609,19 @@ ...@@ -446,9 +609,19 @@
// }); // });
$(document).on('click', '.delete', function() { $(document).on('click', '.delete', function() {
if (qtdParticipantes > 1) { var countParticipante = document.getElementById('countParticipante');
qtdParticipantes--; if (countParticipante.value >= limiteMinParticipantes) {
setParticipanteDiv(parseInt(countParticipante.value) - 1);
$(this).closest('#novoParticipante').remove(); $(this).closest('#novoParticipante').remove();
document.getElementById("addCoautor").disabled = "";
$('#addCoautor').text("Adicionar participante");
if (countParticipante.value == limiteMinParticipantes) {
var btnsDeletar = document.getElementsByClassName("delete");
for(var i = 0; i < btnsDeletar.length; i++) {
btnsDeletar[i].disabled = true;
$(btnsDeletar).text("Limite minimo de participantes");
}
}
return false; return false;
} }
}); });
...@@ -515,93 +688,230 @@ ...@@ -515,93 +688,230 @@
function montarLinhaInput() { function montarLinhaInput() {
return "<div id="+"novoParticipante"+">" + return `<div id="novoParticipante" style="display: block;">
"<div class='row'>"+ <br>
"<div class='col-sm-9'>"+ <h4>Dados do participante</h4>
"<br><h4>Dados do participante</h4>" + <h6>Dados pessoais</h6>
"</div>"+ <input type="hidden" name="participante_id[]" value="0">
"<div class='col-sm-3'>"+ <div class="row">
<div class="col-sm-5">
<label>Nome Completo*</label>
<input type="text" style="margin-bottom:10px" class="form-control @error('nomeParticipante') is-invalid @enderror" name="nomeParticipante[]" placeholder="Nome" value="" required>
</div>
<div class="col-sm-4">
<label>E-mail*</label>
<input type="email" style="margin-bottom:10px" class="form-control @error('emailParticipante') is-invalid @enderror" name="emailParticipante[]" placeholder="email" value="" required>
</div>
<div class="col-sm-3">
<label>Função*:</label>
<select class="form-control @error('funcaoParticipante') is-invalid @enderror" name="funcaoParticipante[]" id="funcaoParticipante" required>
<option value="" disabled selected hidden>-- Função --</option>
@foreach($funcaoParticipantes as $funcaoParticipante)
<option value="{{$funcaoParticipante->id}}">{{$funcaoParticipante->nome}}</option>
@endforeach
</select>
</div>
</div>
<div id="dados_complemento_1">
<div class="form-group">
<div class="row">
<div class="col-sm-4">
<label for="">{{ __('CPF*') }}</label>
<input type="text" class="form-control cpf" name="cpf[]" required>
</div>
<div class="col-sm-4">
<label for="">{{ __('RG*') }}</label>
<input type="text" class="form-control rg" name="rg[]" required>
</div>
<div class="col-sm-4">
<label for="">{{ __('Celular*') }}</label>
<input type="text" class="form-control celular" name="celular[]" required>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-4">
<label for="">{{ __('Data de nascimento*') }}</label>
<input type="date" class="form-control" name="data_de_nascimento[]" required>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="container">
<h6>Endereço do participante</h6>
</div>
</div>
<div class="row">
<div class="col-sm-3">
<label for="">{{ __('CEP*') }}</label>
<input type="text" class="form-control" name="cep[]" required>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6">
<label for="">{{ __('Rua*') }}</label>
<input type="text" class="form-control" name="rua[]" required>
</div>
<div class="col-sm-3">
<label for="">{{ __('Número*') }}</label>
<input type="text" class="form-control" name="numero[]" required>
</div>
<div class="col-sm-3">
<label for="">{{ __('Bairro*') }}</label>
<input type="text" class="form-control" name="bairro[]" required>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-4">
<label for="">{{ __('Cidade*') }}</label>
<input type="text" class="form-control " name="cidade[]" required>
</div>
<div class="col-sm-4">
<label for="">{{ __('Complemento*') }}</label>
<input type="text" class="form-control" name="complemento[]" required>
</div>
<div class="col-sm-4">
<label for="">{{ __('Estado*') }}</label>
<select name="uf[]" id="" class="form-control" required>
<option value="" disabled selected>-- UF --</option>
<option @if(old('uf') == 'AC') selected @endif value="AC">Acre</option>
<option @if(old('uf') == 'AL') selected @endif value="AL">Alagoas</option>
<option @if(old('uf') == 'AP') selected @endif value="AP">Amapá</option>
<option @if(old('uf') == 'AM') selected @endif value="AM">Amazonas</option>
<option @if(old('uf') == 'BA') selected @endif value="BA">Bahia</option>
<option @if(old('uf') == 'CE') selected @endif value="CE">Ceará</option>
<option @if(old('uf') == 'DF') selected @endif value="DF">Distrito Federal</option>
<option @if(old('uf') == 'ES') selected @endif value="ES">Espírito Santo</option>
<option @if(old('uf') == 'GO') selected @endif value="GO">Goiás</option>
<option @if(old('uf') == 'MA') selected @endif value="MA">Maranhão</option>
<option @if(old('uf') == 'MT') selected @endif value="MT">Mato Grosso</option>
<option @if(old('uf') == 'MS') selected @endif value="MS">Mato Grosso do Sul</option>
<option @if(old('uf') == 'MG') selected @endif value="MG">Minas Gerais</option>
<option @if(old('uf') == 'PA') selected @endif value="PA">Pará</option>
<option @if(old('uf') == 'PB') selected @endif value="PB">Paraíba</option>
<option @if(old('uf') == 'PR') selected @endif value="PR">Paraná</option>
<option @if(old('uf') == 'PE') selected @endif value="PE">Pernambuco</option>
<option @if(old('uf') == 'PI') selected @endif value="PI">Piauí</option>
<option @if(old('uf') == 'RJ') selected @endif value="RJ">Rio de Janeiro</option>
<option @if(old('uf') == 'RN') selected @endif value="RN">Rio Grande do Norte</option>
<option @if(old('uf') == 'RS') selected @endif value="RS">Rio Grande do Sul</option>
<option @if(old('uf') == 'RO') selected @endif value="RO">Rondônia</option>
<option @if(old('uf') == 'RR') selected @endif value="RR">Roraima</option>
<option @if(old('uf') == 'SC') selected @endif value="SC">Santa Catarina</option>
<option @if(old('uf') == 'SP') selected @endif value="SP">São Paulo</option>
<option @if(old('uf') == 'SE') selected @endif value="SE">Sergipe</option>
<option @if(old('uf') == 'TO') selected @endif value="TO">Tocantins</option>
</select>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="container">
<h6>Dados do curso do participante</h6>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<label for="">{{ __('Universidade*') }}</label>
<input type="text" class="form-control" name="universidade[]" required>
</div>
<div class="col-sm-6">
<label for="">{{ __('Curso*') }}</label>
<input type="text" class="form-control" name="curso[]" required>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-2">
<label for="">{{ __('Turno*') }}</label>
<select id="" class="form-control" name="turno[]" required>
<option value="" disabled selected>-- TURNO --</option>
@foreach ($enum_turno as $turno)
<option value="{{$turno}}">{{$turno}}</option>
@endforeach
</select>
</div>
<div class="col-sm-3">
<label for="">{{ __('Total de periodos do curso*') }}</label>
<select name="total_periodos[]" id="" class="form-control" onchange="gerarPeriodos(this)" required>
<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</div>
<div class="col-sm-2">
<label for="">{{ __('Periodo atual*') }}</label>
<select name="periodo_cursado[]" id="" class="form-control" required>
<option value="" disabled selected>-- PERÍODO ATUAL --</option>
</select>
</div>
<div class="col-sm-2">
<label for="">{{ __('Ordem de prioridade*') }}</label>
<select name="ordem_prioridade[]" id="" class="form-control" required>
<option value="" disabled selected>-- ORDEM --</option>
<option value="1">1º</option>
<option value="2">2º</option>
<option value="3">3º</option>
<option value="4">4º</option>
</select>
</div>
<div class="col-sm-3">
<label for="">{{ __('Média geral do curso*') }}</label>
<input type="number" class="form-control media" min="0" max="10" step="0.01" value="00.00" name="media_geral_curso[]" required>
</div>
</div>
</div>
</div>
"</div>"+ <h6 class="mb-1">Possui plano de trabalho?</h6>
"</div>"+ <button class="btn btn-primary mt-2 mb-2 simPlano">Sim</button>
"<div class="+"row"+">"+ <button class="btn btn-primary mt-2 mb-2 naoPlano">Não</button>
"<div class="+"col-sm-5"+">"+
"<label>Nome Completo*</label>"+
"<input"+" type="+'text'+" style="+"margin-bottom:10px"+" class="+'form-control' + " @error('nomeParticipante') is-invalid @enderror" + "name=" +'nomeParticipante[]'+" placeholder="+"Nome"+">"+
"@error('nomeParticipante')" +
"<span class='invalid-feedback'" + "role='alert'" + "style='overflow: visible; display:block'>" +
"<strong>{{ $message }}</strong>" +
"</span>" +
"@enderror" +
"</div>"+
"<div class="+"col-sm-4"+">"+
"<label>E-mail*</label>"+
"<input type='email'" + "style='margin-bottom:10px'" + "class=" + "form-control @error('emailParticipante') is-invalid @enderror" + "name='emailParticipante[]'" + "placeholder='email' >" +
"@error('emailParticipante')" +
"<span class='invalid-feedback'" + "role='alert'" + "style='overflow: visible; display:block'>" +
"<strong>{{ $message }}</strong>" +
"</span>" +
"@enderror" +
"</div>"+
"<div class='col-sm-3'>"+
"<label>Função*:</label>"+
"<select class=" + "form-control @error('funcaoParticipante') is-invalid @enderror" + "name='funcaoParticipante[]'" + "id='funcaoParticipante'> " +
"<option value='' disabled selected hidden> Função </option>"+
"@foreach($funcaoParticipantes as $funcaoParticipante)"+
"<option value='{{$funcaoParticipante->id}}'>{{$funcaoParticipante->nome}}</option>"+
"@endforeach"+
"@error('funcaoParticipante')" +
"<span class='invalid-feedback'" + "role='alert'" + "style='overflow: visible; display:block'>" +
"<strong>{{ $message }}</strong>" +
"</span>" +
"@enderror" +
"</select>"+
"</div>"+
"</div>" +
"<h6 class='mb-1'>Possui plano de trabalho?</h6>"+
"<button class="+"'btn btn-primary mt-2 mb-2 mr-1 simPlano'"+">Sim</button>"+
"<button class="+"'btn btn-primary mt-2 mb-2 mr-1 naoPlano'"+">Não</button>"+
"<div id="+"planoHabilitado"+" style="+"'display:none;'"+">" +
"<h5>Dados do plano de trabalho</h5>" +
"<div class="+"row"+">"+
"<div class="+"col-sm-4"+">"+
"<label>Titulo*</label>"+
"<input"+" type="+'text'+" style="+"margin-bottom:10px"+" class="+"form-control @error('nomePlanoTrabalho') is-invalid @enderror"+" name="+'nomePlanoTrabalho[]'+" placeholder="+"Nome"+">"+
"@error('nomePlanoTrabalho')" +
"<span class='invalid-feedback'" + "role='alert'" + "style='overflow: visible; display:block'>" +
"<strong>{{ $message }}</strong>" +
"</span>" +
"@enderror" +
"</div>"+
"<div class="+"col-sm-7" +">"+
"<label for="+"nomeTrabalho"+">Anexo* </label>"+
"<div class="+"input-group"+">"+ <div id="planoHabilitado" style="display:none;">
"<div class='input-group-prepend'>"+ <h5>Dados do plano de trabalho</h5>
"<span class='input-group-text' id='anexoPlanoTrabalho'>Selecione um arquivo:</span>"+ <div class="row">
"</div>"+ <div class="col-sm-12">
"<div class='custom-file'>"+ <div id="planoTrabalho">
"<input type='file' class='custom-file-input @error('anexoPlanoTrabalho') is-invalid @enderror" + "id='anexoPlanoTrabalho'"+ <div class="row">
" aria-describedby='anexoPlanoTrabalho' name='anexoPlanoTrabalho[]'>"+ <div class="col-sm-4">
"<label class='custom-file-label' id='custom-file-label' for='inputGroupFile01'>O arquivo deve ser no formato PDF de até 2mb.</label>"+ <label>Titulo* </label>
"</div>"+ <input type="text" style="margin-bottom:10px" class="form-control" name="nomePlanoTrabalho[]" placeholder="Nome" value="">
"</div>"+ </div>
"@error('anexoPlanoTrabalho')"+ {{-- Arquivo --}}
"<span class='invalid-feedback' role='alert' style='overflow: visible; display:block'>"+ <div class="col-sm-7">
"<strong>{{ $message }}</strong>"+ <label for="nomeTrabalho">Anexo*</label>
"</span>"+ <div class="input-group">
"@enderror"+ <div class="input-group-prepend">
"</div>"+ <span class="input-group-text" id="anexoPlanoTrabalho">Selecione um arquivo:</span>
"<div class="+"col-sm-1"+">"+ </div>
"<a class="+"delete"+">"+ <div class="custom-file">
"<img src="+"{{ asset('/img/icons/user-times-solid.svg') }}"+" style="+"width:25px;margin-top:35px"+">"+ <input type="file" class="custom-file-input" id="anexoPlanoTrabalho" aria-describedby="anexoPlanoTrabalho" name="anexoPlanoTrabalho[]">
"</a>"+ <label class="custom-file-label" id="custom-file-label" for="inputGroupFile01">O arquivo deve ser no formato PDF de até 2MB.</label>
"</div>"+ </div>
"</div>"+ </div>
"</div>"+ </div>
</div>
</div>
</div>
</div>
"<a href='#' class="+"'btn btn-danger mt-2 mb-2 delete'"+" style='width:100%;margin-top:10px'"+">Remover participante</a>"+ </div>
"</div>"; <button class="btn btn-danger mt-2 mb-2 delete" style='width:100%;margin-top:10px' disabled>Limite minimo de participantes</button>
</div>`;
} }
// function montarLinhaInputPlanoTrabalho(){ // function montarLinhaInputPlanoTrabalho(){
...@@ -747,5 +1057,35 @@ ...@@ -747,5 +1057,35 @@
}) })
} }
$(document).ready(aplicarMascaras());
function aplicarMascaras() {
$('.cpf').mask('000.000.000-00');
var SPMaskBehavior = function(val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
},
spOptions = {
onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options);
}
};
$('.celular').mask(SPMaskBehavior, spOptions);
$('.rg').mask('99.999.999-9');
$('.media').mask('00.00');
}
function gerarPeriodos(select) {
var div = select.parentElement.parentElement;
var selectPeriodos = div.children[2].children[1];
var html = `<option value="" disabled selected>-- TOTAL DE PERIODOS --</option>`;
for(var i = 0; i < parseInt(select.value); i++) {
html += `<option value="${i+1}">${i+1}º</option>`;
}
$(selectPeriodos).html('');
$(selectPeriodos).append(html);
}
</script> </script>
@endsection @endsection
...@@ -3,14 +3,15 @@ ...@@ -3,14 +3,15 @@
@section('content') @section('content')
<div class="container" style="margin-top: 100px;"> <div class="container" style="margin-top: 100px;">
@if(isset($mensagem)) {{-- @if(isset($mensagem))
<div class="col-sm-12"> <div class="col-sm-12">
<br> <br>
<div class="alert alert-success"> <div class="alert alert-success">
<p>{{ $mensagem }}</p> <p>{{ $mensagem }}</p>
</div> </div>
</div> </div>
@endif @endif --}}
<div class="container" > <div class="container" >
<div class="row" > <div class="row" >
<div class="col-sm-1"> <div class="col-sm-1">
...@@ -39,7 +40,19 @@ ...@@ -39,7 +40,19 @@
</div> </div>
</div> </div>
</div> </div>
@if(session('mensagem'))
<div class="row">
<div class="col-sm-12">
<br>
<div class="alert alert-success">
<p>{{session('mensagem')}}</p>
</div>
</div>
</div>
@endif
<hr> <hr>
<div class="row">
<div class="col-md-12">
<table class="table table-bordered"> <table class="table table-bordered">
<thead> <thead>
<tr> <tr>
...@@ -124,6 +137,8 @@ ...@@ -124,6 +137,8 @@
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
</div>
</div>
</div> </div>
@endsection @endsection
......
...@@ -102,7 +102,7 @@ Route::prefix('avaliador')->name('avaliador.')->group(function(){ ...@@ -102,7 +102,7 @@ Route::prefix('avaliador')->name('avaliador.')->group(function(){
Route::get( '/edital/{id}/projetos', 'TrabalhoController@projetosDoEdital' )->name('projetos.edital'); Route::get( '/edital/{id}/projetos', 'TrabalhoController@projetosDoEdital' )->name('projetos.edital');
Route::get( '/projeto/{id}/visualizar', 'TrabalhoController@show' )->name('trabalho.show'); Route::get( '/projeto/{id}/visualizar', '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/{id}/atualizar', 'TrabalhoController@update' )->name('trabalho.update'); Route::post( '/projeto/{id}/atualizar', 'TrabalhoController@atualizar' )->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');
......
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