diff --git a/src/Models/MenuItem.php b/src/Models/MenuItem.php index e8d83a1..ff83edb 100644 --- a/src/Models/MenuItem.php +++ b/src/Models/MenuItem.php @@ -2,6 +2,7 @@ namespace BalajiDharma\LaravelMenu\Models; +use BalajiDharma\LaravelMenu\Traits\LaravelCategories; use BalajiDharma\LaravelMenu\Traits\MenuTree; use BalajiDharma\LaravelMenu\Traits\SpatiePermission; use Illuminate\Database\Eloquent\Model; @@ -9,10 +10,7 @@ class MenuItem extends Model { - use MenuTree { - MenuTree::boot as treeBoot; - } - use SpatiePermission; + use LaravelCategories, MenuTree, SpatiePermission; /** * The attributes that aren't mass assignable. diff --git a/src/Traits/LaravelCategories.php b/src/Traits/LaravelCategories.php index 2830488..cfdf5b3 100644 --- a/src/Traits/LaravelCategories.php +++ b/src/Traits/LaravelCategories.php @@ -2,7 +2,7 @@ namespace BalajiDharma\LaravelMenu\Traits; -if (class_exists(\Spatie\Permission\PermissionRegistrar::class)) { +if (class_exists(\BalajiDharma\LaravelCategory\CategoryServiceProvider::class)) { trait LaravelCategories { use \BalajiDharma\LaravelCategory\Traits\HasCategories; diff --git a/src/Traits/MenuTree.php b/src/Traits/MenuTree.php index 4511b49..39eafb0 100644 --- a/src/Traits/MenuTree.php +++ b/src/Traits/MenuTree.php @@ -13,6 +13,20 @@ trait MenuTree */ protected $queryCallback; + /** + * {@inheritdoc} + */ + protected static function bootMenuTree() + { + static::saving(function (Model $branch) { + $parentColumn = $branch->getParentColumn(); + + if (Request::filled($parentColumn) && Request::input($parentColumn) == $branch->getKey()) { + throw InvalidParent::create(); + } + }); + } + /** * Get children of current node. * @@ -334,24 +348,6 @@ public function initializeMenuTree() $this->appends = array_unique(array_merge($this->appends, ['link'])); } - /** - * {@inheritdoc} - */ - protected static function boot() - { - parent::boot(); - - static::saving(function (Model $branch) { - $parentColumn = $branch->getParentColumn(); - - if (Request::filled($parentColumn) && Request::input($parentColumn) == $branch->getKey()) { - throw InvalidParent::create(); - } - - return $branch; - }); - } - protected function checkHasPermission($menuItem) { if (! $this->hasSpatiePermission) {