Commit 47ad4d83 authored by Gabriel-31415's avatar Gabriel-31415
Browse files

validate participante

parent b83715ab
......@@ -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();
......
......@@ -7,6 +7,16 @@
<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>
{{-- @foreach ($errors->all() as $key => $value)
<p>{{ $value}}</p>
@endforeach --}}
</div>
</div>
@endif
<p class="card-text">
<form method="POST" name="formTrabalho" action="{{route('trabalho.store')}}" enctype="multipart/form-data">
@csrf
......@@ -33,7 +43,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 +57,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 +74,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 +117,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="text" name="pontuacaoPlanilha"
<input class="form-control @error('pontuacaoPlanilha') is-invalid @enderror" type="text" name="pontuacaoPlanilha"
value="{{old('pontuacaoPlanilha') !== null ? old('pontuacaoPlanilha') : (isset($rascunho) ? $rascunho->pontuacaoPlanilha : '')}}">
@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 : '')}}">
@error('linkGrupo')
......@@ -137,17 +147,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 +174,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 +207,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 +257,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 +282,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 +315,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 +327,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>
......@@ -326,7 +336,7 @@
<div class="col-sm-4">
<label>E-mail*</label>
<input type="email" style="margin-bottom:10px" class="form-control @error('emailParticipante') is-invalid @enderror" name="emailParticipante[]" placeholder="email" value="{{old('emailParticipante.'.$i)}}">
@error('emailParticipante')
@error('emailParticipante.'.$i)
<span class="invalid-feedback" role="alert" style="overflow: visible; display:block">
<strong>{{ $message }}</strong>
</span>
......@@ -339,19 +349,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 +370,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,30 +393,30 @@
<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>
</div>
</div>
</div>
</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>
......@@ -416,13 +425,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>
......@@ -440,7 +449,7 @@
@section('javascript')
<script type="text/javascript">
$(function() {
var qtdLinhas = 1;
var qtdLinhas = 1;
// Coautores
$('#addCoautor').click(function(e) {
var countParticipante = document.getElementById('countParticipante');
......@@ -448,7 +457,7 @@
e.preventDefault();
linha = montarLinhaInput();
$('#participantes').append(linha);
setParticipanteDiv(parseInt(countParticipante.value) + 1);
setParticipanteDiv(parseInt(countParticipante.value) + 1);
}
});
......@@ -472,11 +481,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) {
......@@ -507,7 +516,7 @@
$('#buttonNao').on('click', function(e) {
e.preventDefault();
$('#inputEtica').prop('disabled', true);
$('#inputJustificativa').prop('disabled', false);
$('#inputJustificativa').prop('disabled', false);
exibirErro('justificativa');
//$('#anexoComitePreenchido').val("");
});
......@@ -518,17 +527,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');
......@@ -551,11 +560,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');
}
}
......@@ -580,7 +589,7 @@
"<br><h4>Dados do participante</h4>" +
"</div>"+
"<div class='col-sm-3'>"+
"</div>"+
"</div>"+
"<div class="+"row"+">"+
......@@ -609,17 +618,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"+">"+
......@@ -649,7 +658,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"+">"+
......@@ -658,73 +667,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);
......@@ -739,7 +715,7 @@
type: 'POST',
url: '{{ route('subarea.consulta') }}',
data: 'id='+area ,
headers:
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
......@@ -748,7 +724,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{
......@@ -768,7 +744,7 @@
}
function exibirAnexoTemp(file){
function exibirAnexoTemp(file){
if(file.id === "anexoProjeto"){
var anexoProjetoPreenchido = document.getElementById('anexoProjetoPreenchido');
anexoProjetoPreenchido.value = "sim";
......@@ -806,4 +782,4 @@
window.onload = areas();
window.onload = habilitarBotao();
</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