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; }
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); } } } }
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; }
/** * 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 . ']'); }