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')
-
+ {{-- {{$alluser}} --}} + {{--
{{ __('Dashboard') }}
@@ -13,12 +14,55 @@ {{ session('status') }}
@endif - - you can manage users! -
+
--}} +
+ @if ($message = Session::get('success')) +
+

{{ $message }}

+
+ @endif + + + + + + + + + + @foreach ($alluser as $user) + + + + + + + + @endforeach +
NoNamaEmailsTarafAction
{{ $loop->iteration }}{{ $user->name }}{{ $user->email }} + @foreach ($user->roles as $taraf) +

{{$taraf->name}}

+ @endforeach +
+ Edit + {{--
+ + Show + + Edit + + @csrf + @method('DELETE') + + --}} +
+
+
+ + @endsection diff --git a/resources/views/pengurusanpengguna/roles.blade.php b/resources/views/pengurusanpengguna/roles.blade.php index 2a10633f..202294dd 100644 --- a/resources/views/pengurusanpengguna/roles.blade.php +++ b/resources/views/pengurusanpengguna/roles.blade.php @@ -19,6 +19,9 @@ + + + @endsection diff --git a/resources/views/pengurusanpengguna/show.blade.php b/resources/views/pengurusanpengguna/show.blade.php new file mode 100644 index 00000000..a880fd1f --- /dev/null +++ b/resources/views/pengurusanpengguna/show.blade.php @@ -0,0 +1,46 @@ +@extends('layouts.app') + +@section('content') +
+
+
+ @if ($message = Session::get('success')) +
+

{{ $message }}

+
+ @endif +
+ @csrf +
+
+ + +
+
+ + +
+
+
+

Taraf Pengguna

+
+ @foreach ($allroles as $namataraf) +
+ + {{-- --}} + +
+ @endforeach +
+
+
+ + +
+ +
+
+
+
+ +@endsection diff --git a/resources/views/pengurusanpengguna/showtaraf.blade.php b/resources/views/pengurusanpengguna/showtaraf.blade.php new file mode 100644 index 00000000..30359bac --- /dev/null +++ b/resources/views/pengurusanpengguna/showtaraf.blade.php @@ -0,0 +1,42 @@ +@extends('layouts.app') + +@section('content') +
+
+
+ @if ($message = Session::get('success')) +
+

{{ $message }}

+
+ @endif +
+ @csrf +
+
+ + +
+
+
+

Roles

+
+ @foreach ($allpermission as $roles) +
+ + {{-- --}} + +
+ @endforeach +
+
+
+ + +
+ +
+
+
+
+ +@endsection diff --git a/resources/views/pengurusanpengguna/taraf.blade.php b/resources/views/pengurusanpengguna/taraf.blade.php index 6fd56c2c..9febba8f 100644 --- a/resources/views/pengurusanpengguna/taraf.blade.php +++ b/resources/views/pengurusanpengguna/taraf.blade.php @@ -3,21 +3,37 @@ @section('content')
-
-
-
{{ __('Dashboard') }}
- -
- @if (session('status')) - - @endif - - you can manage taraf! - +
+ @if ($message = Session::get('success')) +
+

{{ $message }}

-
+ @endif + + + + + + + + + @foreach ($roles as $role) + + + + {{-- --}} + + + + @endforeach +
NoTarafRolesAction
{{ $loop->iteration }}{{ $role->name }}{{ $role->email }} + @foreach ($role->permissions->pluck('name') as $taraf) +

{{$taraf}}

+ @endforeach +
+ Edit + +
diff --git a/routes/web.php b/routes/web.php index cfab7798..701cab37 100644 --- a/routes/web.php +++ b/routes/web.php @@ -19,14 +19,18 @@ Route::get('/', function () { Auth::routes(); -Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home'); -Route::get('/about', [App\Http\Controllers\HomeController::class, 'about'])->name('about'); +Route::get('/home','HomeController@index')->name('home'); +Route::get('/about','HomeController@about')->name('about'); //Pengurusan Pengguna Route::group(['middleware' => ['permission:pengguna'],'prefix'=>'pengguna'], function () { - Route::get('/index','PenggunaController@index'); - Route::get('/taraf','PenggunaController@taraf'); + Route::get('/index',['as'=>'pengguna.index','uses'=>'PenggunaController@index']); + Route::get('/taraf',['as'=>'pengguna.taraf','uses'=>'PenggunaController@taraf']); + Route::get('/taraf/{tarafid}',['as'=>'pengguna.showtaraf','uses'=>'PenggunaController@showtaraf']); + Route::post('/storetaraf',['as'=>'pengguna.storetaraf','uses'=>'PenggunaController@storetaraf']); Route::get('/roles','PenggunaController@roles'); + Route::get('/show/{userid}',['as'=>'pengguna.show','uses'=>'PenggunaController@show']); + Route::post('/store',['as'=>'pengguna.store','uses'=>'PenggunaController@store']); }); \ No newline at end of file