private function canUserPrioritizeBacklog(PFUser $user, $group_id)
 {
     $planning_permissions_manager = new PlanningPermissionsManager();
     $root_planning = PlanningFactory::build()->getRootPlanning($user, $group_id);
     if ($root_planning) {
         return $planning_permissions_manager->userHasPermissionOnPlanning($root_planning->getId(), $root_planning->getGroupId(), $user, PlanningPermissionsManager::PERM_PRIORITY_CHANGE);
     }
     return false;
 }
 private function hasUserPriorityChangePermission(PFUser $user, Project $project)
 {
     $root_planning = $this->planning_factory->getRootPlanning($user, $project->getId());
     if ($root_planning) {
         return $this->planning_permissions_manager->userHasPermissionOnPlanning($root_planning->getId(), $root_planning->getGroupId(), $user, PlanningPermissionsManager::PERM_PRIORITY_CHANGE);
     }
     return false;
 }
Пример #3
0
 private function exportPermissions(SimpleXMLElement $planning_node, Planning $planning)
 {
     $ugroups = $this->planning_permissions_manager->getGroupIdsWhoHasPermissionOnPlanning($planning->getId(), $planning->getGroupId(), PlanningPermissionsManager::PERM_PRIORITY_CHANGE);
     if (!empty($ugroups)) {
         foreach ($ugroups as $ugroup_id) {
             if (($ugroup = array_search($ugroup_id, $GLOBALS['UGROUPS'])) !== false && $ugroup_id < 100) {
                 if (!isset($planning_node->permissions)) {
                     $permission_nodes = $planning_node->addChild(self::NODE_PERMISSIONS);
                 }
                 $permission_node = $permission_nodes->addChild(self::NODE_PERMISSION);
                 $permission_node->addAttribute('ugroup', $ugroup);
                 $permission_node->addAttribute('type', PlanningPermissionsManager::PERM_PRIORITY_CHANGE);
                 unset($permission_node);
             }
         }
     }
 }
Пример #4
0
 public function userCanChangePrioritiesInMilestone(Planning_ArtifactMilestone $milestone, PFUser $user)
 {
     $planning = $milestone->getPlanning();
     $user_can_change_priorities = $this->planning_permissions_manager->userHasPermissionOnPlanning($planning->getId(), $planning->getGroupId(), $user, PlanningPermissionsManager::PERM_PRIORITY_CHANGE);
     if (!$user_can_change_priorities && $milestone->hasAncestors()) {
         return $this->userCanChangePrioritiesInMilestone($milestone->getParent(), $user);
     }
     return $user_can_change_priorities;
 }
Пример #5
0
 /**
  * Update an existing planning
  *
  * @param int $planning_id
  * @param PlanningParameters $planning_parameters
  */
 public function updatePlanning($planning_id, $group_id, PlanningParameters $planning_parameters)
 {
     $this->dao->updatePlanning($planning_id, $planning_parameters);
     $this->planning_permissions_manager->savePlanningPermissionForUgroups($planning_id, $group_id, PlanningPermissionsManager::PERM_PRIORITY_CHANGE, $planning_parameters->priority_change_permission);
 }
 public function priority_change_permission()
 {
     return $this->planning_permissions_manager->getPlanningPermissionForm($this->planning_id, $this->group_id, PlanningPermissionsManager::PERM_PRIORITY_CHANGE, 'planning[' . PlanningPermissionsManager::PERM_PRIORITY_CHANGE . ']');
 }