Completed
Push — master ( 27aaeb...0eb7b3 )
by wen
03:21
created

PermissionsTableSeeder::system()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 9
nc 1
nop 0
1
<?php
2
3
use Illuminate\Database\Seeder;
4
use Sco\Admin\Models\Permission;
5
6
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...
7
{
8
    public function run()
9
    {
10
        $dashboard = $this->insertPerm('admin.dashboard', '控制台', 0, 1, 'fa-dashboard');
11
        $this->insertPerm('admin.menu', '左侧菜单数据', $dashboard->id);
12
        $this->insertPerm('admin.permissions', 'Ajax获取用户权限', $dashboard->id);
13
14
        $this->system();
15
        $this->manage();
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, 'fa-link');
28
        $this->insertPerm('admin.system.menu.list', '菜单列表数据', $menu->id);
29
        $this->insertPerm('admin.system.menu.save', '保存菜单', $menu->id);
30
        $this->insertPerm('admin.system.menu.delete', '删除菜单', $menu->id);
31
        $this->insertPerm('admin.system.menu.batch.delete', '批量删除菜单', $menu->id);
32
    }
33
34
    private function manage()
35
    {
36
        $manage = $this->insertPerm('#', '管理组', 0, 1, 'fa-users');
37
38
        $user = $this->insertPerm('admin.manager.user', '管理员', $manage->id, 1, 'fa-user');
39
        $this->insertPerm('admin.manager.user.list', '管理员列表数据', $user->id);
40
        $this->insertPerm('admin.manager.user.save', '保存管理员', $user->id);
41
42
        $saveRole = $this->insertPerm('admin.manager.user.save.role', '设置角色', $user->id);
43
        $this->insertPerm('admin.manager.user.role.all', '获取所有角色', $saveRole->id);
44
        $this->insertPerm('admin.manager.user.delete', '删除管理员', $user->id);
45
46
        $role = $this->insertPerm('admin.manager.role', '角色管理', $manage->id, 1, 'fa-user-plus');
47
        $this->insertPerm('admin.manager.role.list', '角色列表数据', $role->id);
48
        $this->insertPerm('admin.manager.role.save', '保存角色', $role->id);
49
        $this->insertPerm('admin.manager.role.delete', '删除角色', $role->id);
50
        $this->insertPerm('admin.manager.role.batch.delete', '批量删除角色', $role->id);
51
        $this->insertPerm('admin.manager.role.create', '创建角色', $role->id);
52
53
        $roleEdit = $this->insertPerm('admin.manager.role.edit', '编辑角色', $role->id);
54
        $this->insertPerm('admin.manager.role.get', '获取角色信息', $roleEdit->id, 0, '', '用于编辑角色时获取数据');
55
        $this->insertPerm('admin.manager.role.perms.list', 'ajax获取权限列表', $roleEdit->id, 0, '', '用于编辑角色时获取数据');
56
    }
57
58
    private function insertPerm(
59
        $name, $displayName, $pid, $isMenu = 0, $icon = '', $description = ''
60
    ) {
61
        $permission               = new Permission();
62
        $permission->pid          = $pid;
63
        $permission->icon         = $icon;
64
        $permission->display_name = $displayName;
65
        $permission->name         = $name;
66
        $permission->is_menu      = $isMenu;
67
        $permission->sort         = 1;
68
        $permission->description = $description;
69
        $permission->save();
70
71
        return $permission;
72
    }
73
}
74