Skip to content
This repository was archived by the owner on Mar 12, 2024. It is now read-only.

Commit e42bd47

Browse files
committed
cleanup and restructure
1 parent 12252e8 commit e42bd47

File tree

5 files changed

+21
-13
lines changed

5 files changed

+21
-13
lines changed

resources/views/permission-ui/permission.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<br/>
2222
@verbatim
2323
<br/>@can(@endverbatim'{{ $permission->name }}'@verbatim)<br/>
24-
&nbsp;&nbsp;//<br/>
24+
&nbsp;&nbsp;&nbsp;&nbsp;/* code here */<br/>
2525
@endcan<br/>
2626
@endverbatim
2727
</x-slot>

src/Http/Livewire/Menu.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class Menu extends Component
1212
public $menu;
1313
private $parents;
1414

15-
protected function rules()
15+
protected function rules() : array
1616
{
1717
return [
1818
'menu.name' => 'required|string',
@@ -23,7 +23,7 @@ protected function rules()
2323
];
2424
}
2525

26-
public function mount(\LLoadoutInforce\Models\Menu $menu)
26+
public function mount(\LLoadoutInforce\Models\Menu $menu) : void
2727
{
2828
$this->menu = $menu;
2929
$parents = \LLoadoutInforce\Models\Menu::with('parent')->get()->map(function ($menu) {
@@ -38,19 +38,19 @@ public function mount(\LLoadoutInforce\Models\Menu $menu)
3838
$this->parents = $parents->sortBy('order')->pluck('name', 'id')->toArray();
3939
}
4040

41-
public function render()
41+
public function render() : \View
4242
{
4343
$menus = \LLoadoutInforce\Models\Menu::with('menu.menu.menu')->orderBy('sort_order')->get();
4444
$parents = $this->parents;
4545
return view('LLoadoutInforce-views::menu-ui.menu', compact('menus', 'parents'));
4646
}
4747

48-
public function delete()
48+
public function delete() : void
4949
{
5050
$this->menu->delete();
5151
}
5252

53-
public function updateMenu()
53+
public function updateMenu() : void
5454
{
5555
$this->validate();
5656
$this->menu->parent_id = $this->menu->parent_id == 0 ? null : $this->menu->parent_id;
@@ -61,7 +61,6 @@ public function updateMenu()
6161
'name' => $this->menu->permission,
6262
'guard_name' => 'web'
6363
]);
64-
6564
}
6665

6766
$this->menu->save();

src/Http/Livewire/Permission.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public function updatePermission()
3838
if($this->permission->isDirty()){
3939
$original = $this->permission->getOriginal('name');
4040
//update menu with this permission to new permission
41-
$menu = \LLoadoutInforce\Models\Menu::wherePermission($original)->update(['permission' => $this->permission->name]);
41+
\LLoadoutInforce\Models\Menu::wherePermission($original)->update(['permission' => $this->permission->name]);
4242
}
4343

4444
$this->permission->save();

src/Http/Livewire/Traits/HandlesPermissions.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use LLoadoutInforce\Services\Grouper;
77
use Spatie\Permission\Models\Permission;
88
use Spatie\Permission\Models\Role;
9+
use Str;
910

1011

1112
trait HandlesPermissions
@@ -32,7 +33,9 @@ private function forModel($model)
3233
{
3334
$this->selectedModel = $model;
3435
$this->access = Permission::all();
35-
$this->permissionGroups = app(Grouper::class)->exec($this->access->pluck('name', 'id'));
36+
$permissions = $this->access->pluck('name', 'id');
37+
$dottedStrings = $this->makeDottedStringIfNotDotted($permissions);
38+
$this->permissionGroups = app(Grouper::class)->exec($dottedStrings);
3639
}
3740

3841
public function forGroup($group)
@@ -54,4 +57,14 @@ public function assignAll()
5457
{
5558
$this->selectedModel->givePermissionTo(Permission::where('name', 'like', $this->selectedGroup . ".%")->get());
5659
}
60+
61+
private function makeDottedStringIfNotDotted($strings)
62+
{
63+
return $strings->transform(function ($string) {
64+
if (!Str::contains($string, '.')) {
65+
return "can." . $string;
66+
}
67+
return $string;
68+
});
69+
}
5770
}

src/Services/Grouper.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ class Grouper
66

77
public function exec($collectionOfDottedStrings, $grouped = [])
88
{
9-
// return $collectionOfDottedStrings->map(function ($dottedString, $key) use($grouped) {
10-
// return data_set($grouped, $dottedString, $key, $overwrite = true);
11-
// });
12-
139
$collectionOfDottedStrings->each(function ($dottedString, $key) use (&$grouped) {
1410
data_set($grouped, $dottedString, $key, $overwrite = true);
1511
});

0 commit comments

Comments
 (0)