예제 #1
0
 public function executeAutoAddMissionsOnCamp(sfWebRequest $request)
 {
     // see if there is airport exist with this name
     $airport_name = $request->getParameter('airportname');
     $airport = AirportPeer::getBySpecificAirportName($airport_name);
     // If there is no airport then insert it into airport table
     if (!$airport) {
         // @TODO Set default airport fields values
         $airport = new Airport();
         $airport->setName($airport_name);
         $airport->save();
     }
     $pass_id = $request->getParameter('passenger');
     $camp_id = $request->getParameter('camp_id');
     $camp_passenger = new CampPassenger();
     $camp_passenger->setCampId($camp_id);
     $camp_passenger->setPassengerId($pass_id);
     if (CampPassengerPeer::doCount($camp_passenger->buildCriteria())) {
         $passenger = PassengerPeer::retrieveByPK($pass_id);
         $this->getUser()->setFlash('warning', 'Passenger "' . $passenger->getPerson()->getName() . '" has already been added!');
         return $this->redirect('camp/view?id=' . $request->getParameter('camp_id'));
     }
     $camp = CampPeer::retrieveByPK($camp_id);
     $this->forward404Unless($camp);
     $note = $request->getParameter('note');
     //$camp_passenger->setAirportId($camp->getAirportId ()); // Camp Location Id
     $camp_passenger->setNote($note);
     //if ($camp_passenger->save()){
     //return $this->renderText($airport->getId());
     //}
     $mission_type = MissionTypePeer::getByName('normal');
     if (!$mission_type instanceof MissionType) {
         $mission_type = MissionTypePeer::doSelectOne(new Criteria());
         $this->forward404Unless($mission_type);
     }
     $airport = AirportPeer::getBySpecificAirportName($airport_name);
     $camp_location = $camp->getAirport();
     $itinerary = new Itinerary();
     $itinerary->setCampId($camp->getId());
     $itinerary->setPassengerId($pass_id);
     $itinerary->setDateRequested(time());
     $itinerary->setApointTime('unspecified');
     $itinerary->setMissionTypeId($mission_type->getId());
     $itinerary->setAgencyId($camp->getAgencyId());
     $itinerary->setCancelItinerary(1);
     $itinerary->save();
     // Mission 1
     $mission1 = new Mission();
     $mission1->setItineraryId($itinerary->getId());
     $mission1->setCampId($camp->getId());
     $mission1->setCancelMission(1);
     $mission1->setPassengerId($pass_id);
     $mission1->setMissionCount(1);
     $mission1->setDateRequested(time());
     $mission1->setExternalId($this->getLatestExternalId());
     $mission1->setMissionTypeId($mission_type->getId());
     $mission1->save();
     $camp_passenger->setReturnAirportId(NULL);
     // this indicates that return airport id would be camp airport id
     $camp_passenger->setAirportId($airport->getId());
     $camp_passenger->setMissionId($mission1->getId());
     $camp_passenger->save();
     $mission1_leg1 = new MissionLeg();
     $mission1_leg1->setFromAirportId($airport->getId());
     $mission1_leg1->setLegNumber(1);
     $mission1_leg1->setMissionId($mission1->getId());
     if ($camp_location) {
         $mission1_leg1->setToAirportId($camp_location->getId());
     } else {
         $mission1_leg1->setToAirportId(NULL);
     }
     $mission1_leg1->setCancelMissionLeg(1);
     $mission1_leg1->save();
     // Mission 2
     $mission2 = new Mission();
     $mission2->setItineraryId($itinerary->getId());
     $mission2->setCampId($camp->getId());
     $mission2->setCancelMission(1);
     $mission2->setPassengerId($pass_id);
     $mission2->setMissionCount(2);
     // From treatment to hme
     $mission2->setDateRequested(time());
     $mission2->setExternalId($this->getLatestExternalId());
     $mission2->setMissionTypeId($mission_type->getId());
     $mission2->save();
     $camp_passenger2 = new CampPassenger();
     $camp_passenger2->setCampId($camp_id);
     $camp_passenger2->setPassengerId($pass_id);
     $camp_passenger2->setMissionId($mission2->getId());
     $camp_passenger2->setAirportId(NULL);
     // this indicates that return airport id would be camp airport id
     $camp_passenger2->setReturnAirportId($airport->getId());
     $camp_passenger2->setNote($note);
     $camp_passenger2->save();
     $mission2_leg2 = new MissionLeg();
     if ($camp_location) {
         $mission2_leg2->setFromAirportId($camp_location->getId());
     } else {
         $mission2_leg2->setFromAirportId(NULL);
     }
     $mission2_leg2->setLegNumber(1);
     $mission2_leg2->setMissionId($mission2->getId());
     $mission2_leg2->setToAirportId($airport->getId());
     $mission2_leg2->setCancelMissionLeg(1);
     $mission2_leg2->save();
     return $this->redirect('camp/view?id=' . $camp->getId());
 }
