Beispiel #1
0
 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);
 }
Beispiel #2
0
 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);
 }