添加广告管理和配置管理的权限
parent
eb94f54cba
commit
183ec96d4f
|
|
@ -0,0 +1,71 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Dcat\Admin\Models\Permission;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class BannerPermissionSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$permissions = [
|
||||||
|
'banner_ads' => ['name' => '广告位管理', 'curd' => true],
|
||||||
|
'banners' => ['name' => '广告图管理', 'curd' => true],
|
||||||
|
];
|
||||||
|
$this->createPermissionData($permissions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插入权限
|
||||||
|
*
|
||||||
|
* @param array $permissions
|
||||||
|
* @param string $key
|
||||||
|
* @param integer $pId
|
||||||
|
*/
|
||||||
|
public function createPermissionData(array $permissions, string $key = '', int $pId = 0)
|
||||||
|
{
|
||||||
|
$curdArr = [
|
||||||
|
'index' => '列表',
|
||||||
|
'create' => '新增',
|
||||||
|
'edit' => '修改',
|
||||||
|
'destroy' => '删除',
|
||||||
|
'show' => '详情',
|
||||||
|
];
|
||||||
|
foreach ($permissions as $slug => $permission) {
|
||||||
|
//是否已存在该权限
|
||||||
|
$slugKey = 'dcat.admin.' . ($key ? $key . '.' . $slug : $slug);
|
||||||
|
|
||||||
|
|
||||||
|
$pper = Permission::updateOrCreate(['slug' => $slugKey], ['name' => is_string($permission) ? $permission : $permission['name'], 'parent_id' => $pId]);
|
||||||
|
|
||||||
|
if (!is_string($permission)) {
|
||||||
|
if (!isset($permission['children'])) {
|
||||||
|
$permission['children'] = [];
|
||||||
|
}
|
||||||
|
//判断是否默认插入curd权限
|
||||||
|
if (isset($permission['curd']) && $permission['curd']) {
|
||||||
|
if (is_array($permission['curd'])) {
|
||||||
|
$permission['curd'] = array_reverse($permission['curd']);
|
||||||
|
foreach ($permission['curd'] as $value) {
|
||||||
|
$permission['children'] = array_merge([$value => $curdArr[$value]], $permission['children']);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$permission['children'] = array_merge($curdArr, $permission['children']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($permission['children']) > 0) {
|
||||||
|
$_key = $permission['curd'] !== false ? ($key ? $key . '.' . $slug : $slug) : $key;
|
||||||
|
$this->createPermissionData($permission['children'], $_key ?? $slug, $pper->id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,4 +5,8 @@ return [
|
||||||
'初始化广告管理插件',
|
'初始化广告管理插件',
|
||||||
'CreateBannerTable.php',
|
'CreateBannerTable.php',
|
||||||
],
|
],
|
||||||
|
'1.0.1' => [
|
||||||
|
'添加权限迁移文件',
|
||||||
|
'BannerPermissionSeeder.php',
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ class SettingController extends AdminController
|
||||||
protected function grid()
|
protected function grid()
|
||||||
{
|
{
|
||||||
return Grid::make(new Setting(), function (Grid $grid) {
|
return Grid::make(new Setting(), function (Grid $grid) {
|
||||||
|
$grid->disableRowSelector();
|
||||||
|
|
||||||
$grid->column('slug');
|
$grid->column('slug');
|
||||||
$grid->column('name');
|
$grid->column('name');
|
||||||
$grid->column('value');
|
$grid->column('value');
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,4 @@ namespace Peidikeji\Setting\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::resource('setting', SettingController::class)->names('setting');
|
Route::resource('settings', SettingController::class);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Dcat\Admin\Models\Permission;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class SettingPermissionSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$permissions = [
|
||||||
|
'settings' => ['name' => '配置管理', 'curd' => true],
|
||||||
|
];
|
||||||
|
$this->createPermissionData($permissions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插入权限
|
||||||
|
*
|
||||||
|
* @param array $permissions
|
||||||
|
* @param string $key
|
||||||
|
* @param integer $pId
|
||||||
|
*/
|
||||||
|
public function createPermissionData(array $permissions, string $key = '', int $pId = 0)
|
||||||
|
{
|
||||||
|
$curdArr = [
|
||||||
|
'index' => '列表',
|
||||||
|
'create' => '新增',
|
||||||
|
'edit' => '修改',
|
||||||
|
'destroy' => '删除',
|
||||||
|
'show' => '详情',
|
||||||
|
];
|
||||||
|
foreach ($permissions as $slug => $permission) {
|
||||||
|
//是否已存在该权限
|
||||||
|
$slugKey = 'dcat.admin.' . ($key ? $key . '.' . $slug : $slug);
|
||||||
|
|
||||||
|
|
||||||
|
$pper = Permission::updateOrCreate(['slug' => $slugKey], ['name' => is_string($permission) ? $permission : $permission['name'], 'parent_id' => $pId]);
|
||||||
|
|
||||||
|
if (!is_string($permission)) {
|
||||||
|
if (!isset($permission['children'])) {
|
||||||
|
$permission['children'] = [];
|
||||||
|
}
|
||||||
|
//判断是否默认插入curd权限
|
||||||
|
if (isset($permission['curd']) && $permission['curd']) {
|
||||||
|
if (is_array($permission['curd'])) {
|
||||||
|
$permission['curd'] = array_reverse($permission['curd']);
|
||||||
|
foreach ($permission['curd'] as $value) {
|
||||||
|
$permission['children'] = array_merge([$value => $curdArr[$value]], $permission['children']);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$permission['children'] = array_merge($curdArr, $permission['children']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($permission['children']) > 0) {
|
||||||
|
$_key = $permission['curd'] !== false ? ($key ? $key . '.' . $slug : $slug) : $key;
|
||||||
|
$this->createPermissionData($permission['children'], $_key ?? $slug, $pper->id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,11 @@
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'1.0.0' => [
|
'1.0.0' => [
|
||||||
|
'初始化配置管理',
|
||||||
'CreateAdminSettingsTable.php',
|
'CreateAdminSettingsTable.php',
|
||||||
],
|
],
|
||||||
|
'1.0.1' => [
|
||||||
|
'添加配置管理权限迁移文件',
|
||||||
|
'SettingPermissionSeeder.php'
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue