SentinelGroupSeedTableSeeder   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 104
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 5
Bugs 0 Features 1
Metric Value
wmc 1
lcom 0
cbo 2
dl 0
loc 104
rs 10
c 5
b 0
f 1

1 Method

Rating   Name   Duplication   Size   Complexity  
B run() 0 96 1
1
<?php namespace Modules\User\Database\Seeders;
2
3
use Cartalyst\Sentinel\Laravel\Facades\Sentinel;
4
use Illuminate\Database\Eloquent\Model;
5
use Illuminate\Database\Seeder;
6
7
class SentinelGroupSeedTableSeeder extends Seeder
8
{
9
    /**
10
     * Run the database seeds.
11
     *
12
     * @return void
13
     */
14
    public function run()
15
    {
16
        Model::unguard();
17
18
        $groups = Sentinel::getRoleRepository();
19
20
        // Create an Admin group
21
        $groups->createModel()->create(
22
            [
23
                'name' => 'Admin',
24
                'slug' => 'admin',
25
            ]
26
        );
27
28
        // Create an Users group
29
        $groups->createModel()->create(
30
            [
31
                'name' => 'User',
32
                'slug' => 'user',
33
            ]
34
        );
35
36
        // Save the permissions
37
        $group = Sentinel::findRoleBySlug('admin');
38
        $group->permissions = [
39
            'dashboard.index' => true,
40
            'dashboard.grid.save' => true,
41
            'dashboard.grid.reset' => true,
42
            /* Workbench */
43
            'workshop.modules.index' => true,
44
            'workshop.modules.show' => true,
45
            'workshop.modules.disable' => true,
46
            'workshop.modules.enable' => true,
47
            'workshop.themes.index' => true,
48
            'workshop.themes.show' => true,
49
            /* Roles */
50
            'user.roles.index' => true,
51
            'user.roles.create' => true,
52
            'user.roles.store' => true,
53
            'user.roles.edit' => true,
54
            'user.roles.update' => true,
55
            'user.roles.destroy' => true,
56
            /* Users */
57
            'user.users.index' => true,
58
            'user.users.create' => true,
59
            'user.users.store' => true,
60
            'user.users.edit' => true,
61
            'user.users.update' => true,
62
            'user.users.destroy' => true,
63
            /* Menu */
64
            'menu.menus.index' => true,
65
            'menu.menus.create' => true,
66
            'menu.menus.store' => true,
67
            'menu.menus.edit' => true,
68
            'menu.menus.update' => true,
69
            'menu.menus.destroy' => true,
70
            'menu.menuitem.index' => true,
71
            'menu.menuitem.create' => true,
72
            'menu.menuitem.store' => true,
73
            'menu.menuitem.edit' => true,
74
            'menu.menuitem.update' => true,
75
            'menu.menuitem.destroy' => true,
76
            /* Media */
77
            'media.media.index' => true,
78
            'media.media.create' => true,
79
            'media.media.store' => true,
80
            'media.media.edit' => true,
81
            'media.media.update' => true,
82
            'media.media.destroy' => true,
83
            'media.media-grid.index' => true,
84
            'media.media-grid.ckIndex' => true,
85
            /* Settings */
86
            'setting.settings.index' => true,
87
            'setting.settings.store' => true,
88
            'setting.settings.getModuleSettings' => true,
89
            /* Page */
90
            'page.pages.index' => true,
91
            'page.pages.create' => true,
92
            'page.pages.store' => true,
93
            'page.pages.edit' => true,
94
            'page.pages.update' => true,
95
            'page.pages.destroy' => true,
96
            /* Translation */
97
            'translation.translations.index' => true,
98
            'translation.translations.update' => true,
99
            'translation.translations.export' => true,
100
            'translation.translations.import' => true,
101
        ];
102
        $group->save();
103
104
        $group = Sentinel::findRoleBySlug('user');
105
        $group->permissions = [
106
            'dashboard.index' => true,
107
        ];
108
        $group->save();
109
    }
110
}
111