Skip to content

Commit fa95b1e

Browse files
authored
Fix entity management to rely on registered policies
1 parent 75c52bb commit fa95b1e

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/Http/Controllers/RolesController.php

+13-1
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,20 @@ public function edit($name) : View
4444
{
4545
$role = (new Role)->with('permissions')->find($name);
4646
$this->authorize('edit', $role);
47-
$entities = (new Entity)->whereNotIn('name', ['permission', 'entity'])->get();
4847
$actions = (new Action)->all();
48+
$entities = collect(array_keys(app('Illuminate\Contracts\Auth\Access\Gate')->policies()))
49+
->map(function ($entity) {
50+
return strtolower(collect(explode('\\', $entity))->last());
51+
})
52+
->filter(function ($entity) {
53+
return ! in_array($entity, ['permission', 'entity']);
54+
})
55+
->map(function ($entity) {
56+
return (new Entity)
57+
->firstOrCreate([
58+
'name' => $entity,
59+
]);
60+
});
4961
$ownerships = (new Ownership)->all();
5062
$permissionMatrix = [];
5163

0 commit comments

Comments
 (0)