diff --git a/src/Models/Role.php b/src/Models/Role.php index e608eb2..8b95193 100644 --- a/src/Models/Role.php +++ b/src/Models/Role.php @@ -42,7 +42,7 @@ public function syncPermission(array $permissions) { $ids = collect($permissions)->transform(function ($permission) { if (is_numeric($permission)) { - return (int)$permission; + return (int) $permission; } elseif (is_string($permission)) { $permissionObject = app(config('laravolt.acl.models.permission'))->firstOrCreate(['name' => $permission]); @@ -54,5 +54,4 @@ public function syncPermission(array $permissions) return $this->permissions()->sync($ids->toArray()); } - } diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 910a836..000686a 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -39,12 +39,14 @@ public function register() /** * Application is booting * @see http://laravel.com/docs/master/providers#the-boot-method - * @param Gate $gate + * @param Gate $gate */ public function boot(Gate $gate) { $this->registerConfigurations(); + $this->registerWildcardPermission(); + $this->registerAcl($gate); if ($this->app->runningInConsole()) { @@ -123,11 +125,20 @@ protected function registerCommands() /** * Loads a path relative to the package base directory - * @param string $path + * @param string $path * @return string */ protected function packagePath($path = '') { return sprintf("%s/../%s", __DIR__, $path); } + + protected function registerWildcardPermission() + { + \Illuminate\Support\Facades\Gate::before(function (HasRoleAndPermission $user) { + if ($user->hasPermission('*')) { + return true; + } + }); + } }