Commit 23076444 authored by carlos's avatar carlos
Browse files

ao mudar o status do usuario

parent 349c9a02
......@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Administrador;
use App\User;
use App\Area;
use App\Avaliador;
use App\AdministradorResponsavel;
use App\Participante;
......@@ -15,6 +16,7 @@ use App\FuncaoParticipantes;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Hash;
use App\Evento;
use Illuminate\Support\Facades\Storage;
use App\CoordenadorComissao;
use Illuminate\Validation\Rule;
use App\Mail\EmailParaUsuarioNaoCadastrado;
......@@ -189,21 +191,36 @@ class AdministradorController extends Controller
public function edit($id) {
$user = User::find($id);
$editalParticipante = null;
$editais = Evento::all();
$funcaoParticipantes = FuncaoParticipantes::all();
$projetos = Trabalho::all();
$areas = Area::all();
$adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first();
$avaliador = Avaliador::where('user_id', '=', $id)->first();
$proponente = Proponente::where('user_id', '=', $id)->first();
$participante = Participante::where('user_id', '=', $id)->first();
if ($participante != null) {
$editalParticipante = Evento::where('id', Trabalho::where('id', $participante->trabalho_id)->first()->evento_id)->first();
}
return view ('administrador.editar_user')->with(['user' => $user,
'avaliador' => $avaliador,
'adminResp' => $adminResp,
'proponente' => $proponente,
'participante' => $participante,]);
'participante' => $participante,
'editais' => $editais,
'funcaoParticipantes' => $funcaoParticipantes,
'projetos' => $projetos,
'editalParticipante' => $editalParticipante,
'areas' => $areas,]);
}
public function update(Request $request, $id) {
$user = User::find($id);
//validação de dados
if ($request->tipo != "proponente") {
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
......@@ -214,35 +231,151 @@ class AdministradorController extends Controller
'celular' => ['required', 'string', 'telefone'],
'cpf' => ['required', 'cpf'],
]);
} else if ($request->tipo === "participante") {
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'celular' => ['required', 'string', 'telefone'],
'cpf' => ['required', 'cpf'],
'edital' => 'required',
'projeto' => 'required',
'funcaoParticipante' => 'required',
]);
} else if ($request->tipo === "avaliador") {
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
'tipo' => ['required'],
'email' => ['required', 'string', 'email', 'max:255'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'celular' => ['required', 'string', 'telefone'],
'cpf' => ['required', 'cpf'],
'area' => 'required',
]);
} else {
$validated = $request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255'],
'tipo' => ['required'],
'cpf' => ['required', 'cpf',],
'celular' => ['required', 'string', 'telefone'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'cargo' => ['required'],
'vinculo' => ['required'],
'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'],
'titulacaoMaxima' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'],
//'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''],
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255'],
'cpf' => ['required', 'cpf'],
'celular' => ['required', 'string', 'telefone'],
'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'],
'instituicaoSelect' => ['required_without:instituicao'],
'cargo' => ['required'],
'vinculo' => ['required'],
'outro' => ['required_if:vinculo,Outro'],
'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'],
'titulacaoMaxima' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'],
'anoTitulacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'],
'areaFormacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'],
'bolsistaProdutividade' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')),
'nivel' => ['required_if:bolsistaProdutividade,sim'],
//'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''],
'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''],
]);
}
//validação de mudança de tipo se confirmar a mudança exclui os dados do usuário atual e adiciona o novo perfil
if ($user->tipo != $request->tipo && $request->confirmarMudançaDeTipo == null) {
return redirect()->back()->withErrors(['tipo' => 'A mudança de tipo irá excluir tudo associado ao tipo atual do usuário!']);
} else if ($request->confirmarMudançaDeTipo != null) {
// dd($request);
switch ($user->tipo) {
case "administradorResponsavel":
$adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first();
$adminResp->delete();
break;
case "coordenador":
$coordenador = CoordenadorComissao::where('user_id', '=', $id)->first();
$projetos = Trabalho::where('coordenador_id', $coordenador->id)->get();
foreach ($projetos as $projeto) {
Storage::deleteDirectory('trabalhos/' . $projeto->evento->id . '/' . $projeto->id );
$projeto->delete();
}
// PENDENTE: chave estrangeira (trabalhos) não deixa apagar o coordenador mesmo que o mesmo não esteja vinculado a nenhum projeto
$coordenador->delete();
break;
case "avaliador":
$avaliador = Avaliador::where('user_id', '=', $id)->first();
$avaliador->delete();
break;
case "proponente":
$proponente = Proponente::where('user_id', '=', $id)->first();
$projetos = Trabalho::where('proponente_id', $proponente->id)->get();
foreach ($projetos as $projeto) {
Storage::deleteDirectory('trabalhos/' . $projeto->evento->id . '/' . $projeto->id );
$projeto->delete();
}
$proponente->delete();
break;
case "participante":
$participante = Participante::where('user_id', '=', $id)->first();
$participante->delete();
break;
}
switch ($request->tipo) {
case "administradorResponsavel":
$adminResp = new AdministradorResponsavel();
$adminResp->user_id = $user->id;
$adminResp->save();
break;
case "coordenador":
$coordenador = new CoordenadorComissao();
$coordenador->user_id = $user->id;
$coordenador->save();
break;
case "avaliador":
$avaliador = new Avaliador();
$avaliador->user_id = $user->id;
$avaliador->area_id = $request->area;
$avaliador->save();
break;
case "proponente":
$proponente = new Proponente();
if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE;
}
$proponente->cargo = $request->cargo;
if ($request->vinculo != 'Outro') {
$proponente->vinculo = $request->vinculo;
} else {
$proponente->vinculo = $request->outro;
}
$proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel;
}
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id;
$proponente->save();
break;
case "participante":
$participante = new Participante();
$participante->user_id = $user->id;
$participante->trabalho_id = $request->projeto;
$participante->funcao_participante_id = $request->funcaoParticipante;
$participante->save();
break;
}
}
// if (!(Hash::check($request->senha_atual, $user->password))) {
// return redirect()->back()->withErrors(['senha_atual' => 'Senha atual não correspondente']);
......@@ -252,52 +385,54 @@ class AdministradorController extends Controller
// return redirect()->back()->withErrors(['nova_senha' => 'Senhas diferentes']);
// }
switch ($request->tipo) {
case "administradorResponsavel":
$adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first();
$adminResp->user_id = $user->id;
$adminResp->update();
break;
case "coordenador":
$coordenador = CoordenadorComissao::where('user_id', '=', $id)->first();
$coordenador->user_id = $user->id;
$coordenador->update();
break;
case "avaliador":
$avaliador = Avaliador::where('user_id', '=', $id)->first();
$avaliador->user_id = $user->id;
$avaliador->update();
break;
case "proponente":
$proponente = Proponente::where('user_id', '=', $id)->first();
if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE;
}
$proponente->cargo = $request->cargo;
if ($request->vinculo != 'Outro') {
$proponente->vinculo = $request->vinculo;
} else {
$proponente->vinculo = $request->outro;
}
$proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel;
}
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id;
$proponente->update();
break;
case "participante":
$participante = Participante::where('user_id', '=', $id)->first();
$participante->user_id = $user->id;
$participante->update();
break;
if ($request->confirmarMudançaDeTipo == null) {
switch ($request->tipo) {
case "administradorResponsavel":
$adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first();
$adminResp->user_id = $user->id;
$adminResp->update();
break;
case "coordenador":
$coordenador = CoordenadorComissao::where('user_id', '=', $id)->first();
$coordenador->user_id = $user->id;
$coordenador->update();
break;
case "avaliador":
$avaliador = Avaliador::where('user_id', '=', $id)->first();
$avaliador->user_id = $user->id;
$avaliador->update();
break;
case "proponente":
$proponente = Proponente::where('user_id', '=', $id)->first();
if ($request->SIAPE != null) {
$proponente->SIAPE = $request->SIAPE;
}
$proponente->cargo = $request->cargo;
if ($request->vinculo != 'Outro') {
$proponente->vinculo = $request->vinculo;
} else {
$proponente->vinculo = $request->outro;
}
$proponente->titulacaoMaxima = $request->titulacaoMaxima;
$proponente->anoTitulacao = $request->anoTitulacao;
$proponente->areaFormacao = $request->areaFormacao;
$proponente->bolsistaProdutividade = $request->bolsistaProdutividade;
if ($request->bolsistaProdutividade == 'sim') {
$proponente->nivel = $request->nivel;
}
$proponente->linkLattes = $request->linkLattes;
$proponente->user_id = $user->id;
$proponente->update();
break;
case "participante":
$participante = Participante::where('user_id', '=', $id)->first();
$participante->user_id = $user->id;
$participante->update();
break;
}
}
$user->name = $request->name;
......
......@@ -122,6 +122,6 @@ class AreaController extends Controller
$id = json_decode($request->id) ;
$areas = Area::where('grande_area_id', $id)->orderBy('nome')->get();
return response()->json($areas);
return $areas->toJson();
// return $areas->toJson();
}
}
......@@ -94,9 +94,9 @@ class EventoController extends Controller
// validar datas nulas antes, pois pode gerar um bug
if(
$request->inicioSubmissao == null ||
$request->fimSubmissao == null ||
$request->inicioRevisao == null ||
$request->inícioDaSubmissão == null ||
$request->fimDaSubmissão == null ||
$request->inícioDaRevisão == null ||
$request->fimRevisao == null ||
$request->resultado == null
......@@ -107,12 +107,12 @@ class EventoController extends Controller
'tipo' => ['required', 'string'],
'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'],
'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'],
......@@ -308,11 +308,13 @@ class EventoController extends Controller
$coordenadors = CoordenadorComissao::with('user')->get();
$naturezas = Natureza::orderBy('nome')->get();
$yesterday = Carbon::yesterday('America/Recife');
// $today = Carbon::toDay('America/Recife')->toDateString();
$yesterday = $yesterday->toDateString();
return view('evento.editarEvento',['evento'=>$evento,
'coordenadores'=>$coordenadors,
'naturezas'=>$naturezas,
'ontem'=>$yesterday]);
'ontem'=>$yesterday,
/* 'hoje' =>$today*/]);
}
/**
......@@ -341,13 +343,13 @@ class EventoController extends Controller
'descricao' => ['required', 'string'],
'tipo' => ['required', 'string'],
'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'],
'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_preliminar'=> ['required', 'date'],
'resultado_final' => ['required', 'date'],
'pdfEdital' => ['file', 'mimes:pdf', 'max:2048'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
......@@ -359,13 +361,13 @@ class EventoController extends Controller
'descricao' => ['required', 'string', 'max:1500'],
'tipo' => ['required', 'string'],
'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'],
'inícioDaSubmissão' => ['required', 'date', 'after:yesterday'],
'fimDaSubmissão' => ['required', 'date', 'after_or_equal:inicioSubmissao'],
'inícioDaRevisão' => ['required', 'date', 'after:yesterday'],
'fimDaRevisão' => ['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'],
'início_do_recurso' => ['required', 'date', 'after_or_equal:resultado_preliminar'],
'fim_do_recurso' => ['required', 'date', 'after:inicio_recurso'],
'resultado_final' => ['required', 'date', 'after:fim_recurso'],
'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
]);
......@@ -374,12 +376,12 @@ class EventoController extends Controller
$evento->descricao = $request->descricao;
$evento->tipo = $request->tipo;
$evento->natureza_id = $request->natureza;
$evento->inicioSubmissao = $request->inicioSubmissao;
$evento->fimSubmissao = $request->fimSubmissao;
$evento->inicioRevisao = $request->inicioRevisao;
$evento->fimRevisao = $request->fimRevisao;
$evento->inicio_recurso = $request->inicio_recurso;
$evento->fim_recurso = $request->fim_recurso;
$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->resultado_preliminar = $request->resultado_preliminar;
$evento->resultado_final = $request->resultado_final;
$evento->coordenadorId = $request->coordenador_id;
......@@ -403,7 +405,7 @@ class EventoController extends Controller
$evento->update();
$eventos = Evento::all();
return view('coordenador.home',['eventos'=>$eventos]);
return redirect( route('admin.editais') );
}
/**
......
......@@ -968,4 +968,9 @@ class TrabalhoController extends Controller
return abort(404);
}
public function consulta(Request $request) {
$id = json_decode($request->id) ;
$projetos = Trabalho::where('evento_id', $id)->orderBy('titulo')->get();
return response()->json($projetos);
}
}
This diff is collapsed.
......@@ -66,12 +66,12 @@
<label for="tipo" class="col-form-label">{{ __('Tipo*') }}</label>
<select name="tipo" id="tipo" onchange="mudar()" class="form-control">
@if(auth()->user()->tipo == 'administrador')
<option @if ( old('tipo') == "administradorResponsavel" ) required @endif value="administradorResponsavel">Administrador responsável</option>
<option @if ( old('tipo') == "administradorResponsavel" ) selected @endif value="administradorResponsavel">Administrador responsável</option>
@endif
<option @if ( old('tipo') == "coordenador" ) required @endif value="coordenador">Coordenador</option>
<option @if ( old('tipo') == "avaliador" ) required @endif value="avaliador">Avaliador</option>
<option @if ( old('tipo') == "proponente" ) required @endif value="proponente">Proponente</option>
<option @if ( old('tipo') == "participante" ) required @endif value="participante">Participante</option>
<option @if ( old('tipo') == "coordenador" ) selected @endif value="coordenador">Coordenador</option>
<option @if ( old('tipo') == "avaliador" ) selected @endif value="avaliador">Avaliador</option>
<option @if ( old('tipo') == "proponente" ) selected @endif value="proponente">Proponente</option>
<option @if ( old('tipo') == "participante" ) selected @endif value="participante">Participante</option>
</select>
</div>
<div class="col-md-2">
......
......@@ -105,6 +105,7 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
Route::post( '/projeto/{id}/atualizar', 'TrabalhoController@update' )->name('trabalho.update');
Route::get( '/projeto/{id}/excluir', 'TrabalhoController@destroy' )->name('trabalho.destroy');
Route::get( '/projeto/{id}/excluirParticipante','TrabalhoController@excluirParticipante')->name('trabalho.excluirParticipante');
Route::post( '/projetos/', 'TrabalhoController@consulta' )->name('trabalho.consulta');
//######### Atribuição #######################################
......
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