diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index d9352ed8bd774799efd6d8c3a94d0d00170b6377..259d16af08b75988f3c63db5da66cebaa79600e3 100644 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -190,28 +190,38 @@ class AdministradorController extends Controller if ($request->tipo != "proponente") { $validated = $request->validate([ - 'nome' => 'required', + 'name' => 'required', 'tipo' => 'required', 'email' => 'required', - // 'senha' => 'required', - // 'confirmar_senha' => 'required', + 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], + 'instituicaoSelect' => ['required_without:instituicao'], + 'celular' => 'required', 'cpf' => 'required|cpf', ]); } else { $validated = $request->validate([ - 'nome' => 'required', - 'tipo' => 'required', - 'email' => 'required', - // 'senha' => 'required', - // 'confirmar_senha' => 'required', - 'cpf' => 'required|cpf', - 'cargo' => 'required', - 'titulacaoMaxima' => 'required', - 'anoTitulacao' => 'required', - 'areaFormacao' => 'required', - 'bolsistaProdutividade' => 'required', - 'nivel' => 'required', - 'linkLattes' => 'required', + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'email', 'max:255'], + 'cpf' => ['required', 'cpf'], + 'celular' => ['required', 'string'], + 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], + 'instituicaoSelect' => ['required_without:instituicao'], + 'cargo' => ['required'], + 'vinculo' => ['required'], + 'outro' => ['required_if:vinculo,Outro'], + 'titulacaoMaxima' => ['required_with:anoTitulacao,areaFormacao,bolsistaProdutividade'], + 'titulacaoMaxima' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')), + 'anoTitulacao' => ['required_with:titulacaoMaxima,areaFormacao,bolsistaProdutividade,linkLattes'], + 'anoTitulacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')), + 'areaFormacao' => ['required_with:titulacaoMaxima,anoTitulacao,bolsistaProdutividade,linkLattes'], + 'areaFormacao' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')), + 'bolsistaProdutividade' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,linkLattes'], + 'bolsistaProdutividade' => Rule::requiredIf((isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando')), + 'nivel' => ['required_if:bolsistaProdutividade,sim'], + 'nivel' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''], + 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], + 'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''], + 'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''], ]); } @@ -236,15 +246,26 @@ class AdministradorController extends Controller break; case "proponente": $proponente = Proponente::where('user_id', '=', $id)->first(); - $proponente->SIAPE = $request->SIAPE; + if ($request->SIAPE != null) { + $proponente->SIAPE = $request->SIAPE; + } $proponente->cargo = $request->cargo; - $proponente->vinculo = $request->vinculo; + + if ($request->vinculo != 'Outro') { + $proponente->vinculo = $request->vinculo; + } else { + $proponente->vinculo = $request->outro; + } + $proponente->titulacaoMaxima = $request->titulacaoMaxima; $proponente->anoTitulacao = $request->anoTitulacao; - $proponente->areaFormacao = $request->areaFormacao; + $proponente->areaFormacao = $request->areaFormacao; $proponente->bolsistaProdutividade = $request->bolsistaProdutividade; - $proponente->nivel = $request->nivel; + if ($request->bolsistaProdutividade == 'sim') { + $proponente->nivel = $request->nivel; + } $proponente->linkLattes = $request->linkLattes; + $proponente->user_id = $user->id; $proponente->update(); break; @@ -255,15 +276,19 @@ class AdministradorController extends Controller break; } - $user->name = $request->nome; + $user->name = $request->name; $user->tipo = $request->tipo; $user->email = $request->email; $user->cpf = $request->cpf; + $user->celular = $request->celular; + if ($request->instituicao != null) { + $user->instituicao = $request->instituicao; + } else if (isset($request->instituicaoSelect) && $request->instituicaoSelect != "Outra") { + $user->instituicao = $request->instituicaoSelect; + } // $user->password = bcrypt($request->nova_senha); $user->update(); - - return redirect( route('admin.usuarios') )->with(['mensagem' => 'Usuário atualizado com sucesso']); } diff --git a/resources/views/administrador/editar_user.blade.php b/resources/views/administrador/editar_user.blade.php index a096a8505893aef66648eca7b0218d893a6907ac..b62c831df7ed81e92aa4236ff159b79e75212d6a 100644 --- a/resources/views/administrador/editar_user.blade.php +++ b/resources/views/administrador/editar_user.blade.php @@ -9,171 +9,448 @@