Commit e32e7701 authored by KelwinJonas's avatar KelwinJonas
Browse files

Merge branch 'master' of https://github.com/lmts-ufape/submeta

parents 4bab285e c57f3a05
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class DocumentacaoComplementar extends Model
{
protected $fillable = [
'termoCompromisso',
'comprovanteMatricula',
'linkLattes',
'pdfLattes',
'participante_id',
];
public function participante(){
return $this->belongsTo(Participante::class, 'participante_id', 'id');
}
}
......@@ -16,7 +16,8 @@ class Evento extends Model
'inicioSubmissao', 'fimSubmissao', 'inicioRevisao', 'fimRevisao',
'resultado_final','resultado_preliminar', 'coordenadorId',
'numMaxTrabalhos', 'numMaxCoautores', 'hasResumo', 'criador_id', 'numParticipantes',
'dt_inicioRelatorioParcial', 'dt_fimRelatorioParcial', 'dt_inicioRelatorioFinal', 'dt_fimRelatorioFinal'
'dt_inicioRelatorioParcial', 'dt_fimRelatorioParcial', 'dt_inicioRelatorioFinal', 'dt_fimRelatorioFinal',
'formAvaliacaoExterno', 'formAvaliacaoInterno'
];
public function endereco(){
......
......@@ -17,9 +17,10 @@ class DocumentacaoComplementarController extends Controller
$docComp = DocumentacaoComplementar::find($request->docId);
}else{
$docComp = new DocumentacaoComplementar;
$docComp->save();
}
$pasta = 'docComplementar/' . Auth::user()->id;
$pasta = 'docComplementar/' . $docComp->id;
$docComp->termoCompromisso = Storage::putFileAs($pasta, $request->termoCompromisso, "Termo De Compromisso.pdf");
$docComp->comprovanteMatricula = Storage::putFileAs($pasta, $request->comprovanteMatricula, "Comprovante De Matricula.pdf");
......@@ -27,11 +28,9 @@ class DocumentacaoComplementarController extends Controller
$docComp->termoCompromisso = Storage::putFileAs($pasta, $request->termoCompromisso, "TermoDeCompromisso.pdf");
$docComp->participante_id = $request->partcipanteId;
$docComp->linkLattes = $request->linkLattes;
if($request->docId != null){
$docComp->update();
}else{
$docComp->save();
}
return redirect()->back()->with(['sucesso' => "Documentação complementar enviada com sucesso"]);
......
......@@ -126,6 +126,10 @@ class EventoController extends Controller
'dt_fimRelatorioParcial' => ['required', 'date'],
'dt_inicioRelatorioFinal' => ['required', 'date'],
'dt_fimRelatorioFinal' => ['required', 'date'],
'pdfFormAvalExterno' => [($request->pdfFormAvalExternoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'pdfFormAvalInterno' => [($request->pdfFormAvalInternoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'] ,
'pdfFormAvalInterno' => ['required', 'file'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => [],
]);
......@@ -154,6 +158,8 @@ class EventoController extends Controller
'dt_fimRelatorioParcial' => ['required', 'date', 'after_or_equal:dt_inicioRelatorioParcial'],
'dt_inicioRelatorioFinal' => ['required', 'date', 'after:dt_fimRelatorioParcial'],
'dt_fimRelatorioFinal' => ['required', 'date', 'after_or_equal:dt_inicioRelatorioFinal'],
'pdfFormAvalExterno' => [($request->pdfFormAvalExternoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'pdfFormAvalInterno' => [($request->pdfFormAvalInternoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
]);
......@@ -214,6 +220,26 @@ class EventoController extends Controller
$evento->modeloDocumento = $path . $nome;
}
if(isset($request->pdfFormAvalInterno)){
$pdfFormAvalInterno = $request->pdfFormAvalInterno;
$extension = $pdfFormAvalInterno->extension();
$path = 'pdfFormAvalInterno/' . $evento->id . '/';
$nome = "formulario de avaliação interno" . "." . $extension;
Storage::putFileAs($path, $pdfFormAvalInterno, $nome);
$evento->formAvaliacaoInterno = $path . $nome;
}
if(isset($request->pdfFormAvalExterno)){
$pdfFormAvalExterno = $request->pdfFormAvalExterno;
$extension = $pdfFormAvalExterno->extension();
$path = 'pdfFormAvalExterno/' . $evento->id . '/';
$nome = "formulario de avaliação externo" . "." . $extension;
Storage::putFileAs($path, $pdfFormAvalExterno, $nome);
$evento->formAvaliacaoExterno = $path . $nome;
}
$evento->update();
// $user = Auth::user();
......@@ -247,6 +273,14 @@ class EventoController extends Controller
$nome = "modelo" . "." . $extension;
$eventoTemp->modeloDocumento = Storage::putFileAs($path, $request->modeloDocumento, $nome);
}
if(!(is_null($request->pdfFormAvalExterno)) ) {
$pasta = 'pdfFormAvalExterno/' . $eventoTemp->id;
$eventoTemp->formAvaliacaoExterno = Storage::putFileAs($pasta, $request->pdfFormAvalExterno, 'formulario de avaliação externo.pdf');
}
if(!(is_null($request->pdfFormAvalInterno)) ) {
$pasta = 'pdfFormAvalInterno/' . $eventoTemp->id;
$eventoTemp->formAvaliacaoInterno = Storage::putFileAs($pasta, $request->pdfFormAvalInterno, 'formulario de avaliação interno.pdf');
}
$eventoTemp->update();
......@@ -378,6 +412,8 @@ class EventoController extends Controller
'dt_fimRelatorioFinal' => ['required', 'date'],
'pdfEdital' => ['file', 'mimes:pdf', 'max:2048'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
'pdfFormAvalExterno' => ['file', 'mimes:pdf', 'max:2048'],
'pdfFormAvalInterno' => ['file', 'mimes:pdf', 'max:2048'],
]);
}
......@@ -400,6 +436,8 @@ class EventoController extends Controller
'dt_inicioRelatorioFinal' => ['required', 'date', 'after:dt_fimRelatorioParcial'],
'dt_fimRelatorioFinal' => ['required', 'date', 'after_or_equal:dt_inicioRelatorioFinal'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
'pdfFormAvalExterno' => ['file', 'mimes:pdf', 'max:2048'],
'pdfFormAvalInterno' => ['file', 'mimes:pdf', 'max:2048'],
]);
$evento->nome = $request->nome;
......@@ -437,6 +475,26 @@ class EventoController extends Controller
$evento->modeloDocumento = $path . $nome;
}
if(isset($request->pdfFormAvalInterno)){
$pdfFormAvalInterno = $request->pdfFormAvalInterno;
$extension = $pdfFormAvalInterno->extension();
$path = 'pdfFormAvalInterno/' . $evento->id . '/';
$nome = "formulario de avaliação interno" . "." . $extension;
Storage::putFileAs($path, $pdfFormAvalInterno, $nome);
$evento->formAvaliacaoInterno = $path . $nome;
}
if(isset($request->pdfFormAvalExterno)){
$pdfFormAvalExterno = $request->pdfFormAvalExterno;
$extension = $pdfFormAvalExterno->extension();
$path = 'pdfFormAvalExterno/' . $evento->id . '/';
$nome = "formulario de avaliação externo" . "." . $extension;
Storage::putFileAs($path, $pdfFormAvalExterno, $nome);
$evento->formAvaliacaoExterno = $path . $nome;
}
$evento->update();
$eventos = Evento::orderBy('nome')->get();
......
......@@ -117,4 +117,16 @@ class ParticipanteController extends Controller
$participante->save();
return redirect()->back()->with(['mensagem' => 'Alteração da bolsa realizada com sucesso!']);
}
public function atualizarDocComplementar(Request $request){
$participante = Participante::find($request->partcipanteId);
$pasta = 'participantes/' . $participante->id;
$participante->anexoTermoCompromisso = Storage::putFileAs($pasta, $request->termoCompromisso, "Termo_de_Compromisso.pdf");
$participante->anexoComprovanteMatricula = Storage::putFileAs($pasta, $request->comprovanteMatricula, "Comprovante_de_Matricula.pdf");
$participante->anexoLattes = Storage::putFileAs($pasta, $request->pdfLattes, "Curriculo_Lattes.pdf");
$participante->linkLattes = $request->linkLattes;
$participante->update();
return redirect()->back()->with(['sucesso'=>"Documentação complementar enviada com sucesso"]);
}
}
......@@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateDocumentacaoComplementarsTable extends Migration
class AlterTableEventos3 extends Migration
{
/**
* Run the migrations.
......@@ -13,17 +13,9 @@ class CreateDocumentacaoComplementarsTable extends Migration
*/
public function up()
{
Schema::create('documentacao_complementars', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('termoCompromisso');
$table->string('comprovanteMatricula');
$table->string('pdfLattes');
$table->string('linkLattes');
$table->integer('participante_id')->nullable();
$table->foreign('participante_id')->references('id')->on('participantes');
$table->timestamps();
Schema::table('eventos', function (Blueprint $table) {
$table->string('formAvaliacaoExterno')->nullable();
$table->string('formAvaliacaoInterno')->nullable();
});
}
......@@ -34,6 +26,9 @@ class CreateDocumentacaoComplementarsTable extends Migration
*/
public function down()
{
Schema::dropIfExists('documentacao_complementars');
Schema::table('eventos', function (Blueprint $table) {
$table->dropColumn('formAvaliacaoExterno');
$table->dropColumn('formAvaliacaoInterno');
});
}
}
......@@ -34,7 +34,9 @@
<td style="text-align: center;" title="{{$participante->user->name}}">{{$participante->user->name}}</td>
<td style="text-align: center;">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modalConfirm{{$participante->id}}" @if($trabalho->status!="aprovado")disabled="disabled" @endif>
@if($participante->documentacaoComplementar==null)
@if($participante->anexoComprovanteMatricula==null || $participante->anexoTermoCompromisso==null
|| $participante->anexoLattes==null || $participante->linkLattes==null )
Pendente
@else
Visualizar
......@@ -43,7 +45,7 @@
</td>
</tbody>
<div class="modal fade" id="modalConfirm{{$participante->id}}" tabindex="-1" role="dialog"
<div class="modal fade" id="modalConfirm{{$participante->id}}" tabindex="-1" role="odialg"
aria-labelledby="modalConfirmLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
......@@ -57,7 +59,11 @@
<input type="hidden" value="{{$participante->id}}" name="partcipanteId">
<div class="row col-md-12">
<div class="col-md-6">
<label class="control-label ">Termo de Compromisso</label>
<label class="control-label ">Termo de Compromisso @if($participante->anexoTermoCompromisso) :
<a id="modeloDocumentoTemp" href="{{ route('baixar.documentosParticipante', ['pathDocumento' => $participante->anexoTermoCompromisso]) }}">Arquivo atual</a>
@endif
</label>
<br>
<input type="file" class="input-group-text" value="" name="termoCompromisso" accept=".pdf" id="termoCompromisso{{$participante->id}}" required
/>
......@@ -69,7 +75,11 @@
<br>
</div>
<div class="col-md-6">
<label class="control-label ">Comprovante de Matricula</label>
<label class="control-label ">Comprovante de Matricula @if($participante->anexoComprovanteMatricula) :
<a id="modeloDocumentoTemp" href="{{ route('baixar.documentosParticipante', ['pathDocumento' => $participante->anexoComprovanteMatricula]) }}">Arquivo atual</a>
@endif
</label>
<br>
<input type="file" class="input-group-text" value="" name="comprovanteMatricula" accept=".pdf" id="comprovanteMatricula{{$participante->id}}" required/>
@error('comprovanteMatricula')
......@@ -81,7 +91,10 @@
</div>
<div class="col-md-6">
<label class="control-label ">PDF Lattes</label>
<label class="control-label ">PDF Lattes @if($participante->anexoLattes) :
<a id="modeloDocumentoTemp" href="{{ route('baixar.documentosParticipante', ['pathDocumento' => $participante->anexoLattes]) }}">Arquivo atual</a>
@endif
</label>
<br>
<input type="file" class="input-group-text" value="" name="pdfLattes" accept=".pdf" id="pdfLattes{{$participante->id}}"
required/>
......@@ -92,10 +105,10 @@
@enderror
</div>
<div class="col-md-6">
<label class="control-label ">Link Lattes</label>
<label class="control-label ">Link Lattes </label>
<br>
<input type="text" class="input-group-text col-md-12" name="linkLattes" placeholder="Link Lattes" id="linkLattes{{$participante->id}}"
required/>
required @if($participante->linkLattes) value="{{$participante->linkLattes}}" @endif/>
@error('linkLattes')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
......
......@@ -319,6 +319,39 @@
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfFormAvalExterno">Formulário de avaliação externo:</label>
@if(old('pdfFormAvalExternoPreenchido') != null)
<a id="pdfFormAvalExternoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'formAvaliacaoExterno' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfFormAvalExternoPreenchido" name="pdfFormAvalExternoPreenchido" value="{{ old('pdfFormAvalExternoPreenchido') }}" >
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfFormAvalExterno') is-invalid @enderror" name="pdfFormAvalExterno" value="{{ old('pdfFormAvalExterno') }}" id="pdfFormAvalExterno" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalExterno')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfFormAvalExterno">Formulário de avaliação interno:</label>
@if(old('pdfFormAvalInternoPreenchido') != null)
<a id="pdfFormAvalExternoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'formAvaliacaoInterno' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfFormAvalInternoPreenchido" name="pdfFormAvalInternoPreenchido" value="{{ old('pdfFormAvalInternoPreenchido') }}" >
<input type="file" accept=".pdf" class="form-control-file pdf @error('pdfFormAvalInterno') is-invalid @enderror" name="pdfFormAvalInterno" value="{{ old('pdfFormAvalInterno') }}" id="pdfFormAvalInterno" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalInterno')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
<div class="row justify-content-center" style="margin: 20px 0 20px 0">
......@@ -349,6 +382,14 @@
var modeloDocumentoPreenchido = document.getElementById('modeloDocumentoPreenchido');
modeloDocumentoPreenchido.value = "sim";
}
if(file.id === "pdfFormAvalExterno"){
var pdfFormAvalExternoPreenchido = document.getElementById('pdfFormAvalExternoPreenchido');
pdfFormAvalExternoPreenchido.value = "sim";
}
if(file.id === "pdfFormAvalInterno"){
var pdfFormAvalInternoPreenchido = document.getElementById('pdfFormAvalInternoPreenchido');
pdfFormAvalInternoPreenchido.value = "sim";
}
}
$("input[type='file']").on("change", function () {
......
......@@ -311,6 +311,38 @@
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Formulário de avaliação externo:</label>
<a href="{{route('download', ['file' => $evento->formAvaliacaoExterno])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
<input type="file" class="form-control-file @error('pdfFormAvalExterno') is-invalid @enderror" name="pdfFormAvalExterno" value="{{ old('pdfFormAvalExterno') }}" id="pdfFormAvalExterno">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalExterno')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Formulário de avaliação interno:</label>
<a href="{{route('download', ['file' => $evento->formAvaliacaoInterno])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
<input type="file" class="form-control-file @error('pdfFormAvalInterno') is-invalid @enderror" name="pdfFormAvalInterno" value="{{ old('pdfFormAvalInterno') }}" id="pdfFormAvalInterno">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfFormAvalInterno')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
......
......@@ -154,7 +154,7 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
//########## Documentação Complementar
Route::get( '/documentacaoComplementar', 'ParticipanteController@listarParticipanteProjeto' )->name('docComplementar.listar');
Route::post( '/documentacaoComplementar/enviar', 'DocumentacaoComplementarController@criar')->name('docComplementar.enviar');
Route::post( '/documentacaoComplementar/enviar', 'ParticipanteController@atualizarDocComplementar')->name('docComplementar.enviar');
//######### 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