فهرست منبع

fix model tree

jqh 5 سال پیش
والد
کامیت
778ed606d2
2فایلهای تغییر یافته به همراه8 افزوده شده و 1 حذف شده
  1. 3 0
      src/Controllers/PermissionController.php
  2. 5 1
      src/Traits/ModelTree.php

+ 3 - 0
src/Controllers/PermissionController.php

@@ -289,11 +289,14 @@ class PermissionController extends Controller
         return Form::make(new Permission(), function (Form $form) {
             $permissionTable = config('admin.database.permissions_table');
             $connection = config('admin.database.connection');
+            $permissionModel = config('admin.database.permissions_model');
 
             $id = $form->key();
 
             $form->display('id', 'ID');
 
+            $form->select('parent_id', trans('admin.parent_id'))->options($permissionModel::selectOptions());
+
             $form->text('slug', trans('admin.slug'))
                 ->required()
                 ->creationRules(['required', "unique:{$connection}.{$permissionTable}"])

+ 5 - 1
src/Traits/ModelTree.php

@@ -365,7 +365,11 @@ trait ModelTree
         static::saving(function (Model $branch) {
             $parentColumn = $branch->getParentColumn();
 
-            if (Request::has($parentColumn) && Request::input($parentColumn) == $branch->getKey()) {
+            if (
+                $branch->getKey()
+                && Request::has($parentColumn)
+                && Request::input($parentColumn) == $branch->getKey()
+            ) {
                 throw new \Exception(trans('admin.parent_select_error'));
             }