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

Merge pull request #28 from lmts-ufape/planoTrabalho

Plano trabalho
parents beed2694 b8f2b424
Showing with 1171 additions and 568 deletions
+1171 -568
<?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,18 +138,29 @@ class AdministradorController extends Controller
break;
case "proponente":
$proponente = new Proponente();
$proponente->SIAPE = $request->SIAPE;
if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE;
}
$proponente->cargo = $request->cargo;
$proponente->vinculo = $request->vinculo;
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->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
$proponente->nivel = $request->nivel;
if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel;
}
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id;
$proponente->save();
break;
break;
case "participante":
$participante = new Participante();
$participante->user_id = $user->id;
......@@ -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();
$proponente->SIAPE = $request->SIAPE;
if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE;
}
$proponente->cargo = $request->cargo;
$proponente->vinculo = $request->vinculo;
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->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
$proponente->nivel = $request->nivel;
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]);
}
/**
......@@ -99,7 +101,7 @@ class EventoController extends Controller
'fimRevisao' => ['required', 'date'],
'resultado' => ['required', 'date'],
'pdfEdital' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'modeloDocumento' => ['required', 'file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'],
]);
}
......@@ -116,7 +118,7 @@ class EventoController extends Controller
'fimRevisao' => ['required', 'date', 'after:' . $request->inicioRevisao],
'resultado' => ['required', 'date', 'after:' . $yesterday],
'pdfEdital' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'modeloDocumento' => ['required', 'file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2000000'],
]);
$evento = Evento::create([
......@@ -150,14 +152,17 @@ class EventoController extends Controller
$nome = "edital.pdf";
Storage::putFileAs($path, $pdfEdital, $nome);
$evento->pdfEdital = $path . $nome;
$modeloDocumento = $request->modeloDocumento;
$extension = $modeloDocumento->extension();
$path = 'modeloDocumento/' . $evento->id . '/';
$nome = "modelo" . "." . $extension;
Storage::putFileAs($path, $modeloDocumento, $nome);
$evento->modeloDocumento = $path . $nome;
if(isset($request->modeloDocumento)){
$modeloDocumento = $request->modeloDocumento;
$extension = $modeloDocumento->extension();
$path = 'modeloDocumento/' . $evento->id . '/';
$nome = "modelo" . "." . $extension;
Storage::putFileAs($path, $modeloDocumento, $nome);
$evento->modeloDocumento = $path . $nome;
}
$evento->save();
......
......@@ -13,6 +13,11 @@ class ParticipanteController extends Controller
return view('participante.index');
}
public function editais(){
$eventos = Evento::all();
return view('participante.editais', ['eventos'=> $eventos] );
}
public function edital($id){
$edital = Evento::find($id);
......
......@@ -20,6 +20,11 @@ class ProponenteController extends Controller
public function create(){
return view('proponente.cadastro');
}
public function editais(){
$eventos = Evento::all();
return view('proponente.editais', ['eventos'=> $eventos] );
}
public function store(Request $request){
if (Auth()->user()->proponentes == null) {
......@@ -60,7 +65,7 @@ class ProponenteController extends Controller
$proponente->save();
$user = User::find(Auth()->user()->id);
$user->tipo = "proponente";
//$user->tipo = "proponente";
$user->save();
$eventos = Evento::all();
......
......@@ -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;
......@@ -41,7 +43,13 @@ class TrabalhoController extends Controller
{
$edital = Evento::find($id);
$grandeAreas = GrandeArea::orderBy('nome')->get();
$funcaoParticipantes = FuncaoParticipantes::all();
$funcaoParticipantes = FuncaoParticipantes::all();
$proponente = Proponente::where('user_id', Auth::user()->id)->first();
if($proponente == null){
return view('proponente.cadastro')->with(['mensagem' => 'Você não possui perfil de Proponente, para submeter algum projeto preencha o formulário.']);;
}
return view('evento.submeterTrabalho',[
'edital' => $edital,
'grandeAreas' => $grandeAreas,
......@@ -74,15 +82,21 @@ class TrabalhoController extends Controller
$coordenador = CoordenadorComissao::find($evento->coordenadorId);
//Relaciona o projeto criado com o proponente que criou o projeto
$proponente = Proponente::where('user_id', Auth::user()->id)->first();
// if($proponente == null){
// return view('proponente.cadastro');
// }
//$trabalho->proponentes()->save($proponente);
//dd($coordenador->id);
//dd($proponente);
$trabalho = "trabalho";
if($evento->inicioSubmissao > $mytime){
if($mytime >= $evento->fimSubmissao){
return redirect()->route('home');
}
}
//--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'){
......@@ -98,15 +112,16 @@ class TrabalhoController extends Controller
'nomeParticipante.*' => ['required', 'string'],
'emailParticipante.*' => ['required', 'string'],
'funcaoParticipante.*' => ['required', 'string'],
'nomePlanoTrabalho.*' => ['required', 'string'],
'anexoProjeto' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'anexoCONSU' => ['required', 'file', 'mimes:pdf', 'max:2000000'],
'nomePlanoTrabalho.*' => ['nullable', 'string'],
//--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());
......@@ -125,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 {
......@@ -147,11 +162,11 @@ class TrabalhoController extends Controller
'nomeParticipante.*' => ['required', 'string'],
'emailParticipante.*' => ['required', 'string'],
'funcaoParticipante.*' => ['required', 'string'],
'nomePlanoTrabalho.*' => ['required', 'string'],
'anexoProjeto' => ['required', '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'],
'nomePlanoTrabalho.*' => ['nullable', 'string'],
'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'],
]);
$trabalho = Trabalho::create([
......@@ -172,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,
]);
......@@ -215,54 +230,143 @@ class TrabalhoController extends Controller
$subject = "Participante de Projeto";
$email = $value;
Mail::to($email)
->send(new SubmissaoTrabalho($userParticipante, $subject));
->send(new SubmissaoTrabalho($userParticipante, $subject, $evento, $trabalho));
}
$usuario = User::where('email', $value)->first();
$participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $trabalho->id]])->first();
$path = 'trabalhos/' . $request->editalId . '/' . $trabalho->id .'/';
$nome = $request->nomePlanoTrabalho[$key] .".pdf";
$file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id;
$arquivo->data = $mytime;
$arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true;
$arquivo->save();
if($request->nomePlanoTrabalho[$key] != null){
$usuario = User::where('email', $value)->first();
$participante = Participante::where([['user_id', '=', $usuario->id], ['trabalho_id', '=', $trabalho->id]])->first();
$path = 'trabalhos/' . $request->editalId . '/' . $trabalho->id .'/';
$nome = $request->nomePlanoTrabalho[$key] .".pdf";
$file = $request->anexoPlanoTrabalho[$key];
Storage::putFileAs($path, $file, $nome);
$arquivo = new Arquivo();
$arquivo->titulo = $request->nomePlanoTrabalho[$key];
$arquivo->nome = $path . $nome;
$arquivo->trabalhoId = $trabalho->id;
$arquivo->data = $mytime;
$arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
}
}
//-- 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();
$evento = $evento;
$trabalho = $trabalho;
Mail::to($autor->email)
->send(new SubmissaoTrabalho($autor, $subject));
->send(new SubmissaoTrabalho($autor, $subject, $evento, $trabalho));
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.
*
......@@ -414,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))) {
......@@ -753,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);
}
}
......@@ -13,18 +13,20 @@ class SubmissaoTrabalho extends Mailable
public $user;
public $subject;
public $evento;
public $trabalho;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($user, $subject)
public function __construct($user, $subject, $evento, $trabalho)
{
$this->user = $user;
$this->subject = $subject;
$this->evento = $evento;
$this->trabalho = $trabalho;
}
/**
......@@ -37,6 +39,12 @@ class SubmissaoTrabalho extends Mailable
return $this->from('lmtsteste@gmail.com', 'Submeta - LMTS')
->subject($this->subject)
->view('emails.submissaoTrabalho');
->view('emails.submissaoTrabalho')
->with([
'user' => $this->user,
'evento' => $this->evento,
'trabalho' => $this->trabalho,
]);
}
}
......@@ -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,26 @@ 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'
]);
$user_id = DB::table('users')->where('name','Gabriel')->pluck('id');
DB::table('proponentes')->insert([
'user_id' => $user_id[0],
//'CPF' => '123123123',
'SIAPE' => '123123123',
//'email' => '123123123',
//'email' => '123123123',
'cargo' => '123123123',
'vinculo' => '123123123',
'titulacaoMaxima' => 'Mestrado',
'anoTitulacao' => '123123123',
'areaFormacao' => '123123123',
'bolsistaProdutividade' => '123123123',
'nivel' => '123123123',
'linkLattes' => 'http://lattes.cnpq.br/8363536830656923',
'created_at' => '2020-01-01 00:00:00'
]);
......
......@@ -48,6 +48,15 @@ class UsuarioSeeder extends Seeder
'email_verified_at'=>'2020-01-01'
]);
DB::table('users')->insert([
'name'=>'Gabriel',
'email'=>'gabriel.uag.ufrpe@gmail.com',
'password'=>Hash::make('12345678'),
'tipo'=>'proponente',
'email_verified_at'=>'2020-01-01'
]);
DB::table('users')->insert([
'name'=>'Coordenador1',
......
......@@ -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' => [
......
......@@ -6,22 +6,13 @@
<div class="container" >
<div class="row" >
<div class="col-sm-10">
@if(auth()->user()->tipo === "administrador")
<h3>Meus Editais</h3>
@else
<h3>Editais</h3>
@endif
</div>
@if(auth()->user()->tipo === "administrador")
<div class="col-sm-2">
<div class="col-sm-10">
<h3>Meus Editais</h3>
</div>
<a href="{{route('evento.criar')}}" class="btn btn-primary">Criar Edital</a>
</div>
@endif
</div>
</div>
</div>
<hr>
@if(auth()->user()->tipo === "administrador")
<table class="table table-bordered">
<thead>
<tr>
......@@ -74,120 +65,7 @@
</tr>
@endforeach
</tbody>
</table>
@endif
@if(auth()->user()->tipo === "proponente")
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Nome do Edital</th>
<th scope="col">Inicio da Submissão</th>
<th scope="col">Fim da Submissão</th>
<th scope="col">Data do Resultado</th>
<th scope="col">Baixar edital</th>
<th scope="col">Opção</th>
</tr>
</thead>
<tbody>
@foreach ($eventos as $evento)
<tr>
<td>
<a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento">
{{ $evento->nome }}
</a>
</td>
<td>{{ date('d/m/Y', strtotime($evento->inicioSubmissao)) }}</td>
<td>{{ date('d/m/Y', strtotime($evento->fimSubmissao)) }}</td>
<td>{{ date('d/m/Y', strtotime($evento->created_at)) }}</td>
<td style="text-align: center">
<a href="{{ route('baixar.edital', ['id' => $evento->id]) }}">
<img src="{{asset('img/icons/file-download-solid.svg')}}" width="15px">
</a>
</td>
<td>
<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 href="{{ route('projetos.edital', ['id' => $evento->id]) }}" class="dropdown-item" style="text-align: center">
Projetos submetidos
</a>
<a href="" class="dropdown-item" style="text-align: center">
Visualizar resultado
</a>
{{-- <a href="" class="dropdown-item" style="text-align: center">
Recurso ao resultado
</a>
<a href="" class="dropdown-item" style="text-align: center">
Resultado preeliminar
</a>
<a href="" class="dropdown-item" style="text-align: center">
Resultado final
</a> --}}
</div>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
@endif
@if(auth()->user()->tipo === "participante")
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Nome do Edital</th>
<th scope="col">Status</th>
<th scope="col">Data de Criação</th>
<th scope="col">Baixar edital</th>
<th scope="col">Opção</th>
</tr>
</thead>
<tbody>
@foreach ($eventos as $evento)
<tr>
<td>
<a href="{{ route('evento.visualizar',['id'=>$evento->id]) }}" class="visualizarEvento">
{{ $evento->nome }}
</a>
</td>
<td></td>
<td>{{ $evento->created_at }}</td>
<td style="text-align: center">
<a href="{{ route('baixar.edital', ['id' => $evento->id]) }}">
<img src="{{asset('img/icons/file-download-solid.svg')}}" width="15px">
</a>
</td>
<td>
<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 href="{{ route('participante.edital', ['id' => $evento->id]) }}" class="dropdown-item" style="text-align: center">
Meus projetos
</a>
<a href="" class="dropdown-item" style="text-align: center">
Visualizar resultado
</a>
{{--
<a href="" class="dropdown-item" style="text-align: center">
Resultado preeliminar
</a>
<a href="" class="dropdown-item" style="text-align: center">
Resultado final
</a> --}}
</div>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
@endif
</table>
</div>
......
......@@ -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>
......
......@@ -4,6 +4,18 @@
</head>
<body>
<h4>Seu trabalho foi recebido com sucesso. </h4>
@if(isset($user->proponentes))
@if($user->proponentes->id == $trabalho->proponente_id)
{{-- Usuario proponente--}}
<h2>Olá, {{ $user->name }} </h2>
<h4>Seu trabalho {{ $trabalho->titulo }} foi submetido com sucesso no Edital {{ $evento->nome }} </h4>
@endif
@else
{{-- Usuario participante--}}
<h2>Olá, {{ $user->name }} </h2>
<h4>Você é participante no Projeto {{ $trabalho->titulo }} que foi submetido no Edital {{ $evento->nome }}. </h4>
@endif
</body>
</html>
\ No newline at end of file
......@@ -16,7 +16,7 @@
{{-- nome | Participantes | Tipo--}}
<div class="row justify-content-center">
<div class="col-sm-6">
<label for="nome" class="col-form-label">{{ __('Nome') }}</label>
<label for="nome" class="col-form-label">{{ __('Nome*:') }}</label>
<input id="nome" type="text" class="form-control @error('nome') is-invalid @enderror" name="nome" value="{{ old('nome') }}" required autocomplete="nome" autofocus>
@error('nome')
......@@ -27,11 +27,11 @@
</div>
<div class="col-sm-3">
<label for="tipo" class="col-form-label">{{ __('Tipo') }}</label>
<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')
......@@ -42,10 +42,10 @@
</div>
<div class="col-sm-3">
<label for="natureza" class="col-form-label">{{ __('Natureza') }}</label>
<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>
......@@ -61,8 +61,8 @@
<div class="row justify-content-center">
<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>
<label for="exampleFormControlTextarea1">Descrição*:</label>
<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>
......@@ -73,11 +73,11 @@
</div>
<div class="row justify-content-center">
<div class="col-sm-12">
<label for="coordenador_id" class="col-form-label">{{ __('Coordenador:') }}</label>
<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">
<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>
......@@ -92,22 +92,22 @@
<div class="row justify-content-center">
<div class="col-sm-6">
<label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão') }}</label>
<label for="inicioSubmissao" class="col-form-label">{{ __('Início da Submissão*:') }}</label>
<input id="inicioSubmissao" type="date" class="form-control @error('inicioSubmissao') is-invalid @enderror" name="inicioSubmissao" value="{{ old('inicioSubmissao') }}" required autocomplete="inicioSubmissao" autofocus>
@error('inicioSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão') }}</label>
<label for="fimSubmissao" class="col-form-label">{{ __('Fim da Submissão*:') }}</label>
<input id="fimSubmissao" type="date" class="form-control @error('fimSubmissao') is-invalid @enderror" name="fimSubmissao" value="{{ old('fimSubmissao') }}" required autocomplete="fimSubmissao" autofocus>
@error('fimSubmissao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime(old('inicioSubmissao'))) . '.' }}</strong>
</span>
@enderror
</div>
......@@ -115,22 +115,22 @@
<div class="row justify-content-center">
<div class="col-sm-6">
<label for="inicioRevisao" class="col-form-label">{{ __('Início da Avaliação') }}</label>
<label for="inicioRevisao" class="col-form-label">{{ __('Início da Avaliação*:') }}</label>
<input id="inicioRevisao" type="date" class="form-control @error('inicioRevisao') is-invalid @enderror" name="inicioRevisao" value="{{ old('inicioRevisao') }}" required autocomplete="inicioRevisao" autofocus>
@error('inicioRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fimRevisao" class="col-form-label">{{ __('Fim da Avaliação') }}</label>
<label for="fimRevisao" class="col-form-label">{{ __('Fim da Avaliação*:') }}</label>
<input id="fimRevisao" type="date" class="form-control @error('fimRevisao') is-invalid @enderror" name="fimRevisao" value="{{ old('fimRevisao') }}" required autocomplete="fimRevisao" autofocus>
@error('fimRevisao')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime( old('inicioRevisao') )) . '.' }}</strong>
</span>
@enderror
</div>
......@@ -138,12 +138,12 @@
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="resultado" class="col-form-label">{{ __('Data do Resultado') }}</label>
<label for="resultado" class="col-form-label">{{ __('Data do Resultado*:') }}</label>
<input id="resultado" type="date" class="form-control @error('resultado') is-invalid @enderror" name="resultado" value="{{ old('resultado') }}" required autocomplete="resultado" autofocus>
@error('resultado')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
......@@ -159,7 +159,7 @@
<div class="row justify-content-center" style="margin-top:10px">
<div class="col-sm-6">
<div class="form-group">
<label for="pdfEdital">Anexar edital</label>
<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">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('pdfEdital')
......@@ -172,7 +172,7 @@
<div class="col-sm-6">
<div class="form-group">
<label for="modeloDocumento">Arquivo com os modelos de documentos do edital</label>
<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">
<small>O arquivo selecionado deve ter até 2mb.</small>
@error('modeloDocumento')
......
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