update pengguna

This commit is contained in:
Azfar Arsyad
2021-11-18 16:45:30 +08:00
parent bdc14ce8c1
commit ad618d8753
7 changed files with 266 additions and 30 deletions
+89 -8
View File
@@ -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');
}
}
@@ -3,7 +3,8 @@
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
{{-- {{$alluser}} --}}
{{-- <div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Dashboard') }}</div>
@@ -13,12 +14,55 @@
{{ session('status') }}
</div>
@endif
you can manage users!
</div>
</div>
</div> --}}
<div class="col-md-12">
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<table class="table table-bordered">
<tr>
<th>No</th>
<th>Nama</th>
<th>Emails</th>
<th>Taraf</th>
<th>Action</th>
</tr>
@foreach ($alluser as $user)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td>
@foreach ($user->roles as $taraf)
<p>{{$taraf->name}}</p>
@endforeach
</td>
<td>
<a class="btn btn-info" href="{{ route('pengguna.show',$user->id) }}">Edit</a>
{{-- <form action="{{ route('pengguna.updatepengguna',$user->id) }}" method="POST">
<a class="btn btn-info" href="{{ route('users.show',$user->id) }}">Show</a>
<a class="btn btn-primary" href="{{ route('users.edit',$user->id) }}">Edit</a>
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">Delete</button> --}}
</form>
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
@endsection
@@ -19,6 +19,9 @@
</div>
</div>
</div>
</div>
</div>
@endsection
@@ -0,0 +1,46 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<form action="{{ route('pengguna.store') }}" method="POST">
@csrf
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4">Nama</label>
<input type="text" value="{{$user->name}}" class="form-control" name="nama" id="inputText" readonly>
</div>
<div class="form-group col-md-6">
<label for="inputPassword4">E-mel</label>
<input type="email" value="{{$user->email}}" class="form-control" name="emel" id="inputEmail4" readonly>
</div>
</div>
<div class="form-row">
<h4 class="col-md-3">Taraf Pengguna</h4>
<div class="form-group col-md-9">
@foreach ($allroles as $namataraf)
<div class="form-check form-check-inline">
<input class="form-check-input" name="taraf{{$namataraf}}" type="checkbox" id="taraf{{$namataraf}}" value="{{$namataraf}}" @if (in_array($namataraf,$userroles)) checked @endif>
{{-- <input type="hidden" id="alltaraf" value=""> --}}
<label class="form-check-label" for="taraf{{$namataraf}}">{{$namataraf}}</label>
</div>
@endforeach
</div>
</div>
<div class="text-right pt-4">
<input type="hidden" name="userid" value="{{$user->id}}">
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@@ -0,0 +1,42 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<form action="{{ route('pengguna.storetaraf') }}" method="POST">
@csrf
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4">Nama Taraf</label>
<input type="text" value="{{$selectedroles}}" class="form-control" name="nama" id="inputText" readonly>
</div>
</div>
<div class="form-row">
<h4 class="col-md-2">Roles</h4>
<div class="form-group col-md-10">
@foreach ($allpermission as $roles)
<div class="form-check form-check-inline">
<input class="form-check-input" name="role{{$roles}}" type="checkbox" id="role{{$roles}}" value="{{$roles}}" @if (in_array($roles,$userpermission)) checked @endif>
{{-- <input type="hidden" id="alltaraf" value=""> --}}
<label class="form-check-label" for="role{{$roles}}">{{$roles}}</label>
</div>
@endforeach
</div>
</div>
<div class="text-right pt-4">
<input type="hidden" name="namataraf" value="{{$selectedroles}}">
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@@ -3,21 +3,37 @@
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Dashboard') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
you can manage taraf!
<div class="col-md-12">
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
</div>
@endif
<table class="table table-bordered">
<tr>
<th>No</th>
<th>Taraf</th>
<th>Roles</th>
<th>Action</th>
</tr>
@foreach ($roles as $role)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $role->name }}</td>
{{-- <td>{{ $role->email }}</td> --}}
<td>
@foreach ($role->permissions->pluck('name') as $taraf)
<p>{{$taraf}}</p>
@endforeach
</td>
<td>
<a class="btn btn-info" href="{{ route('pengguna.showtaraf',$role->id) }}">Edit</a>
</form>
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
+8 -4
View File
@@ -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']);
});