Completed
Push — master ( 023448...f16a65 )
by wen
04:07
created

PermissionsTableSeeder::users()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 31
Code Lines 25

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 31
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 25
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
        $dashboard = $this->insertPerm('admin.dashboard', '控制台', 0, 1,
10
            'fa-dashboard');
11
        $this->insertPerm('admin.menu', '左侧菜单数据', $dashboard->id);
12
        $this->insertPerm('admin.permissions', 'Ajax获取用户权限', $dashboard->id);
13
14
        $this->system();
15
        $this->users();
16
17
18
    }
19
20
    private function system()
21
    {
22
        $system = $this->insertPerm('#', '系统管理', 0, 1, 'fa-edit');
23
24
        $log = $this->insertPerm('admin.system.log', '操作日志', $system->id, 1);
25
        $this->insertPerm('admin.system.log.list', 'Ajax获取操作日志列表', $log->id);
26
27
        $menu = $this->insertPerm('admin.system.menu', '后台菜单', $system->id, 1,
28
            'fa-link');
29
        $this->insertPerm('admin.system.menu.list', '菜单列表数据', $menu->id);
30
        $this->insertPerm('admin.system.menu.save', '保存菜单', $menu->id);
31
        $this->insertPerm('admin.system.menu.delete', '删除菜单', $menu->id);
32
        $this->insertPerm('admin.system.menu.batch.delete', '批量删除菜单',
33
            $menu->id);
34
    }
35
36
    private function users()
37
    {
38
        $users = $this->insertPerm('#', '管理组', 0, 1, 'fa-users');
39
40
        $user = $this->insertPerm('admin.users.user', '管理员', $users->id, 1,
41
            'fa-user');
42
        $this->insertPerm('admin.users.user.list', '管理员列表数据', $user->id);
43
        $this->insertPerm('admin.users.user.save', '保存管理员', $user->id);
44
45
        $saveRole = $this->insertPerm('admin.users.user.save.role', '设置角色',
46
            $user->id);
47
        $this->insertPerm('admin.users.user.role.all', '获取所有角色',
48
            $saveRole->id);
49
        $this->insertPerm('admin.users.user.delete', '删除管理员', $user->id);
50
51
        $role = $this->insertPerm('admin.users.role', '角色管理', $users->id, 1,
52
            'fa-user-plus');
53
        $this->insertPerm('admin.users.role.list', '角色列表数据', $role->id);
54
        $this->insertPerm('admin.users.role.save', '保存角色', $role->id);
55
        $this->insertPerm('admin.users.role.delete', '删除角色', $role->id);
56
        $this->insertPerm('admin.users.role.batch.delete', '批量删除角色',
57
            $role->id);
58
        $this->insertPerm('admin.users.role.create', '创建角色', $role->id);
59
60
        $roleEdit = $this->insertPerm('admin.users.role.edit', '编辑角色',
61
            $role->id);
62
        $this->insertPerm('admin.users.role.get', '获取角色信息', $roleEdit->id, 0,
63
            '', '用于编辑角色时获取数据');
64
        $this->insertPerm('admin.users.role.perms.list', 'ajax获取权限列表',
65
            $roleEdit->id, 0, '', '用于编辑角色时获取数据');
66
    }
67
68
    private function insertPerm(
69
        $name, $displayName, $pid, $isMenu = 0, $icon = '', $description = ''
70
    ) {
71
        $permissionModelName = config('admin.permission');
72
        $permission          = new $permissionModelName();
73
74
        $permission->pid          = $pid;
75
        $permission->icon         = $icon;
76
        $permission->display_name = $displayName;
77
        $permission->name         = $name;
78
        $permission->is_menu      = $isMenu;
79
        $permission->sort         = 1;
80
        $permission->description  = $description;
81
        $permission->save();
82
83
        return $permission;
84
    }
85
}
86