6
0
Fork 0

处理文章分类删除判断

release
vine_liutk 2021-11-22 10:32:20 +08:00
parent ba698c9853
commit 919bc097ce
3 changed files with 20 additions and 3 deletions

View File

@ -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 '<i class="feather icon-list grid-action-icon"></i> '.__('admin.list').' &nbsp;&nbsp;';
}
/**

View File

@ -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);
}
}

View File

@ -13,5 +13,7 @@ return [
'sort' => '排序',
],
'options' => [
'deny' => '删除失败',
'deny_message'=>'请先删除该分类下的子分类或者文章',
],
];