101 lines
2.8 KiB
PHP
101 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Roless;
|
|
use App\Models\RolePermission;
|
|
use App\Models\Permission;
|
|
use Illuminate\Http\Request;
|
|
|
|
class RolessController extends Controller
|
|
{
|
|
public function __construct(){
|
|
$this->siteTitle = "Data Roles";
|
|
parent::__construct();
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$data = Roless::where("name","<>","superadmin")->orderBy("id")->paginate(15);
|
|
|
|
return view('admin.mst_role.index',compact('data'))
|
|
->with('i', (request()->input('page', 1) - 1) * 15);
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
$this->setSubtitle("Tambah Data");
|
|
return view('admin.mst_role.create');
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$request->validate([
|
|
'name' => 'required'
|
|
]);
|
|
|
|
$requestAll = $request->all();
|
|
$requestAll['guard_name'] = 'web';
|
|
Roless::create($requestAll);
|
|
|
|
return redirect()->route('roless.index')
|
|
->with('success','Role berhasil dibuat.');
|
|
}
|
|
|
|
public function show(Roless $roless)
|
|
{
|
|
$this->setSubtitle("Detail Data");
|
|
$permissions = Permission::get();
|
|
$rolePermissions = RolePermission::where("role_id",$roless->id)->orderBy("permission_id")->get()->toArray();
|
|
$rolePermissions = array_column($rolePermissions, 'permission_id');
|
|
return view('admin.mst_role.show',compact('roless','permissions','rolePermissions'));
|
|
}
|
|
|
|
public function edit(Roless $roless)
|
|
{
|
|
$this->setSubtitle("Ubah Data");
|
|
return view('admin.mst_role.edit',compact('roless'));
|
|
}
|
|
|
|
public function update(Request $request, Roless $roless)
|
|
{
|
|
$request->validate([
|
|
'name' => 'required',
|
|
]);
|
|
|
|
$requestAll = $request->all();
|
|
$roless->update($requestAll);
|
|
|
|
return redirect()->route('roless.index')
|
|
->with('success','Role berhasil diubah!');
|
|
}
|
|
|
|
public function permissions($roleId, Request $request)
|
|
{
|
|
$request->validate([
|
|
'role_permission' => 'required',
|
|
]);
|
|
|
|
$requestAll = $request->all();
|
|
RolePermission::where("role_id", $roleId)->delete();
|
|
$role_permission = $requestAll["role_permission"];
|
|
// var_dump($roleId);exit;
|
|
foreach($role_permission as $row_permission){
|
|
RolePermission::create([
|
|
"permission_id"=>$row_permission,
|
|
"role_id"=>$roleId
|
|
]);
|
|
}
|
|
|
|
return redirect()->route('roless.index')
|
|
->with('success','Role berhasil diubah!');
|
|
}
|
|
|
|
public function destroy(Roless $roless)
|
|
{
|
|
$roless->delete();
|
|
return redirect()->route('roless.index')
|
|
->with('success','Role berhasil dihapus!');
|
|
}
|
|
}
|