/** * Sync role for an ACL instance. * * @param object $listener * @param string $vendor * @param string|null $package * * @return mixed */ public function sync($listener, $vendor, $package = null) { $roles = []; $name = $this->getExtension($vendor, $package)->get('name'); $acl = $this->acl->get($name); if (is_null($acl)) { return $listener->aclVerificationFailed(); } foreach ($this->model->all() as $role) { $roles[] = $role->name; } $acl->roles()->attach($roles); $acl->sync(); return $listener->syncSucceed(new Fluent(compact('vendor', 'package', 'name'))); }
/** * Create a new filter instance. * * @param \Orchestra\Contracts\Foundation\Foundation $foundation * @param \Orchestra\Contracts\Authorization\Factory $acl */ public function __construct(Foundation $foundation, Factory $acl) { $this->acl = $acl->make('blupl/printmedia'); $this->foundation = $foundation; }
/** * Set authorization driver. * * @param \Orchestra\Contracts\Authorization\Factory $factory * * @return $this */ public function setAuthorization(FactoryContract $factory) { $this->acl = $factory->make($this->getAuthorizationName()); return $this; }