예제 #2
0
 /**
  * Declares an association between this object and a MissionLeg object.
  *
  * @param      MissionLeg $v
  * @return     MissionPhoto The current object (for fluent API support)
  * @throws     PropelException
  */
 public function setMissionLeg(MissionLeg $v = null)
 {
     if ($v === null) {
         $this->setLegId(NULL);
     } else {
         $this->setLegId($v->getId());
     }
     $this->aMissionLeg = $v;
     // Add binding for other direction of this n:n relationship.
     // If this object has already been added to the MissionLeg object, it will not be re-added.
     if ($v !== null) {
         $v->addMissionPhoto($this);
     }
     return $this;
 }
예제 #3
0
 /**
  * missionRequests save all data into corresponding tables
  * CODE:mission_request_create
  */
 public function executeSave(sfWebRequest $request)
 {
     # security
     if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Coordinator'), false)) {
         $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer());
         $this->redirect('dashboard/index');
     }
     $miss_req_session = $this->getUser()->getAttribute('miss_req');
     if (!$miss_req_session) {
         return $this->forward('passenger', 'step3');
     }
     //set Requester Person
     $req_person = new Person();
     $req_person->setFirstName($miss_req_session->getReqFirstname());
     $req_person->setLastName($miss_req_session->getReqLastname());
     $req_person->setAddress1($miss_req_session->getReqAddress1());
     $req_person->setAddress2($miss_req_session->getReqAddress2());
     $req_person->setCity($miss_req_session->getReqCity());
     $req_person->setCounty($miss_req_session->getReqCounty());
     $req_person->setState($miss_req_session->getReqState());
     $req_person->setCountry($miss_req_session->getReqCountry());
     $req_person->setZipcode($miss_req_session->getReqZipcode());
     $req_person->setEmail($miss_req_session->getReqEmail());
     $req_person->setSecondaryEmail($miss_req_session->getReqSecondaryEmail());
     $req_person->setPagerEmail($miss_req_session->getReqPagerEmail());
     $req_person->setDayPhone($miss_req_session->getReqDayPhone());
     $req_person->setDayComment($miss_req_session->getReqDayComment());
     $req_person->setEveningPhone($miss_req_session->getReqEvePhone());
     $req_person->setEveningComment($miss_req_session->getReqEveComment());
     $req_person->setMobilePhone($miss_req_session->getReqMobilePhone());
     $req_person->setMobileComment($miss_req_session->getReqMobileComment());
     $req_person->setPagerPhone($miss_req_session->getReqPagerPhone());
     $req_person->setPagerComment($miss_req_session->getReqPagerComment());
     $req_person->setOtherPhone($miss_req_session->getReqOtherPhone());
     $req_person->setOtherComment($miss_req_session->getReqOtherComment());
     $req_person->save();
     //end of Requester Person
     // set Requester Agency
     $agency = AgencyPeer::getByNamePhone(trim($miss_req_session->getAgencyName()));
     if ($agency) {
         # nothing
     } else {
         $agency = new Agency();
         $agency->setName(trim($miss_req_session->getAgencyName()));
         $agency->save();
     }
     //set Requester
     $requester = new Requester();
     $requester->setPersonId($req_person->getId());
     $requester->setAgencyId($agency->getId());
     //$requester->setDischarge($miss_req_session->getReqDischarge());
     $requester->save();
     if (isset($miss_req_session->passenger_id)) {
         $passenger = PassengerPeer::retrieveByPK($miss_req_session->passenger_id);
         if (!$passenger instanceof Passenger) {
             $passenger = new Passenger();
         }
     } else {
         $passenger = new Passenger();
     }
     if ($passenger->isNew()) {
         $person = new Person();
     } else {
         $person = $passenger->getPerson();
     }
     //set Person to Passenger
     $person->setTitle($miss_req_session->getPassTitle());
     $person->setFirstName($miss_req_session->getPassFirstName());
     $person->setLastName($miss_req_session->getPassLastName());
     $person->setGender($miss_req_session->getPassGender());
     $person->setAddress1($miss_req_session->getPassAddress1());
     $person->setAddress2($miss_req_session->getPassAddress2());
     $person->setCity($miss_req_session->getPassCity());
     $person->setState($miss_req_session->getPassState());
     $person->setZipcode($miss_req_session->getPassZipcode());
     $person->setCountry($miss_req_session->getPassCountry());
     $person->setEmail($miss_req_session->getPassEmail());
     $person->setDayPhone($miss_req_session->getPassDayPhone());
     $person->setDayComment($miss_req_session->getPassDayComment());
     $person->setEveningPhone($miss_req_session->getPassEvePhone());
     $person->setEveningComment($miss_req_session->getPassEveComment());
     $person->setMobilePhone($miss_req_session->getPassMobilePhone());
     $person->setMobileComment($miss_req_session->getPassMobileComment());
     $person->setPagerPhone($miss_req_session->getPassPagerPhone());
     $person->setPagerComment($miss_req_session->getPassPagerComment());
     $person->setOtherPhone($miss_req_session->getPassOtherPhone());
     $person->setOtherComment($miss_req_session->getPassOtherComment());
     $person->save();
     //set Passenger
     $passenger->setPersonId($person->getId());
     $passenger->setPassengerTypeId($miss_req_session->getPassType());
     $passenger->setDateOfBirth($miss_req_session->getPassDateOfBirth());
     $passenger->setIllness($miss_req_session->getIllness());
     $passenger->setFinancial($miss_req_session->getFinancial());
     $passenger->setPublicConsiderations($miss_req_session->getPassPublicCons());
     $passenger->setPrivateConsiderations($miss_req_session->getPassPrivateCons());
     $passenger->setReleasingPhysician($miss_req_session->getReleasingPhysician());
     $passenger->setReleasingPhone($miss_req_session->getReleasePhone());
     $passenger->setReleasingFax1($miss_req_session->getReleaseFax());
     $passenger->setReleasingFax1Comment($miss_req_session->getReleaseFaxComment());
     $passenger->setLodgingName($miss_req_session->getLodgingName());
     $passenger->setLodgingPhone($miss_req_session->getLodgingPhone());
     $passenger->setLodgingPhoneComment($miss_req_session->getLodgingPhoneComment());
     $passenger->setFacilityName($miss_req_session->getFacilityName());
     $passenger->setFacilityPhone($miss_req_session->getFacilityPhone());
     $passenger->setFacilityPhoneComment($miss_req_session->getFacilityPhoneComment());
     $passenger->setReleasingEmail($miss_req_session->getReleaseEmail());
     $passenger->setTreatingPhysician($miss_req_session->getTreatingPhysician());
     $passenger->setTreatingPhone($miss_req_session->getTreatingPhone());
     $passenger->setTreatingFax1($miss_req_session->getTreatingFax());
     $passenger->setTreatingFax1Comment($miss_req_session->getTreatingFaxComment());
     $passenger->setTreatingEmail($miss_req_session->getTreatingEmail());
     $passenger->setLanguageSpoken($miss_req_session->getPassLanguage());
     $passenger->setBestContactMethod($miss_req_session->getBestContact());
     $passenger->setEmergencyContactName($miss_req_session->getEmergencyName());
     $passenger->setEmergencyContactPrimaryPhone($miss_req_session->getEmergencyPhone1());
     $passenger->setEmergencyContactPrimaryComment($miss_req_session->getEmergencyPhone1Comment());
     $passenger->setEmergencyContactSecondaryPhone($miss_req_session->getEmergencyPhone2());
     $passenger->setEmergencyContactSecondaryComment($miss_req_session->getEmergencyPhone2Comment());
     $passenger->setNeedMedicalRelease($miss_req_session->getPassMedical());
     $passenger->save();
     //set Companions
     if ($passenger && $miss_req_session->getCom1Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom1Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom1Phone());
         $person->setDayComment($miss_req_session->getCom1Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom1Name());
         $companion->setRelationship($miss_req_session->getCom1Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom1DateOfBirth());
         $companion->setWeight($miss_req_session->getCom1Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom1Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom1Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom2Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom2Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom2Phone());
         $person->setDayComment($miss_req_session->getCom2Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom2Name());
         $companion->setRelationship($miss_req_session->getCom2Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom2DateOfBirth());
         $companion->setWeight($miss_req_session->getCom2Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom2Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom2Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom3Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom3Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom3Phone());
         $person->setDayComment($miss_req_session->getCom3Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom3Name());
         $companion->setRelationship($miss_req_session->getCom3Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom3DateOfBirth());
         $companion->setWeight($miss_req_session->getCom3Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom3Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom3Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom4Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom4Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom4Phone());
         $person->setDayComment($miss_req_session->getCom4Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom4Name());
         $companion->setRelationship($miss_req_session->getCom4Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom4DateOfBirth());
         $companion->setWeight($miss_req_session->getCom4Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom4Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom4Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom5Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom5Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom5Phone());
         $person->setDayComment($miss_req_session->getCom5Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom5Name());
         $companion->setRelationship($miss_req_session->getCom5Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom5DateOfBirth());
         $companion->setWeight($miss_req_session->getCom5Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom5Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom5Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     //set Itinerary
     $itinerary = ItineraryPeer::getByMissReqId($miss_req_session->getId());
     if (!$itinerary) {
         $new_itinerary = new Itinerary();
         $new_itinerary->setDateRequested(date('m/d/Y'));
         $new_itinerary->setMissionRequestId($miss_req_session->getId());
         $new_itinerary->setMissionTypeId($miss_req_session->getMissionRequestTypeId());
         $new_itinerary->setApointTime($miss_req_session->getApptDate());
         $new_itinerary->setPassengerId($passenger->getId());
         $new_itinerary->setRequesterId($requester->getId());
         $new_itinerary->setFacility($miss_req_session->getFacilityName());
         $new_itinerary->setLodging($miss_req_session->getLodgingName());
         $new_itinerary->setOrginCity($miss_req_session->getOrginCity());
         $new_itinerary->setOrginState($miss_req_session->getOrginState());
         $new_itinerary->setDestCity($miss_req_session->getDestCity());
         $new_itinerary->setDestState($miss_req_session->getDestState());
         $new_itinerary->setWaiverNeed(0);
         $new_itinerary->setNeedMedicalRelease($miss_req_session->getPassMedical());
         $new_itinerary->setComment($miss_req_session->getComment());
         $new_itinerary->setAgencyId($agency->getId());
         $new_itinerary->save();
     }
     //set default Mission to Mission table
     //get Passenger
     //$passenger = PassengerPeer::getByPersonId($person->getId());
     $misson = new Mission();
     $misson->setRequestId($miss_req_session->getId());
     $misson->setItineraryId($new_itinerary->getId());
     $misson->setMissionTypeId($miss_req_session->getMissionRequestTypeId());
     $misson->setDateRequested($miss_req_session->getRequesterDate());
     if ($passenger) {
         $misson->setPassengerId($passenger->getId());
     }
     if ($requester) {
         $misson->setRequesterId($requester->getId());
     }
     if ($agency) {
         $misson->setAgencyId($agency->getId());
     }
     // Farazi Mission 1 externa ID
     $c = new Criteria();
     $c->add(MissionPeer::EXTERNAL_ID, NULL, Criteria::ISNOTNULL);
     $c->addDescendingOrderByColumn(MissionPeer::ID);
     $external_mission = MissionPeer::doSelectOne($c);
     $external_id = $external_mission->getExternalId();
     $currentExternalId = $external_id + 1;
     $misson->setExternalId($currentExternalId);
     $misson->setApptDate($miss_req_session->getApptDate());
     $misson->setFlightTime($miss_req_session->getFlightTime());
     $misson->setMissionDate($miss_req_session->getMissionDate());
     $misson->setMissionCount(1);
     $misson->save();
     $missLeg = new MissionLeg();
     $missLeg->setMissionId($misson->getId());
     $missLeg->setLegNumber(1);
     if ($miss_req_session->getOrginState() && $miss_req_session->getOrginZipcode()) {
         //echo $miss_req_session->getOrginState().'-'.$miss_req_session->getOrginZipcode();die();
         $fromairport = AirportPeer::getAirportByStateAndZipcode($miss_req_session->getOrginState(), $miss_req_session->getOrginZipcode());
         if ($fromairport) {
             $missLeg->setFromAirportId($fromairport->getId());
         }
     }
     if ($miss_req_session->getDestState() && $miss_req_session->getDestZipcode()) {
         //echo $miss_req_session->getDestState().'--'.$miss_req_session->getDestZipcode();die();
         $toairport = AirportPeer::getAirportByStateAndZipcode($miss_req_session->getDestState(), $miss_req_session->getDestZipcode());
         if ($toairport) {
             $missLeg->setToAirportId($toairport->getId());
         }
     }
     //echo "oder";die();
     $missLeg->setPassOnBoard(0);
     $missLeg->setWebCoordinated(0);
     $missLeg->setTransportation('air_mission');
     $missLeg->save();
     //end set Mission
     $this->getUser()->setFlash('success', 'New mission has successfully created!');
     $miss_req_session->setProcessedDate(time());
     $miss_req_session->save();
     $this->getUser()->setAttribute('miss_req', null);
     //$this->redirect('miss_req');
     //$this->getUser()->setFlash('success',$success);
     //$request->getParameter('back')
     $this->redirect('/itinerary/detail/' . $new_itinerary->getId());
 }
