public function executeCopy(sfWebRequest $request) { $type = $request->getParameter('type'); $itin_id = $request->getParameter('id'); $itinerary_old = ItineraryPeer::retrieveByPK($itin_id); $itinerary = new Itinerary(); $itinerary_old->copyInto($itinerary); $itId = 'copy of ' . $itin_id; $itinerary->setCopiedItinerary($itId); $itinerary->setComment(''); $itinerary->save(); $mission = MissionPeer::getByItiId($itinerary_old->getId()); if ($type === "copy") { $mission_date = $request->getParameter('mission_date'); $date_requested = $request->getParameter('date_requested'); $appt_date = $request->getParameter('appt_date'); $flight_time = $request->getParameter('flight_time'); $mission_specific_comments = $request->getParameter('mission_specific_comments'); $i = 0; foreach ($mission as $mission_list) { $mi = new Mission(); $mission_list->copyInto($mi); $mi->setItineraryId($itinerary->getId()); $mi->setExternalId(MissionPeer::getLatestExternalId()); $mi->setMissionDate($mission_date[$i]); $mi->setDateRequested($date_requested[$i]); $mi->setApptDate($appt_date[$i]); $mi->setFlightTime($flight_time[$i]); $mi->setMissionSpecificComments($mission_specific_comments[$i]); $mId = 'copy of ' . $mission_list->getId(); $mi->setCopiedMission($mId); $mi->save(); $mission_legs = MissionLegPeer::getbyMissId($mission_list->getId()); foreach ($mission_legs as $mission_leg) { $mi_leg = new MissionLeg(); $mission_leg->copyInto($mi_leg); $mi_leg->setMissionId($mi->getId()); $mlId = 'copy of ' . $mission_leg->getId(); $mi_leg->setCopiedMissionLeg($mlId); $mi_leg->save(); } $i++; } if ($itinerary_old->getPassengerId()) { $pass = PassengerPeer::retrieveByPK($itinerary_old->getPassengerId()); $pass->setLodgingName($request->getParameter('lodging_name')); $pass->setLodgingPhone($request->getParameter('lodging_phone')); $pass->setLodgingPhoneComment($request->getParameter('lodging_phone_comment')); $pass->setReleasingPhysician($request->getParameter('releasing_physician')); $pass->setReleasingPhone($request->getParameter('releasing_phone')); $pass->setFacilityName($request->getParameter('facility_name')); $pass->setFacilityPhone($request->getParameter('facility_phone')); $pass->setFacilityPhoneComment($request->getParameter('facility_phone_comment')); $pass->save(); } $this->getUser()->setFlash('success', "The itinerary has been copied successfully."); $this->redirect('itinerary/index'); } }
public function executeCopy(sfWebRequest $request) { $type = $request->getParameter('type'); $miss_id = $request->getParameter('id'); $mission_old = MissionPeer::retrieveByPK($miss_id); $mission = new Mission(); $mission_old->copyInto($mission); $msId = 'copy of ' . $miss_id; $mission->setExternalId(MissionPeer::getLatestExternalId()); $mission->setCopiedMission($msId); $mission->setMissionDate(date('Y-m-d H:i:m')); $mission->save(); $mission_legs = MissionLegPeer::getbyMissIdDown($mission_old->getId()); if ($type === "copy") { foreach ($mission_legs as $mission_leg) { $mi_leg = new MissionLeg(); $mission_leg->copyInto($mi_leg); $mlgId = 'copy of ' . $mission_leg->getId(); $mi_leg->setMissionId($mission->getId()); $mi_leg->setCopiedMissionLeg($mlgId); $mi_leg->save(); } $this->getUser()->setFlash('success', "The mission have been copied successfully."); $this->redirect('mission/index'); } else { foreach ($mission_legs as $mission_leg) { $mi_leg = new MissionLeg(); $mission_leg->copyInto($mi_leg); $mi_leg->setMissionId($mission->getId()); $from = $mi_leg->getFromAirportId(); $to = $mi_leg->getToAirportId(); $mi_leg->setFromAirportId($to); $mi_leg->setToAirportId($from); $mi_leg->save(); } $this->getUser()->setFlash('success', "The mission have been reversed successfully."); $this->redirect('mission/index'); } }