From ad618d875381d1efa1057c1b9df4da5ade8d3f92 Mon Sep 17 00:00:00 2001 From: Azfar Arsyad <45238748+Arpax17@users.noreply.github.com> Date: Thu, 18 Nov 2021 16:45:30 +0800 Subject: [PATCH] update pengguna --- app/Http/Controllers/PenggunaController.php | 97 +++++++++++++++++-- .../views/pengurusanpengguna/index.blade.php | 52 +++++++++- .../views/pengurusanpengguna/roles.blade.php | 3 + .../views/pengurusanpengguna/show.blade.php | 46 +++++++++ .../pengurusanpengguna/showtaraf.blade.php | 42 ++++++++ .../views/pengurusanpengguna/taraf.blade.php | 44 ++++++--- routes/web.php | 12 ++- 7 files changed, 266 insertions(+), 30 deletions(-) create mode 100644 resources/views/pengurusanpengguna/show.blade.php create mode 100644 resources/views/pengurusanpengguna/showtaraf.blade.php diff --git a/app/Http/Controllers/PenggunaController.php b/app/Http/Controllers/PenggunaController.php index 3a235ec5..d9603d82 100644 --- a/app/Http/Controllers/PenggunaController.php +++ b/app/Http/Controllers/PenggunaController.php @@ -27,25 +27,106 @@ class PenggunaController extends Controller */ public function index() { - $alluser = User::all(); + // $alluser = User::all(); + $alluser = User::with('roles')->get(); + $allroles = Role::all()->pluck('name'); // $user = Auth::user(); // $user->assignRole('admin'); - return view('pengurusanpengguna.index',compact('alluser')); + return view('pengurusanpengguna.index',compact('alluser','allroles')); } - public function taraf() + public function show(Request $request, $userid) { - $alluser = User::all(); - // $user = Auth::user(); - // $user->assignRole('admin'); - return view('pengurusanpengguna.taraf',compact('alluser')); + // dd($userid); + $user = User::where('id','=',$userid)->with('roles')->first(); + $userroles = $user->getRoleNames()->toArray(); + + $allroles = Role::all()->pluck('name'); + + return view('pengurusanpengguna.show',compact('user','allroles','userroles')); } - public function roles() + public function store(Request $request) + { + + $user = User::where('id','=',$request->userid)->first(); + $allroles = Role::all()->pluck('name'); + // dd($user); + $arraytaraf = []; + foreach($allroles as $index=>$taraf) { + $req = 'taraf'.$taraf; + // dd($req); + if($request->$req) + { + array_push($arraytaraf,$taraf); + } + } + // dd($arraytaraf); + $user->syncRoles($arraytaraf); + return redirect()->route('pengguna.index') + ->with('success','Tukar Taraf Berjaya'); + } + + public function taraf() //taraf = roles in db + { + $arrayrole = []; + $arraypermision = []; + $roles = Role::all(); + $permission = Permission::all(); + + return view('pengurusanpengguna.taraf',compact('roles','permission')); + } + public function showtaraf($tarafid) + { + // dd($tarafname->permissions); + $roles = Role::where('id','=',$tarafid)->first(); + $selectedroles = $roles->name; + $allpermission = Permission::all()->pluck('name'); + $userpermission = $roles->permissions->pluck('name')->toArray(); + // dd($roles->permissions->pluck('name')); + return view('pengurusanpengguna.showtaraf',compact('selectedroles','allpermission','userpermission')); + } + + public function storetaraf(Request $request) //taraf = roles in db + { + $role = Role::where('name','=',$request->namataraf)->first(); + $allpermission = Permission::all()->pluck('name'); + + $arraypermission = []; + foreach($allpermission as $index=>$roles) { + $req = 'role'.$roles; + // dd($req); + if($request->$req) + { + array_push($arraypermission,$roles); + } + } + // dd($arraypermission); + $role->syncPermissions($arraypermission); + + // $user = Auth::user(); + // $user->assignRole('admin'); + return redirect()->route('pengguna.taraf') + ->with('success','Tukar Roles Berjaya'); + } + + public function roles() //roles = permissions in db { $alluser = User::all(); // $user = Auth::user(); // $user->assignRole('admin'); return view('pengurusanpengguna.roles',compact('alluser')); } + + public function updateroles(Request $request) + { + $user = User::where('id','=',$request->id); + $user->syncPermissions($request->arrayroles); + // $user = Auth::user(); + // $user->assignRole('admin'); + return redirect()->route('pengguna.roles') + ->with('success','Tukar Roles Berjaya'); + } + + } diff --git a/resources/views/pengurusanpengguna/index.blade.php b/resources/views/pengurusanpengguna/index.blade.php index e654e703..42cf21fe 100644 --- a/resources/views/pengurusanpengguna/index.blade.php +++ b/resources/views/pengurusanpengguna/index.blade.php @@ -3,7 +3,8 @@ @section('content')
{{ $message }}
+| No | +Nama | +Emails | +Taraf | +Action | +
|---|---|---|---|---|
| {{ $loop->iteration }} | +{{ $user->name }} | +{{ $user->email }} | +
+ @foreach ($user->roles as $taraf)
+ {{$taraf->name}} + @endforeach + |
+ + Edit + {{-- + | +
{{ $message }}
+{{ $message }}
+{{ $message }}
| No | +Taraf | +Roles | +Action | +|
|---|---|---|---|---|
| {{ $loop->iteration }} | +{{ $role->name }} | + {{--{{ $role->email }} | --}} +
+ @foreach ($role->permissions->pluck('name') as $taraf)
+ {{$taraf}} + @endforeach + |
+ + Edit + + | +