diff --git a/app/Http/Controllers/Users/PermissionsController.php b/app/Http/Controllers/Users/PermissionsController.php index fdbd1ad..7b5aea5 100644 --- a/app/Http/Controllers/Users/PermissionsController.php +++ b/app/Http/Controllers/Users/PermissionsController.php @@ -79,6 +79,7 @@ class PermissionsController extends Controller ]; foreach($data as $permission){ + Permission::create([ 'name' => $permission, 'guard_name' => 'web', @@ -149,6 +150,7 @@ class PermissionsController extends Controller $group->name = $request->name; if($group->save()){ + $group_name = strtolower($request->name); $permissions = Permission::where('permission_group_id', $group->id)->get(); $data = [ diff --git a/app/Http/Controllers/Users/RolesController.php b/app/Http/Controllers/Users/RolesController.php index 2a4f5c3..e47a1cf 100644 --- a/app/Http/Controllers/Users/RolesController.php +++ b/app/Http/Controllers/Users/RolesController.php @@ -1,190 +1,190 @@ middleware(function ($request, $next) { - $this->user = Auth::guard('web')->user(); - return $next($request); - }); - } - - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index(RolesDataTable $dataTable) - { - /*if (is_null($this->user) || !$this->user->can('role.read')) { - abort(403, 'Sorry !! You are Unauthorized to view any role !'); - }*/ - $permissiongroups = PermissionGroup::all(); - - return $dataTable->render('pages.users.roles.index', compact('permissiongroups')); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - /*if (is_null($this->user) || !$this->user->can('role.create')) { - abort(403, 'Sorry !! You are Unauthorized to create any role !'); - }*/ - - // Validation Data - $validated = $request->validate([ - 'name' => 'required|max:100|unique:roles' - ], [ - 'name.requried' => 'Please give a role name' - ]); - - - if($validated){ - try { - // Process Data - $role = Role::create(['name' => $request->name, 'guard_name' => 'web']); - - $permissions = $request->input('permissions'); - - if (!empty($permissions)) { - $role = Role::find($role->id); - $role->syncPermissions($permissions); - } - - echo json_encode(['status' => 'success', 'message' => 'Role Created Successfully']); - } catch (\Exception $e) { - echo json_encode(['status' => 'error', 'message' => 'Role Created Failed']); - } - } - - return false; - } - - /** - * Display the specified resource. - * - * @param int $id - * - * @return \Illuminate\Http\Response - */ - public function show($id) - { - // - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * - * @return \Illuminate\Http\Response - */ - public function edit($id) - { - /* if (is_null($this->user) || !$this->user->can('role.update')) { - abort(403, 'Sorry !! You are Unauthorized to edit any role !'); - }*/ - - $role = Role::findById($id, 'web'); - $permissions = Permission::all(); - $permissiongroups = PermissionGroup::all(); - - $_array = [ - 'role' => $role, - 'permissions' => $permissions, - 'permissiongroups' => $permissiongroups - ]; - setcookie('role', json_encode($role), time() + (86400 * 30), "/"); - setcookie('perissions', json_encode($permissions), time() + (86400 * 30), "/"); - - echo json_encode($_array); - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param int $id - * - * @return \Illuminate\Http\Response - */ - public function update(Request $request, $id) - { - /* if (is_null($this->user) || !$this->user->can('role.update')) { - abort(403, 'Sorry !! You are Unauthorized to edit any role !'); - }*/ - - // Validation Data - $request->validate([ - 'name' => 'required|max:100|unique:roles,name,' . $id - ], [ - 'name.requried' => 'Please give a role name' - ]); - - $role = Role::findById($id, 'web'); - $permissions = $request->input('permissions'); - - $role->name = $request->name; - $role->save(); - - if (!empty($permissions)) { - $role->syncPermissions($permissions); - } - - session()->flash('success', 'Role has been updated !!'); - return redirect()->route('user.roles.index'); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - /*if (is_null($this->user) || !$this->user->can('role.delete')) { - abort(403, 'Sorry !! You are Unauthorized to delete any role !'); - }*/ - - - $role = Role::findById($id, 'web'); - if (!is_null($role)) { - $role->delete(); - } - - session()->flash('success', 'Role has been deleted !!'); - return redirect()->route('user.roles.index'); - } + $this->middleware(function ($request, $next) { + $this->user = Auth::guard('web')->user(); + return $next($request); + }); } + + /** + * Display a listing of the resource. + * + * @return Response + */ + public function index(RolesDataTable $dataTable) + { + /*if (is_null($this->user) || !$this->user->can('role.read')) { + abort(403, 'Sorry !! You are Unauthorized to view any role !'); + }*/ + $permissiongroups = PermissionGroup::all(); + + return $dataTable->render('pages.users.roles.index', compact('permissiongroups')); + } + + /** + * Show the form for creating a new resource. + * + * @return Response + */ + public function create() + { + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * + * @return Response + */ + public function store(Request $request) + { + /*if (is_null($this->user) || !$this->user->can('role.create')) { + abort(403, 'Sorry !! You are Unauthorized to create any role !'); + }*/ + + // Validation Data + $validated = $request->validate([ + 'name' => 'required|max:100|unique:roles' + ], [ + 'name.requried' => 'Please give a role name' + ]); + + + if ($validated) { + try { + // Process Data + $role = Role::create(['name' => $request->name, 'guard_name' => 'web']); + + $permissions = $request->input('permissions'); + + if (!empty($permissions)) { + $role = Role::find($role->id); + $role->syncPermissions($permissions); + } + + echo json_encode(['status' => 'success', 'message' => 'Role Created Successfully']); + } catch (Exception $e) { + echo json_encode(['status' => 'error', 'message' => 'Role Created Failed']); + } + } + + return false; + } + + /** + * Display the specified resource. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + /* if (is_null($this->user) || !$this->user->can('role.update')) { + abort(403, 'Sorry !! You are Unauthorized to edit any role !'); + }*/ + + $role = Role::findById($id, 'web'); + $permissions = Permission::all(); + $permissiongroups = PermissionGroup::all(); + + $_array = [ + 'role' => $role, + 'permissions' => $permissions, + 'permissiongroups' => $permissiongroups + ]; + + return view('pages.users.roles.edit', $_array); + } + + /** + * Update the specified resource in storage. + * + * @param Request $request + * @param int $id + * + * @return Response + */ + public function update(Request $request, $id) + { + /* if (is_null($this->user) || !$this->user->can('role.update')) { + abort(403, 'Sorry !! You are Unauthorized to edit any role !'); + }*/ + + // Validation Data + $request->validate([ + 'name' => 'required|max:100|unique:roles,name,' . $id + ], [ + 'name.requried' => 'Please give a role name' + ]); + + $role = Role::findById($id, 'web'); + $permissions = $request->input('permissions'); + + $role->name = $request->name; + $role->save(); + + if (!empty($permissions)) { + $role->syncPermissions($permissions); + } + + session()->flash('success', 'Role has been updated !!'); + return redirect()->route('user.roles.index'); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * + * @return Response + */ + public function destroy($id) + { + /*if (is_null($this->user) || !$this->user->can('role.delete')) { + abort(403, 'Sorry !! You are Unauthorized to delete any role !'); + }*/ + + + $role = Role::findById($id, 'web'); + if (!is_null($role)) { + $role->delete(); + } + + session()->flash('success', 'Role has been deleted !!'); + return redirect()->route('user.roles.index'); + } +} diff --git a/composer.lock b/composer.lock index e8254d8..cf3c2fb 100644 --- a/composer.lock +++ b/composer.lock @@ -3693,16 +3693,16 @@ }, { "name": "ramsey/uuid", - "version": "4.x-dev", + "version": "4.7.4", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "8e955307d32dc9b6992440ff81321d3cb09db75a" + "reference": "60a4c63ab724854332900504274f6150ff26d286" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/8e955307d32dc9b6992440ff81321d3cb09db75a", - "reference": "8e955307d32dc9b6992440ff81321d3cb09db75a", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/60a4c63ab724854332900504274f6150ff26d286", + "reference": "60a4c63ab724854332900504274f6150ff26d286", "shasum": "" }, "require": { @@ -3743,7 +3743,6 @@ "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, - "default-branch": true, "type": "library", "extra": { "captainhook": { @@ -3770,7 +3769,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.x" + "source": "https://github.com/ramsey/uuid/tree/4.7.4" }, "funding": [ { @@ -3782,7 +3781,7 @@ "type": "tidelift" } ], - "time": "2023-03-27T22:05:11+00:00" + "time": "2023-04-15T23:01:58+00:00" }, { "name": "spatie/laravel-activitylog", diff --git a/resources/views/pages/users/role/_action.blade.php b/resources/views/pages/users/role/_action.blade.php deleted file mode 100644 index 229eda5..0000000 --- a/resources/views/pages/users/role/_action.blade.php +++ /dev/null @@ -1,14 +0,0 @@ -