SidebarHelper::indexCreateChildren()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 33
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 2 Features 0
Metric Value
cc 3
eloc 18
c 4
b 2
f 0
nc 4
nop 2
dl 0
loc 33
rs 9.6666
1
<?php
2
3
namespace Pratiksh\Adminetic\Traits;
4
5
use Illuminate\Support\Str;
6
7
trait SidebarHelper
8
{
9
    public function indexCreateChildren($route, $class)
10
    {
11
        $name = Str::ucfirst($route);
12
        $plural = Str::plural($name);
13
14
        $children = [
15
            [
16
                'type' => 'submenu',
17
                'name' => 'All '.$plural,
18
                'is_active' => request()->routeIs($route.'.index') ? 'active' : '',
19
                'link' => adminRedirectRoute($route),
20
                'conditions' => [
21
                    [
22
                        'type' => 'or',
23
                        'condition' => auth()->user()->can('view-any', $class),
24
                    ],
25
                ],
26
            ],
27
            [
28
                'type' => 'submenu',
29
                'name' => 'Create '.$name,
30
                'is_active' => request()->routeIs($route.'.create') ? 'active' : '',
31
                'link' => adminCreateRoute($route),
32
                'conditions' => [
33
                    [
34
                        'type' => 'or',
35
                        'condition' => auth()->user()->can('create', $class),
36
                    ],
37
                ],
38
            ],
39
        ];
40
41
        return $children;
42
    }
43
}
44