/** * Duplicate plannings for some previously duplicated trackers. * * @param int $group_id The id of the project where plannings should be created. * @param array $tracker_mapping An array mapping source tracker ids to destination tracker ids. */ public function duplicatePlannings($group_id, $tracker_mapping) { if (!$tracker_mapping) { return; } $planning_rows = $this->dao->searchByPlanningTrackerIds(array_keys($tracker_mapping)); foreach ($planning_rows as $row) { $row['backlog_tracker_id'] = $tracker_mapping[$row['backlog_tracker_id']]; $row['planning_tracker_id'] = $tracker_mapping[$row['planning_tracker_id']]; $this->dao->createPlanning($group_id, PlanningParameters::fromArray($row)); } }
/** * Duplicate plannings for some previously duplicated trackers. * * @param int $group_id The id of the project where plannings should be created. * @param array $tracker_mapping An array mapping source tracker ids to destination tracker ids. * @param array $ugroups_mapping An array mapping source ugroups and destinations ones. */ public function duplicatePlannings($group_id, $tracker_mapping, array $ugroups_mapping) { if (!$tracker_mapping) { return; } $planning_rows = $this->dao->searchByPlanningTrackerIds(array_keys($tracker_mapping)); foreach ($planning_rows as $row) { if (isset($tracker_mapping[$row['planning_tracker_id']])) { $row['planning_tracker_id'] = $tracker_mapping[$row['planning_tracker_id']]; $row['backlog_tracker_ids'] = array(); foreach ($this->dao->searchBacklogTrackersById($row['id']) as $backlog_row) { $row['backlog_tracker_ids'][] = $tracker_mapping[$backlog_row['tracker_id']]; } $inserted_planning_id = $this->dao->createPlanning($group_id, PlanningParameters::fromArray($row)); $this->duplicatePriorityChangePermission($group_id, $row['id'], $inserted_planning_id, $ugroups_mapping); } } }