Example #1
0
 public static function permissaoUser($idUser, $funcaoPermissao)
 {
     $idFuncao = Acesso::getFuncao($funcaoPermissao);
     $permissaoUser = collect(PermissaoUser::where('id_funcao', $idFuncao)->where('id_user', $idUser)->get())->first();
     if (empty($permissaoUser->id_role)) {
         return false;
     } elseif ($permissaoUser->id_role == 1) {
         return 'perfil';
     } elseif ($permissaoUser->id_role == 2) {
         return 'user';
     } elseif ($permissaoUser->id_role == 3) {
         return false;
     }
 }
Example #2
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     $validacao = Validator::make($request->all(), ['name' => 'required|string', 'email' => 'required|email', 'password' => 'string', 'id_perfil' => 'required|integer']);
     if ($validacao->fails()) {
         return redirect('admin/configuracoes/usuarios/editar/' . $id)->withErrors($validacao)->withInput();
     } else {
         try {
             $user = User::find($id);
             $user->name = $request->name;
             $user->email = $request->email;
             if (!empty($request->password)) {
                 $user->password = bcrypt($request->password);
             }
             $user->save();
             // gravando as permissões específicas do usuário
             $funcoes = Funcao::all();
             $cont = 1;
             foreach ($funcoes as $funcao) {
                 try {
                     $permissao = PermissaoUser::where('id_funcao', $funcao->id_funcao)->where('id_user', $user->id)->first();
                     $permissao->id_role = $request->{$cont};
                     $permissao->save();
                     $cont++;
                 } catch (\Exception $e) {
                     LogR::exception($permissao, $e);
                     session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
                 }
             }
             try {
                 // gravando o vinculo do usuário com o perfil selecionado
                 $perfilUser = PerfilUser::where('id_user', $id)->first();
                 $perfilUser->id_perfil = $request->id_perfil;
                 $perfilUser->save();
             } catch (\Exception $e) {
                 LogR::exception($perfilUser, $e);
                 session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
             }
             session()->flash('flash_message', 'Registro atualizado com sucesso!');
         } catch (\Exception $e) {
             LogR::exception($user, $e);
             session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
         }
         return Redirect::back();
     }
 }