Commit 7593dd0f authored by alinetenorio's avatar alinetenorio
Browse files

salvando anexos do evento temporariamente

parent 4fda321d
......@@ -80,8 +80,11 @@ class EventoController extends Controller
$user_id = Auth()->user()->id;
//dd($user_id);
// validar datas nulas antes, pois pode gerar um bug
//--Salvando os anexos da submissão temporariamente
$evento = $this->armazenarAnexosTemp($request);
// validar datas nulas antes, pois pode gerar um bug
if(
$request->inicioSubmissao == null ||
$request->fimSubmissao == null ||
......@@ -95,12 +98,14 @@ class EventoController extends Controller
'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'descricao' => ['required'],
'coordenador_id' => ['required'],
'inicioSubmissao' => ['required', 'date'],
'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date'],
'fimRevisao' => ['required', 'date'],
'resultado' => ['required', 'date'],
'pdfEdital' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'],
]);
}
......@@ -112,28 +117,31 @@ class EventoController extends Controller
'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'descricao' => ['required'],
'coordenador_id' => ['required'],
'inicioSubmissao' => ['required', 'date', 'after:' . $yesterday],
'fimSubmissao' => ['required', 'date', 'after:' . $request->inicioSubmissao],
'inicioRevisao' => ['required', 'date', 'after:' . $yesterday],
'fimRevisao' => ['required', 'date', 'after:' . $request->inicioRevisao],
'resultado' => ['required', 'date', 'after:' . $yesterday],
'pdfEdital' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'],
]);
$evento = Evento::create([
'nome' => $request->nome,
'descricao' => $request->descricao,
'tipo' => $request->tipo,
'natureza_id' => $request->natureza,
'inicioSubmissao' => $request->inicioSubmissao,
'fimSubmissao' => $request->fimSubmissao,
'inicioRevisao' => $request->inicioRevisao,
'fimRevisao' => $request->fimRevisao,
'resultado' => $request->resultado,
'coordenadorId' => $request->coordenador_id,
'criador_id' => $user_id,
]);
//$evento = Evento::create([
$evento['nome'] = $request->nome;
$evento['descricao'] = $request->descricao;
$evento['tipo'] = $request->tipo;
$evento['natureza_id'] = $request->natureza;
$evento['inicioSubmissao'] = $request->inicioSubmissao;
$evento['fimSubmissao'] = $request->fimSubmissao;
$evento['inicioRevisao'] = $request->inicioRevisao;
$evento['fimRevisao'] = $request->fimRevisao;
$evento['resultado'] = $request->resultado;
$evento['coordenadorId'] = $request->coordenador_id;
$evento['criador_id'] = $user_id;
$evento['anexosStatus'] = 'final';
//dd($evento);
// $user = User::find($request->coordenador_id);
// $user->coordenadorComissao()->editais()->save($evento);
......@@ -147,11 +155,15 @@ class EventoController extends Controller
//$evento->coordenadorId = Auth::user()->id;
//-- Salvando anexos finais
if(isset($request->pdfEdital)){
$pdfEdital = $request->pdfEdital;
$path = 'pdfEdital/' . $evento->id . '/';
$nome = "edital.pdf";
Storage::putFileAs($path, $pdfEdital, $nome);
$evento->pdfEdital = $path . $nome;
}
if(isset($request->modeloDocumento)){
$modeloDocumento = $request->modeloDocumento;
......@@ -163,8 +175,6 @@ class EventoController extends Controller
$evento->modeloDocumento = $path . $nome;
}
$evento->save();
// $user = Auth::user();
......@@ -175,6 +185,35 @@ class EventoController extends Controller
return redirect()->route('coord.home');
}
public function armazenarAnexosTemp(Request $request){
//---Anexos do Projeto
$eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario')
->orderByDesc('updated_at')->first();
if($eventoTemp == null){
$eventoTemp = new Evento();
$eventoTemp->criador_id = Auth::user()->id;
$eventoTemp->anexosStatus = 'temporario';
$eventoTemp->save();
}
if(!(is_null($request->pdfEdital)) ) {
$pasta = 'pdfEdital/' . $eventoTemp->id;
$eventoTemp->pdfEdital = Storage::putFileAs($pasta, $request->pdfEdital, 'edital.pdf');
}
if (!(is_null($request->modeloDocumento))) {
$extension = $request->modeloDocumento->extension();
$path = 'modeloDocumento/' . $eventoTemp->id;
$nome = "modelo" . "." . $extension;
$eventoTemp->modeloDocumento = Storage::putFileAs($path, $request->modeloDocumento, $nome);
}
$eventoTemp->update();
return $eventoTemp;
}
/**
* Display the specified resource.
*
......
......@@ -859,11 +859,17 @@ class TrabalhoController extends Controller
}
public function baixarAnexoTemp($eventoId, $nomeAnexo) {
$proponenteId = Auth::user()->id;
$anexosTemp = AnexosTemp::where('eventoId', $eventoId)->where('proponenteId', $proponenteId)
$anexosTemp = AnexosTemp::where('eventoId', $eventoId)->where('proponenteId', Auth::user()->id)
->orderByDesc('updated_at')->first();
return Storage::download($anexosTemp->$nomeAnexo);
}
public function baixarEventoTemp($nomeAnexo){
$eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario')
->orderByDesc('updated_at')->first();
return Storage::download($eventoTemp->$nomeAnexo);
}
}
......@@ -32,6 +32,7 @@ class CreateEventosTable extends Migration
$table->integer('coordenadorId')->nullable();
$table->string('pdfEdital')->nullable();
$table->string('modeloDocumento')->nullable();
$table->string('anexosStatus')->nullable();
});
}
......
......@@ -74,12 +74,17 @@
<div class="row justify-content-center">
<div class="col-sm-12">
<label for="coordenador_id" class="col-form-label">{{ __('Coordenador*:') }}</label>
<select class="form-control @error('funcaoParticipante') is-invalid @enderror" id="coordenador_id" name="coordenador_id">
<select class="form-control @error('coordenador_id') is-invalid @enderror" id="coordenador_id" name="coordenador_id">
<option value="" disabled selected hidden>-- Coordenador da Comissão Avaliadora --</option>
@foreach($coordenadors as $coordenador)
<option @if(old('coordenador_id')==$coordenador->id ) selected @endif value="{{$coordenador->id}}">{{$coordenador->user->name}}</option>
@endforeach
</select>
@error('coordenador_id')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<hr>
......@@ -160,7 +165,11 @@
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Anexar edital*:</label>
<input type="file" class="form-control-file @error('pdfEdital') is-invalid @enderror" name="pdfEdital" value="{{ old('pdfEdital') }}" id="pdfEdital">
@if(old('pdfEditalPreenchido') != null)
<a id="pdfEditalTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'pdfEdital' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="pdfEditalPreenchido" name="pdfEditalPreenchido" value="{{ old('pdfEditalPreenchido') }}" >
<input type="file" class="form-control-file @error('pdfEdital') is-invalid @enderror" name="pdfEdital" value="{{ old('pdfEdital') }}" id="pdfEdital" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfEdital')
<span class="invalid-feedback" role="alert">
......@@ -173,7 +182,11 @@
<div class="col-sm-6">
<div class="form-group">
<label for="modeloDocumento">Anexar arquivo com os modelos de documentos do edital:</label>
<input type="file" class="form-control-file @error('modeloDocumento') is-invalid @enderror" name="modeloDocumento" value="{{ old('modeloDocumento') }}" id="modeloDocumento">
@if(old('modeloDocumentoPreenchido') != null)
<a id="modeloDocumentoTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'modeloDocumento' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="modeloDocumentoPreenchido" name="modeloDocumentoPreenchido" value="{{ old('modeloDocumentoPreenchido') }}" >
<input type="file" class="form-control-file @error('modeloDocumento') is-invalid @enderror" name="modeloDocumento" value="{{ old('modeloDocumento') }}" id="modeloDocumento" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('modeloDocumento')
<span class="invalid-feedback" role="alert">
......@@ -199,3 +212,19 @@
</div>
@endsection
@section('javascript')
<script type="text/javascript">
function exibirAnexoTemp(file){
console.log(file.id);
if(file.id === "pdfEdital"){
var pdfEditalPreenchido = document.getElementById('pdfEditalPreenchido');
pdfEditalPreenchido.value = "sim";
}
if(file.id === "modeloDocumento"){
var modeloDocumentoPreenchido = document.getElementById('modeloDocumentoPreenchido');
modeloDocumentoPreenchido.value = "sim";
}
}
</script>
@endsection
\ No newline at end of file
......@@ -123,6 +123,7 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
Route::get('/baixar/anexo-planilha/{id}','TrabalhoController@baixarAnexoPlanilha' )->name('baixar.anexo.planilha');
Route::get('/baixar/plano-de-trabalho/{id}', 'ArquivoController@baixarPlano' )->name('baixar.plano');
Route::get('/baixar/anexo-temp/{eventoId}/{nomeAnexo}', 'TrabalhoController@baixarAnexoTemp' )->name('baixar.anexo.temp');
Route::get('/baixar/evento-temp/{nomeAnexo}', 'TrabalhoController@baixarEventoTemp' )->name('baixar.evento.temp');
});
Route::prefix('usuarios')->name('admin.')->group(function(){
......
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