bitfumes / laravel-multiauth

Multi Auth and admin auth in Laravel Project
MIT License
471 stars 104 forks source link

Undefined variable '$adminModel' in AuthServiceProvider #172

Open Jhulianogs opened 2 years ago

Jhulianogs commented 2 years ago

In the boot function of the AuthServiceProvider is set $adminModel variable, but it's not being sent to Gate::before.

$adminModel = config('multiauth.models.admin'); $this->registerPolicies(); Gate::before(function ($admin, $ability) { if ($admin instanceof $adminModel) { if ($this->isSuperAdmin($admin)) { return true; } return $admin->hasPermission($ability); } });

Solution: add use ($adminModel)

$adminModel = config('multiauth.models.admin'); $this->registerPolicies(); Gate::before(function ($admin, $ability) use ($adminModel) { if ($admin instanceof $adminModel) { if ($this->isSuperAdmin($admin)) { return true; } return $admin->hasPermission($ability); } });