属性和属性组权限添加

This commit is contained in:
TL 2023-02-14 11:09:53 +08:00 committed by Edward Yang
parent f94fb84a80
commit d8039cead5
8 changed files with 50 additions and 8 deletions

View File

@ -70,7 +70,7 @@ class AttributeGroupRepo
{
$group = AttributeGroup::query()->findOrFail($id);
if ($group->attributes->count()) {
throw new \Exception(trans('admin/attribute_groups.error_cannot_delete_attribute_used', ['attributes' => implode(', ', $group->attributes->pluck('id')->toArray())]));
throw new \Exception(trans('admin/attribute_group.error_cannot_delete_attribute_used', ['attributes' => implode(', ', $group->attributes->pluck('id')->toArray())]));
}
$group->descriptions()->delete();
$group->delete();

View File

@ -49,6 +49,8 @@ class PermissionRepo
['title' => trans('admin/common.product'), 'permissions' => $this->getProductPermissions()],
['title' => trans('admin/common.category'), 'permissions' => $this->getCategoryPermissions()],
['title' => trans('admin/common.brand'), 'permissions' => $this->getBrandPermissions()],
['title' => trans('admin/common.attribute'), 'permissions' => $this->getAttributePermissions()],
['title' => trans('admin/common.attribute_group'), 'permissions' => $this->getAttributeGroupPermissions()],
['title' => trans('admin/common.customer'), 'permissions' => $this->getCustomerPermissions()],
['title' => trans('admin/common.customer_group'), 'permissions' => $this->getCustomerGroupPermissions()],
['title' => trans('admin/common.page'), 'permissions' => $this->getPagePermissions()],
@ -149,6 +151,32 @@ class PermissionRepo
return hook_filter('role.brand_permissions', $items);
}
/**
* 属性权限列表
*
* @return \string[][]
*/
private function getAttributePermissions(): array
{
$routes = ['attributes_index', 'attributes_create', 'attributes_show', 'attributes_update', 'attributes_delete'];
$items = $this->getPermissionList('attribute', $routes);
return hook_filter('role.attribute_permissions', $items);
}
/**
* 属性组权限列表
*
* @return \string[][]
*/
private function getAttributeGroupPermissions(): array
{
$routes = ['attribute_groups_index', 'attribute_groups_create', 'attribute_groups_update', 'attribute_groups_delete'];
$items = $this->getPermissionList('attribute_group', $routes);
return hook_filter('role.attribute_group_permissions', $items);
}
/**
* 客户权限列表
*

View File

@ -1,12 +1,12 @@
@extends('admin::layouts.master')
@section('title', __('admin/attribute_groups.index'))
@section('title', __('admin/attribute_group.index'))
@section('content')
<div id="customer-app" class="card" v-cloak>
<div class="card-body">
<div class="d-flex justify-content-between mb-4">
<button type="button" class="btn btn-primary" @click="checkedCustomersCreate('add', null)">{{ __('admin/attribute_groups.create_at_groups') }}</button>
<button type="button" class="btn btn-primary" @click="checkedCustomersCreate('add', null)">{{ __('admin/attribute_group.create_at_groups') }}</button>
</div>
<div class="table-push">
<table class="table">
@ -34,7 +34,7 @@
</div>
</div>
<el-dialog title="{{ __('admin/attribute_groups.index') }}" :visible.sync="dialog.show" width="670px"
<el-dialog title="{{ __('admin/attribute_group.index') }}" :visible.sync="dialog.show" width="670px"
@close="closeCustomersDialog('form')" :close-on-click-modal="false">
<el-form ref="form" :rules="rules" :model="dialog.form" label-width="155px">

View File

@ -19,7 +19,7 @@
</el-form-item>
</el-form-item>
<el-form-item label="{{ __('admin/attribute_groups.index') }}" required prop="attribute_group_id">
<el-form-item label="{{ __('admin/attribute_group.index') }}" required prop="attribute_group_id">
<el-select v-model="form.attribute_group_id" placeholder="{{ __('common.please_choose') }}">
<el-option
v-for="item in source.attributeGroup"

View File

@ -14,7 +14,7 @@
<tr>
<th>{{ __('common.id') }}</th>
<th>{{ __('common.name') }}</th>
<th>{{ __('admin/attribute_groups.index') }}</th>
<th>{{ __('admin/attribute_group.index') }}</th>
<th>{{ __('common.created_at') }}</th>
<th width="150px">{{ __('common.action') }}</th>
</tr>
@ -53,7 +53,7 @@
</el-form-item>
</el-form-item>
<el-form-item label="{{ __('admin/attribute_groups.index') }}" required prop="attribute_group_id">
<el-form-item label="{{ __('admin/attribute_group.index') }}" required prop="attribute_group_id">
<el-select v-model="dialog.form.attribute_group_id" placeholder="{{ __('common.please_choose') }}">
<el-option
v-for="item in source.attribute_group"
@ -108,7 +108,7 @@
rules: {
attribute_group_id: [
{required: true, message: '{{ __('common.error_required', ['name' => __('admin/attribute_groups.index')] ) }}', trigger: 'blur'},
{required: true, message: '{{ __('common.error_required', ['name' => __('admin/attribute_group.index')] ) }}', trigger: 'blur'},
],
sort_order: [{required: true,message: '{{ __('common.error_required', ['name' => __('common.sort_order')])}}',trigger: 'blur'}, ],
},

View File

@ -21,4 +21,10 @@ return [
'btn_later' => '稍后再去',
'to_info_values' => '请前往详情页编辑属性值',
'error_cannot_delete_product_used' => '属性不能删除由于该属性被商品商品ID: :product_ids使用',
'attributes_index' => '属性列表',
'attributes_create' => '创建属性',
'attributes_show' => '属性详情',
'attributes_update' => '更新属性',
'attributes_delete' => '删除属性',
];

View File

@ -13,4 +13,10 @@ return [
'index' => '属性组',
'create_at_groups' => '创建属性组',
'error_cannot_delete_attribute_used' => '属性组不能删除由于该属性组被属性属性ID: :attributes使用',
'attribute_groups_index' => '属性组列表',
'attribute_groups_create' => '创建属性组',
'attribute_groups_show' => '属性组详情',
'attribute_groups_update' => '更新属性组',
'attribute_groups_delete' => '删除属性组',
];

View File

@ -28,6 +28,8 @@ return [
'rma_reason' => '退换货原因管理',
'product' => '商品管理',
'brand' => '品牌管理',
'attribute' => '属性管理',
'attribute_group' => '属性组管理',
'category' => '分类管理',
'customer_group' => '客户组管理',
'customer' => '客户管理',