Beispiel #1
0
 private function adjustPermissionsForGroup(Tracker_Permission_PermissionSetter $permission_setter, $ugroup_id, $permission_type)
 {
     switch ($permission_type) {
         case Tracker_Permission_Command::PERMISSION_FULL:
             $permission_setter->grant(Tracker::PERMISSION_FULL, $ugroup_id);
             break;
         case Tracker_Permission_Command::PERMISSION_ASSIGNEE:
             if ($this->canSetAssignee($permission_setter, $ugroup_id)) {
                 $permission_setter->grant(Tracker::PERMISSION_ASSIGNEE, $ugroup_id);
             }
             break;
         case Tracker_Permission_Command::PERMISSION_SUBMITTER:
             if ($this->canSetSubmitter($permission_setter, $ugroup_id)) {
                 $permission_setter->grant(Tracker::PERMISSION_SUBMITTER, $ugroup_id);
             }
             break;
         case Tracker_Permission_Command::PERMISSION_ASSIGNEE_AND_SUBMITTER:
             if ($this->canSetSubmitterAndAssignee($permission_setter, $ugroup_id)) {
                 $permission_setter->revokeAll($ugroup_id);
                 $permission_setter->grantAccess(Tracker::PERMISSION_ASSIGNEE, $ugroup_id);
                 $permission_setter->grantAccess(Tracker::PERMISSION_SUBMITTER, $ugroup_id);
             }
             break;
         case Tracker_Permission_Command::PERMISSION_SUBMITTER_ONLY:
             $permission_setter->grant(Tracker::PERMISSION_SUBMITTER_ONLY, $ugroup_id);
             break;
         case Tracker_Permission_Command::PERMISSION_ADMIN:
             $permission_setter->grant(Tracker::PERMISSION_ADMIN, $ugroup_id);
             break;
         case Tracker_Permission_Command::PERMISSION_NONE:
             $permission_setter->revokeAll($ugroup_id);
             break;
     }
 }