Completed
Push — master ( a9a224...08e3df )
by wen
08:25
created

PermissionsTableSeeder::dashboard()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
use Illuminate\Database\Seeder;
4
5
class PermissionsTableSeeder extends Seeder
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
6
{
7
    public function run()
8
    {
9
        $this->dashboard();
10
        $this->system();
11
        $this->users();
12
    }
13
14
    private function dashboard()
15
    {
16
        $dashboard = $this->insertPerm('admin.dashboard', '控制台', 0, 1,
17
            'fa-dashboard');
18
        $this->insertPerm('admin.menu', '左侧菜单数据', $dashboard->id);
19
        $this->insertPerm('admin.permissions', 'Ajax获取用户权限', $dashboard->id);
20
    }
21
22
    private function system()
23
    {
24
        $system = $this->insertPerm('#', '系统管理', 0, 1, 'fa-edit');
25
26
        $log = $this->insertPerm('admin.system.log', '操作日志', $system->id, 1);
27
        $this->insertPerm('admin.system.log.list', 'Ajax获取操作日志列表', $log->id);
28
29
        $menu = $this->insertPerm('admin.system.menu', '后台菜单', $system->id, 1,
30
            'fa-link');
31
        $this->insertPerm('admin.system.menu.list', '菜单列表数据', $menu->id);
32
        $this->insertPerm('admin.system.menu.store', '保存菜单', $menu->id);
33
        $this->insertPerm('admin.system.menu.update', '更新菜单', $menu->id);
34
        $this->insertPerm('admin.system.menu.destroy', '删除菜单', $menu->id);
35
        $this->insertPerm('admin.system.menu.batch.destroy', '批量删除菜单',
36
            $menu->id);
37
    }
38
39
    private function users()
40
    {
41
        $users = $this->insertPerm('#', '管理组', 0, 1, 'fa-users');
42
43
        $user = $this->insertPerm('admin.users.user', '管理员', $users->id, 1,
44
            'fa-user');
45
        $this->insertPerm('admin.users.user.list', '管理员列表数据', $user->id);
46
        $this->insertPerm('admin.users.user.store', '保存管理员', $user->id);
47
48
        $updateUser = $this->insertPerm('admin.users.user.update', '更新管理员', $user->id);
49
        $this->insertPerm('admin.users.user.role.all', 'Ajax获取所有角色数据',
50
            $updateUser->id, 0, '', '用于创建和编辑');
51
52
        $this->insertPerm('admin.users.user.destroy', '删除管理员', $user->id);
53
54
        $role = $this->insertPerm('admin.users.role', '角色管理', $users->id, 1,
55
            'fa-user-plus');
56
        $this->insertPerm('admin.users.role.list', '角色列表数据', $role->id);
57
58
59
        $createRole = $this->insertPerm('admin.users.role.create', '创建角色',
60
            $role->id);
61
        $this->insertPerm('admin.users.role.store', '保存角色', $createRole->id);
62
63
        $roleEdit = $this->insertPerm('admin.users.role.edit', '编辑角色',
64
            $role->id);
65
        $this->insertPerm('admin.users.role.get', '获取角色信息', $roleEdit->id, 0,
66
            '', '用于编辑角色时获取数据');
67
        $this->insertPerm('admin.users.role.perms.list', 'ajax获取权限列表',
68
            $roleEdit->id, 0, '', '用于编辑角色时获取数据');
69
        $this->insertPerm('admin.users.role.update', '更新角色', $roleEdit->id);
70
71
        $this->insertPerm('admin.users.role.destroy', '删除角色', $role->id);
72
        $this->insertPerm('admin.users.role.batch.destroy', '批量删除角色',
73
            $role->id);
74
    }
75
76
    private function insertPerm(
77
        $name,
78
        $displayName,
79
        $pid,
80
        $isMenu = 0,
81
        $icon = '',
82
        $description = ''
83
    ) {
84
        $permissionModelName = config('admin.permission');
85
        $permission          = new $permissionModelName();
86
87
        $permission->pid          = $pid;
88
        $permission->icon         = $icon;
89
        $permission->display_name = $displayName;
90
        $permission->name         = $name;
91
        $permission->is_menu      = $isMenu;
92
        $permission->sort         = 1;
93
        $permission->description  = $description;
94
        $permission->save();
95
96
        return $permission;
97
    }
98
}
99