예제 #4
0
 public function executeReverse(sfWebRequest $request)
 {
     $mis1 = MissionPeer::retrieveByPK($request->getParameter('miss_id'));
     $itine_id = $mis1->getItineraryId();
     $mis2 = MissionPeer::retrieveByPK($request->getParameter('mis2_id'));
     $mis1_legs = MissionLegPeer::getbyDesOrderMissId($request->getParameter('miss_id'));
     $legnumber = 1;
     $comcount = 1;
     $aircount = 1;
     $groundcount = 1;
     foreach ($mis1_legs as $mleg) {
         $type = $mleg->getTransportation();
         switch ($type) {
             case 'air_mission':
                 $mission_leg = new MissionLeg();
                 $mission_leg->setMissionId($mis2->getId());
                 $mission_leg->setLegNumber($legnumber);
                 $mission_leg->setFromAirportId($mleg->getToAirportId());
                 $mission_leg->setToAirportId($mleg->getFromAirportId());
                 $mission_leg->setPassOnBoard(0);
                 $mission_leg->setTransportation('air_mission');
                 $mission_leg->setPrefix('air' . $aircount);
                 $mission_leg->setCancelMissionLeg(1);
                 $mission_leg->save();
                 $aircount++;
                 break;
             case 'ground_mission':
                 $mission_leg = new MissionLeg();
                 $mission_leg->setMissionId($mis2->getId());
                 $mission_leg->setLegNumber($legnumber);
                 $mission_leg->setPassOnBoard(0);
                 $mission_leg->setTransportation('ground_mission');
                 $mission_leg->setGroundOrigin($mleg->getGroundDestination());
                 $mission_leg->setGroundDestination($mleg->getGroundOrigin());
                 $mission_leg->setPrefix('g' . $groundcount);
                 $mission_leg->setCancelMissionLeg(1);
                 $mission_leg->save();
                 $groundcount++;
                 break;
             case 'commercial_mission':
                 $mission_leg = new MissionLeg();
                 $mission_leg->setMissionId($mis2->getId());
                 $mission_leg->setLegNumber($legnumber);
                 $mission_leg->setFlightTime($mleg->getFlightTime());
                 //$mission_leg->setBaggageDesc($request->getParameter('baggage_desc'));
                 //$mission_leg->setBaggageWeight($request->getParameter('baggage_weight'));
                 $mission_leg->setAirlineId($mleg->getAirlineId());
                 $mission_leg->setFundId($mleg->getFundId());
                 $mission_leg->setConfirmCode($mleg->getConfirmCode());
                 $mission_leg->setFlightCost($mleg->getFlightCost());
                 $mission_leg->setCommOrigin($mleg->getCommDest());
                 $mission_leg->setCommDest($mleg->getCommOrigin());
                 $mission_leg->setFlightNumber($mleg->getFlightNumber());
                 $mission_leg->setDeparture($mleg->getDeparture());
                 $mission_leg->setTransportation('commercial_mission');
                 $mission_leg->setPrefix('com' . $comcount);
                 $mission_leg->setCancelMissionLeg(1);
                 $mission_leg->save();
                 $comcount++;
                 break;
         }
         $legnumber++;
     }
     $this->getUser()->setFlash('success', 'Successfully reverse.');
     $this->redirect('itinerary/detail?id=' . $itine_id);
 }
 public static function getEmailAddressesOfPersonsRelatedToMissionLeg(MissionLeg $mission_leg)
 {
     $receivers = array();
     // Get Coordinator email address
     $coordinator = CoordinatorPeer::retrieveByPK($mission_leg->getCoordinatorId());
     if ($coordinator && ($coordinator = $coordinator->getMember())) {
         $coordinator = $coordinator->getPerson()->getEmail();
         if (!empty($coordinator)) {
             //            $receivers['coordinator_'.$mission_leg->getId()] = $coordinator;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $coordinator)) {
                 $receivers[] = $coordinator;
             }
         }
     }
     unset($coordinator);
     // Get Pilot email address
     $pilot = PilotPeer::retrieveByPK($mission_leg->getPilotId());
     if ($pilot && ($pilot = $pilot->getMember())) {
         $pilot = $pilot->getPerson()->getEmail();
         if (!empty($pilot)) {
             //        $receivers['pilot_'.$mission_leg->getId()] = $pilot;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $pilot)) {
                 $receivers[] = $pilot;
             }
         }
     }
     unset($pilot);
     // Get Backup Pilot email address
     $backup_pilot = PilotPeer::retrieveByPK($mission_leg->getBackupPilotId());
     if ($backup_pilot && ($backup_pilot = $backup_pilot->getMember())) {
         $backup_pilot = $backup_pilot->getPerson()->getEmail();
         if (!empty($backup_pilot)) {
             //            $receivers['backup_pilot_'.$mission_leg->getId()] = $backup_pilot;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $backup_pilot)) {
                 $receivers[] = $backup_pilot;
             }
         }
     }
     unset($backup_pilot);
     // Get Co-Pilot which is relate to Member
     $co_pilot = MemberPeer::retrieveByPK($mission_leg->getCopilotId());
     if ($co_pilot) {
         $co_pilot = $co_pilot->getPerson()->getEmail();
         if (!empty($co_pilot)) {
             //            $receivers['co_pilot_'.$mission_leg->getId()] = $co_pilot;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $co_pilot)) {
                 $receivers[] = $co_pilot;
             }
         }
     }
     unset($co_pilot);
     // Get Backup Co-pilot email address
     $backup_co_pilot = MemberPeer::retrieveByPK($mission_leg->getBackupCopilotId());
     if ($backup_co_pilot) {
         $backup_co_pilot = $backup_co_pilot->getPerson()->getEmail();
         if (!empty($backup_co_pilot)) {
             //            $receivers['backup_co_pilot_'.$mission_leg->getId()] = $backup_co_pilot;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $backup_co_pilot)) {
                 $receivers[] = $backup_co_pilot;
             }
         }
     }
     unset($backup_co_pilot);
     // Get mission assist email address
     $mission_assist = MemberPeer::retrieveByPK($mission_leg->getMissAssisId());
     if ($mission_assist) {
         $mission_assist = $mission_assist->getPerson()->getEmail();
         if (!empty($mission_assist)) {
             //            $receivers['mission_assist_'.$mission_leg->getId()] = $mission_assist;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $mission_assist)) {
                 $receivers[] = $mission_assist;
             }
         }
     }
     unset($mission_assist);
     // Get Backup mission assist email address
     $backup_mission_assist = MemberPeer::retrieveByPK($mission_leg->getBackupMissAssisId());
     if ($backup_mission_assist) {
         $backup_mission_assist = $backup_mission_assist->getPerson()->getEmail();
         if (!empty($backup_mission_assist)) {
             //            $receivers['backup_mission_assist_'.$mission_leg->getId()] = $backup_mission_assist;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $backup_mission_assist)) {
                 $receivers[] = $backup_mission_assist;
             }
         }
     }
     unset($backup_mission_assist);
     // Get Pilot Aircraft email address
     $pilot_aircraft = PilotAircraftPeer::retrieveByPK($mission_leg->getPilotAircraftId());
     if ($pilot_aircraft && ($pilot_aircraft = $pilot_aircraft->getMember())) {
         $pilot_aircraft = $pilot_aircraft->getPerson()->getEmail();
         if (!empty($pilot_aircraft)) {
             //            $receivers['pilot_aircraft_'.$mission_leg->getId()] = $pilot_aircraft;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $pilot_aircraft)) {
                 $receivers[] = $pilot_aircraft;
             }
         }
     }
     unset($pilot_aircraft);
     // Get Share AFA ORG email address
     $afa_org = AfaOrgPeer::retrieveByPK($mission_leg->getShareAfaOrgId());
     if ($afa_org) {
         $afa_org = $afa_org->getRefContactEmail();
         if (!empty($afa_org)) {
             //            $receivers['afa_org_'.$mission_leg->getId()] = $afa_org;
             if (preg_match('/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/', $afa_org)) {
                 $receivers[] = $afa_org;
             }
         }
     }
     unset($afa_org);
     return $receivers;
 }
