protected function duplicatePriorityChangePermission($group_id, $source_planning_id, $new_planning_id, array $ugroups_mapping) { $source_planning = $this->getPlanning($source_planning_id); $priority_change_permission_ugroup_ids = $this->planning_permissions_manager->getGroupIdsWhoHasPermissionOnPlanning($source_planning->getId(), $source_planning->getGroupId(), PlanningPermissionsManager::PERM_PRIORITY_CHANGE); if ($priority_change_permission_ugroup_ids) { $priority_change_permission_ugroup_ids = $this->replaceOldStaticUgroupsWithTheNewOnes($priority_change_permission_ugroup_ids, $ugroups_mapping); } if (!empty($priority_change_permission_ugroup_ids)) { $this->planning_permissions_manager->savePlanningPermissionForUgroups($new_planning_id, $group_id, PlanningPermissionsManager::PERM_PRIORITY_CHANGE, $priority_change_permission_ugroup_ids); } }
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); } } } }