Пример #1
0
 public static function permissaoPerfil($idUser, $funcaoPermissao)
 {
     $idFuncao = Acesso::getFuncao($funcaoPermissao);
     $perfil = PerfilUser::where('id_user', $idUser)->first();
     $permissaoPerfil = collect(PermissaoPerfil::where('id_funcao', $idFuncao)->where('id_perfil', $perfil->id_perfil)->get())->first();
     if (empty($permissaoPerfil)) {
         return false;
     } elseif ($permissaoPerfil->id_role == 2) {
         return true;
     } elseif ($permissaoPerfil->id_role == 3) {
         return false;
     }
 }
Пример #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();
     }
 }
Пример #3
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     try {
         // destruindo vinculo entre as permissões e o perfil
         $permissao = PermissaoPerfil::where('id_perfil', $id)->get();
         foreach ($permissao as $perm) {
             PermissaoPerfil::destroy($perm->id_permissao_perfil);
         }
         // destruindo vinculo entre perfil e usuário
         $peruser = PerfilUser::where('id_perfil', $id)->get();
         foreach ($peruser as $perf) {
             PerfilUser::destroy($perf->id_perfil_user);
         }
         // destruindo o perfil
         Perfil::destroy($id);
         session()->flash('flash_message', 'Registro apagado com sucesso!');
     } catch (\Exception $e) {
         LogR::exception('destroy perfis', $e);
         session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
     }
     return Redirect::back();
 }