예제 #6
0
 private function processForm(sfWebRequest $request, MissionReportForm $form, MissionLeg $mission_leg)
 {
     $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
     if ($form->isValid()) {
         $mission_report = $form->save();
         //if($request->getFiles())$form->getObject()->save();
         $mission_leg->setMissionReportId($mission_report->getId());
         $mission_leg->save();
         $this->getUser()->setFlash('success', 'Mission Report have successfully saved!');
         if ($this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Coordinator', 'Volunteer'), false) == true) {
             return $this->redirect('mission_report/review');
         }
         $this->redirect('mission_report/index');
     }
 }
예제 #7
0
 public function executeReverse(sfWebRequest $request)
 {
     #TODO
     #security
     if ($request->getParameter('id')) {
         $mission_leg = MissionLegPeer::retrieveByPK($request->getParameter('id'));
         $mission = MissionPeer::retrieveByPK($mission_leg->getMissionId());
         if (isset($mission) && $mission->getItineraryId()) {
             $iti = $mission->getItinerary();
         }
         if ($mission_leg->getTransportation() == 'air_mission') {
             if ($mission_leg->getReverseFrom() == $mission_leg->getId()) {
                 //Non reversed leg
                 $orgin = $mission_leg->getFromAirportId();
                 $dest = $mission_leg->getToAirportId();
                 $miss_id = $mission_leg->getMissionId();
                 $leg_id = $mission_leg->getId();
                 $mission_leg->setReverseFrom($mission_leg->getId());
                 $mission_leg->save();
                 $mission_leg = new MissionLeg();
                 $mission_leg->setMissionId($miss_id);
                 $mission_leg->setReverseFrom($leg_id);
                 $mission_leg->setLegNumber(MissionLegPeer::getMaxLegNumber($miss_id) + 1);
                 $mission_leg->setFromAirportId($dest);
                 $mission_leg->setToAirportId($orgin);
                 $mission_leg->setTransportation('air_mission');
                 $mission_leg->save();
                 $this->getUser()->setFlash('success', 'Mission #' . $mission->getId() . '\'s legs have reversed.');
                 $this->redirect('@itinerary_detail?id=' . $iti->getId());
             }
         } elseif ($mission_leg->getTransportation() == 'ground_mission') {
             if ($mission_leg->getGroundOrigin() && $mission_leg->getGroundDestination()) {
                 //Reversed by type which saved : like patient..lodging..
                 if ($mission_leg->getGroundOrigin() == 'patient' && $mission_leg->getGroundDestination() == 'lodging') {
                     $parent = $mission_leg->getGroundOrigin();
                     $lodging = $mission_leg->getGroundDestination();
                     $miss_id = $mission_leg->getMissionId();
                     $leg_id = $mission_leg->getId();
                     $mission_leg = new MissionLeg();
                     $mission_leg->setMissionId($miss_id);
                     $mission_leg->setLegNumber(MissionLegPeer::getMaxLegNumber($miss_id) + 1);
                     $mission_leg->setGroundOrigin($lodging);
                     $mission_leg->setGroundDestination($parent);
                     $mission_leg->setTransportation('ground_mission');
                     $mission_leg->setReverseFrom($leg_id);
                     $mission_leg->save();
                 }
                 if ($mission_leg->getGroundOrigin() == 'lodging' && $mission_leg->getGroundDestination() == 'facility') {
                     $facility = $mission_leg->getGroundDestination();
                     $lodging = $mission_leg->getGroundOrigin();
                     $miss_id = $mission_leg->getMissionId();
                     $leg_id = $mission_leg->getId();
                     $mission_leg = new MissionLeg();
                     $mission_leg->setMissionId($miss_id);
                     $mission_leg->setLegNumber(MissionLegPeer::getMaxLegNumber($miss_id) + 1);
                     $mission_leg->setGroundDestination($lodging);
                     $mission_leg->setGroundOrigin($facility);
                     $mission_leg->setTransportation('ground_mission');
                     $mission_leg->setReverseFrom($leg_id);
                     $mission_leg->save();
                 }
                 $this->getUser()->setFlash('success', 'Missoin #' . $mission->getId() . '\'s legs have reversed.');
                 $this->redirect('@itinerary_detail?id=' . $iti->getId());
             }
         }
         if ($mission_leg->getMissionId()) {
             $mission = MissionPeer::retrieveByPK($mission_leg->getMissionId());
         }
     }
 }
예제 #8
0
 /**
  * Get the associated MissionLeg object
  *
  * @param      PropelPDO Optional Connection object.
  * @return     MissionLeg The associated MissionLeg object.
  * @throws     PropelException
  */
 public function getMissionLeg(PropelPDO $con = null)
 {
     if ($this->aMissionLeg === null && $this->id !== null) {
         $c = new Criteria(MissionLegPeer::DATABASE_NAME);
         $c->add(MissionLegPeer::ID, $this->id);
         $this->aMissionLeg = MissionLegPeer::doSelectOne($c, $con);
         // Because this foreign key represents a one-to-one relationship, we will create a bi-directional association.
         $this->aMissionLeg->setAfaLeg($this);
     }
     return $this->aMissionLeg;
 }
예제 #9
0
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      MissionLeg $value A MissionLeg object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(MissionLeg $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }