diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index d9ae34de3ba1544eb2b6086696fe7d6fd1f52ba4..2091c3310b904595783eacf11f4dafd7707ed73b 100755 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -12,6 +12,7 @@ use Illuminate\Validation\Rule; use App\User; use App\Participante; use App\Proponente; +use App\Endereco; use App\Rules\UrlValidacao; use App\Curso; @@ -56,30 +57,47 @@ class RegisterController extends Controller protected function validator(array $data) { + if ($data['perfil'] == "Estudante") + { + return Validator::make($data, [ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], + 'password' => ['required', 'string', 'min:8', 'confirmed'], + 'cpf' => ['required', 'cpf', 'unique:users'], + 'rg' => ['required', 'unique:participantes'], + 'celular' => ['required', 'string', 'telefone'], + 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], + 'instituicaoSelect' => ['required_without:instituicao'], + 'perfil' => ['required'], + 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], + ]); + } + return Validator::make($data, [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => ['required', 'string', 'min:8', 'confirmed'], 'cpf' => ['required', 'cpf', 'unique:users'], + 'rg' => ['required', 'unique:participantes'], 'celular' => ['required', 'string', 'telefone'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicaoSelect' => ['required_without:instituicao'], - 'cargo' => ['required'], + 'perfil' => ['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')), + 'titulacaoMaxima' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === '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')), + 'anoTitulacao' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === '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')), + 'areaFormacao' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === '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')), + 'bolsistaProdutividade' => Rule::requiredIf((isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === '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':''], + //'nivel' => [(isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === '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':''], + 'linkLattes' => [(isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'required':''], + 'linkLattes' => [(isset($data['perfil']) && $data['perfil'] !== 'Estudante') || (isset($data['perfil']) && $data['perfil'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''], ]); } @@ -91,8 +109,9 @@ class RegisterController extends Controller * @return \App\User */ protected function create(array $data) - { - // dd($data); + { + $participante = new Participante(); + $participante->rg = $data['rg']; $user = new User(); $user->name = $data['name']; $user->email = $data['email']; @@ -105,12 +124,24 @@ class RegisterController extends Controller $user->instituicao = $data['instituicaoSelect']; } - if ($data['cargo'] === "Estudante" && $data['vinculo'] !== "Pós-doutorando") { + if ($data['perfil'] === "Estudante"){ $user->tipo = 'participante'; - $user->save(); - $participante = new Participante(); + $endereco = new Endereco(); + $endereco->cep = $data['cep']; + $endereco->uf = $data['uf']; + $endereco->cidade = $data['cidade']; + $endereco->rua = $data['rua']; + $endereco->numero = $data['numero']; + $endereco->bairro = $data['bairro']; + $endereco->complemento = $data['complemento']; + + $participante->data_de_nascimento = $data['data_de_nascimento']; + $participante->linkLattes = $data['linkLattes']; + + $user->save(); $user->participantes()->save($participante); + $endereco->user()->save($user); } else { $user->tipo = 'proponente'; $user->save(); @@ -119,7 +150,7 @@ class RegisterController extends Controller if ($data['SIAPE'] != null) { $proponente->SIAPE = $data['SIAPE']; } - $proponente->cargo = $data['cargo']; + $proponente->cargo = $data['perfil']; if ($data['vinculo'] != 'Outro') { $proponente->vinculo = $data['vinculo']; @@ -140,6 +171,8 @@ class RegisterController extends Controller if($proponente->titulacaoMaxima == 'Técnico'){ $proponente->cursos()->sync($data['curso']); } + + $user->participantes()->save($participante); } return $user; diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index 9b7ee332529d590f6d86f37f01ec9d7cf0ae8bb9..b6c17019b71b840a7b3a889a7cdead9551630d60 100755 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -44,6 +44,18 @@ @enderror +
+
+ + + + @error('rg') + + {{ $message }} + + @enderror +
+
@@ -89,15 +101,15 @@
- - + + + + + - - @error('cargo') + @error('perfil') {{ $message }} @@ -105,26 +117,17 @@
-
- - - - @error('vinculo') +
+ + + @error('outroPerfil') {{ $message }} @enderror
- -