/** * Sync Permission for a pool * * @param $pool */ protected function syncPoolPermissins(Request $request, $pool) { $permissionManager = new \Modules\Core\Permissions\PermissionManager(); $readRole = $permissionManager->getPermission("documents:unmanaged::pool-{$pool->uid}-read"); if (isset($request->permissions['read'])) { $readRole->roles()->sync($request->permissions['read']); } else { $readRole->roles()->detach(); } $writeRole = $permissionManager->getPermission("documents:unmanaged::pool-{$pool->uid}-write"); if (isset($request->permissions['write'])) { $writeRole->roles()->sync($request->permissions['write']); } else { $writeRole->roles()->detach(); } }
private function rolesByPermission($permission) { $permissionManager = new \Modules\Core\Permissions\PermissionManager(); return $permissionManager->getPermission($permission)->roles()->lists('id'); }