public function apply(Tracker_Permission_PermissionRequest $request, Tracker_Permission_PermissionSetter $permission_setter) { foreach ($permission_setter->getAllGroupIds() as $ugroup_id) { if ($this->ugroupHasOwnCommand($ugroup_id)) { continue; } $this->adjustPermissionsForGroup($permission_setter, $ugroup_id, $request->getPermissionType($ugroup_id)); } $this->applyNextCommand($request, $permission_setter); }
public function apply(Tracker_Permission_PermissionRequest $request, Tracker_Permission_PermissionSetter $permission_setter) { switch ($request->getPermissionType(ProjectUGroup::ANONYMOUS)) { case Tracker_Permission_Command::PERMISSION_FULL: $permission_setter->grantAccess(Tracker::PERMISSION_FULL, ProjectUGroup::ANONYMOUS); foreach ($permission_setter->getAllGroupIds() as $stored_ugroup_id) { if ($stored_ugroup_id !== ProjectUGroup::ANONYMOUS) { $this->revokeAllButAdmin($request, $permission_setter, $stored_ugroup_id); } } break; case Tracker_Permission_Command::PERMISSION_NONE: $permission_setter->revokeAll(ProjectUGroup::ANONYMOUS); break; } $this->applyNextCommand($request, $permission_setter); }