Unverified Commit b8f2b424 authored by Gabriel Antônio da Silva's avatar Gabriel Antônio da Silva Committed by GitHub
Browse files

Merge pull request #29 from lmts-ufape/fix-jean

Fix jean
parents d0a573fa b0c0a08e
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class AnexosTemp extends Model
{
//
}
......@@ -14,6 +14,7 @@ use App\Trabalho;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Hash;
use App\Evento;
use Illuminate\Validation\Rule;
use App\Mail\EmailParaUsuarioNaoCadastrado;
use Illuminate\Support\Facades\Mail;
use App\Mail\EventoCriado;
......@@ -66,29 +67,42 @@ class AdministradorController extends Controller
public function salvar(Request $request) {
if ($request->tipo != "proponente") {
$validated = $request->validate([
'nome' => 'required',
'name' => 'required',
'tipo' => 'required',
'email' => 'required|unique:users',
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'celular' => 'required',
'senha' => 'required',
'confirmar_senha' => 'required',
'cpf' => 'required|cpf|unique:users',
]);
} else {
$validated = $request->validate([
'nome' => 'required',
'tipo' => 'required',
'email' => 'required|unique:users',
'senha' => 'required',
'confirmar_senha' => 'required',
'cpf' => 'required|cpf|unique:users',
'cargo' => 'required',
'titulacaoMaxima' => 'required',
'anoTitulacao' => 'required',
'areaFormacao' => 'required',
'area' => 'required',
'bolsistaProdutividade' => 'required',
'nivel' => 'required',
'linkLattes' => 'required',
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'senha' => ['required', 'string', 'min:8'],
'confirmar_senha' => ['required'],
'cpf' => ['required', 'cpf', 'unique:users'],
'celular' => ['required', 'string'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'cargo' => ['required'],
'vinculo' => ['required'],
'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'],
'titulacaoMaxima' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'],
'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''],
]);
}
......@@ -97,11 +111,17 @@ class AdministradorController extends Controller
}
$user = new User();
$user->name = $request->nome;
$user->name = $request->name;
$user->tipo = $request->tipo;
$user->cpf = $request->cpf;
$user->celular = $request->celular;
$user->email = $request->email;
$user->password = bcrypt($request->senha);
if ($request->instituicao != null) {
$user->instituicao = $request->instituicao;
} else if (isset($request->instituicaoSelect) && $request->instituicaoSelect != "Outra") {
$user->instituicao = $request->instituicaoSelect;
}
$user->save();
......@@ -118,15 +138,26 @@ class AdministradorController extends Controller
break;
case "proponente":
$proponente = new Proponente();
if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE;
}
$proponente->cargo = $request->cargo;
if ($request->vinculo != 'Outro') {
$proponente->vinculo = $request->vinculo;
} else {
$proponente->vinculo = $request->outro;
}
$proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel;
}
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id;
$proponente->save();
break;
......@@ -159,28 +190,38 @@ class AdministradorController extends Controller
if ($request->tipo != "proponente") {
$validated = $request->validate([
'nome' => 'required',
'name' => 'required',
'tipo' => 'required',
'email' => 'required',
// 'senha' => 'required',
// 'confirmar_senha' => 'required',
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'celular' => 'required',
'cpf' => 'required|cpf',
]);
} else {
$validated = $request->validate([
'nome' => 'required',
'tipo' => 'required',
'email' => 'required',
// 'senha' => 'required',
// 'confirmar_senha' => 'required',
'cpf' => 'required|cpf',
'cargo' => 'required',
'titulacaoMaxima' => 'required',
'anoTitulacao' => 'required',
'areaFormacao' => 'required',
'bolsistaProdutividade' => 'required',
'nivel' => 'required',
'linkLattes' => 'required',
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255'],
'cpf' => ['required', 'cpf'],
'celular' => ['required', 'string'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'cargo' => ['required'],
'vinculo' => ['required'],
'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'],
'titulacaoMaxima' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'],
'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''],
]);
}
......@@ -205,15 +246,26 @@ class AdministradorController extends Controller
break;
case "proponente":
$proponente = Proponente::where('user_id', '=', $id)->first();
if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE;
}
$proponente->cargo = $request->cargo;
if ($request->vinculo != 'Outro') {
$proponente->vinculo = $request->vinculo;
} else {
$proponente->vinculo = $request->outro;
}
$proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel;
}
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id;
$proponente->update();
break;
......@@ -224,15 +276,19 @@ class AdministradorController extends Controller
break;
}
$user->name = $request->nome;
$user->name = $request->name;
$user->tipo = $request->tipo;
$user->email = $request->email;
$user->cpf = $request->cpf;
$user->celular = $request->celular;
if ($request->instituicao != null) {
$user->instituicao = $request->instituicao;
} else if (isset($request->instituicaoSelect) && $request->instituicaoSelect != "Outra") {
$user->instituicao = $request->instituicaoSelect;
}
// $user->password = bcrypt($request->nova_senha);
$user->update();
return redirect( route('admin.usuarios') )->with(['mensagem' => 'Usuário atualizado com sucesso']);
}
......@@ -313,7 +369,6 @@ class AdministradorController extends Controller
return redirect()->back();
}
public function remover(Request $request){
......
......@@ -59,7 +59,9 @@ class EventoController extends Controller
{
$coordenadors = CoordenadorComissao::with('user')->get();
$naturezas = Natureza::orderBy('nome')->get();
return view('evento.criarEvento', ['coordenadors' => $coordenadors, 'naturezas' => $naturezas]);
$yesterday = Carbon::yesterday('America/Recife');
$yesterday = $yesterday->toDateString();
return view('evento.criarEvento', ['coordenadors' => $coordenadors, 'naturezas' => $naturezas, 'ontem' => $yesterday]);
}
/**
......
......@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\AnexosTemp;
use App\Trabalho;
use App\Coautor;
use App\Evento;
......@@ -22,6 +23,7 @@ use App\Avaliador;
use Carbon\Carbon;
use Auth;
use Illuminate\Http\Request;
use Illuminate\Http\File;
use Illuminate\Support\Facades\Storage;
use App\Mail\EmailParaUsuarioNaoCadastrado;
use Illuminate\Support\Facades\Mail;
......@@ -92,6 +94,9 @@ class TrabalhoController extends Controller
}
}
//--Salvando os anexos da submissão temporariamente
$this->armazenarAnexosTemp($request, Auth::user()->id);
//O anexo de Decisão do CONSU dependo do tipo de edital
if( $evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM'){
......@@ -108,14 +113,15 @@ class TrabalhoController extends Controller
'emailParticipante.*' => ['required', 'string'],
'funcaoParticipante.*' => ['required', 'string'],
'nomePlanoTrabalho.*' => ['nullable', 'string'],
'anexoProjeto' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoCONSU' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
//--Verificando se anexos já foram submetidos
'anexoProjeto' => [($request->anexoProjetoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'anexoCONSU' => [($request->anexoConsuPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'botao' => ['required'],
'anexoComiteEtica' => ['required_without:justificativaAutorizacaoEtica', 'file', 'mimes:pdf', 'max:2000000'],
'justificativaAutorizacaoEtica' => ['required_without:anexoComiteEtica', 'file', 'mimes:pdf', 'max:2000000'],
'anexoLatterCoordenador' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoPlanilha' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoPlanoTrabalho.*' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoComiteEtica' => [($request->anexoComitePreenchido!=='sim'&&$request->anexoJustificativaPreenchido!=='sim'?'required_without:justificativaAutorizacaoEtica':''), 'file', 'mimes:pdf', 'max:2000000'],
'justificativaAutorizacaoEtica' => [($request->anexoJustificativaPreenchido!=='sim'&&$request->anexoComitePreenchido!=='sim'?'required_without:anexoComiteEtica':''), 'file', 'mimes:pdf', 'max:2000000'],
'anexoLattesCoordenador' => [($request->anexoLattesPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'anexoPlanilha' => [($request->anexoPlanilhaPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'anexoPlanoTrabalho.*' => ['nullable', 'file', 'mimes:pdf', 'max:2000000'],
]);
//dd($request->all());
......@@ -134,12 +140,12 @@ class TrabalhoController extends Controller
'status' => 'Submetido' ,
'proponente_id' => $proponente->id,
//Anexos
'anexoCONSU' => $request->anexoCONSU,
'anexoProjeto' => $request->anexoProjeto,
'anexoAutorizacaoComiteEtica' => $request->anexoComiteEtica,
'justificativaAutorizacaoEtica' => $request->justificativaAutorizacaoEtica,
'anexoLattesCoordenador' => $request->anexoLatterCoordenador,
'anexoPlanilhaPontuacao' => $request->anexoPlanilha,
'anexoCONSU' => $request->anexoCONSU != null ? $request->anexoCONSU : "",
'anexoProjeto' => $request->anexoProjeto != null ? $request->anexoProjeto : "",
'anexoAutorizacaoComiteEtica' => $request->anexoComiteEtica != null ? $request->anexoComiteEtica : "",
'justificativaAutorizacaoEtica' => $request->justificativaAutorizacaoEtica != null ? $request->justificativaAutorizacaoEtica : "",
'anexoLattesCoordenador' => $request->anexoLattesCoordenador != null ? $request->anexoLattesCoordenador : "",
'anexoPlanilhaPontuacao' => $request->anexoPlanilha != null ? $request->anexoPlanilha : "",
]);
//dd($trabalho);
} else {
......@@ -157,9 +163,9 @@ class TrabalhoController extends Controller
'emailParticipante.*' => ['required', 'string'],
'funcaoParticipante.*' => ['required', 'string'],
'nomePlanoTrabalho.*' => ['nullable', 'string'],
'anexoProjeto' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoLatterCoordenador' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoPlanilha' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoProjeto' => [($request->anexoProjetoPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'anexoLattesCoordenador' => [($request->anexoLattesPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'anexoPlanilha' => [($request->anexoPlanilhaPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2000000'],
'anexoPlanoTrabalho.*' => ['nullable', 'file', 'mimes:pdf', 'max:2000000'],
]);
......@@ -181,7 +187,7 @@ class TrabalhoController extends Controller
'anexoProjeto' => $request->anexoProjeto,
'anexoAutorizacaoComiteEtica' => $request->anexoComiteEtica,
'justificativaAutorizacaoEtica' => $request->justificativaAutorizacaoEtica,
'anexoLattesCoordenador' => $request->anexoLatterCoordenador,
'anexoLattesCoordenador' => $request->anexoLattesCoordenador,
'anexoPlanilhaPontuacao' => $request->anexoPlanilha,
]);
......@@ -247,24 +253,23 @@ class TrabalhoController extends Controller
}
}
//-- Salvando anexos no storage ---//
$pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id;
if( $evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoCONSU, "CONSU.pdf");
}
//-- Se existem anexos temporários, utilizá-los
$anexosTemp = AnexosTemp::where('eventoId', $request->editalId)->where('proponenteId', Auth::user()->id)
->orderByDesc('updated_at')->first();
if (!(is_null($request->anexoComiteEtica))) {
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf");
} else {
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, "Justificativa.pdf");
if($anexosTemp != null){
$this->armazenarAnexosFinais($anexosTemp, $request, $pasta, $trabalho, $evento);
}
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, "Projeto.pdf");
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLatterCoordenador, "Latter_Coordenador.pdf");
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilha, "Planilha.pdf");
$trabalho->update();
//dd($trabalho);
//Deletando arquivos temporários
Storage::deleteDirectory('anexosTemp/' . $request->editalId . '/' . Auth::user()->id);
$anexosTemp->delete();
$subject = "Submissão de Trabalho";
$autor = Auth()->user();
......@@ -276,6 +281,92 @@ class TrabalhoController extends Controller
return redirect()->route('evento.visualizar',['id'=>$request->editalId]);
}
//Armazena temporariamente anexos da submissão, no banco de dados e no storage
public function armazenarAnexosTemp(Request $request, $proponenteId){
//---Anexos do Projeto
$anexosTemp = AnexosTemp::where('eventoId', $request->editalId)->where('proponenteId', $proponenteId)
->orderByDesc('updated_at')->first();
if($anexosTemp == null){
$anexosTemp = new AnexosTemp();
$jaExiste = false;
}else{
$jaExiste = true;
}
$pasta = 'anexosTemp/' . $request->editalId . '/' . $proponenteId;
if(!(is_null($request->anexoCONSU)) ) {
$anexosTemp->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoCONSU, "CONSU.pdf");
}
if (!(is_null($request->anexoComiteEtica))) {
$anexosTemp->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf");
}
if (!(is_null($request->justificativaAutorizacaoEtica))) {
$anexosTemp->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, "Justificativa.pdf");
}
if (!(is_null($request->anexoProjeto))) {
$anexosTemp->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, "Projeto.pdf");
}
if (!(is_null($request->anexoLattesCoordenador))) {
$anexosTemp->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, "Latter_Coordenador.pdf");
}
if (!(is_null($request->anexoPlanilha))) {
$anexosTemp->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilha, "Planilha.pdf");
}
$anexosTemp->eventoId = $request->editalId;
$anexosTemp->proponenteId = $proponenteId;
if(!$jaExiste){
$anexosTemp->save();
}else{
$anexosTemp->update();
}
//---Anexos planos de trabalho
}
public function armazenarAnexosFinais($anexosTemp, $request, $pasta, $trabalho, $evento){
// Anexo Projeto
if( (!isset($request->anexoProjeto) && $request->anexoProjetoPreenchido == 'sim') || isset($request->anexoProjeto)){
Storage::move($anexosTemp->anexoProjeto, $pasta . '/Projeto.pdf');
$trabalho->anexoProjeto = $pasta . '/Projeto.pdf';
}
//Anexo Decisão CONSU
if( $evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
if( (!isset($request->anexoCONSU) && $request->anexoConsuPreenchido == 'sim') || isset($request->anexoCONSU)){
Storage::move($anexosTemp->anexoDecisaoCONSU, $pasta . '/CONSU.pdf');
$trabalho->anexoDecisaoCONSU = $pasta . '/CONSU.pdf';
}
}
//Autorização ou Justificativa
if( (!isset($request->anexoComiteEtica) && $request->anexoComitePreenchido == 'sim') || isset($request->anexoComiteEtica)){
Storage::move($anexosTemp->anexoAutorizacaoComiteEtica, $pasta . '/Comite_de_etica.pdf');
$trabalho->anexoAutorizacaoComiteEtica = $pasta . '/Comite_de_etica.pdf';
} elseif( (!isset($request->justificativaAutorizacaoEtica) && $request->anexoJustificativaPreenchido == 'sim') || isset($request->justificativaAutorizacaoEtica)){
Storage::move($anexosTemp->justificativaAutorizacaoEtica, $pasta . '/Justificativa.pdf');
$trabalho->justificativaAutorizacaoEtica = $pasta . '/Justificativa.pdf';
}
//Anexo Lattes
if( (!isset($request->anexoLattesCoordenador) && $request->anexoLattesPreenchido == 'sim') || isset($request->anexoLattesCoordenador)){
Storage::move($anexosTemp->anexoLattesCoordenador, $pasta . '/Latter_Coordenador.pdf');
$trabalho->anexoLattesCoordenador = $pasta . '/Latter_Coordenador.pdf';
}
//Anexo Planilha
if( (!isset($request->anexoPlanilha) && $request->anexoPlanilhaPreenchido == 'sim') || isset($request->anexoPlanilha)){
Storage::move($anexosTemp->anexoPlanilhaPontuacao, $pasta . '/Planilha.pdf');
$trabalho->anexoPlanilhaPontuacao = $pasta . '/Planilha.pdf';
}
}
/**
* Display the specified resource.
*
......@@ -427,9 +518,9 @@ class TrabalhoController extends Controller
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf");
}
if (!(is_null($request->anexoLatterCoordenador))) {
if (!(is_null($request->anexoLattesCoordenador))) {
Storage::delete($trabalho->anexoLattesCoordenador);
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLatterCoordenador, "Latter_Coordenador.pdf");
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, "Latter_Coordenador.pdf");
}
if (!(is_null($request->anexoPlanilha))) {
......@@ -766,4 +857,13 @@ class TrabalhoController extends Controller
$projeto = Trabalho::find($id);
return Storage::download($projeto->justificativaAutorizacaoEtica);
}
public function baixarAnexoTemp($eventoId, $nomeAnexo) {
$proponenteId = Auth::user()->id;
$anexosTemp = AnexosTemp::where('eventoId', $eventoId)->where('proponenteId', $proponenteId)
->orderByDesc('updated_at')->first();
return Storage::download($anexosTemp->$nomeAnexo);
}
}
......@@ -6,5 +6,7 @@ use Illuminate\Database\Eloquent\Model;
class Natureza extends Model
{
//
public function projetos() {
return $this->hasMany('App\Evento');
}
}
......@@ -1908,7 +1908,7 @@
},
{
"name": "symfony/css-selector",
"version": "v5.1.1",
"version": "v5.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
......@@ -2398,7 +2398,7 @@
},
{
"name": "symfony/mime",
"version": "v5.1.1",
"version": "v5.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
......@@ -3606,16 +3606,16 @@
},
{
"name": "filp/whoops",
"version": "2.7.2",
"version": "2.7.3",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
"reference": "17d0d3f266c8f925ebd035cd36f83cf802b47d4a"
"reference": "5d5fe9bb3d656b514d455645b3addc5f7ba7714d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/17d0d3f266c8f925ebd035cd36f83cf802b47d4a",
"reference": "17d0d3f266c8f925ebd035cd36f83cf802b47d4a",
"url": "https://api.github.com/repos/filp/whoops/zipball/5d5fe9bb3d656b514d455645b3addc5f7ba7714d",
"reference": "5d5fe9bb3d656b514d455645b3addc5f7ba7714d",
"shasum": ""
},
"require": {
......@@ -3663,7 +3663,7 @@
"throwable",
"whoops"
],
"time": "2020-05-05T12:28:07+00:00"
"time": "2020-06-14T09:00:00+00:00"
},
{
"name": "fzaninotto/faker",
......@@ -4600,16 +4600,16 @@
},
{
"name": "phpunit/phpunit",
"version": "8.5.5",
"version": "8.5.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "63dda3b212a0025d380a745f91bdb4d8c985adb7"
"reference": "3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/63dda3b212a0025d380a745f91bdb4d8c985adb7",
"reference": "63dda3b212a0025d380a745f91bdb4d8c985adb7",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348",
"reference": "3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348",
"shasum": ""
},
"require": {
......@@ -4679,7 +4679,7 @@
"testing",
"xunit"
],
"time": "2020-05-22T13:51:52+00:00"
"time": "2020-06-15T10:45:47+00:00"
},
{
"name": "scrivo/highlight.php",
......
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAnexosTempsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('anexos_temps', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
$table->string('anexoProjeto')->nullable();
$table->string('anexoDecisaoCONSU')->nullable();
$table->string('anexoPlanilhaPontuacao')->nullable();
$table->string('anexoLattesCoordenador')->nullable();
$table->string('anexoAutorizacaoComiteEtica')->nullable();
$table->string('justificativaAutorizacaoEtica')->nullable();
$table->integer('eventoId');
$table->integer('proponenteId');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('anexos_temps');
}
}
......@@ -27,7 +27,7 @@ class ProponenteSeeder extends Seeder
'areaFormacao' => '123123123',
'bolsistaProdutividade' => '123123123',
'nivel' => '123123123',
'linkLattes' => '123123123',
'linkLattes' => 'http://lattes.cnpq.br/8363536830656923',
'created_at' => '2020-01-01 00:00:00'
]);
......@@ -46,7 +46,7 @@ class ProponenteSeeder extends Seeder
'areaFormacao' => '123123123',
'bolsistaProdutividade' => '123123123',
'nivel' => '123123123',
'linkLattes' => '123123123',
'linkLattes' => 'http://lattes.cnpq.br/8363536830656923',
'created_at' => '2020-01-01 00:00:00'
]);
......
......@@ -12,7 +12,7 @@ return [
*/
'accepted' => ':Attribute deve ser aceito.',
'active_url' => ':Attribute não é uma URL válida.',
'after' => ':Attribute deve ser uma data depois de :date.',
'after' => ':Attribute deve ser uma data depois de ',
'after_or_equal' => ':attribute deve ser uma data posterior ou igual a:date.',
'alpha' => ':Attribute deve conter somente letras.',
'alpha_dash' => ':Attribute deve conter letras, números e traços.',
......@@ -57,12 +57,12 @@ return [
'not_in' => 'O :attribute selecionado é inválido.',
'numeric' => ':Attribute deve ser um número.',
'regex' => 'O formato de :attribute é inválido.',
'required' => 'O campo :attribute é obrigatório.',
'required_if' => 'O campo :attribute é obrigatório quando :other é :value.',
'required' => 'O campo é obrigatório.',
'required_if' => 'O campo é obrigatório.',
'required_unless' => 'O :attribute é necessário a menos que :other esteja em :values.',
'required_with' => 'O campo :attribute é obrigatório quando :values está presente.',
'required_with' => 'O campo é obrigatório.',
'required_with_all' => 'O campo :attribute é obrigatório quando :values estão presentes.',
'required_without' => 'O campo :attribute é obrigatório quando :values não está presente.',
'required_without' => 'O campo é obrigatório.',
'required_without_all' => 'O campo :attribute é obrigatório quando nenhum destes estão presentes: :values.',
'same' => ':Attribute e :other devem ser iguais.',
'size' => [
......
......@@ -36,7 +36,7 @@
<tbody>
@foreach ($users as $user)
@if (auth()->user()->id != $user->id)
@can('isAdministrador', auth()->user())
@if(auth()->user()->id != "administrador")
<tr>
<td>
{{ $user->name }}
......@@ -96,7 +96,7 @@
</td>
</tr>
@endif
@endcan
@endif
@endif
@endforeach
</tbody>
......
......@@ -75,7 +75,7 @@
</p>
<p>
<a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento">Visualizar Evento</a>
<a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento">Visualizar edital</a>
</p>
</div>
......
......@@ -29,9 +29,9 @@
<div class="col-sm-3">
<label for="tipo" class="col-form-label">{{ __('Tipo*:') }}</label>
<select id="tipo" type="text" class="form-control @error('tipo') is-invalid @enderror" name="tipo" value="{{ old('tipo') }}" required>
<option value="PIBIC">PIBIC</option>
<option value="PIBIC-EM">PIBIC-EM</option>
<option value="PIBITI">PIBITI</option>
<option @if(old('tipo')=='PIBIC' ) selected @endif value="PIBIC">PIBIC</option>
<option @if(old('tipo')=='PIBIC-EM' ) selected @endif value="PIBIC-EM">PIBIC-EM</option>
<option @if(old('tipo')=='PIBITI' ) selected @endif value="PIBITI">PIBITI</option>
</select>
@error('tipo')
......@@ -45,7 +45,7 @@
<label for="natureza" class="col-form-label">{{ __('Natureza*:') }}</label>
<select id="natureza" type="text" class="form-control @error('natureza') is-invalid @enderror" name="natureza" value="{{ old('natureza') }}" required>
@foreach ($naturezas as $natureza)
<option value="{{ $natureza->id }}">{{ $natureza->nome }}</option>
<option @if(old('natureza')==$natureza->id ) selected @endif value="{{ $natureza->id }}">{{ $natureza->nome }}</option>
@endforeach
</select>
......@@ -62,7 +62,7 @@
<div class="col-sm-12">
<div class="form-group">
<label for="exampleFormControlTextarea1">Descrição*:</label>
<textarea class="form-control @error('descricao') is-invalid @enderror" value="{{ old('descricao') }}" required autocomplete="descricao" autofocus id="descricao" name="descricao" rows="3"></textarea>
<textarea class="form-control @error('descricao') is-invalid @enderror" required autocomplete="descricao" autofocus id="descricao" name="descricao" rows="3">{{ old('descricao') }}</textarea>
@error('descricao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
......@@ -77,7 +77,7 @@
<select class="form-control @error('funcaoParticipante') 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 value="{{$coordenador->id}}">{{$coordenador->user->name}}</option>
<option @if(old('coordenador_id')==$coordenador->id ) selected @endif value="{{$coordenador->id}}">{{$coordenador->user->name}}</option>
@endforeach
</select>
</div>
......@@ -97,7 +97,7 @@
@error('inicioSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
......@@ -107,7 +107,7 @@
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime(old('inicioSubmissao'))) . '.' }}</strong>
</span>
@enderror
</div>
......@@ -120,7 +120,7 @@
@error('inicioRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
......@@ -130,7 +130,7 @@
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime( old('inicioRevisao') )) . '.' }}</strong>
</span>
@enderror
</div>
......@@ -143,7 +143,7 @@
@error('resultado')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
......
......@@ -104,7 +104,7 @@
<div class="row margin">
<div class="col-sm-12 info-evento">
<h4>Revisão de Projetos</h4>
<h4>Avaliação de Projetos</h4>
<p>
<img class="" src="{{asset('img/icons/calendar-evento.svg')}}" alt="">
{{date('d/m/Y',strtotime($evento->inicioRevisao))}} - {{date('d/m/Y',strtotime($evento->fimRevisao))}}
......
......@@ -85,7 +85,7 @@
</div>
<a href="{{ route('register') }}" class="btn navbar-text btn-azul-destaque negrito" style="color: rgb(0, 140, 255);">{{ __('Cadastre-se') }}</a>
@else
<a href="{{route('visualizarEvento')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Home</a>
<a href="{{route('coord.home')}}" class="btn navbar-text negrito " style="color: rgb(0, 140, 255);">Home</a>
<a id="navbarDropdown" class="btn navbar-text negrito dropdown-toggle" style="color: rgb(0, 140, 255);" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} <span class="caret"></span>
......
......@@ -111,14 +111,16 @@
{{ $natureza->nome }}
</td>
<td>
{{$natureza->creat_at}}
{{ $natureza->creat_at }}
</td>
<td>
@if (is_null($natureza->projetos->first()))
<div class="btn-group dropright dropdown-options">
<a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a>
<div class="dropdown-menu">
<a class="dropdown-item" data-toggle="modal" data-target="#modalEditCenter{{$natureza->id}}" class="dropdown-item">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
{{__('Editar')}}
......@@ -129,6 +131,11 @@
</a>
</div>
</div>
@else
<div style="float: right;">
Fixada em um edital
</div>
@endif
</td>
</tr>
@endforeach
......
This diff is collapsed.
......@@ -21,11 +21,11 @@ Auth::routes(['verify' => true]);
//######## Rotas Avaliador ####################################
Route::prefix('avaliador')->name('avaliador.')->group(function(){
Route::get('/index', 'AvaliadorController@index' )->name('index');
Route::get('/trabalhos', 'AvaliadorController@visualizarTrabalhos' )->name('visualizarTrabalho');
Route::post('/parecer', 'AvaliadorController@parecer' )->name('parecer');
Route::get('/editais', 'AvaliadorController@editais' )->name('editais');
Route::post('/Enviarparecer', 'AvaliadorController@enviarParecer' )->name('enviarParecer');
Route::get('/index', 'AvaliadorController@index' )->name('index')->middleware('auth');
Route::get('/trabalhos', 'AvaliadorController@visualizarTrabalhos' )->name('visualizarTrabalho')->middleware('auth');
Route::post('/parecer', 'AvaliadorController@parecer' )->name('parecer')->middleware('auth');
Route::get('/editais', 'AvaliadorController@editais' )->name('editais')->middleware('auth');
Route::post('/Enviarparecer', 'AvaliadorController@enviarParecer' )->name('enviarParecer')->middleware('auth');
});
//######### Proponente ########################################
......@@ -39,17 +39,17 @@ Route::get('/participante/index', 'ParticipanteController@index'
Route::get('/participante/edital/{id}', 'ParticipanteController@edital' )->name('participante.edital');
//######### Rotas Administrador #################################
Route::get('/perfil-usuario', 'UserController@minhaConta')->middleware('auth' )->name('user.perfil');
Route::get('/perfil-usuario', 'UserController@minhaConta')->middleware('auth' )->name('user.perfil')->middleware(['auth', 'verified']);
Route::get('/perfil','UserController@perfil' )->name('perfil')->middleware(['auth', 'verified']);
Route::post('/perfil','UserController@editarPerfil' )->name('perfil')->middleware(['auth', 'verified']);
Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
Route::get('/home/evento', 'EventoController@index' )->name('visualizarEvento');
Route::get('/home/edital', 'EventoController@index' )->name('visualizarEvento');
// ######## rotas de teste #####################################
Route::get('/coordenador/home', 'EventoController@index' )->name('coord.home');
Route::get('/editais/home', 'EventoController@index' )->name('coord.home');
Route::get('/coordenador/evento/detalhes', 'EventoController@detalhes' )->name('coord.detalhesEvento');
//####### Visualizar trabalhos do usuário ######################
......@@ -122,6 +122,7 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
Route::get('/baixar/anexo-lattes/{id}', 'TrabalhoController@baixarAnexoLattes' )->name('baixar.anexo.lattes');
Route::get('/baixar/anexo-planilha/{id}','TrabalhoController@baixarAnexoPlanilha' )->name('baixar.anexo.planilha');
Route::get('/baixar/plano-de-trabalho/{id}', 'ArquivoController@baixarPlano' )->name('baixar.plano');
Route::get('/baixar/anexo-temp/{eventoId}/{nomeAnexo}', 'TrabalhoController@baixarAnexoTemp' )->name('baixar.anexo.temp');
});
Route::prefix('usuarios')->name('admin.')->group(function(){
......@@ -190,15 +191,15 @@ Route::prefix('naturezas')->group(function(){
//############ Evento ##############################################
Route::prefix('evento')->name('evento.')->group(function(){
Route::get( '/criar', 'EventoController@create' )->name('criar');
Route::post( '/criar', 'EventoController@store' )->name('criar');
Route::get( '/visualizar/{id}','EventoController@show' )->name('visualizar');
Route::get( '/listar', 'EventoController@listar' )->name('listar');
Route::delete( '/excluir/{id}', 'EventoController@destroy' )->name('deletar');
Route::get( '/editar/{id}', 'EventoController@edit' )->name('editar');
Route::post( '/editar/{id}', 'EventoController@update' )->name('update');
Route::post( '/setResumo', 'EventoController@setResumo' )->name('setResumo');
Route::post( '/setFoto', 'EventoController@setFotoEvento' )->name('setFotoEvento');
Route::get( '/criar', 'EventoController@create' )->name('criar')->middleware('checkAdministrador');
Route::post( '/criar', 'EventoController@store' )->name('criar')->middleware('checkAdministrador');
Route::get( '/visualizar/{id}','EventoController@show' )->name('visualizar')->middleware('auth');
Route::get( '/listar', 'EventoController@listar' )->name('listar')->middleware('auth');
Route::delete( '/excluir/{id}', 'EventoController@destroy' )->name('deletar')->middleware('checkAdministrador');
Route::get( '/editar/{id}', 'EventoController@edit' )->name('editar')->middleware('checkAdministrador');
Route::post( '/editar/{id}', 'EventoController@update' )->name('update')->middleware('checkAdministrador');
Route::post( '/setResumo', 'EventoController@setResumo' )->name('setResumo')->middleware('checkAdministrador');
Route::post( '/setFoto', 'EventoController@setFotoEvento' )->name('setFotoEvento')->middleware('checkAdministrador');
});
......
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