fixed roles

This commit is contained in:
Edward Yang 2022-08-01 21:04:09 +08:00
parent da37c49705
commit 9007cc8a41
2 changed files with 78 additions and 1 deletions

View File

@ -11,15 +11,20 @@
namespace Beike\Admin\Http\Controllers;
use Beike\Models\AdminUser;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Illuminate\Support\Facades\Auth;
use Beike\Admin\Repositories\PermissionRepo;
class AdminRoleController extends Controller
{
public function index()
{
$adminUser = Auth::guard(AdminUser::AUTH_GUARD)->user();
$data = [
'roles' => Role::query()->get(),
'permissions' => (new PermissionRepo($adminUser))->getAllPermissions(),
];
return view('admin::pages.admin_roles.index', $data);
@ -28,7 +33,6 @@ class AdminRoleController extends Controller
public function edit(Request $request)
{
$data = [];
return view('admin::pages.admin_roles.edit', $data);
}

View File

@ -0,0 +1,73 @@
<?php
/**
* PermissionRepo.php
*
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author Edward Yang <yangjin@opencart.cn>
* @created 2022-08-01 20:49:45
* @modified 2022-08-01 20:49:45
*/
namespace Beike\Admin\Repositories;
use Beike\Models\AdminUser;
class PermissionRepo
{
private $adminUser;
public function __construct(AdminUser $adminUser)
{
$this->adminUser = $adminUser;
}
/**
* 所有权限列表
*
* @return \string[][][]
*/
public function getAllPermissions(): array
{
$permissions = [
'product' => self::getProductPermissions(),
'order' => self::getOrderPermissions(),
];
return $permissions;
}
/**
* 商品权限列表
*
* @return \string[][]
*/
private function getProductPermissions(): array
{
return [
['code' => 'product_list', 'name' => '商品列表', 'selected' => $this->adminUser->hasAnyPermission('product_list')],
['code' => 'product_create', 'name' => '商品创建', 'selected' => $this->adminUser->hasAnyPermission('product_create')],
['code' => 'product_show', 'name' => '商品详情', 'selected' => $this->adminUser->hasAnyPermission('product_show')],
['code' => 'product_update', 'name' => '商品编辑', 'selected' => $this->adminUser->hasAnyPermission('product_update')],
['code' => 'product_delete', 'name' => '商品删除', 'selected' => $this->adminUser->hasAnyPermission('product_delete')],
];
}
/**
* 订单权限列表
*
* @return \string[][]
*/
private function getOrderPermissions(): array
{
return [
['code' => 'order_list', 'name' => '订单列表', 'selected' => $this->adminUser->hasAnyPermission('order_list')],
['code' => 'order_create', 'name' => '订单创建', 'selected' => $this->adminUser->hasAnyPermission('order_create')],
['code' => 'order_show', 'name' => '订单详情', 'selected' => $this->adminUser->hasAnyPermission('order_show')],
['code' => 'order_update', 'name' => '订单编辑', 'selected' => $this->adminUser->hasAnyPermission('order_update')],
['code' => 'order_delete', 'name' => '订单删除', 'selected' => $this->adminUser->hasAnyPermission('order_delete')],
];
}
}