get(); if (Auth::check()) { Log::debug('UserController check'); return redirect()->route('home'); } Log::debug('UserController index'); $hoje = Carbon::today('America/Recife'); $hoje = $hoje->toDateString(); return view('index', ['eventos' => $eventos, 'hoje' => $hoje]); } public function inicial() { $eventos = Evento::orderBy('created_at', 'desc')->get(); $hoje = Carbon::today('America/Recife'); $hoje = $hoje->toDateString(); return view('index', ['eventos' => $eventos, 'hoje' => $hoje]); } function perfil() { $user = Auth::user(); $cursoPart = null; if ($user->participantes()->exists() && $user->participantes()->first()->curso_id) $cursoPart = Curso::find($user->participantes()->first()->curso_id); $view = 'user.perfilUser'; if ($user->tipo == 'participante') $view = 'user.perfilParticipante'; $naturezas = Natureza::orderBy('nome')->get(); $cursos = Curso::orderBy('nome')->get(); $areaTematica = AreaTematica::orderBy('nome')->get(); return view($view) ->with([ 'user' => $user, 'cursos' => $cursos, 'naturezas' => $naturezas, 'cursoPart' => $cursoPart, 'areaTematica' => $areaTematica ]); } function editarPerfil(Request $request) { $id = Auth()->user()->id; $user = User::find($id); if ($request->tipo != "proponente") { $validated = $request->validate([ 'name' => ['required', 'string', 'max:255'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicaoSelect' => ['required_without:instituicao'], 'celular' => ['required', 'string'], 'cpf' => ['required', 'cpf'], ]); } else { $validated = $request->validate([ '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($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' => 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':''], 'linkLattes' => ['required_with:titulacaoMaxima,anoTitulacao,areaFormacao,bolsistaProdutividade'], 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'required' : ''], 'linkLattes' => [(isset($request['cargo']) && $request['cargo'] !== 'Estudante') || (isset($request['cargo']) && $request['cargo'] === 'Estudante' && isset($request['vinculo']) && $request['vinculo'] === 'Pós-doutorando') ? 'link_lattes' : ''], ]); } if ($user->tipo == 'participante') { $validated = $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required_if:alterarSenhaCheckBox,on', 'string', 'email', 'max:255', Rule::unique('users')->ignore($user->id)], 'password' => ['required_if:alterarSenhaCheckBox,on', 'string', 'min:8', 'confirmed'], 'cpf' => ['required', 'cpf', Rule::unique('users')->ignore($user->id)], 'rg' => ['required', Rule::unique('participantes')->ignore($user->participantes->first()->id)], 'celular' => ['required', 'string', 'telefone'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicaoSelect' => ['required_without:instituicao'], 'outroCursoEstudante' => ['required_if:cursoEstudante,Outro', 'max:255'], 'cursoEstudante' => ['required_without:outroCursoEstudante'], 'perfil' => ['required'], 'linkLattes' => ['required', 'url'], ]); } if ($request->alterarSenhaCheckBox != null) { if (!(Hash::check($request->senha_atual, $user->password))) { return redirect()->back()->withErrors(['senha_atual' => 'Senha atual não correspondente']); } if (!($request->nova_senha === $request->confirmar_senha)) { return redirect()->back()->withErrors(['nova_senha' => 'Senhas diferentes']); } } if($user->avaliadors != null && $request->area != null && $user->tipo == "avaliador"){ $avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador->user_id = $user->id; //$avaliador->area_id = $request->area; $avaliador->naturezas()->sync($request->natureza); $avaliador->update(); } switch ($user->tipo) { case "administradorResponsavel": $adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first(); $adminResp->user_id = $user->id; $adminResp->update(); break; case "avaliador": $avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador->user_id = $user->id; //$avaliador->area_id = $request->area; $avaliador->areaTematicas()->sync($request->area); if ($user->usuarioTemp == true) { $user->usuarioTemp = false; } $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->cursos()->sync($request->curso); $proponente->update(); break; case "participante": $participante = $user->participantes()->first(); $participante->data_de_nascimento = $request->data_de_nascimento; $participante->linkLattes = $request->linkLattes; $participante->rg = $request->rg; if ($request->outroCursoEstudante != null) { $participante->curso = $request->outroCursoEstudante; } else if (isset($request->cursoEstudante) && $request->cursoEstudante != "Outro") { $participante->curso_id = $request->cursoEstudante; } $user->usuarioTemp = false; $endereco = $user->endereco; $endereco->cep = $request->cep; $endereco->uf = $request->uf; $endereco->cidade = $request->cidade; $endereco->rua = $request->rua; $endereco->numero = $request->numero; $endereco->bairro = $request->bairro; $endereco->complemento = $request->complemento; $endereco->update(); $participante->update(); break; } $user->name = $request->name; $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; } if ($request->alterarSenhaCheckBox != null) { $user->password = bcrypt($request->nova_senha); } $user->update(); return redirect(route('user.perfil'))->with(['mensagem' => 'Dados atualizados com sucesso.']); } public function meusTrabalhos() { //$trabalhos = Trabalho::where('autorId', Auth::user()->id)->get(); $proponente = Proponente::with('user')->where('user_id', Auth::user()->id)->first(); $trabalhos = $proponente->trabalhos; //dd($trabalhos); return view('user.meusTrabalhos', [ 'trabalhos' => $trabalhos, 'agora' => now(), ]); } public function minhaConta() { $id = Auth::user()->id; $user = User::find($id); $cursoPart = null; if($user->participantes()->first() == null){ $participante = Participante::create(); $user->participantes()->save($participante); } if($user->endereco()->first() == null){ $endereco = Endereco::create(); $endereco->user()->save($user); } if ($user->participantes()->exists() && $user->participantes()->first()->curso_id) $cursoPart = Curso::find($user->participantes()->first()->curso_id); $adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first(); $avaliador = Avaliador::where('user_id', '=', $id)->first(); $proponente = Proponente::where('user_id', '=', $id)->first(); $participante = $user->participantes()->first(); $naturezas = Natureza::orderBy('nome')->get(); $cursos = Curso::orderBy('nome')->get(); $areaTematica = AreaTematica::orderBy('nome')->get(); $view = 'user.perfilUser'; if ($user->tipo == 'participante') $view = 'user.perfilParticipante'; return view($view) ->with([ 'user' => $user, 'adminResp' => $adminResp, 'avaliador' => $avaliador, 'proponente' => $proponente, 'participante' => $participante, 'cursos' => $cursos, 'naturezas' => $naturezas, 'cursoPart' => $cursoPart, 'areaTematica' => $areaTematica ]); } }