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);
     }
 }
Example #2
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);
             }
         }
     }
 }