Advertisement
Jccosta

UserController

May 6th, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.78 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use App\User;
  6. use App\Models\Role;
  7. use Illuminate\Http\Request;
  8. use Gate;
  9. use Illuminate\Support\Facades\Auth;
  10. use Illuminate\Support\Facades\Redirect;
  11.  
  12. class UsersController extends Controller
  13. {
  14.     private $users;
  15.     private $totalPage = 3;
  16.     private $roles;
  17.  
  18.  
  19.     public function __construct(User $users,Role $roles)
  20.     {
  21.         $this->users = $users;
  22.        $this->roles = $roles;
  23.     }
  24.  
  25.  
  26.  
  27.     public function index()
  28.     {
  29.         //$users = $this->users->all();
  30.         $users = $this->users->paginate($this->totalPage);;
  31.         if (Gate::denies('adm')  ) {
  32.  
  33.             return Redirect::back()->withErrors(['Voce não tem Permissão']);
  34.             //return redirect()->back()->with('errors');
  35.  
  36.         }
  37.  
  38.         return view('Painel.users.UsersList', compact('users'));
  39.     }
  40.  
  41.     public function roles($id)
  42.     {
  43.         if (Gate::denies('adm')  ) {
  44.  
  45.          //   abort(403,'sem permissao pcr');
  46.               return Redirect::back()->withErrors(['Voce não tem Permissão']);
  47.  
  48.         }
  49.         $users = $this->users->find($id);
  50.  
  51.  
  52.         $role = $users->roles()->get();
  53.  
  54.         return view('Painel.users.RoleUsersList',compact('users','role'));
  55.     }
  56.     protected function create()
  57.     {
  58.        $title = 'Cadastro de Usuario';
  59.        $roles  = $this->roles->all();
  60.  
  61.  
  62.  
  63.  
  64.  
  65.        return view('Painel.users.create-edit',compact('title','roles'));
  66.     }
  67.  
  68.     public function store(Request $request)
  69.     {
  70.  
  71.         $insert  = $this->users->create([
  72.             'name' => $request['name'],
  73.             'email' => $request['email'],
  74.             'password' => bcrypt($request['password']),
  75.  
  76.         ]);
  77.         $insert->roles()->attach($request->roles);
  78.  
  79. dd($insert);
  80.  
  81.         if($insert)
  82.         {
  83.  
  84.  
  85.             return redirect()->route('users.index');
  86.         }
  87.         else
  88.             {
  89.                 return redirect()->back();
  90.  
  91.             }
  92.     }
  93.  
  94.     public function edit($id)
  95.     {
  96.  
  97.         $users = $this->users->find($id);
  98.         $title = "Edição de Usuário: $users->name";
  99.         $roles = $this->roles->all();
  100.  
  101.         return view ('Painel.users.create-edit',compact('users','title','roles'));
  102.     }
  103.  
  104.     public function update(Request $request,$id)
  105.     {
  106.  
  107.         $user = $this->users->find($id);
  108.  
  109.  
  110.           $update = $user->fill([
  111.  
  112.             'name' => $request['name'],
  113.             'email' => $request['email'],
  114.             'password' => bcrypt($request['password']),
  115.  
  116.         ]);
  117.  
  118.         $update->roles()->attach($request->roles,['user_id'=>$id]);
  119.  
  120.  
  121.         if($update)
  122.         {
  123.  
  124.             return redirect()->route('users.index');
  125.         }
  126.         else
  127.             {
  128.                 return redirect()->back();
  129.             }
  130.     }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement