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 @@ -
- @if(Auth::user()->can('role.update')) - - {!! theme()->getSvgIcon("icons/duotune/art/art005.svg", "svg-icon-3") !!} Edit - - @endif - - @if($model->id > 5 && Auth::user()->can('role.delete')) - {!! Form::open(['method' => 'DELETE','route' => ['roles.destroy', $model->id],'class'=>'']) !!} - {{ Form::button(theme()->getSvgIcon("icons/duotune/general/gen027.svg", "svg-icon-3")." Delete", ['type' => 'submit', 'class' => 'delete btn btn-bg-light btn-active-light-danger btn-sm', 'data-bs-toggle' => "tooltip", 'data-bs-custom-class' => "tooltip-dark", 'data-bs-placement'=>"top", 'title'=>"Delete"] ) }} - {!! Form::close() !!} - @endif -
diff --git a/resources/views/pages/users/role/_checkbox.blade.php b/resources/views/pages/users/role/_checkbox.blade.php deleted file mode 100644 index 96f9899..0000000 --- a/resources/views/pages/users/role/_checkbox.blade.php +++ /dev/null @@ -1,5 +0,0 @@ - -
- -
- diff --git a/resources/views/pages/users/role/_createform.blade.php b/resources/views/pages/users/role/_createform.blade.php deleted file mode 100644 index 60489ea..0000000 --- a/resources/views/pages/users/role/_createform.blade.php +++ /dev/null @@ -1,132 +0,0 @@ -
-{{ csrf_field() }} - -
- -
- - - - -
- -
- @error('name') -
{{ $message }}
- @enderror - -
- -
- - - - -
- - - - - - - - - - - @foreach($permissiongroups as $group) - - - - - - - - - - - @endforeach - - -
Administrator/Superuser Access - - - - -
{{ $group->name }} - -
- @foreach($group->getpermissionsByGroupId($group->id) as $permission) - - - - @endforeach -
- -
- -
- -
- -
- - -
- - -
- -
- -@push('customscript') - -@endpush diff --git a/resources/views/pages/users/role/_form.blade.php b/resources/views/pages/users/role/_form.blade.php deleted file mode 100644 index 3926419..0000000 --- a/resources/views/pages/users/role/_form.blade.php +++ /dev/null @@ -1,164 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - - -@push('customscript') - -@endpush diff --git a/resources/views/pages/users/role/_table.blade.php b/resources/views/pages/users/role/_table.blade.php deleted file mode 100644 index 8a27a1c..0000000 --- a/resources/views/pages/users/role/_table.blade.php +++ /dev/null @@ -1,50 +0,0 @@ - -{{ $dataTable->table() }} - - -{{-- Inject Scripts --}} -@section('scripts') - {{ $dataTable->scripts() }} -@endsection - -@push('customscript') - -@endpush - - -@section('styles') - -@endsection diff --git a/resources/views/pages/users/role/create.blade.php b/resources/views/pages/users/role/create.blade.php deleted file mode 100644 index 912cf41..0000000 --- a/resources/views/pages/users/role/create.blade.php +++ /dev/null @@ -1,29 +0,0 @@ - - -
- -
-

- Add Role -

- - -
-
- @include('pages.roles._createform') -
- -
- -
diff --git a/resources/views/pages/users/role/edit.blade.php b/resources/views/pages/users/role/edit.blade.php deleted file mode 100644 index 0a0368c..0000000 --- a/resources/views/pages/users/role/edit.blade.php +++ /dev/null @@ -1,29 +0,0 @@ - - -
- -
-

- Edit Role {{ $role->name }} -

- - -
-
- @include('pages.roles._editform') -
- -
- -
diff --git a/resources/views/pages/users/role/index.blade.php b/resources/views/pages/users/role/index.blade.php deleted file mode 100644 index 349e404..0000000 --- a/resources/views/pages/users/role/index.blade.php +++ /dev/null @@ -1,52 +0,0 @@ - - -
- -
-

-
- - - - - - - - - -
- -

- - @if(Auth::user()->can('role.create')) - - @endif -
-
- @include('pages.users.roles._table') - @include('pages.users.roles._form') -
- -
- -
diff --git a/resources/views/pages/users/role/_editform.blade.php b/resources/views/pages/users/roles/_editform.blade.php similarity index 97% rename from resources/views/pages/users/role/_editform.blade.php rename to resources/views/pages/users/roles/_editform.blade.php index 1be9105..6c382a9 100644 --- a/resources/views/pages/users/role/_editform.blade.php +++ b/resources/views/pages/users/roles/_editform.blade.php @@ -1,4 +1,4 @@ -
+ @method('PUT') {{ csrf_field() }} @@ -87,7 +87,9 @@
- + + Cancel +