Skip to content

Commit 5a28e47

Browse files
committed
added permission crud Authorization
1 parent 001392b commit 5a28e47

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

app/Http/Controllers/Admin/PermissionController.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use App\Http\Requests\Admin\StorePermissionRequest;
77
use App\Http\Requests\Admin\UpdatePermissionRequest;
88
use App\Models\Permission;
9+
use Illuminate\Support\Facades\Auth;
910
use Inertia\Inertia;
1011

1112
class PermissionController extends Controller
@@ -48,6 +49,11 @@ public function index()
4849
return Inertia::render('Admin/Permission/Index', [
4950
'permissions' => $permissions,
5051
'filters' => request()->all('search'),
52+
'can' => [
53+
'create' => Auth::user()->can('permission create'),
54+
'edit' => Auth::user()->can('permission edit'),
55+
'delete' => Auth::user()->can('permission delete'),
56+
]
5157
]);
5258
}
5359

resources/js/Pages/Admin/Permission/Index.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ const props = defineProps({
1414
type: Object,
1515
default: () => ({}),
1616
},
17+
can: {
18+
type: Object,
19+
default: () => ({}),
20+
},
1721
});
1822
1923
const form = useForm({
@@ -60,7 +64,7 @@ function destroy(id) {
6064
<div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
6165
<div class="p-6 bg-white border-b border-gray-200">
6266
<div class="flex flex-col mt-8">
63-
<div class="d-print-none with-border mb-8">
67+
<div v-if="can.create" class="d-print-none with-border mb-8">
6468
<Link
6569
:href="route('permission.create')"
6670
class="
@@ -158,6 +162,7 @@ function destroy(id) {
158162
<Sort label="Name" attribute="name" />
159163
</th>
160164
<th
165+
v-if="can.edit || can.delete"
161166
class="
162167
py-2
163168
px-4
@@ -203,6 +208,7 @@ function destroy(id) {
203208
</div>
204209
</td>
205210
<td
211+
v-if="can.edit || can.delete"
206212
class="
207213
border-b border-slate-100
208214
dark:border-slate-700
@@ -214,6 +220,7 @@ function destroy(id) {
214220
>
215221
<div class="flex">
216222
<Link
223+
v-if="can.edit"
217224
:href="route('permission.edit', permission.id)"
218225
class="
219226
inline-flex
@@ -245,6 +252,7 @@ function destroy(id) {
245252
Edit
246253
</Link>
247254
<BreezeButton
255+
v-if="can.delete"
248256
class="px-4 py-2 text-white bg-red-600"
249257
@click="destroy(permission.id)"
250258
>

0 commit comments

Comments
 (0)