From 919bc097ce81cab64652aafb4ab24e3da9523522 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Mon, 22 Nov 2021 10:32:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=96=87=E7=AB=A0=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E5=88=A0=E9=99=A4=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Actions/Grid/ArticleList.php | 8 ++++++-- app/Admin/Controllers/ArticleCategoryController.php | 13 ++++++++++++- resources/lang/zh_CN/article-category.php | 2 ++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/Admin/Actions/Grid/ArticleList.php b/app/Admin/Actions/Grid/ArticleList.php index 52481f3b..dca2c26e 100644 --- a/app/Admin/Actions/Grid/ArticleList.php +++ b/app/Admin/Actions/Grid/ArticleList.php @@ -16,9 +16,13 @@ class ArticleList extends RowAction */ protected $title = 'Title'; - public function getTitle() + public function title() { - return __('admin.list'); + if ($this->title) { + return $this->title; + } + + return ' '.__('admin.list').'   '; } /** diff --git a/app/Admin/Controllers/ArticleCategoryController.php b/app/Admin/Controllers/ArticleCategoryController.php index 67369d02..689915d4 100644 --- a/app/Admin/Controllers/ArticleCategoryController.php +++ b/app/Admin/Controllers/ArticleCategoryController.php @@ -4,6 +4,7 @@ namespace App\Admin\Controllers; use App\Admin\Actions\Grid\ArticleList; use App\Admin\Repositories\ArticleCategory; +use App\Models\Article; use App\Models\ArticleCategory as ArticleCategoryModel; use Dcat\Admin\Admin; use Dcat\Admin\Form; @@ -61,7 +62,7 @@ class ArticleCategoryController extends AdminController $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableDelete(Admin::user()->cannot('dcat.admin.article_categories.destroy')); if (Admin::user()->can('dcat.admin.articles.index')) { - $actions->prepend(new ArticleList()); + $actions->prepend(new ArticleList(__('admin.list'))); } }); @@ -113,4 +114,14 @@ class ArticleCategoryController extends AdminController $form->display('updated_at'); }); } + + public function destroy($id) + { + //如果有子分类或者分类下有文章则不允许删除 + if (ArticleCategoryModel::descendantsOf($id, ['id'])->count() > 0 + || Article::where('category_id', $id)->count() > 0) { + abort(400, __('article-category.options.deny_message')); + } + return parent::destroy($id); + } } diff --git a/resources/lang/zh_CN/article-category.php b/resources/lang/zh_CN/article-category.php index e61ec139..c6243a57 100644 --- a/resources/lang/zh_CN/article-category.php +++ b/resources/lang/zh_CN/article-category.php @@ -13,5 +13,7 @@ return [ 'sort' => '排序', ], 'options' => [ + 'deny' => '删除失败', + 'deny_message'=>'请先删除该分类下的子分类或者文章', ], ];