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

Merge pull request #58 from lmts-ufape/dataSubmissao

Data submissao
parents aba86714 f89178f8
......@@ -18,7 +18,7 @@ use App\Natureza;
use App\CoordenadorComissao;
use Illuminate\Http\Request;
use Carbon\Carbon;
use App\Rules\ExcelRule;
use App\Rules\ExcelRule;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
......@@ -35,8 +35,10 @@ class EventoController extends Controller
$eventos = Evento::all();
// $comissaoEvento = ComissaoEvento::all();
// $eventos = Evento::where('coordenadorId', Auth::user()->id)->get();
return view('coordenador.home',['eventos'=>$eventos]);
$hoje = Carbon::today('America/Recife');
$hoje = $hoje->toDateString();
return view('coordenador.home',['eventos'=>$eventos, 'hoje'=>$hoje]);
}
......@@ -46,7 +48,7 @@ class EventoController extends Controller
$eventos = Evento::all();
// $comissaoEvento = ComissaoEvento::all();
// $eventos = Evento::where('coordenadorId', Auth::user()->id)->get();
return view('evento.listarEvento',['eventos'=>$eventos]);
}
......@@ -84,7 +86,7 @@ class EventoController extends Controller
if(isset($request->modeloDocumento)){
$request->validate([
'modeloDocumento' => ['file', 'max:2048', new ExcelRule($request->file('modeloDocumento'))],
]);
]);
}
//--Salvando os anexos da submissão temporariamente
......@@ -92,40 +94,40 @@ class EventoController extends Controller
// validar datas nulas antes, pois pode gerar um bug
if(
$request->inícioDaSubmissão == null ||
$request->fimDaSubmissão == null ||
$request->inícioDaRevisão == null ||
$request->fimDaRevisão == null ||
$request->resultado == null
$request->inicioSubmissao == null ||
$request->fimSubmissao == null ||
$request->inicioRevisao == null ||
$request->fimRevisao == null ||
$request->resultado == null
){
$validatedData = $request->validate([
'nome' => ['required', 'string'],
'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
'inícioDaSubmissão' => ['required', 'date'],
'fimDaSubmissão' => ['required', 'date'],
'inícioDaRevisão' => ['required', 'date'],
'fimDaRevisão' => ['required', 'date'],
'início_do_recurso' => ['required', 'date'],
'fim_do_recurso' => ['required', 'date'],
'resultado_final' => ['required', 'date'],
'resultado_preliminar'=> ['required', 'date'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
'inicioSubmissao' => ['required', 'date'],
'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date'],
'fimRevisao' => ['required', 'date'],
'inicio_recurso' => ['required', 'date'],
'fim_recurso' => ['required', 'date'],
'resultado_final' => ['required', 'date'],
'resultado_preliminar'=> ['required', 'date'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => [],
]);
}
// validacao normal
//after = depois
//after = depois
//before = antes
$validatedData = $request->validate([
'nome' => ['required', 'string'],
'nome' => ['required', 'string'],
'descricao' => ['required', 'string','max:1500'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
#----------------------------------------------
'inícioDaSubmissão' => ['required', 'date', 'after:' . $yesterday],
......@@ -139,7 +141,7 @@ class EventoController extends Controller
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
]);
//$evento = Evento::create([
$evento['nome'] = $request->nome;
$evento['descricao'] = $request->descricao;
......@@ -153,10 +155,10 @@ class EventoController extends Controller
$evento['fim_recurso'] = $request->fim_do_recurso;
$evento['resultado_preliminar']= $request->resultado_preliminar;
$evento['resultado_final'] = $request->resultado_final;
$evento['coordenadorId'] = $request->coordenador_id;
$evento['criador_id'] = $user_id;
$evento['anexosStatus'] = 'final';
$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);
......@@ -171,12 +173,12 @@ class EventoController extends Controller
//$evento->coordenadorId = Auth::user()->id;
//-- Salvando anexos finais
if(isset($request->pdfEdital)){
if(isset($request->pdfEdital)){
$pdfEdital = $request->pdfEdital;
$path = 'pdfEdital/' . $evento->id . '/';
$nome = "edital.pdf";
Storage::putFileAs($path, $pdfEdital, $nome);
Storage::putFileAs($path, $pdfEdital, $nome);
$evento->pdfEdital = $path . $nome;
}
......@@ -186,10 +188,10 @@ class EventoController extends Controller
$path = 'modeloDocumento/' . $evento->id . '/';
$nome = "modelo" . "." . $extension;
Storage::putFileAs($path, $modeloDocumento, $nome);
$evento->modeloDocumento = $path . $nome;
}
}
$evento->update();
// $user = Auth::user();
......@@ -202,30 +204,30 @@ class EventoController extends Controller
public function armazenarAnexosTemp(Request $request){
//---Anexos do Projeto
//---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();
$eventoTemp->save();
}
if(!(is_null($request->pdfEdital)) ) {
$pasta = 'pdfEdital/' . $eventoTemp->id;
$eventoTemp->pdfEdital = Storage::putFileAs($pasta, $request->pdfEdital, 'edital.pdf');
if(!(is_null($request->pdfEdital)) ) {
$pasta = 'pdfEdital/' . $eventoTemp->id;
$eventoTemp->pdfEdital = Storage::putFileAs($pasta, $request->pdfEdital, 'edital.pdf');
}
if (!(is_null($request->modeloDocumento))) {
if (!(is_null($request->modeloDocumento))) {
$extension = $request->modeloDocumento->extension();
$path = 'modeloDocumento/' . $eventoTemp->id;
$nome = "modelo" . "." . $extension;
$eventoTemp->modeloDocumento = Storage::putFileAs($path, $request->modeloDocumento, $nome);
}
$nome = "modelo" . "." . $extension;
$eventoTemp->modeloDocumento = Storage::putFileAs($path, $request->modeloDocumento, $nome);
}
$eventoTemp->update();
return $eventoTemp;
}
......@@ -255,7 +257,7 @@ class EventoController extends Controller
$trabalhos = 0;
$trabalhosCount = 0;
}
$trabalhosId = Trabalho::where('evento_id', $evento->id)->select('id')->get();
$mytime = Carbon::now('America/Recife');
......@@ -302,11 +304,11 @@ class EventoController extends Controller
public function edit($id)
{
// dd($id);
$evento = Evento::find($id);
$evento = Evento::find($id);
$coordenadors = CoordenadorComissao::with('user')->get();
$naturezas = Natureza::orderBy('nome')->get();
$yesterday = Carbon::yesterday('America/Recife');
$yesterday = $yesterday->toDateString();
$yesterday = $yesterday->toDateString();
return view('evento.editarEvento',['evento'=>$evento,
'coordenadores'=>$coordenadors,
'naturezas'=>$naturezas,
......@@ -323,76 +325,72 @@ class EventoController extends Controller
public function update(Request $request, $id)
{
//dd($request);
$evento = Evento::find($id);
$evento = Evento::find($id);
$yesterday = Carbon::yesterday('America/Recife');
$yesterday = $yesterday->toDateString();
$yesterday = $yesterday->toDateString();
if(
$request->inicioSubmissao == null ||
$request->fimSubmissao == null ||
$request->inicioRevisao == null ||
$request->fimDaRevisão == null ||
$request->resultado == null
$request->fimRevisao == null ||
$request->resultado == null
){
$validatedData = $request->validate([
'nome' => ['required', 'string'],
'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
'inícioDaSubmissão' => ['required', 'date'],
'fimDaSubmissão' => ['required', 'date'],
'inícioDaRevisão' => ['required', 'date'],
'fimDaRevisão' => ['required', 'date'],
'início_do_recurso' => ['required', 'date'],
'fim_do_recurso' => ['required', 'date'],
'resultado_final' => ['required', 'date'],
'resultado_preliminar'=> ['required', 'date'],
'pdfEdital' => ['file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => [],
'natureza' => ['required'],
'inicioSubmissao' => ['required', 'date'],
'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date', 'after:yesterday'],
'fimRevisao' => ['required', 'date'],
'resultado_preliminar'=> ['required', 'date'],
'inicio_recurso' => ['required', 'date'],
'fim_recurso' => ['required', 'date'],
'resultado_final' => ['required', 'date'],
'pdfEdital' => ['file', 'mimes:pdf', 'max:2048'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
]);
}
$validated = $request->validate([
'nome' => ['required', 'string'],
'descricao' => ['required', 'string','max:1500'],
'nome' => ['required', 'string'],
'descricao' => ['required', 'string', 'max:1500'],
'tipo' => ['required', 'string'],
'natureza' => ['required'],
'coordenador_id' => ['required'],
#----------------------------------------------
'inícioDaSubmissão' => ['required', 'date', 'after:' . $yesterday],
'fimDaSubmissão' => ['required', 'date', 'after_or_equal:inícioDaSubmissão'],
'inícioDaRevisão' => ['required', 'date', 'after:' . $yesterday],
'fimDaRevisão' => ['required', 'date', 'after:inícioDaRevisão', 'after:fimDaSubmissão'],
'resultado_preliminar'=> ['required', 'date', 'after_or_equal:fimDaRevisão'],
'início_do_recurso' => ['required', 'date', 'after_or_equal:resultado_preliminar'],
'fim_do_recurso' => ['required', 'date', 'after:início_do_recurso'],
'resultado_final' => ['required', 'date', 'after:fim_do_recurso'],
'pdfEdital' => ['file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
'natureza' => ['required'],
'inicioSubmissao' => ['required', 'date', 'after:yesterday'],
'fimSubmissao' => ['required', 'date', 'after_or_equal:inicioSubmissao'],
'inicioRevisao' => ['required', 'date', 'after:yesterday'],
'fimRevisao' => ['required', 'date', 'after:inicioRevisao', 'after:fimSubmissao'],
'resultado_preliminar'=> ['required', 'date', 'after_or_equal:fimRevisao'],
'inicio_recurso' => ['required', 'date', 'after_or_equal:resultado_preliminar'],
'fim_recurso' => ['required', 'date', 'after:inicio_recurso'],
'resultado_final' => ['required', 'date', 'after:fim_recurso'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
]);
$evento->nome = $request->nome;
$evento->nome = $request->nome;
$evento->descricao = $request->descricao;
$evento->tipo = $request->tipo;
$evento->natureza_id = $request->natureza;
$evento->inicioSubmissao = $request->inícioDaSubmissão;
$evento->fimSubmissao = $request->fimDaSubmissão;
$evento->inicioRevisao = $request->inícioDaRevisão;
$evento->fimRevisao = $request->fimDaRevisão;
$evento->inicio_recurso = $request->início_do_recurso;
$evento->fim_recurso = $request->fim_do_recurso;
$evento->natureza_id = $request->natureza;
$evento->inicioSubmissao = $request->inicioSubmissao;
$evento->fimSubmissao = $request->fimSubmissao;
$evento->inicioRevisao = $request->inicioRevisao;
$evento->fimRevisao = $request->fimRevisao;
$evento->inicio_recurso = $request->inicio_recurso;
$evento->fim_recurso = $request->fim_recurso;
$evento->resultado_preliminar = $request->resultado_preliminar;
$evento->resultado_final = $request->resultado_final;
$evento->coordenadorId = $request->coordenador_id;
$evento->coordenadorId = $request->coordenador_id;
if($request->pdfEdital != null){
$pdfEdital = $request->pdfEdital;
$path = 'pdfEdital/' . $evento->id . '/';
$nome = "edital.pdf";
Storage::putFileAs($path, $pdfEdital, $nome);
Storage::putFileAs($path, $pdfEdital, $nome);
}
if($request->modeloDocumento != null){
$modeloDocumento = $request->modeloDocumento;
$extension = $modeloDocumento->extension();
......@@ -423,7 +421,7 @@ class EventoController extends Controller
$comissao = ComissaoEvento::where('eventosId', $id);
$revisores = Revisor::where('eventoId', $id);
$trabalhos = Trabalho::where('evento_id', $id);
// if(isset($areas)){
// $areas->delete();
// }
......@@ -431,13 +429,13 @@ class EventoController extends Controller
$atividades->delete();
}
if(isset($comissao)){
$comissao->delete();
$comissao->delete();
}
if(isset($revisores)){
$revisores->delete();
$revisores->delete();
}
if(isset($trabalhos)){
$trabalhos->delete();
$trabalhos->delete();
}
Storage::deleteDirectory('pdfEdital/' . $evento->id );
......@@ -465,7 +463,7 @@ class EventoController extends Controller
$trabalhosId = Trabalho::whereIn('areaId', $areasId)->select('id')->get();
$revisores = Revisor::where('eventoId', $evento->id)->get();
$modalidades = Modalidade::all();
$areaModalidades = AreaModalidade::whereIn('areaId', $areasId)->get();
$areaModalidades = AreaModalidade::whereIn('areaId', $areasId)->get();
$trabalhos = Trabalho::whereIn('areaId', $areasId)->orderBy('id')->get();
$trabalhosEnviados = Trabalho::whereIn('areaId', $areasId)->count();
$trabalhosPendentes = Trabalho::whereIn('areaId', $areasId)->where('avaliado', 'processando')->count();
......@@ -549,7 +547,7 @@ class EventoController extends Controller
public function areaParticipante() {
$eventos = Evento::all();
return view('user.areaParticipante',['eventos'=>$eventos]);
}
......@@ -567,7 +565,7 @@ class EventoController extends Controller
}
}
}
return view('user.comissoes',['eventos'=>$evnts]);
}
......@@ -577,7 +575,7 @@ class EventoController extends Controller
$evento = Evento::find($request->eventoId);
$areasId = Area::where('eventoId', $evento->id)->select('id')->get();
$trabalhos = Trabalho::whereIn('areaId', $areasId)->orderBy('id')->get();
return view('user.areaComissao', ['trabalhos' => $trabalhos]);
}
......@@ -597,7 +595,7 @@ class EventoController extends Controller
if (Storage::disk()->exists($evento->modeloDocumento)) {
return Storage::download($evento->modeloDocumento);
}
return abort(404);
}
}
......@@ -10,6 +10,7 @@ use App\User;
use App\Trabalho;
use App\Proponente;
use App\Evento;
use Carbon\Carbon;
class ProponenteController extends Controller
{
......@@ -24,23 +25,25 @@ class ProponenteController extends Controller
public function editais(){
$eventos = Evento::all();
return view('proponente.editais', ['eventos'=> $eventos] );
$hoje = Carbon::today('America/Recife');
$hoje = $hoje->toDateString();
return view('proponente.editais', ['eventos'=> $eventos, 'hoje'=>$hoje] );
}
public function store(Request $request){
if (Auth()->user()->proponentes == null) {
$validated = $request->validate([
$validated = $request->validate([
'cargo' => 'required',
'vinculo' => 'required',
'outro' => ['required_if:vinculo,Outro'],
'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade,linkLattes'],
'titulacaoMaxima' => Rule::requiredIf( (isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo']=== 'Pós-doutorando')),
'anoTitulacao'=> ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf( (isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'areaFormacao'=> ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf( (isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade'=> ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade'=> ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf( (isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'],
//'nivel' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required':''],
......@@ -58,17 +61,17 @@ class ProponenteController extends Controller
$proponente->vinculo = $request->vinculo;
$proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
$proponente->nivel = $request->nivel;
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = Auth::user()->id;
$proponente->save();
$user = User::find(Auth()->user()->id);
$user = User::find(Auth()->user()->id);
//$user->tipo = "proponente";
$user->save();
$eventos = Evento::all();
return redirect( route('home'))->with(['mensagem' => 'Cadastro feito com sucesso! Você já pode criar projetos']);
}
......@@ -76,20 +79,22 @@ class ProponenteController extends Controller
return redirect( route('proponente.create'))->with(['mensagem' => 'Você já é proponente!']);
}
}
public function projetosDoProponente() {
$proponente = Proponente::where('user_id', Auth()->user()->id)->first();
$projetos = Trabalho::where('proponente_id', $proponente->id)->get();
return view('proponente.projetos')->with(['projetos' => $projetos]);
}
public function projetosEdital($id) {
$edital = Evento::find($id);
$projetos = Trabalho::where('evento_id', '=', $id)->get();
$hoje = Carbon::today('America/Recife');
$hoje = $hoje->toDateString();
return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos]);
return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos, 'hoje'=>$hoje]);
}
}
......@@ -32,6 +32,7 @@ use Illuminate\Support\Str;
use App\Mail\SubmissaoTrabalho;
use App\Mail\EventoCriado;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
class TrabalhoController extends Controller
{
......@@ -55,11 +56,11 @@ class TrabalhoController extends Controller
->orderByDesc('updated_at')->first();
//dd($rascunho);
return view('evento.submeterTrabalho',[
'edital' => $edital,
'grandeAreas' => $grandeAreas,
'funcaoParticipantes'=> $funcaoParticipantes,
'funcaoParticipantes'=> $funcaoParticipantes,
'rascunho' => $rascunho
]);
}
......@@ -91,8 +92,8 @@ class TrabalhoController extends Controller
// if($proponente == null){
// return view('proponente.cadastro');
// }
//$trabalho->proponentes()->save($proponente);
//dd($proponente);
//$trabalho->proponentes()->save($proponente);
$trabalho = "trabalho";
if($evento->inicioSubmissao > $mytime){
if($mytime >= $evento->fimSubmissao){
......@@ -102,7 +103,7 @@ class TrabalhoController extends Controller
//--Salvando os dados da submissão temporariamente
$trabalho = $this->armazenarInfoTemp($request, $proponente);
//O anexo de Decisão do CONSU dependo do tipo de edital
if( $evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM'){
......@@ -117,6 +118,7 @@ class TrabalhoController extends Controller
'linkLattesEstudante' => ['required', 'string', 'link_lattes'],
'nomeParticipante.*' => ['required', 'string'],
'emailParticipante.*' => ['required', 'string'],
'funcaoParticipante' => ['required', 'array', 'size:'.$request->countParticipante],
'funcaoParticipante.*' => ['required', 'string'],
'nomePlanoTrabalho.*' => ['nullable', 'string'],
//--Verificando se anexos já foram submetidos
......@@ -129,17 +131,17 @@ class TrabalhoController extends Controller
'anexoPlanilha' => [($request->anexoPlanilhaPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf,xls,xlsx', 'max:2048'],
'anexoPlanoTrabalho.*' => ['nullable', 'file', 'mimes:pdf', 'max:2048'],
]);
dd($request->all());
if(gettype($this->validarAnexosRascunho($request, $trabalho)) != 'integer'){
return $this->validarAnexosRascunho($request, $trabalho);
}
//$trabalho = Trabalho::create([
$trabalho['titulo'] = $request->nomeProjeto;
$trabalho['coordenador_id'] = $coordenador->id;
$trabalho['grande_area_id'] = $request->grandeArea;
$trabalho['area_id'] = $request->area;
$trabalho['sub_area_id'] = $request->subArea;
$trabalho['sub_area_id'] = $request->subArea;
$trabalho['pontuacaoPlanilha'] = $request->pontuacaoPlanilha;
$trabalho['linkGrupoPesquisa'] = $request->linkGrupo;
$trabalho['linkLattesEstudante'] = $request->linkLattesEstudante;
......@@ -154,7 +156,7 @@ class TrabalhoController extends Controller
$trabalho['justificativaAutorizacaoEtica'] = $request->justificativaAutorizacaoEtica != null ? $request->justificativaAutorizacaoEtica : $trabalho->justificativaAutorizacaoEtica;
$trabalho['anexoLattesCoordenador'] = $request->anexoLattesCoordenador != null ? $request->anexoLattesCoordenador : $trabalho->anexoLattesCoordenador;
$trabalho['anexoPlanilhaPontuacao'] = $request->anexoPlanilha != null ? $request->anexoPlanilha : $trabalho->anexoPlanilhaPontuacao;
//dd($trabalho);
} else {
//Caso em que o anexo da Decisão do CONSU não necessário
......@@ -185,7 +187,7 @@ class TrabalhoController extends Controller
$trabalho['coordenador_id'] = $coordenador->id;
$trabalho['grande_area_id'] = $request->grandeArea;
$trabalho['area_id'] = $request->area;
$trabalho['sub_area_id'] = $request->subArea;
$trabalho['sub_area_id'] = $request->subArea;
$trabalho['pontuacaoPlanilha'] = $request->pontuacaoPlanilha;
$trabalho['linkGrupoPesquisa'] = $request->linkGrupo;
$trabalho['linkLattesEstudante'] = $request->linkLattesEstudante;
......@@ -199,19 +201,19 @@ class TrabalhoController extends Controller
$trabalho['justificativaAutorizacaoEtica'] = $request->justificativaAutorizacaoEtica;
$trabalho['anexoLattesCoordenador'] = $request->anexoLattesCoordenador;
$trabalho['anexoPlanilhaPontuacao'] = $request->anexoPlanilha;
}
//Envia email com senha temp para cada participante do projeto
if($request->emailParticipante != null){
foreach ($request->emailParticipante as $key => $value) {
$userParticipante = User::where('email', $value)->first();
$participante = new Participante();
if($userParticipante == null){
$passwordTemporario = Str::random(8);
$passwordTemporario = Str::random(8);
$subject = "Participante de Projeto";
Mail::to($value)->send(new EmailParaUsuarioNaoCadastrado(Auth()->user()->name, $request->nomeProjeto, 'Participante', $evento->nome, $passwordTemporario, $subject));
$usuario = User::create([
......@@ -241,7 +243,7 @@ class TrabalhoController extends Controller
$participante->trabalhos()->save($trabalho);
$subject = "Participante de Projeto";
$subject = "Participante de Projeto";
$email = $value;
Mail::to($email)
->send(new SubmissaoTrabalho($userParticipante, $subject, $evento, $trabalho));
......@@ -265,15 +267,15 @@ class TrabalhoController extends Controller
$arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
}
}
}
//-- Salvando anexos no storage ---//
$pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id;
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento);
$trabalho = $this->armazenarAnexosFinais($request, $pasta, $trabalho, $evento);
$subject = "Submissão de Trabalho";
$autor = Auth()->user();
......@@ -281,7 +283,7 @@ class TrabalhoController extends Controller
$trabalho = $trabalho;
Mail::to($autor->email)
->send(new SubmissaoTrabalho($autor, $subject, $evento, $trabalho));
return redirect()->route('evento.visualizar',['id'=>$request->editalId]);
}
......@@ -293,7 +295,7 @@ class TrabalhoController extends Controller
//Relaciona o projeto criado com o proponente que criou o projeto
$proponente = Proponente::where('user_id', Auth::user()->id)->first();
$trabalho = "trabalho";
if($evento->inicioSubmissao > $mytime){
if($mytime >= $evento->fimSubmissao){
......@@ -310,16 +312,16 @@ class TrabalhoController extends Controller
//Armazena temporariamente dados da submissão, no banco de dados e no storage
public function armazenarInfoTemp(Request $request, $proponente){
//---Dados do Projeto
//---Dados do Projeto
$trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$request->editalId)->where('status', 'Rascunho')
->orderByDesc('updated_at')->first();
//dd($trabalho);
if($trabalho == null){
if($trabalho == null){
$trabalho = new Trabalho();
$trabalho->proponente_id = $proponente->id;
$trabalho->evento_id = $request->editalId;
$trabalho->status = 'Rascunho';
$stringKeys = ['titulo','linkGrupoPesquisa', 'linkLattesEstudante','pontuacaoPlanilha','anexoProjeto',
'anexoPlanilhaPontuacao', 'anexoLattesCoordenador'];
$intKeys = ['grande_area_id','area_id','sub_area_id','coordenador_id'];
......@@ -331,7 +333,7 @@ class TrabalhoController extends Controller
}
if(!(is_null($request->nomeProjeto)) ) {
$trabalho->titulo = $request->nomeProjeto;
$trabalho->titulo = $request->nomeProjeto;
}
if(!(is_null($request->grandeArea))){
$trabalho->grande_area_id = $request->grandeArea;
......@@ -348,17 +350,17 @@ class TrabalhoController extends Controller
if(!(is_null($request->linkGrupo))){
$trabalho->linkGrupoPesquisa = $request->linkGrupo;
}
//Anexos do projeto
$pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id;
if(!(is_null($request->anexoCONSU)) ) {
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoCONSU, "CONSU.pdf");
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoCONSU, "CONSU.pdf");
}
if (!(is_null($request->anexoComiteEtica))) {
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf");
}
}
if (!(is_null($request->justificativaAutorizacaoEtica))) {
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, "Justificativa.pdf");
}
......@@ -373,19 +375,19 @@ class TrabalhoController extends Controller
}
$trabalho->update();
//---Anexos planos de trabalho
//dd($trabalho);
return $trabalho;
return $trabalho;
}
public function validarAnexosRascunho(Request $request, $trabalho){
//dd($trabalho->getAttributes());
$validator = Validator::make($trabalho->getAttributes(),[
$validator = Validator::make($trabalho->getAttributes(),[
'anexoPlanilhaPontuacao' => $request->anexoPlanilha==null?['planilha']:[],
]);
]);
if ($validator->fails()) {
dd('asdf');
......@@ -395,44 +397,44 @@ class TrabalhoController extends Controller
}
public function armazenarAnexosFinais($request, $pasta, $trabalho, $evento){
// Anexo Projeto
if(isset($request->anexoProjeto)){
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf');
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, 'Projeto.pdf');
}
//Anexo Decisão CONSU
if( $evento->tipo == 'PIBIC' || $evento->tipo == 'PIBIC-EM') {
if( isset($request->anexoCONSU)){
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoCONSU, 'CONSU.pdf');
if( isset($request->anexoCONSU)){
$trabalho->anexoDecisaoCONSU = Storage::putFileAs($pasta, $request->anexoCONSU, 'CONSU.pdf');
}
}
//Autorização ou Justificativa
if( isset($request->anexoComiteEtica)){
//Autorização ou Justificativa
if( isset($request->anexoComiteEtica)){
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, 'Comite_de_etica.pdf');
} elseif( isset($request->justificativaAutorizacaoEtica)){
} elseif( isset($request->justificativaAutorizacaoEtica)){
$trabalho->justificativaAutorizacaoEtica = Storage::putFileAs($pasta, $request->justificativaAutorizacaoEtica, 'Justificativa.pdf');
}
}
//Anexo Lattes
if( isset($request->anexoLattesCoordenador)){
if( isset($request->anexoLattesCoordenador)){
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, 'Lattes_Coordenador.pdf');
}
//Anexo Planilha
if( isset($request->anexoPlanilha)){
if( isset($request->anexoPlanilha)){
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilha, "Planilha.". $request->file('anexoPlanilha')->extension());
}
$trabalho->update();
//Planos de trabalho
//Envia email com senha temp para cada participante do projeto
if($request->emailParticipante != null){
foreach ($request->emailParticipante as $key => $value) {
$userParticipante = User::where('email', $value)->first();
......@@ -470,7 +472,7 @@ class TrabalhoController extends Controller
$participante->trabalhos()->save($trabalho);
$subject = "Participante de Projeto";
$subject = "Participante de Projeto";
$email = $value;
// Mail::to($email)
// ->send(new SubmissaoTrabalho($userParticipante, $subject, $evento, $trabalho));
......@@ -494,7 +496,7 @@ class TrabalhoController extends Controller
$arquivo->participanteId = $participante->id;
$arquivo->versaoFinal = true;
$arquivo->save();
}
}
}
}
......@@ -512,8 +514,8 @@ class TrabalhoController extends Controller
{
//
$projeto = Trabalho::find($id);
$edital = Evento::find($projeto->evento_id);
$grandeArea = GrandeArea::where('id', $projeto->grande_area_id)->select('nome')->first();
$edital = Evento::find($projeto->evento_id);
$grandeArea = GrandeArea::where('id', $projeto->grande_area_id)->select('nome')->first();
$area = Area::where('id', $projeto->area_id)->select('nome')->first();
$subarea = Subarea::where('id', $projeto->sub_area_id)->select('nome')->first();
$proponente = Proponente::find($projeto->proponente_id);
......@@ -551,7 +553,7 @@ class TrabalhoController extends Controller
$participantes = Participante::where('trabalho_id', $id)->get();
$participantesUsersIds = Participante::where('trabalho_id', $id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get();
$arquivos = Arquivo::where('trabalhoId', $id)->get();
//dd(Participante::all());
return view('projeto.editar')->with(['projeto' => $projeto,
'grandeAreas' => $grandeAreas,
......@@ -579,7 +581,7 @@ 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();
//$trabalho->proponentes()->save($proponente);
//$trabalho->proponentes()->save($proponente);
//dd($coordenador->id);
$trabalho = "trabalho";
if($evento->inicioSubmissao > $mytime){
......@@ -628,14 +630,14 @@ class TrabalhoController extends Controller
$trabalho->coordenador_id = $coordenador->id;
$trabalho->grande_area_id = $request->grandeArea;
$trabalho->area_id = $request->area;
$trabalho->sub_area_id = $request->subArea;
$trabalho->sub_area_id = $request->subArea;
$trabalho->pontuacaoPlanilha = $request->pontuacaoPlanilha;
$trabalho->linkGrupoPesquisa = $request->linkGrupo;
$trabalho->linkLattesEstudante = $request->linkLattesEstudante;
$trabalho->data = $mytime;
$trabalho->evento_id = $request->editalId;
$trabalho->proponente_id = $proponente->id;
$pasta = 'trabalhos/' . $request->editalId . '/' . $trabalho->id;
if (!(is_null($request->anexoCONSU))) {
......@@ -647,17 +649,17 @@ class TrabalhoController extends Controller
Storage::delete($trabalho->anexoProjeto);
$trabalho->anexoProjeto = Storage::putFileAs($pasta, $request->anexoProjeto, "Projeto.pdf");
}
if (!(is_null($request->anexoComiteEtica))) {
Storage::delete($trabalho->anexoComiteEtica);
$trabalho->anexoAutorizacaoComiteEtica = Storage::putFileAs($pasta, $request->anexoComiteEtica, "Comite_de_etica.pdf");
}
if (!(is_null($request->anexoLattesCoordenador))) {
Storage::delete($trabalho->anexoLattesCoordenador);
$trabalho->anexoLattesCoordenador = Storage::putFileAs($pasta, $request->anexoLattesCoordenador, "Latter_Coordenador.pdf");
}
if (!(is_null($request->anexoPlanilha))) {
Storage::delete($trabalho->anexoLattesCoordenador);
$trabalho->anexoPlanilhaPontuacao = Storage::putFileAs($pasta, $request->anexoPlanilha, "Planilha.pdf");
......@@ -667,13 +669,13 @@ class TrabalhoController extends Controller
// criando novos participantes que podem ter sido adicionados
$participantesUsersIds = Participante::where('trabalho_id', '=', $trabalho->id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get();
$users = User::whereIn('id', $participantesUsersIds)->get();
$emailParticipantes = [];
foreach ($users as $user) {
array_push($emailParticipantes, $user->email);
}
foreach ($request->emailParticipante as $key => $value) {
// criando novos participantes que podem ter sido adicionados
foreach ($request->emailParticipante as $key => $value) {
// criando novos participantes que podem ter sido adicionados
if (!(in_array($request->emailParticipante[$key], $emailParticipantes, false))) {
$userParticipante = User::where('email', $value)->first();
if($userParticipante == null){
......@@ -692,7 +694,7 @@ class TrabalhoController extends Controller
$participante->trabalho_id = $trabalho->id;
$participante->funcao_participante_id = $request->funcaoParticipante[$key];
$participante->save();
}else{
$participante = new Participante();
$participante->user_id = $userParticipante->id;
......@@ -702,10 +704,10 @@ class TrabalhoController extends Controller
$participante->trabalhos()->save($trabalho);
$subject = "Participante de Projeto";
$subject = "Participante de Projeto";
$email = $value;
Mail::to($email)
->send(new SubmissaoTrabalho($userParticipante, $subject));
->send(new SubmissaoTrabalho($userParticipante, $subject));
}
$path = 'trabalhos/' . $request->editalId . '/' . $trabalho->id .'/';
......@@ -725,9 +727,9 @@ class TrabalhoController extends Controller
//atualizando os participantes que já estão no projeto e planos de trabalho se enviados
if (in_array($request->emailParticipante[$key], $emailParticipantes, false)) {
$userParticipante = User::where('email', $value)->first();
$userParticipante = User::where('email', $value)->first();
if($userParticipante != null){
$user = User::where('email', $request->emailParticipante[$key])->first();
$participante = Participante::where([['user_id', '=', $user->id], ['trabalho_id', '=', $trabalho->id]])->first();
......@@ -738,22 +740,22 @@ class TrabalhoController extends Controller
$participante->update();
//atualizando planos de trabalho
if ($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho)) {
if (!(is_null($request->anexoPlanoTrabalho[$key]))) {
if ($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho)) {
if (!(is_null($request->anexoPlanoTrabalho[$key]))) {
$arquivo = Arquivo::where('participanteId', $participante->id)->first();
//se plano já existir, deletar
if($arquivo != null){
if($arquivo != null){
Storage::delete($arquivo->nome);
$arquivo->delete();
}
//atualizar plano
if($request->semPlano[$key] == null){
if($request->semPlano[$key] == null){
$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;
......@@ -770,7 +772,7 @@ class TrabalhoController extends Controller
if($request->semPlano[$key] == 'sim'){
$arquivo = Arquivo::where('participanteId', $participante->id)->first();
//se plano já existir, deletar
if($arquivo != null){
if($arquivo != null){
Storage::delete($arquivo->nome);
$arquivo->delete();
}
......@@ -779,15 +781,15 @@ class TrabalhoController extends Controller
}
}
}
// Atualizando possiveis usuários removidos
$participantesUsersIds = Participante::where('trabalho_id', '=', $trabalho->id)->select('user_id')->get();
$users = User::whereIn('id', $participantesUsersIds)->get();
foreach ($users as $user) {
if (!(in_array($user->email, $request->emailParticipante, false))) {
$participante = Participante::where([['user_id', '=', $user->id], ['trabalho_id', '=', $trabalho->id]])->first();
$arquivo = Arquivo::where('participanteId', $participante->id)->first();
foreach ($users as $user) {
if (!(in_array($user->email, $request->emailParticipante, false))) {
$participante = Participante::where([['user_id', '=', $user->id], ['trabalho_id', '=', $trabalho->id]])->first();
$arquivo = Arquivo::where('participanteId', $participante->id)->first();
if($arquivo != null){
Storage::delete($arquivo->nome);
$arquivo->delete();
......@@ -810,16 +812,16 @@ class TrabalhoController extends Controller
$trabalho = Trabalho::find($request->id);
//dd($trabalho);
Storage::deleteDirectory('trabalhos/' . $trabalho->evento->id . '/' . $trabalho->id );
$trabalho->delete();
return redirect()->back()->with(['mensagem' => 'Projeto deletado com sucesso!']);
}
public function excluirParticipante($id){
public function excluirParticipante($id){
$participante = Participante::where('user_id', Auth()->user()->id)
->where('trabalho_id', $id)->first();
->where('trabalho_id', $id)->first();
$participante->trabalhos()->detach($id);
$participante->trabalhos()->detach($id);
$participante->delete();
return redirect()->back();
......@@ -942,12 +944,12 @@ class TrabalhoController extends Controller
$todosAvaliadores = Avaliador::all();
$avaliadores = Avaliador::whereIn('id', $request->avaliadores)->with('user')->get();
$avaliadores = Avaliador::whereIn('id', $request->avaliadores)->with('user')->get();
$trabalho->avaliadors()->sync($request->avaliadores);
foreach ($avaliadores as $key => $avaliador) {
$user = $avaliador->user;
$subject = "Trabalho atribuido";
Mail::to($user->email)
......@@ -956,7 +958,7 @@ class TrabalhoController extends Controller
return view('coordenadorComissao.detalhesEdital', ['evento'=> $trabalho->evento ]);
}
public function projetosDoEdital($id) {
$edital = Evento::find($id);
$projetos = Trabalho::where('evento_id', '=', $id)->get();
......@@ -975,7 +977,7 @@ class TrabalhoController extends Controller
public function baixarAnexoConsu($id) {
$projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoDecisaoCONSU)) {
return Storage::download($projeto->anexoDecisaoCONSU);
}
......@@ -984,7 +986,7 @@ class TrabalhoController extends Controller
public function baixarAnexoComite($id) {
$projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->anexoAutorizacaoComiteEtica)) {
return Storage::download($projeto->anexoAutorizacaoComiteEtica);
}
......@@ -1008,18 +1010,18 @@ class TrabalhoController extends Controller
}
return abort(404);
}
public function baixarAnexoJustificativa($id) {
$projeto = Trabalho::find($id);
if (Storage::disk()->exists($projeto->justificativaAutorizacaoEtica)) {
return Storage::download($projeto->justificativaAutorizacaoEtica);
}
return abort(404);
}
public function baixarAnexoTemp($eventoId, $nomeAnexo) {
public function baixarAnexoTemp($eventoId, $nomeAnexo) {
$proponente = Proponente::where('user_id', Auth::user()->id)->first();
$trabalho = Trabalho::where('proponente_id', $proponente->id)->where('evento_id',$eventoId)->where('status', 'Rascunho')
......@@ -1030,7 +1032,7 @@ class TrabalhoController extends Controller
}
return abort(404);
}
public function baixarEventoTemp($nomeAnexo){
$eventoTemp = Evento::where('criador_id', Auth::user()->id)->where('anexosStatus', 'temporario')
->orderByDesc('updated_at')->first();
......
......@@ -8,9 +8,9 @@
<div class="row justify-content-center titulo">
<div class="col-sm-12">
<div class="row">
<h3>Editais</h3>
</div>
</div>
</div>
......@@ -36,7 +36,7 @@
@can('isCoordenador', $evento)
<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">
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a>
<div class="dropdown-menu">
<a href="{{ route('coord.detalhesEvento', ['eventoId' => $evento->id]) }}" class="dropdown-item">
......@@ -68,21 +68,23 @@
</div>
</div>
<p class="card-text">
<p class="card-text">
<strong>Submissão:</strong> {{date('d/m/Y',strtotime($evento->inicioSubmissao))}} - {{date('d/m/Y',strtotime($evento->fimSubmissao))}}<br>
<strong>Revisão:</strong> {{date('d/m/Y',strtotime($evento->inicioRevisao))}} - {{date('d/m/Y',strtotime($evento->fimRevisao))}}<br>
<strong>Resultado Preliminar:</strong> {{date('d/m/Y',strtotime($evento->resultado_preliminar))}}<br>
<strong>Recurso:</strong> {{date('d/m/Y',strtotime($evento->inicio_recurso))}} - {{date('d/m/Y',strtotime($evento->fim_recurso))}}<br>
<strong>Resultado Final:</strong> {{date('d/m/Y',strtotime($evento->resultado_final))}}<br>
</p>
<p>
@if (Auth::check())
<a href="{{ route('evento.visualizar',['id'=> $evento->id]) }}" class="visualizarEvento">Visualizar edital</a>
@if(Auth::user()->proponentes == null)
<br><a href="{{ route('proponente.create' )}}" class="visualizarEvento">Criar projeto</a>
@else
<br><a href="{{ route('trabalho.index', ['id' => $evento->id] )}}" class="visualizarEvento">Criar projeto</a>
@if($evento->inicioSubmissao <= $hoje && $hoje <= $evento->fimSubmissao)
<br><a href="{{ route('trabalho.index', ['id' => $evento->id] )}}" class="visualizarEvento">Criar projeto</a>
@endif
@endif
@else
<a href="{{ route('evento.visualizarNaoLogado', ['id'=>$evento->id]) }}" class="visualizarEvento">Visualizar edital</a>
......
......@@ -7,6 +7,14 @@
<div class="card" style="margin-top:50px">
<div class="card-body">
<h5 class="card-title">Enviar Projeto</h5>
{{-- @if($errors->any())
<div class="col-md-12" style="margin-top: 100px;">
<div class="alert alert-success">
<p>{{ $errors}}</p>
</div>
</div>
@endif --}}
<p class="card-text">
<form method="POST" name="formTrabalho" action="{{route('trabalho.store')}}" enctype="multipart/form-data">
@csrf
......@@ -33,7 +41,7 @@
<select class="form-control @error('grandeArea') is-invalid @enderror" id="grandeArea" name="grandeArea" onchange="areas()">
<option value="" disabled selected hidden>-- Grande Área --</option>
@foreach($grandeAreas as $grandeArea)
<option @if(old('grandeArea') !== null ? old('grandeArea') : (isset($rascunho) ? $rascunho->grande_area_id : '')
<option @if(old('grandeArea') !== null ? old('grandeArea') : (isset($rascunho) ? $rascunho->grande_area_id : '')
== $grandeArea->id ) selected @endif value="{{$grandeArea->id}}">{{$grandeArea->nome}}</option>
@endforeach
</select>
......@@ -47,7 +55,7 @@
<div class="col-sm-4">
<label for="area" class="col-form-label">{{ __('Área*:') }}</label>
<input type="hidden" id="oldArea" value="{{ old('area') }}">
<select class="form-control @error('area') is-invalid @enderror" id="area" name="area" onchange="subareas()">
<select class="form-control @error('area') is-invalid @enderror" id="area" name="area" onchange="subareas()">
<option value="" disabled selected hidden>-- Área --</option>
{{-- @foreach($areas as $area)
<option @if(old('area') !== null ? old('area') : (isset($rascunho) ? $rascunho->area_id : '')
......@@ -64,7 +72,7 @@
<div class="col-sm-4">
<label for="subArea" class="col-form-label">{{ __('Sub Área*:') }}</label>
<input type="hidden" id="oldSubArea" value="{{ old('subArea') }}">
<select class="form-control @error('subArea') is-invalid @enderror" id="subArea" name="subArea">
<select class="form-control @error('subArea') is-invalid @enderror" id="subArea" name="subArea">
<option value="" disabled selected hidden>-- Sub Área --</option>
{{-- @foreach($subAreas as $subArea)
<option @if(old('subArea') !== null ? old('subArea') : (isset($rascunho) ? $rascunho->sub_area_id : '')
......@@ -107,18 +115,18 @@
</div>
<div class="col-sm-6">
<label for="pontuacaoPlanilha" class="col-form-label">{{ __('Pontuação da Planilha de Pontuação*:') }}</label>
<input class="form-control @error('pontuacaoPlanilha') is-invalid @enderror" type="number" name="pontuacaoPlanilha"
<input class="form-control @error('pontuacaoPlanilha') is-invalid @enderror" type="number" name="pontuacaoPlanilha"
value="{{old('pontuacaoPlanilha') !== null ? old('pontuacaoPlanilha') : (isset($rascunho) ? $rascunho->pontuacaoPlanilha : '')}}" placeholder="80">
@error('pontuacaoPlanilha')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@enderror
</div>
<div class="col-sm-6">
<label for="linkGrupo" class="col-form-label">{{ __('Link do Grupo de Pesquisa*:') }}</label>
<input class="form-control @error('linkGrupo') is-invalid @enderror" type="text" name="linkGrupo"
<input class="form-control @error('linkGrupo') is-invalid @enderror" type="text" name="linkGrupo"
value="{{old('linkGrupo') !== null ? old('linkGrupo') : (isset($rascunho) ? $rascunho->linkGrupoPesquisa : '')}}" placeholder="http://dgp.cnpq.br/dgp/espelhogrupo/4921797051521302">
@error('linkGrupo')
......@@ -137,17 +145,17 @@
<div class="row justify-content-center">
{{-- Arquivo --}}
<div class="col-sm-6">
<label for="anexoProjeto" class="col-form-label">{{ __('Anexo Projeto*:') }}</label>
<label for="anexoProjeto" class="col-form-label">{{ __('Anexo Projeto*:') }}</label>
@if(old('anexoProjetoPreenchido') != null || (isset($rascunho) && $rascunho->anexoProjeto != ""))
<a id="anexoProjetoTemp" href="{{ route('baixar.anexo.temp', ['eventoId' => $edital->id,
'nomeAnexo' => 'anexoProjeto' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="anexoProjetoPreenchido" name="anexoProjetoPreenchido"
<input type="hidden" id="anexoProjetoPreenchido" name="anexoProjetoPreenchido"
@if( isset($rascunho) && $rascunho->anexoProjeto != "") value="sim" @else value="{{old('anexoProjetoPreenchido')}}" @endif >
<div class="input-group">
<div class="custom-file">
<input type="file" class="custom-file-input @error('anexoProjeto') is-invalid @enderror" id="anexoProjeto" aria-describedby="inputGroupFileAddon01" name="anexoProjeto" onchange="exibirAnexoTemp(this)">
<input type="file" class="custom-file-input @error('anexoProjeto') is-invalid @enderror" id="anexoProjeto" aria-describedby="inputGroupFileAddon01" name="anexoProjeto" onchange="exibirAnexoTemp(this)">
<label class="custom-file-label" id="custom-file-label" for="anexoProjeto">O arquivo deve ser no formato PDF de até 2mb.</label>
</div>
</div>
......@@ -164,7 +172,7 @@
<a id="anexoLattesTemp" href="{{ route('baixar.anexo.temp', ['eventoId' => $edital->id,
'nomeAnexo' => 'anexoLattesCoordenador' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="anexoLattesPreenchido" name="anexoLattesPreenchido"
<input type="hidden" id="anexoLattesPreenchido" name="anexoLattesPreenchido"
@if( isset($rascunho) && $rascunho->anexoLattesCoordenador != "") value="sim" @else value="{{old('anexoLattesPreenchido')}}" @endif >
<div class="input-group">
......@@ -197,7 +205,7 @@
<a id="anexoComiteTemp" href="{{ route('baixar.anexo.temp', ['eventoId' => $edital->id,
'nomeAnexo' => 'anexoAutorizacaoComiteEtica' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="anexoComitePreenchido" name="anexoComitePreenchido"
<input type="hidden" id="anexoComitePreenchido" name="anexoComitePreenchido"
@if( isset($rascunho) && $rascunho->anexoAutorizacaoComiteEtica != "") value="sim" @else value="{{old('anexoComitePreenchido')}}" @endif >
<div class="input-group">
......@@ -247,7 +255,7 @@
<a id="anexoJustificativaTemp" href="{{ route('baixar.anexo.temp', ['eventoId' => $edital->id,
'nomeAnexo' => 'justificativaAutorizacaoEtica' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="anexoJustificativaPreenchido" name="anexoJustificativaPreenchido"
<input type="hidden" id="anexoJustificativaPreenchido" name="anexoJustificativaPreenchido"
@if( isset($rascunho) && $rascunho->justificativaAutorizacaoEtica != "") value="sim" @else value="{{old('anexoJustificativaPreenchido')}}" @endif >
<div class="input-group">
......@@ -272,7 +280,7 @@
<a id="anexoConsuTemp" href="{{ route('baixar.anexo.temp', ['eventoId' => $edital->id,
'nomeAnexo' => 'anexoDecisaoCONSU' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="anexoConsuPreenchido" name="anexoConsuPreenchido"
<input type="hidden" id="anexoConsuPreenchido" name="anexoConsuPreenchido"
@if( isset($rascunho) && $rascunho->anexoDecisaoCONSU != "") value="sim" @else value="{{old('anexoConsuPreenchido')}}" @endif >
<div class="input-group">
......@@ -305,11 +313,11 @@
@endif
@if ($countParticipante != null && $countParticipante > 0)
@for ($i = 0; $i < $countParticipante; $i++)
@for ($i = 0; $i < $countParticipante; $i++)
{{-- inicio do card --}}
{{-- <div class="card" >
<div class="card-body"> --}}
<div id="novoParticipante" style="display: block;">
<br>
<h4>Dados do participante</h4>
......@@ -317,7 +325,7 @@
<div class="col-sm-5">
<label>Nome Completo*</label>
<input type="text" style="margin-bottom:10px" class="form-control @error('nomeParticipante') is-invalid @enderror" name="nomeParticipante[]" placeholder="Nome" value="{{old('nomeParticipante.'.$i)}}">
@error('nomeParticipante')
@error('nomeParticipante.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
......@@ -339,19 +347,18 @@
@foreach($funcaoParticipantes as $funcaoParticipante)
<option @if(old('funcaoParticipante.'.$i)==$funcaoParticipante->id ) selected @endif value="{{$funcaoParticipante->id}}">{{$funcaoParticipante->nome}}</option>
@endforeach
@error('funcaoParticipante')
</select>
@error('funcaoParticipante')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
</select>
@enderror
</div>
</div>
</div>
<h6 class="mb-1">Possui plano de trabalho?</h6>
<button class="btn btn-primary mt-2 mb-2 simPlano">Sim</button>
<button class="btn btn-primary mt-2 mb-2 naoPlano">Não</button>
<button class="btn btn-primary mt-2 mb-2 naoPlano">Não</button>
<div id="planoHabilitado" style="display:none;">
<h5>Dados do plano de trabalho</h5>
<div class="row">
......@@ -361,7 +368,7 @@
<div class="col-sm-4">
<label>Titulo* </label>
<input type="text" style="margin-bottom:10px" class="form-control @error('nomePlanoTrabalho') is-invalid @enderror" name="nomePlanoTrabalho[]" placeholder="Nome" value="{{old('nomePlanoTrabalho.'.$i)}}">
@error('nomePlanoTrabalho')
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
......@@ -384,33 +391,33 @@
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
@enderror
@enderror
</div>
<div class="col-sm-1">
{{-- <a class="delete">
<img src="{{ asset('/img/icons/user-times-solid.svg') }}" style="width:25px;margin-top:35px">
</a> --}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@if($i != 0)
</div>
</div>
</div>
</div>
@if($i != 0)
<a href='#' class="btn btn-danger mt-2 mb-2 delete" style='width:100%;margin-top:10px'>Remover participante</a>
@endif
</div>
{{-- </div>
</div> --}}
{{-- inicio do card --}}
{{-- inicio do card --}}
@endfor
@endif
</div>
<input type="hidden" name="countParticipante" id="countParticipante" value="{{ old('countParticipante') != null ? old('countParticipante') : 1}}">
<a href="#" class="btn btn-primary" id="addCoautor" style="width:100%;margin-top:10px">Adicionar participante</a>
</div>
</div>
<hr>
......@@ -419,13 +426,13 @@
<div class="col-md-6">
<button type="submit" formaction="{{route('trabalho.storeParcial')}}" class="btn btn-primary" style="width:100%;margin-bottom:10px">
{{ __('Salvar como Rascunho') }}
</button>
</div>
<div class="col-md-6">
</button>
</div>
<div class="col-md-6">
<button type="submit" class="btn btn-success" style="width:100%">
{{ __('Enviar Projeto') }}
</button>
</div>
</div>
</div>
@if (Auth()->user()->administradors != null)
<a href="{{ route('admin.editais') }}" class="btn btn-secondary" style="width:100%">Cancelar</a>
......@@ -443,7 +450,7 @@
@section('javascript')
<script type="text/javascript">
$(function() {
var qtdLinhas = 1;
var qtdLinhas = 1;
// Coautores
$('#addCoautor').click(function(e) {
var countParticipante = document.getElementById('countParticipante');
......@@ -451,7 +458,7 @@
e.preventDefault();
linha = montarLinhaInput();
$('#participantes').append(linha);
setParticipanteDiv(parseInt(countParticipante.value) + 1);
setParticipanteDiv(parseInt(countParticipante.value) + 1);
}
});
......@@ -475,11 +482,11 @@
// });
$(document).on('click', '.delete', function() {
var countParticipante = document.getElementById('countParticipante');
if (countParticipante.value >= 2) {
if (countParticipante.value >= 2) {
setParticipanteDiv(parseInt(countParticipante.value) - 1);
$(this).closest('#novoParticipante').remove();
return false;
}
}
});
$(document).on('click', '.deletePlano', function() {
if (qtdLinhas > 1) {
......@@ -510,7 +517,7 @@
$('#buttonNao').on('click', function(e) {
e.preventDefault();
$('#inputEtica').prop('disabled', true);
$('#inputJustificativa').prop('disabled', false);
$('#inputJustificativa').prop('disabled', false);
exibirErro('justificativa');
//$('#anexoComitePreenchido').val("");
});
......@@ -521,17 +528,17 @@
$(document).on('click', '.simPlano', function(e) {
e.preventDefault();
var plano = $(this).next().next()[0];
plano.style.display = 'block';
plano.style.display = 'block';
});
$(document).on('click', '.naoPlano', function(e) {
e.preventDefault();
var plano = $(this).next()[0];
plano.style.display = 'none';
plano.style.display = 'none';
});
});
function exibirErro(campo) {
function exibirErro(campo) {
var botao = document.getElementById('botao');
botao.value = "sim";
var comiteErro = document.getElementById('comiteErro');
......@@ -554,11 +561,11 @@
if(anexoComitePreenchido.value == "sim"){
$('#inputEtica').prop('disabled', false);
$('#inputJustificativa').prop('disabled', true);
$('#inputJustificativa').prop('disabled', true);
exibirErro('comite');
} else if(anexoJustificativaPreenchido.value == "sim"){
$('#inputEtica').prop('disabled', true);
$('#inputJustificativa').prop('disabled', false);
$('#inputJustificativa').prop('disabled', false);
exibirErro('justificativa');
}
}
......@@ -583,7 +590,7 @@
"<br><h4>Dados do participante</h4>" +
"</div>"+
"<div class='col-sm-3'>"+
"</div>"+
"</div>"+
"<div class="+"row"+">"+
......@@ -612,17 +619,17 @@
"@foreach($funcaoParticipantes as $funcaoParticipante)"+
"<option value='{{$funcaoParticipante->id}}'>{{$funcaoParticipante->nome}}</option>"+
"@endforeach"+
"@error('funcaoParticipante')" +
"<span class='invalid-feedback'" + "role='alert'" + "style='overflow: visible; display:block'>" +
"@error('funcaoParticipante'. $i)" +
"<span class='invalid-feedback'" + " role='alert'" + " style='overflow: visible; display:block'>" +
"<strong>{{ $message }}</strong>" +
"</span>" +
"@enderror" +
"</select>"+
"</div>"+
"</div>" +
"</div>" +
"<h6 class='mb-1'>Possui plano de trabalho?</h6>"+
"<button class="+"'btn btn-primary mt-2 mb-2 mr-1 simPlano'"+">Sim</button>"+
"<button class="+"'btn btn-primary mt-2 mb-2 mr-1 naoPlano'"+">Não</button>"+
"<button class="+"'btn btn-primary mt-2 mb-2 mr-1 naoPlano'"+">Não</button>"+
"<div id="+"planoHabilitado"+" style="+"'display:none;'"+">" +
"<h5>Dados do plano de trabalho</h5>" +
"<div class="+"row"+">"+
......@@ -652,7 +659,7 @@
"<span class='invalid-feedback' role='alert' style='overflow: visible; display:block'>"+
"<strong>{{ $message }}</strong>"+
"</span>"+
"@enderror"+
"@enderror"+
"</div>"+
"<div class="+"col-sm-1"+">"+
"<a class="+"delete"+">"+
......@@ -661,73 +668,40 @@
"</div>"+
"</div>"+
"</div>"+
"<a href='#' class="+"'btn btn-danger mt-2 mb-2 delete'"+" style='width:100%;margin-top:10px'"+">Remover participante</a>"+
"<a href='#' class="+"'btn btn-danger mt-2 mb-2 delete'"+" style='width:100%;margin-top:10px'"+">Remover participante</a>"+
"</div>";
}
// function montarLinhaInputPlanoTrabalho(){
// return "<div class="+"row"+">"+
// "<div class="+"col-sm-4"+">"+
// "<label>Nome Completo</label>"+
// "<input"+" type="+'text'+" style="+"margin-bottom:10px"+" class="+'form-control emailCoautor'+" name="+'nomePlanoTrabalho[]'+" placeholder="+"Nome"+" required>"+
// "</div>"+
// "<div class="+"col-sm-7" +">"+
// "<label for="+"nomeTrabalho"+">Anexo </label>"+
// "<div class="+"input-group"+">"+
// "<div class='input-group-prepend'>"+
// "<span class='input-group-text' id='inputGroupFileAddon01'>Selecione um arquivo:</span>"+
// "</div>"+
// "<div class='custom-file'>"+
// "<input type='file' class='custom-file-input' id='inputGroupFile01'"+
// "aria-describedby='inputGroupFileAddon01' name='anexoPlanoTrabalho[]'>"+
// "<label class='custom-file-label' id='custom-file-label' for='inputGroupFile01'>O arquivo deve ser no formato PDF de até 2mb.</label>"+
// "</div>"+
// "</div>"+
// "@error('arquivo')"+
// "<span class='invalid-feedback' role='alert' style='overflow: visible; display:block'>"+
// "<strong>{{ $message }}</strong>"+
// "</span>"+
// "@enderror"+
// "</div>"+
// "<div class="+"col-sm-1"+">"+
// "<a class="+"deletePlano"+">"+
// "<img src="+"/img/icons/user-times-solid.svg"+" style="+"width:25px;margin-top:35px"+">"+
// "</a>"+
// "</div>"+
// "</div>";
// }
function areas() {
function areas() {
var grandeArea = $('#grandeArea').val();
$.ajax({
type: 'POST',
url: '{{ route('area.consulta') }}',
data: 'id='+grandeArea ,
headers:
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: (dados) => {
if (dados.length > 0) {
if($('#oldArea').val() == null || $('#oldArea').val() == ""){
if (dados.length > 0) {
if($('#oldArea').val() == null || $('#oldArea').val() == ""){
var option = '<option selected disabled>-- Área --</option>';
}
$.each(dados, function(i, obj) {
if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){
$.each(dados, function(i, obj) {
if($('#oldArea').val() != null && $('#oldArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{
option += '<option value="' + obj.id + '">' + obj.nome + '</option>';
}
})
} else {
} else {
var option = "<option selected disabled>-- Área --</option>";
}
$('#area').html(option).show();
subareas();
$('#area').html(option).show();
subareas();
},
error: (data) => {
console.log(data);
......@@ -742,7 +716,7 @@
type: 'POST',
url: '{{ route('subarea.consulta') }}',
data: 'id='+area ,
headers:
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
......@@ -751,7 +725,7 @@
if($('#oldSubArea').val() == null || $('#oldSubArea').val() == ""){
var option = '<option selected disabled>-- Sub Área --</option>';
}
$.each(dados, function(i, obj) {
$.each(dados, function(i, obj) {
if($('#oldSubArea').val() != null && $('#oldSubArea').val() == obj.id){
option += '<option selected value="' + obj.id + '">' + obj.nome + '</option>';
}else{
......@@ -771,7 +745,7 @@
}
function exibirAnexoTemp(file){
function exibirAnexoTemp(file){
if(file.id === "anexoProjeto"){
var anexoProjetoPreenchido = document.getElementById('anexoProjetoPreenchido');
anexoProjetoPreenchido.value = "sim";
......@@ -809,4 +783,4 @@
window.onload = areas();
window.onload = habilitarBotao();
</script>
@endsection
\ No newline at end of file
@endsection
......@@ -7,15 +7,15 @@
<div class="container" >
<div class="row" >
<div class="col-sm-12">
<h3>Editais</h3>
<h3>Editais</h3>
</div>
</div>
</div>
<hr>
<table class="table table-bordered">
<thead>
<tr>
<tr>
<th scope="col">Nome do Edital</th>
<th scope="col">Inicio da Submissão</th>
<th scope="col">Fim da Submissão</th>
......@@ -43,15 +43,17 @@
<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">
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a>
<div class="dropdown-menu">
<a href="{{ route('proponente.projetosEdital', ['id' => $evento->id]) }}" class="dropdown-item" style="text-align: center">
Projetos submetidos
</a>
<a href="{{ route('trabalho.index', ['id' => $evento->id] )}}" class="dropdown-item" style="text-align: center">
Criar projeto
</a>
@if($evento->inicioSubmissao <= $hoje && $hoje <= $evento->fimSubmissao)
<a href="{{ route('trabalho.index', ['id' => $evento->id] )}}" class="dropdown-item" style="text-align: center">
Criar projeto
</a>
@endif
{{-- <a href="" class="dropdown-item" style="text-align: center">
Visualizar resultado
</a> --}}
......@@ -78,6 +80,6 @@
@section('javascript')
<script>
</script>
@endsection
......@@ -2,7 +2,7 @@
@section('content')
<div class="container" style="margin-top: 100px;">
@if(isset($mensagem))
<div class="col-sm-12">
<br>
......@@ -22,18 +22,23 @@
<div class="container" >
<div class="row" >
<div class="col-sm-9">
<h3>Projetos do edital {{ $edital->nome }}</h3>
<h3>Projetos do edital {{ $edital->nome }}</h3>
<h6 style="color: rgb(4, 78, 4);">Submissão irá até o dia {{ date('d-m-Y', strtotime($edital->fimSubmissao)) }}</h6>
</div>
<div class="col-sm-3">
<a href="{{ route('trabalho.index', ['id' => $edital->id] )}}" class="btn btn-primary" style="position:relative; float: right;">Criar projeto</a>
</div>
<div class="col-sm-1">
<a href="{{ route('proponente.editais') }}" class="btn btn-primary" style="position:relative; float: right;">Voltar</a>
</div>
<div class="col-sm-2">
<a @if($edital->inicioSubmissao <= $hoje && $hoje <= $edital->fimSubmissao) href="{{ route('trabalho.index', ['id' => $edital->id] )}}" class="btn btn-primary" @else href="#" class="btn btn-danger" data-toggle="tooltip" data-placement="top" title="O periodo de submissão foi encerrado." @endif style="position:relative; float: right;">Criar projeto</a>
</div>
</div>
</div>
<hr>
<table class="table table-bordered">
<thead>
<tr>
<tr>
<th scope="col">Nome do projeto</th>
<th scope="col">Status</th>
<th scope="col">Data de Criação</th>
......@@ -54,11 +59,11 @@
@elseif($projeto->status == 'Rascunho')
<td style="color: rgb(0, 0, 0)">Rascunho</td>
@endif
<td>{{ date('d-m-Y', strtotime($projeto->updated_at)) }}</td>
<td>{{ date('d-m-Y', strtotime($projeto->updated_at)) }}</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">
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a>
<div class="dropdown-menu">
<a href="{{ route('trabalho.editar', ['id' => $projeto->id]) }}" class="dropdown-item" style="text-align: center;">
......@@ -112,7 +117,7 @@
@section('javascript')
<script>
</script>
@endsection
\ No newline at end of file
@endsection
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