uac = $uac; } /** * Display a listing of the resource. */ public function index() { // call table user with pagination $datas = Role::latest()->paginate(10); return view('pages.admin.roles.index', compact('datas')); } /** * Show the form for creating a new resource. */ public function create() { $permissions = Permission::all()->groupBy('group_name'); return view('pages.admin.roles.create', compact('permissions')); } /** * Store a newly created resource in storage. */ public function store(Request $request) { // validation $rules = array( 'name' => 'required|unique:roles', 'permission' => 'required|min:8', ); $validator = Validator::make($request->all(), $rules); // check validation if ($validator->fails()) { return Redirect::to('roles/create') ->withErrors($validator) ->withInput($request->except('password')); } else { // create new account $role = Role::create(['name' => $request->input('name')]); $role->syncPermissions($request->get('permission')); // Create Session message Session::flash('roles-message', [ 'type' => 'success', 'msg' => 'Berhasil menambah data!' ]); return Redirect::to('roles'); } } /** * Display the specified resource. */ public function show(string $id) { // } /** * Show the form for editing the specified resource. */ public function edit(string $id) { // get data from user $role = Role::findOrFail($id); $rolePermissions = $role->permissions()->pluck('name')->toArray(); $permissions = Permission::get()->groupBy('group_name'); // call view pages return view('pages.admin.roles.edit', compact('role', 'permissions', 'rolePermissions')); } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // validation $rules = array( 'name' => 'required|unique:roles,name,' . $id . ',id', 'permission' => 'required|min:8', ); $validator = Validator::make($request->all(), $rules); // process the login if ($validator->fails()) { return Redirect::to('roles/edit/' . $id) ->withErrors($validator) ->withInput(); } else { // create new account $role = Role::findOrFail($id); $role->update($request->only('name')); $role->syncPermissions($request->get('permission')); // Create Session message Session::flash('roles-message', [ 'type' => 'success', 'msg' => 'Berhasil mengubah data!' ]); return Redirect::to('roles'); } } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } public function refreshRoutes() { try { $result = $this->uac->generate(); if ($result['status' == 'success']) { return back()->with('success', $result['message']); } else { return back()->with('error', $result['message']); } } catch (\Throwable $th) { //throw $th; } return redirect()->back(); } }