コード例 #1
0
 /**
  * @return int[] array(102 => 324, 106 => 325, <template_ugroup_id> => <target_ugroup_id>, …)
  */
 public function getMapping(Tracker $template_tracker, Project $target_project)
 {
     $template_ugroups = $this->permissions_retriever->getListOfInvolvedStaticUgroups($template_tracker);
     $target_ugroups = $this->ugroup_manager->getStaticUGroups($target_project);
     $ugroups = array();
     foreach ($template_ugroups as $template_ugroup) {
         foreach ($target_ugroups as $target_ugroup) {
             if ($template_ugroup->getName() == $target_ugroup->getName()) {
                 $ugroups[$template_ugroup->getId()] = $target_ugroup->getId();
             }
         }
     }
     return $ugroups;
 }
コード例 #2
0
 /**
  * @return Tracker_UgroupPermissionsConsistencyMessage
  */
 public function checkConsistency(Tracker $template_tracker, Project $target_project)
 {
     if ($template_tracker->getProject() == $target_project) {
         $this->messenger->allIsWell();
         return;
     }
     $ugroups = $this->permissions_retriever->getListOfInvolvedStaticUgroups($template_tracker);
     if (!$ugroups) {
         $this->messenger->allIsWell();
         return;
     }
     $template_ugroups_names = array_map(array($this, 'extractUGroupName'), $ugroups);
     $target_ugroups = $this->ugroup_manager->getStaticUGroups($target_project);
     $target_ugroups_names = array_map(array($this, 'extractUGroupName'), $target_ugroups);
     $diff = array_diff($template_ugroups_names, $target_ugroups_names);
     if ($diff) {
         $this->messenger->ugroupsMissing($diff);
     } else {
         $this->messenger->ugroupsAreTheSame($template_ugroups_names);
     }
 }