protected function processStep3Check(sfWebRequest $request) { $default_airport = AirportPeer::getByIdent(sfConfig::get('app_default_airport_ident')); $this->forward404Unless($default_airport); $app = $this->application_temp; $person = $this->person; if (!$person instanceof Person) { $person = new Person(); } /* @var $app ApplicationTemp */ /* @var $person Person */ // Person $tmp_arr = $app->toArray(BasePeer::TYPE_FIELDNAME); $tmp_arr['evening_phone'] = $tmp_arr['eve_phone']; $tmp_arr['evening_comment'] = $tmp_arr['eve_comment']; unset($tmp_arr['id']); $person->fromArray($tmp_arr, BasePeer::TYPE_FIELDNAME); $person->save(); // Member $member = MemberPeer::retrieveByPK($app->getMemberId()); if (!$member instanceof Member) { $member = new Member(); } $member->setActive(1); $member->setCoPilot($app->getApplicantCopilot()); $member->setContact('By Email'); $member->setDateOfBirth($app->getDateOfBirth()); $member->setDriversLicenseState($app->getDriversLicenseState()); $member->setDriversLicenseNumber($app->getDriversLicenseNumber()); $member->setEmergencyContactName($app->getEmergencyContactName()); $member->setEmergencyContactPhone($app->getEmergencyContactPhone()); $member->setFlightStatus($app->getApplicantPilot() ? 'Verify Orientation' : 'Non-pilot'); //$member->setJoinDate(time()); $member->setLanguages($app->getLanguagesSpoken()); //Farazi //$member->setMasterMemberId($app->getMasterMemberId()); // Get Last renewal date $this->member = MemberPeer::retrieveByPK($app->getMemberId()); $lastRenewalDate = strtotime($this->member->getRenewalDate()); $member->setMemberClassId($app->getMemberClassId()); $member->setPersonId($person->getId()); $member->setRenewedDate(time()); ///Farazi Renewal Date From Memberclass if ($app->getMemberClassId()) { $memclass = MemberClassPeer::retrieveByPK($app->getMemberClassId()); $renewal_period = $memclass->getRenewalPeriod(); $renewalTime = strtotime('+' . $renewal_period . ' month', $lastRenewalDate); //echo $renewalTime; $member->setRenewalDate($renewalTime); //$member->setRenewalDate(strtotime('+'.$renewal_period.' month')); } // Farazi End //$member->setRenewalDate(strtotime('+1 year')); $member->setSpouseName($app->getSpouseFirstName() . ' ' . $app->getSpouseLastName()); $member->setWeight($app->getWeight()); $member->setWingId($app->getWingId()); $member->save(); // Pilot if ($app->getApplicantPilot()) { $pilot = $member->getPilot(); if (!$pilot instanceof Pilot) { $pilot = new Pilot(); } if ($pilot->isNew()) { // remove aircrafts foreach ($member->getPilotAircrafts() as $p_a) { PilotAircraftPeer::doDelete($p_a); } } $pilot->setMemberId($member->getId()); $airport = AirportPeer::getByIdent($app->getHomeBase()); if (!$airport instanceof Airport) { $airport = $default_airport; } $pilot->setPrimaryAirportId($airport->getId()); $pilot->setTotalHours($app->getTotalHours()); $pilot->setLicenseType('Private'); foreach (sfConfig::get('app_pilot_license_types') as $key => $val) { if (stripos($app->getRatings(), $key) !== false) { $pilot->setLicenseType($key); } } $pilot->setIfr(stripos($app->getRatings(), 'ifr') !== false ? 1 : 0); $pilot->setMultiEngine(stripos($app->getRatings(), 'multi') !== false ? 1 : 0); $pilot->setSeInstructor('No'); // @see ApplicationForm foreach (sfConfig::get('app_pilot_se_instructor') as $key => $val) { if (stripos($app->getRatings(), $key) !== false) { $pilot->setSeInstructor($key); } } $pilot->setMeInstructor($pilot->getSeInstructor()); $pilot->save(); // Availability $availability = $member->getAvailability(); if (!$availability instanceof Availability) { $availability = new Availability(); } $availability->setMemberId($member->getId()); $availability->setNotAvailable(0); $availability->setNoWeekday($app->getAvailabilityWeekdays() == 0); $availability->setNoNight($app->getAvailabilityWeeknights() == 0); $availability->setLastMinute($app->getAvailabilityLastMinute()); $availability->setAsMissionMssistant($app->getAvailabilityCopilot()); $availability->setNoWeekend($app->getAvailabilityWeekends() == 0); $availability->save(); //Farazi //Delete all aircrafts $pilot_aircrafts = PilotAircraftPeer::getByMemberId($member->getId()); foreach ($pilot_aircrafts as $pilot_aircraft) { $pilot_aircraft->delete(); } // Primary aircraft if ($app->getAircraftPrimaryId() && ($aircraft = AircraftPeer::retrieveByPK($app->getAircraftPrimaryId()))) { $pilot_aircraft = new PilotAircraft(); $pilot_aircraft->setMemberId($member->getId()); $pilot_aircraft->setAircraftId($aircraft->getId()); $pilot_aircraft->setNNumber($app->getAircraftPrimaryNNumber()); $pilot_aircraft->setOwn($app->getAircraftPrimaryOwn()); $pilot_aircraft->setSeats($app->getAircraftPrimarySeats()); $pilot_aircraft->setKnownIce($app->getAircraftPrimaryIce()); $pilot_aircraft->save(); } // Secondary aircraft if ($app->getAircraftSecondaryId() && ($aircraft = AircraftPeer::retrieveByPK($app->getAircraftSecondaryId()))) { $pilot_aircraft = new PilotAircraft(); $pilot_aircraft->setMemberId($member->getId()); $pilot_aircraft->setAircraftId($aircraft->getId()); $pilot_aircraft->setNNumber($app->getAircraftSecondaryNNumber()); $pilot_aircraft->setOwn($app->getAircraftSecondaryOwn()); $pilot_aircraft->setSeats($app->getAircraftSecondarySeats()); $pilot_aircraft->setKnownIce($app->getAircraftSecondaryIce()); $pilot_aircraft->save(); } // Third aircraft if ($app->getAircraftThirdId() && ($aircraft = AircraftPeer::retrieveByPK($app->getAircraftThirdId()))) { $pilot_aircraft = new PilotAircraft(); $pilot_aircraft->setMemberId($member->getId()); $pilot_aircraft->setAircraftId($aircraft->getId()); $pilot_aircraft->setNNumber($app->getAircraftThirdNNumber()); $pilot_aircraft->setOwn($app->getAircraftThirdOwn()); $pilot_aircraft->setSeats($app->getAircraftThirdSeats()); $pilot_aircraft->setKnownIce($app->getAircraftThirdIce()); $pilot_aircraft->save(); } } // Application_temp $app->setPersonId($person->getId()); $app->setMemberId($member->getId()); $app->setProcessedDate(time()); $app->save(); // Application $tmp_arr = $app->toArray(BasePeer::TYPE_FIELDNAME); $tmp_arr['date'] = $tmp_arr['application_date']; $tmp_arr['company'] = $tmp_arr['company_name']; foreach (sfConfig::get('app_pilot_license_types') as $key => $val) { if (stripos($tmp_arr['ratings'], $key) !== false) { $tmp_arr['license_type'] = $key; } } $tmp_arr['ifr'] = stripos($tmp_arr['ratings'], 'ifr') !== false ? 1 : 0; $tmp_arr['multi_engine'] = stripos($tmp_arr['ratings'], 'multi') !== false ? 1 : 0; $tmp_arr['se_instructor'] = 'No'; // @see ApplicationForm foreach (sfConfig::get('app_pilot_se_instructor') as $key => $val) { if (stripos($tmp_arr['ratings'], $key) !== false) { $tmp_arr['se_instructor'] = $key; } } $tmp_arr['me_instructor'] = $tmp_arr['se_instructor']; $tmp_arr['other_ratings'] = $tmp_arr['ratings']; $tmp_arr['fbo'] = $tmp_arr['fbo_name']; $tmp_arr['member_meetings'] = 0; $tmp_arr['executive_board'] = 0; $tmp_arr['dues_amount_paid'] = $tmp_arr['dues_amount_paid'] ? $tmp_arr['dues_amount_paid'] : 0; $tmp_arr['donation_amount_paid'] = $tmp_arr['donation_amount_paid'] ? $tmp_arr['donation_amount_paid'] : 0; unset($tmp_arr['id']); $application = new Application(); $application->fromArray($tmp_arr, BasePeer::TYPE_FIELDNAME); $application->save(); $this->getUser()->setFlash('success', 'Membership renewal completed successfully.'); //$this->redirect('renewal/processComplete?id='.$member->getId()); $this->redirect('renewal/processStep3?id=' . $this->application_temp->getId()); //$this->redirect('renewal/index?id='.$member->getId()); }
/** * Show Itinerary details * CODE: itinerary_view */ public function executeDetail(sfWebRequest $request) { #Security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $this->orginset = ''; $this->destset = ''; $this->orgintset = ''; $this->desttset = ''; if ($request->getParameter('add_passengers')) { $this->group_camp_id = $request->getParameter('add_passengers'); } $this->mission; $this->mission2; $mission; $mission2; $this->ground_addr_sel = sfConfig::get('app_ground_address_type', array()); $this->errors = array(); $this->errors2 = array(); if ($request->getParameter('id')) { $this->itinerary = ItineraryPeer::retrieveByPK($request->getParameter('id')); $this->back = $request->getReferer(); //echo $this->itinerary->getId(); if (strstr($this->back, '/mission/view')) { $this->frommission = 1; } else { $this->frommission = 0; } $this->mis = MissionPeer::getMissionByItineraryId($this->itinerary->getId(), 1); $mission = $this->mis; /*echo "<pre>"; print_r($this->mis); echo "</pre>"; die("ok"); */ $this->mission = $mission; //print_r($mission); exit (); ///Show leges if (isset($mission)) { $this->mis_legs = MissionLegPeer::getbyMissId($mission->getId()); } //echo "<pre>"; //print_r($this->mis_legs); //echo $this->itinerary->getId(); $this->mis2 = MissionPeer::getMissionByItineraryId($this->itinerary->getId(), 2); /* echo "<pre>"; print_r($this->mis2); echo "</pre>"; die("ok"); */ $mission2 = $this->mis2; $this->mission2 = $mission2; $this->ground_addresses = array('patient' => '', 'facility' => '', 'lodging' => '', 'airport' => ''); $pass; $this->personnew; if ($this->itinerary) { $this->ground_addresses['lodging'] = $this->ground_addresses['facility'] = $this->itinerary->getDestCity() . ', ' . $this->itinerary->getDestState(); $pass = PassengerPeer::retrieveByPK($this->itinerary->getPassengerId()); $this->personnew = PersonPeer::retrieveByPK($pass->getPersonId()); } if ($pass) { $this->ground_addresses['lodging'] = $pass->getLodgingName() . ' ' . $this->ground_addresses['lodging']; $this->ground_addresses['facility'] = $pass->getFacilityName() . ' ' . $this->ground_addresses['facility']; $this->ground_addresses['patient'] = $this->personnew->getAddress1() . ' ' . $this->personnew->getAddress2() . ' ' . $this->personnew->getCity() . ', ' . $this->personnew->getState() . ' ' . $this->personnew->getZipcode(); $this->ground_addresses['airport'] = $this->personnew->getAddress1() . ' ' . $this->personnew->getAddress2() . ' ' . $this->personnew->getCity() . ', ' . $this->personnew->getState() . ' ' . $this->personnew->getZipcode(); } } if ($request->isMethod('post')) { if ($request->getParameter('com')) { if ($request->getParameter('com') == 1) { $mission->setComment($request->getParameter('mis_comment')); $mission->save(); } elseif ($request->getParameter('com') == 2) { $mission2->setComment($request->getParameter('mist_comment')); $mission2->save(); } $this->getUser()->setFlash('success', 'Comment successfully saved.'); } else { if ($request->getParameter('misstsave') == 1) { switch ($request->getParameter('transportation')) { case 'air_mission': $origin_airports = (array) $request->getParameter('origint_idents'); $dest_airports = (array) $request->getParameter('destinationt_idents'); $idents = $dest_airports; $tmp_arr = array(); foreach ($origin_airports as $i => $ident) { $idents[] = $ident; $v = $ident . ' to ' . $dest_airports[$i]; if (in_array($v, $tmp_arr)) { $this->errors2[] = 'Leg ' . $v . ' appeared more than one'; } else { $tmp_arr[] = $v; } if ($dest_airports[$i] == $ident) { $this->errors2[] = 'Leg ' . $ident . ' to ' . $dest_airports[$i] . ' is invalid'; } } $idents = array_unique($idents); $c = new Criteria(); $c->add(AirportPeer::IDENT, $idents, Criteria::IN); if (count($idents) != AirportPeer::doCount($c)) { $this->errors2[] = 'Some airport idents are invalid'; } break; case 'ground_mission': $origin = $request->getParameter('groundt_origin'); $destination = $request->getParameter('groundt_destination'); $orgintset = $request->getParameter('orgintset'); $desttset = $request->getParameter('desttset'); $this->desttset = $desttset; $this->orgintset = $orgintset; if (empty($destination) && empty($desttset)) { $this->errors2[] = 'Please specify destination address'; } if (empty($origin) && empty($orgintset)) { $this->errors2[] = 'Please specify origin address'; } elseif ($destination == $origin && $destination != '') { $this->errors2[] = 'Origin and Destination addresses conflict'; } break; case 'commercial_mission': $mission_date = $request->getParameter('mission_date'); if (empty($mission_date)) { $this->errors2[] = 'Mission date is required'; } if ($v = $request->getParameter('airline_id')) { $custom = $request->getParameter('airline_custom'); if ($v == 'other') { if (empty($custom)) { $this->errors2[] = 'Please type a new airline name!'; } } else { $airline = AirlinePeer::retrieveByPK($v = $request->getParameter('airline_id')); if (!$airline instanceof Airline) { $this->errors2[] = 'Please select airline!'; } } } else { $this->errors2[] = 'Please select airline!'; } break; default: $this->errors2[] = 'Please select Transportation Type'; } if (count($this->errors2)) { # error in form switch ($request->getParameter('transportation')) { case 'air_mission': $this->origin_idents = $origin_airports; $this->dest_idents = $dest_airports; break; case 'ground_mission': break; case 'commercial_mission': break; } $this->erer = 2; } else { $missioncount = MissionLegPeer::getMaxLegNumber($mission2->getId()); switch ($request->getParameter('transportation')) { case 'air_mission': $aircount = MissionLegPeer::getCountbyMissIdAndType($mission2->getId(), 'air_mission'); for ($i = 0; $i < sizeof($origin_airports); $i++) { $airport_o = AirportPeer::getByIdent($origin_airports[$i]); $airport_d = AirportPeer::getByIdent($dest_airports[$i]); $missioncount++; $aircount++; $mission_leg = new MissionLeg(); $mission_leg->setMissionId($mission2->getId()); $mission_leg->setLegNumber($missioncount); $mission_leg->setFromAirportId($airport_o->getId()); $mission_leg->setToAirportId($airport_d->getId()); $mission_leg->setPrefix('air' . $aircount); //$mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); //$mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('air_mission'); $mission_leg->setCancelMissionLeg(1); $mission_leg->save(); } $this->getUser()->setFlash('success', 'Mission and Leg #' . $mission_leg->getMissionId() . '-' . $mission_leg->getLegNumber() . ' has successfully created!'); return $this->redirect('/itinerary/detail/' . $this->itinerary->getId()); break; case 'ground_mission': $groundcount = MissionLegPeer::getCountbyMissIdAndType($mission2->getId(), 'ground_mission'); $mission_leg = new MissionLeg(); $orgintsetsave = $request->getParameter('groundt_origin'); if (empty($orgintsetsave)) { $orgintsetsave = $request->getParameter('orgintset'); } $desttsetsave = $request->getParameter('groundt_destination'); if (empty($desttsetsave)) { $desttsetsave = $request->getParameter('desttset'); } $groundcount++; $sas = $missioncount + 1; $mission_leg->setMissionId($mission2->getId()); $mission_leg->setLegNumber($sas); $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('ground_mission'); $mission_leg->setGroundOrigin($orgintsetsave); $mission_leg->setGroundDestination($desttsetsave); $mission_leg->setPrefix('g' . $groundcount); $mission_leg->setCancelMissionLeg(1); $mission_leg->save(); $this->getUser()->setFlash('success', 'Mission and Leg #' . $mission_leg->getMissionId() . '-' . $mission_leg->getLegNumber() . ' has successfully created!'); return $this->redirect('/itinerary/detail/' . $this->itinerary->getId()); break; case 'commercial_mission': $comcount = MissionLegPeer::getCountbyMissIdAndType($mission2->getId(), 'commercial_mission'); $flight_time = $request->getParameter('flight_time'); if (empty($flight_time['hour']) || empty($flight_time['minute'])) { $flight_time = null; } $airline_id = $request->getParameter('airline_id'); if ($airline_id == 'other') { $airline = new Airline(); $airline->setName($request->getParameter('airline_custom')); $airline->save(); } else { $airline = AirlinePeer::retrieveByPK($airline_id); $this->forward404Unless($airline); } $origins = $request->getParameter('origin'); $destinations = $request->getParameter('destination'); $flight_numbers = $request->getParameter('flight_number'); $departures = $request->getParameter('departure'); $arrivals = $request->getParameter('arrival'); $mission->setFlightTime($flight_time['hour'] . ':' . $flight_time['minute'] . ' ' . $flight_time['period']); $missioncount++; $n_leg = $missioncount; foreach ($origins as $i => $origin) { if (empty($origin) || empty($destinations[$i])) { continue; } $mission_leg = new MissionLeg(); $comcount++; $mission_leg->setMissionId($mission2->getId()); $mission_leg->setLegNumber($n_leg++); $mission_leg->setFlightTime($flight_time ? strtotime($flight_time['hour'] . ':' . $flight_time['minute'] . ' ' . $flight_time['period']) : null); //$mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); //$mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); $mission_leg->setAirlineId($airline->getId()); $mission_leg->setFundId($request->getParameter('fund_id')); $mission_leg->setConfirmCode($request->getParameter('confirm_code')); $mission_leg->setFlightCost($request->getParameter('flight_cost')); $mission_leg->setCommOrigin($origin); $mission_leg->setCommDest($destinations[$i]); $mission_leg->setFlightNumber($flight_numbers[$i]); $v = $departures[$i]; if (empty($v['hour']) || empty($v['minute'])) { $v = null; } $mission_leg->setDeparture($v ? strtotime($v['hour'] . ':' . $v['minute'] . ' ' . $v['period']) : null); $v = $arrivals[$i]; if (empty($v['hour']) || empty($v['minute'])) { $v = null; } $mission_leg->setDeparture($v ? strtotime($v['hour'] . ':' . $v['minute'] . ' ' . $v['period']) : null); $mission_leg->setTransportation('commercial_mission'); $mission_leg->setPrefix('com' . $comcount); $mission_leg->setCancelMissionLeg(1); $mission_leg->save(); $this->getUser()->setFlash('success', 'Mission and Leg #' . $mission_leg->getMissionId() . '-' . $mission_leg->getLegNumber() . ' has successfully created!'); return $this->redirect('/itinerary/detail/' . $this->itinerary->getId()); } break; } } } else { switch ($request->getParameter('transportation')) { case 'air_mission': $origin_airports = (array) $request->getParameter('origin_idents'); $dest_airports = (array) $request->getParameter('destination_idents'); $idents = $dest_airports; $tmp_arr = array(); foreach ($origin_airports as $i => $ident) { $idents[] = $ident; $v = $ident . ' to ' . $dest_airports[$i]; if (in_array($v, $tmp_arr)) { $this->errors[] = 'Leg ' . $v . ' appeared more than one'; } else { $tmp_arr[] = $v; } if ($dest_airports[$i] == $ident) { $this->errors[] = 'Leg ' . $ident . ' to ' . $dest_airports[$i] . ' is invalid'; } } $idents = array_unique($idents); $c = new Criteria(); $c->add(AirportPeer::IDENT, $idents, Criteria::IN); if (count($idents) != AirportPeer::doCount($c)) { $this->errors[] = 'Some airport idents are invalid'; } break; case 'ground_mission': $origin = $request->getParameter('ground_origin'); $destination = $request->getParameter('ground_destination'); //echo $destination; die(); $orginset = $request->getParameter('orginset'); $destset = $request->getParameter('destset'); $this->destset = $destset; $this->orginset = $orginset; if (empty($destination) && empty($destset)) { $this->errors[] = 'Please specify destination address'; } if (empty($origin) && empty($orginset)) { $this->errors[] = 'Please specify origin address'; } elseif ($destination == $origin && $destination != '') { $this->errors[] = 'Origin and Destination addresses conflict'; } break; case 'commercial_mission': $mission_date = $request->getParameter('mission_date'); if (empty($mission_date)) { $this->errors[] = 'Mission date is required'; } if ($v = $request->getParameter('airline_id')) { $custom = $request->getParameter('airline_custom'); if ($v == 'other') { if (empty($custom)) { $this->errors[] = 'Please type a new airline name!'; } } else { $airline = AirlinePeer::retrieveByPK($v = $request->getParameter('airline_id')); if (!$airline instanceof Airline) { $this->errors[] = 'Please select airline!'; } } } else { $this->errors[] = 'Please select airline!'; } break; default: $this->errors[] = 'Please select Transportation Type'; } if (count($this->errors)) { # error in form switch ($request->getParameter('transportation')) { case 'air_mission': $this->origin_idents = $origin_airports; $this->dest_idents = $dest_airports; break; case 'ground_mission': break; case 'commercial_mission': break; } } else { $missioncount = MissionLegPeer::getMaxLegNumber($mission->getId()); switch ($request->getParameter('transportation')) { case 'air_mission': $aircount = MissionLegPeer::getCountbyMissIdAndType($mission->getId(), 'air_mission'); for ($i = 0; $i < sizeof($origin_airports); $i++) { $airport_o = AirportPeer::getByIdent($origin_airports[$i]); $airport_d = AirportPeer::getByIdent($dest_airports[$i]); $missioncount++; $aircount++; $mission_leg = new MissionLeg(); $mission_leg->setMissionId($mission->getId()); $mission_leg->setLegNumber($missioncount); $mission_leg->setFromAirportId($airport_o->getId()); $mission_leg->setToAirportId($airport_d->getId()); $mission_leg->setPrefix('air' . $aircount); //$mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); //$mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('air_mission'); $mission_leg->setCancelMissionLeg(1); $mission_leg->save(); } $this->getUser()->setFlash('success', 'Mission and Leg #' . $mission_leg->getMissionId() . '-' . $mission_leg->getLegNumber() . ' has successfully created!'); return $this->redirect('/itinerary/detail/' . $this->itinerary->getId()); break; case 'ground_mission': $groundcount = MissionLegPeer::getCountbyMissIdAndType($mission->getId(), 'ground_mission'); $mission_leg = new MissionLeg(); $orginsetsave = $request->getParameter('ground_origin'); if (empty($orginsetsave)) { $orginsetsave = $request->getParameter('orginset'); } $destsetsave = $request->getParameter('ground_destination'); if (empty($destsetsave)) { $destsetsave = $request->getParameter('destset'); } $groundcount++; $missioncount++; $sa = $missioncount; $mission_leg->setMissionId($mission->getId()); $mission_leg->setLegNumber($sa); $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('ground_mission'); $mission_leg->setGroundOrigin($orginsetsave); $mission_leg->setGroundDestination($destsetsave); $mission_leg->setPrefix('g' . $groundcount); $mission_leg->setCancelMissionLeg(1); $mission_leg->save(); $this->getUser()->setFlash('success', 'Mission and Leg #' . $mission_leg->getMissionId() . '-' . $mission_leg->getLegNumber() . ' has successfully created!'); return $this->redirect('/itinerary/detail/' . $this->itinerary->getId()); break; case 'commercial_mission': $comcount = MissionLegPeer::getCountbyMissIdAndType($mission->getId(), 'commercial_mission'); $flight_time = $request->getParameter('flight_time'); if (empty($flight_time['hour']) || empty($flight_time['minute'])) { $flight_time = null; } $airline_id = $request->getParameter('airline_id'); if ($airline_id == 'other') { $airline = new Airline(); $airline->setName($request->getParameter('airline_custom')); $airline->save(); } else { $airline = AirlinePeer::retrieveByPK($airline_id); $this->forward404Unless($airline); } $origins = $request->getParameter('origin'); $destinations = $request->getParameter('destination'); $flight_numbers = $request->getParameter('flight_number'); $departures = $request->getParameter('departure'); $arrivals = $request->getParameter('arrival'); $mission->setFlightTime($flight_time['hour'] . ':' . $flight_time['minute'] . ' ' . $flight_time['period']); $missioncount++; $n_leg = $missioncount; foreach ($origins as $i => $origin) { if (empty($origin) || empty($destinations[$i])) { continue; } $mission_leg = new MissionLeg(); $comcount++; $mission_leg->setMissionId($mission->getId()); $mission_leg->setLegNumber($n_leg++); $mission_leg->setFlightTime($flight_time ? strtotime($flight_time['hour'] . ':' . $flight_time['minute'] . ' ' . $flight_time['period']) : null); $mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); $mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); $mission_leg->setAirlineId($airline->getId()); $mission_leg->setFundId($request->getParameter('fund_id')); $mission_leg->setConfirmCode($request->getParameter('confirm_code')); $mission_leg->setFlightCost($request->getParameter('flight_cost')); $mission_leg->setCommOrigin($origin); $mission_leg->setCommDest($destinations[$i]); $mission_leg->setFlightNumber($flight_numbers[$i]); $v = $departures[$i]; if (empty($v['hour']) || empty($v['minute'])) { $v = null; } $mission_leg->setDeparture($v ? strtotime($v['hour'] . ':' . $v['minute'] . ' ' . $v['period']) : null); $v = $arrivals[$i]; if (empty($v['hour']) || empty($v['minute'])) { $v = null; } $mission_leg->setDeparture($v ? strtotime($v['hour'] . ':' . $v['minute'] . ' ' . $v['period']) : null); $mission_leg->setTransportation('commercial_mission'); $mission_leg->setPrefix('com' . $comcount); $mission_leg->setCancelMissionLeg(1); $mission_leg->save(); $this->getUser()->setFlash('success', 'Mission and Leg #' . $mission_leg->getMissionId() . '-' . $mission_leg->getLegNumber() . ' has successfully created!'); return $this->redirect('/itinerary/detail/' . $this->itinerary->getId()); } break; } } } } } if ($request->getParameter('id')) { //$this->itinerary = ItineraryPeer::retrieveByPK($request->getParameter('id')); //$this->mis = MissionPeer::getMissionByItineraryId($this->itinerary->getId(), 'Home'); //$mission = $this->mis; if (isset($mission)) { $this->mis_comment = $mission->getComment(); } //$this->mis_legs = MissionLegPeer::getbyMissId($mission->getId()); if ($mission2) { $this->mis2_legs = MissionLegPeer::getbyMissId($mission2->getId()); $this->mist_comment = $mission2->getComment(); } $this->date_widget = new widgetFormDate(array('format_date' => array('js' => 'mm/dd/yy', 'php' => 'm/d/Y')), array('class' => 'text')); $this->time_widget = new widgetFormTime(); $this->airport_list = AirportPeer::getMappable(); $this->ground_addresses = $this->getGroundAddresses(); $this->airlines = AirlinePeer::doSelect(new Criteria()); $this->funds = FundPeer::doSelect(new Criteria()); $this->miss_ids = array(); $c = 0; $count = 0; $count2 = 0; if (isset($this->itinerary)) { $this->missions = MissionPeer::getByItiId($this->itinerary->getId()); if (isset($this->missions)) { foreach ($this->missions as $mi) { $this->miss_ids[$c] = $mi->getId(); $legs = MissionLegPeer::getbyMissId($mi->getId()); } } } $this->title = '#' . $this->itinerary->getId() . ' Itinerary Details'; } }
/** * Searches for camps * CODE:camp_create */ public function executeUpdate(sfWebRequest $request) { 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'); } sfContext::getInstance()->getConfiguration()->loadHelpers('Partial'); $this->agencies = AgencyPeer::getForSelectParent(); $this->agency = trim($this->getRequestParameter('agency', '*')) == '' ? '*' : trim($this->getRequestParameter('agency', '*')); $this->airport = trim($this->getRequestParameter('airport', '*')) == '' ? '*' : trim($this->getRequestParameter('airport', '*')); $this->airports = AirportPeer::doSelect(new Criteria()); if ($request->getParameter('id')) { $camp = CampPeer::retrieveByPK($request->getParameter('id')); $this->forward404Unless($camp); if (isset($camp)) { if ($camp->getAgencyId()) { $agency = AgencyPeer::retrieveByPK($camp->getAgencyId()); if (isset($agency)) { $this->agency_id = $agency->getId(); } } if ($camp->getAirportId()) { $airport = AirportPeer::retrieveByPK($camp->getAirportId()); if (isset($airport)) { $this->airport_id = $airport->getId(); } } } $this->title = 'Edit camp'; $success = 'Camp information has been successfully changed!'; slot('nav_menu', array('mission_coord', '')); } else { $camp = new Camp(); if ($request->getParameter('agency_id')) { $this->agency_id = $request->getParameter('agency_id'); } $this->title = 'Add new camp'; $success = 'Camp information has been successfully created!'; slot('nav_menu', array('mission_coord', 'add-camp')); } //Agency PopUp Form $agency = new Agency(); $this->form_a = new AgencyForm($agency); $this->a_referer = $request->getReferer(); //Aiport PopUp Form $airport = new Airport(); $this->form_airport = new AirportForm($airport); $this->airport_referer = $request->getReferer(); $this->form = new CampForm($camp); if ($request->isMethod('post')) { $this->referer = $request->getParameter('referer'); $this->form->bind($request->getParameter('camp')); $ma = ''; foreach ($this->form as $pass_key => $pass_data) { $ma .= $pass_data . '|'; } if ($this->form->isValid() && $request->getParameter('agency') != null) { if ($request->getParameter('agency')) { $agency = AgencyPeer::getByName($request->getParameter('agency')); } if (isset($agency) && $agency instanceof Agency) { $camp->setAgencyId($agency->getId()); } //$aId = $camp->getAirportId(); //$aInd = $request->getParameter('airport'); $airport = AirportPeer::getByIdent($request->getParameter('airport')); /*if(!empty($aId)){ if(!empty($aInd)){ $camp->setAirportId($airport->getId()); } else{ $camp->setAirportId($aId); } }else{ if($airport) $camp->setAirportId($airport->getId()); }*/ /*if($request->getParameter('airport')){ $camp->setAirportId(null); }else{ $airport = AirportPeer::getByIdent($request->getParameter('airport')); if(isset($airport) instanceof Airport){ $camp->setAirportId($airport->getId()); } }*/ //$camp->setAirport($request->getParameter('airport_name')); $camp->setAirport($airport); $camp->setSession($this->form->getValue('session')); $camp->setCampName($this->form->getValue('camp_name')); $camp->setArrivalDate($this->form->getValue('arrival_date')); $camp->setDepartureDate($this->form->getValue('departure_date')); $camp->setArrivalComment($this->form->getValue('arrival_comment')); $camp->setDepartureComment($this->form->getValue('departure_comment')); $camp->setComment($this->form->getValue('comment')); if ($camp->isNew()) { $content = $this->getUser()->getName() . ' added new Camp: ' . $camp->getCampName(); ActivityPeer::log($content); } $camp->save(); $this->getUser()->setFlash('success', $success); if ($this->form->isNew()) { $this->redirect('camp/view?id=' . $camp->getId()); } else { $this->redirect('camp/index?showlist=true'); } //add passengers to camp then create new mission, legs //missions assocated with camps that will be a group mission } else { if ($request->getParameter('agency_id') == null) { $this->getUser()->setFlash('warning', 'Please choose Agency!'); } } } else { # Set referer URL $this->referer = $request->getReferer() ? $request->getReferer() : '@camp'; //echo $this->referer; exit (); } $this->camp = $camp; }
/** * Add or edit fbo * CODE:fbo_create */ public function executeFboUpdate(sfWebRequest $request) { # security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } //$this->airports=""; sfContext::getInstance()->getConfiguration()->loadHelpers('Partial'); $this->airport = trim($this->getRequestParameter('airport', '*')) == '' ? '*' : trim($this->getRequestParameter('airport', '*')); if ($request->getParameter('leg')) { $this->leg_id = $request->getParameter('leg'); } if ($request->getParameter('id')) { $this->fbo = FboPeer::retrieveByPK($request->getParameter('id')); $this->forward404Unless($this->fbo); $this->title = 'Edit Fbo'; $success = 'FBO information has successfully edited!'; slot('nav_menu', array('reference', '')); if ($this->fbo->getAirportId()) { $this->airport_id = $this->fbo->getAirportId(); } $this->airports = AirportPeer::doSelect(new Criteria()); } else { $this->fbo = new Fbo(); $this->title = 'Add Fbo'; $success = 'FBO information has successfully created!'; slot('nav_menu', array('reference', 'add-fbo')); } //Aiport PopUp Form $airport = new Airport(); $this->form_airport = new AirportForm($airport); $this->airport_referer = $request->getReferer(); $this->form = new FboForm($this->fbo); if ($request->isMethod('post')) { $this->referer = $request->getParameter('referer'); $this->form->bind($request->getParameter('fbo')); if ($this->form->isValid() && $request->getParameter('airport') && $this->form->getValue('name')) { if ($request->getParameter('airport')) { $airport = AirportPeer::getByIdent($request->getParameter('airport')); } if (isset($airport) && $airport instanceof Airport) { $this->fbo->setAirportId($airport->getId()); } $this->fbo->setName($this->form->getValue('name')); $this->fbo->setAddress($this->form->getValue('address')); $this->fbo->setVoicePhone($this->form->getValue('voice_phone')); $this->fbo->setFaxPhone($this->form->getValue('fax_phone')); $this->fbo->setDiscountAmount($this->form->getValue('discount_amount')); if ($this->form->getValue('fuel_discount') == null || $this->form->getValue('discount_amount') == 0) { $this->fbo->setFuelDiscount(0); } else { $this->fbo->setFuelDiscount($this->form->getValue('fuel_discount')); } if ($this->fbo->isNew()) { $ext = ''; if (isset($airport) && $airport instanceof Airport) { $ext = ' for ' . $airport->getIdent(); } $content = $this->getUser()->getName() . ' added new FBO' . $ext . ': ' . $this->fbo->getName(); ActivityPeer::log($content); } $this->fbo->save(); $this->getUser()->setFlash('success', $success); $back = '@fbo'; if ($request->getParameter('leg_id')) { $set_leg = MissionLegPeer::retrieveByPK($request->getParameter('leg_id')); if (isset($set_leg) && $set_leg instanceof MissionLeg) { $set_leg->setFboId($this->fbo->getId()); $set_leg->save(); } $back = '@leg_edit?id=' . $request->getParameter('leg_id'); } $this->redirect($back); } else { if ($request->getParameter('airport') == NULL) { $this->errairport = 1; } if ($request->getParameter('airport') == NULL && $this->form->getValue('name')) { $this->getUser()->setFlash('error', 'Please Provide An Airport Name!'); } else { if ($request->getParameter('airport') && $this->form->getValue('name') == NULL) { $this->getUser()->setFlash('error', 'Please Provide A Name!'); } else { $this->getUser()->setFlash('error', 'Please Provide Airport and Name!'); } } } } else { # Set referer URL $this->referer = $request->getReferer() ? $request->getReferer() : '@fbo'; } $this->fbo = $this->fbo; }
protected function processStep3Check(sfWebRequest $request) { $default_airport = AirportPeer::getByIdent(sfConfig::get('app_default_airport_ident')); $this->forward404Unless($default_airport); $app = $this->application_temp; $person = $this->person; if (!$person instanceof Person) { $person = new Person(); } /* @var $app ApplicationTemp */ /* @var $person Person */ // Person $tmp_arr = $app->toArray(BasePeer::TYPE_FIELDNAME); $tmp_arr['evening_phone'] = $tmp_arr['eve_phone']; $tmp_arr['evening_comment'] = $tmp_arr['eve_comment']; unset($tmp_arr['id']); $person->fromArray($tmp_arr, BasePeer::TYPE_FIELDNAME); $person->save(); // Member $member = MemberPeer::getByPersonId($person->getId()); if (!$member instanceof Member) { $member = new Member(); } // Generate external id using last member is and external id $c = new Criteria(); $c->add(MemberPeer::EXTERNAL_ID, NULL, Criteria::ISNOTNULL); $c->addDescendingOrderByColumn(MemberPeer::ID); $external_member = MemberPeer::doSelectOne($c); $external_id = $external_member->getExternalId(); $currentExternalId = $external_id + 1; //print_r($external_id); //print_r($currentExternalId); $member->setActive(1); $member->setCoPilot($app->getApplicantCopilot()); $member->setContact('By Email'); $member->setDateOfBirth($app->getDateOfBirth()); $member->setDriversLicenseState($app->getDriversLicenseState()); $member->setDriversLicenseNumber($app->getDriversLicenseNumber()); $member->setEmergencyContactName($app->getEmergencyContactName()); $member->setEmergencyContactPhone($app->getEmergencyContactPhone()); $member->setFlightStatus($app->getApplicantPilot() ? 'Verify Orientation' : 'Non-pilot'); $member->setJoinDate(time()); $member->setLanguages($app->getLanguagesSpoken()); //$member->setMasterMemberId($app->getMasterMemberId()); $member->setMemberClassId($app->getMemberClassId()); $member->setPersonId($person->getId()); $member->setRenewedDate(time()); $member->setRenewalDate(strtotime('+1 year')); $member->setSpouseName($app->getSpouseFirstName() . ' ' . $app->getSpouseLastName()); //external_id generate $member->setExternalId($currentExternalId); $member->setWingId($app->getWingId()); $member->save(); // Pilot if ($app->getApplicantPilot()) { $pilot = new Pilot(); $pilot->setMemberId($member->getId()); $airport = AirportPeer::getByIdent($app->getHomeBase()); if (!$airport instanceof Airport) { $airport = $default_airport; } $pilot->setPrimaryAirportId($airport->getId()); $pilot->setTotalHours($app->getTotalHours()); $pilot->setLicenseType('Private'); foreach (sfConfig::get('app_pilot_license_types') as $key => $val) { if (stripos($app->getRatings(), $key) !== false) { $pilot->setLicenseType($key); } } $pilot->setIfr(stripos($app->getRatings(), 'ifr') !== false ? 1 : 0); $pilot->setMultiEngine(stripos($app->getRatings(), 'multi') !== false ? 1 : 0); $pilot->setSeInstructor('No'); // @see ApplicationForm foreach (sfConfig::get('app_pilot_se_instructor') as $key => $val) { if (stripos($app->getRatings(), $key) !== false) { $pilot->setSeInstructor($key); } } $pilot->setMeInstructor($pilot->getSeInstructor()); $pilot->save(); // Availability $availability = new Availability(); $availability->setMemberId($member->getId()); $availability->setNotAvailable(0); $availability->setNoWeekday($app->getAvailabilityWeekdays() == 0); $availability->setNoNight($app->getAvailabilityWeeknights() == 0); $availability->setLastMinute($app->getAvailabilityLastMinute()); $availability->setAsMissionMssistant($app->getAvailabilityCopilot()); $availability->setNoWeekend($app->getAvailabilityWeekends() == 0); try { $availability->save(); } catch (Exception $e) { } // Primary aircraft if ($app->getAircraftPrimaryId() && ($aircraft = AircraftPeer::retrieveByPK($app->getAircraftPrimaryId()))) { $pilot_aircraft = new PilotAircraft(); $pilot_aircraft->setMemberId($member->getId()); $pilot_aircraft->setAircraftId($aircraft->getId()); $pilot_aircraft->setNNumber($app->getAircraftPrimaryNNumber()); $pilot_aircraft->setOwn($app->getAircraftPrimaryOwn()); $pilot_aircraft->setSeats($app->getAircraftPrimarySeats()); $pilot_aircraft->setKnownIce($app->getAircraftPrimaryIce()); $pilot_aircraft->save(); } // Secondary aircraft if ($app->getAircraftSecondaryId() && ($aircraft = AircraftPeer::retrieveByPK($app->getAircraftSecondaryId()))) { $pilot_aircraft = new PilotAircraft(); $pilot_aircraft->setMemberId($member->getId()); $pilot_aircraft->setAircraftId($aircraft->getId()); $pilot_aircraft->setNNumber($app->getAircraftSecondaryNNumber()); $pilot_aircraft->setOwn($app->getAircraftSecondaryOwn()); $pilot_aircraft->setSeats($app->getAircraftSecondarySeats()); $pilot_aircraft->setKnownIce($app->getAircraftSecondaryIce()); $pilot_aircraft->save(); } // Third aircraft if ($app->getAircraftThirdId() && ($aircraft = AircraftPeer::retrieveByPK($app->getAircraftThirdId()))) { $pilot_aircraft = new PilotAircraft(); $pilot_aircraft->setMemberId($member->getId()); $pilot_aircraft->setAircraftId($aircraft->getId()); $pilot_aircraft->setNNumber($app->getAircraftThirdNNumber()); $pilot_aircraft->setOwn($app->getAircraftThirdOwn()); $pilot_aircraft->setSeats($app->getAircraftThirdSeats()); $pilot_aircraft->setKnownIce($app->getAircraftThirdIce()); $pilot_aircraft->save(); } } // Application_temp $app->setPersonId($person->getId()); $app->setMemberId($member->getId()); $app->setProcessedDate(time()); $app->save(); // Application $tmp_arr = $app->toArray(BasePeer::TYPE_FIELDNAME); $tmp_arr['date'] = $tmp_arr['application_date']; $tmp_arr['company'] = $tmp_arr['company_name']; foreach (sfConfig::get('app_pilot_license_types') as $key => $val) { if (stripos($tmp_arr['ratings'], $key) !== false) { $tmp_arr['license_type'] = $key; } } $tmp_arr['ifr'] = stripos($tmp_arr['ratings'], 'ifr') !== false ? 1 : 0; $tmp_arr['multi_engine'] = stripos($tmp_arr['ratings'], 'multi') !== false ? 1 : 0; $tmp_arr['se_instructor'] = 'No'; // @see ApplicationForm foreach (sfConfig::get('app_pilot_se_instructor') as $key => $val) { if (stripos($tmp_arr['ratings'], $key) !== false) { $tmp_arr['se_instructor'] = $key; } } $tmp_arr['me_instructor'] = $tmp_arr['se_instructor']; $tmp_arr['other_ratings'] = $tmp_arr['ratings']; $tmp_arr['fbo'] = $tmp_arr['fbo_name']; $tmp_arr['member_meetings'] = 0; $tmp_arr['executive_board'] = 0; $tmp_arr['dues_amount_paid'] = $tmp_arr['dues_amount_paid'] ? $tmp_arr['dues_amount_paid'] : 0; unset($tmp_arr['id']); $application = new Application(); $application->fromArray($tmp_arr, BasePeer::TYPE_FIELDNAME); $application->save(); $where = $request->getParameter('step3_redirect'); //Ziyed save default role for new member $appTemp = $this->application_temp; if ($appTemp->getPersonId()) { $person_role = new PersonRole(); $person_role->setPersonId($appTemp->getPersonId()); if ($appTemp->getApplicantPilot() == 1) { $person_role->setRoleId(27); } else { $person_role->setRoleId(31); } $person_role->save(); } //Ziyed end save if ($where == 1) { $this->redirect('@member_view?id=' . $member->getId()); } else { /* if ($application->getEmail()) { # send email failure to payment $this->getComponent('mail', 'memberApplicationProcessed', array('email' => $application->getEmail(),'member_id'=>$member->getId(), 'name' => $application->getFirstName() . ' ' . $application->getLastName())); }*/ $this->redirect('pending_member/processComplete?id=' . $member->getId()); } }
/** * Mission Leg Edit * CODE: mission_leg_create */ public function executeUpdate(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'); } $this->errors = array(); // for validation $this->orig_set = ''; $this->dest_set = ''; if ($request->getParameter('id')) { $this->title = 'Edit Mission Leg'; $this->leg = MissionLegPeer::retrieveByPK($request->getParameter('id')); if ($this->leg->getFromAirportId()) { $this->fromAirport = $this->leg->getAirportRelatedByFromAirportId(); } if ($this->leg->getToAirportId()) { $this->toAirport = $this->leg->getAirportRelatedBytoAirportId(); } if ($this->leg->getCoordinatorId()) { $this->coordinator = CoordinatorPeer::retrieveByPK($this->leg->getCoordinatorId()); } //print_r($this->coordinator); if ($this->leg->getFboId()) { $this->fbo = FboPeer::retrieveByPK($this->leg->getFboId()); $this->fbo_address = $this->leg->getFboId(); } if ($this->leg->getBackupPilotId()) { $this->backup_pilot = PilotPeer::retrieveByPK($this->leg->getBackupPilotId()); if (isset($this->backup_pilot) && $this->backup_pilot instanceof Pilot) { $this->bp_person = $this->backup_pilot->getMember()->getPerson(); } } if ($this->leg->getBackupCopilotId()) { $this->backup_co_pilot = PilotPeer::retrieveByPK($this->leg->getBackupCopilotId()); if (isset($this->backup_co_pilot) && $this->backup_co_pilot instanceof Pilot) { $this->bp_co_person = $this->backup_co_pilot->getMember()->getPerson(); } } if ($this->leg->getWaiverReceived()) { $this->waiver_rec = $this->leg->getWaiverReceived(); } else { $this->waiver_rec = ''; } if ($this->leg->getFboAddressNew()) { $this->new_fbo_address = $this->leg->getFboAddressNew(); } else { $this->new_fbo_address = ''; } $this->date_widget = new widgetFormDate(array('format_date' => array('js' => 'mm/dd/yy', 'php' => 'm/d/Y')), array('class' => 'text')); $this->forward404Unless($this->leg); $this->mission = $this->leg->getMission(); $this->passenger = $this->mission->getPassenger(); $this->person = $this->passenger->getPerson(); $this->member = MemberPeer::getByPersonId($this->person->getId()); /*echo "<pre>"; print_r($this->member ); */ /* if(isset($this->member) && $this->member instanceof Member){ $this->pilot = PilotPeer::getByMemberId($this->member->getId()); } /* if(isset($this->leg) && $this->leg instanceof MissionLeg){ $this->pilot = PilotPeer::retrieveByPK($this->leg->getPilotId()); } * */ if (isset($this->leg) && $this->leg instanceof MissionLeg) { if ($this->leg->getPilotId()) { $this->pilot = PilotPeer::retrieveByPK($this->leg->getPilotId()); $this->pilot_member = MemberPeer::retrieveByPK($this->pilot->getMemberId()); $this->copilot = PilotPeer::retrieveByPK($this->leg->getCoPilotId()); //echo "<pre>"; //print_r($this->mission_assistant); $this->back_up_mission_assistant = PilotPeer::retrieveByPK($this->leg->getBackupMissAssisId()); } if ($this->leg->getMissAssisId()) { $this->mission_assistant = PilotPeer::getByMemberId($this->leg->getMissAssisId()); } } //echo "<pre>"; //print_r($this->pilot_member); $is_pilot_requested = PilotRequestPeer::getByLegId($this->leg->getId()); if (isset($is_pilot_requested) && $is_pilot_requested instanceof PilotRequest) { $this->p_req = $is_pilot_requested; } /* echo "<pre>"; print_r($this->person->getId()); die(); */ $this->forward404Unless($this->mission); $mission_id = $this->mission->getId(); } else { $this->title = 'Add Mission Leg'; $this->leg = new MissionLeg(); $mission_id = $request->hasParameter('mis') ? $request->getParameter('mis') : $request->getParameter('mission_id'); $this->mission = MissionPeer::retrieveByPK($mission_id); $this->forward404Unless($this->mission); } if ($request->isMethod('post')) { if ($request->getParameter('transportation') == 'air_mission') { # AIR MISSION if ($request->getParameter('orgin_airport')) { $o_airport = AirportPeer::getByIdent($request->getParameter('orgin_airport')); if (!$o_airport instanceof Airport) { $this->errors[] = 'Origin airport not found in database'; } } else { $this->errors[] = 'Please specify origin airport'; } if ($request->getParameter('dest_airport')) { $d_airport = AirportPeer::getByIdent($request->getParameter('dest_airport')); if (!$d_airport instanceof Airport) { $this->errors[] = 'Destination airport not found in database'; } } else { $this->errors[] = 'Please specify destination airport'; } if (count($this->errors) == 0) { $mission_leg = $this->leg; $mission_leg->setMissionId($mission_id); $mission_leg->setCancelled($request->getParameter('cancelled')); if ($mission_leg->isNew()) { $mission_leg->setLegNumber(MissionLegPeer::getMaxLegNumber($mission_id) + 1); } $mission_leg->setFromAirportId($o_airport->getId()); $mission_leg->setToAirportId($d_airport->getId()); $o_air = AirportPeer::retrieveByPK($o_airport->getId()); $d_air = AirportPeer::retrieveByPK($d_airport->getId()); $distances = MissionLegPeer::getDistance($o_air->getIdent(), $d_air->getIdent()); //$mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); //$mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('air_mission'); $mission_leg->save(); $id = $mission_leg->getId(); $leg = MissionLegPeer::retrieveByPK($id); $leg->setReverseFrom($id); $leg->save(); } } elseif ($request->getParameter('transportation') == 'ground_mission') { # GROUND MISSION $origin = $request->getParameter('ground_origin'); $destination = $request->getParameter('ground_destination'); $orgintset = $request->getParameter('orig_set'); $desttset = $request->getParameter('dest_set'); $fbo_address = $request->getParameter('fbo_address'); $this->orig_set = $orgintset; $this->dest_set = $desttset; $this->fbo_address = $fbo_address; if (empty($destination) && empty($desttset)) { $this->errors[] = 'Please specify destination address'; } if (empty($origin) && empty($orgintset)) { $this->errors[] = 'Please specify origin address'; } elseif ($destination == $origin && $destination != '') { $this->errors[] = 'Origin and Destination addresses conflict'; } if (empty($fbo_address)) { $this->errors[] = 'Please specify FBO name'; } if (count($this->errors) == 0) { $mission_leg = $this->leg; $mission_leg->setMissionId($mission_id); if ($mission_leg->isNew()) { $mission_leg->setLegNumber(MissionLegPeer::getMaxLegNumber($mission_id) + 1); } $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('ground_mission'); //get addresses by type $p = $this->passenger = $this->mission->getPassenger(); if ($p instanceof Passenger) { $this->person = $p->getPerson(); } $this->ground_addresses = array('patient' => '', 'facility' => '', 'lodging' => ''); $orgintsetsave = $request->getParameter('ground_origin'); if (empty($orgintsetsave)) { $orgintsetsave = $request->getParameter('orig_set'); } $desttsetsave = $request->getParameter('ground_destination'); if (empty($desttsetsave)) { $desttsetsave = $request->getParameter('dest_set'); } $mission_leg->setGroundOrigin($orgintsetsave); $mission_leg->setGroundDestination($desttsetsave); $mission_leg->setFboId($fbo_address); //ziyed $fbo_address_new = $request->getParameter('fbo_address_new'); $mission_leg->setFboAddressNew($fbo_address_new); //end ziyed $mission_leg->save(); $id = $mission_leg->getId(); $leg = MissionLegPeer::retrieveByPK($id); $leg->setReverseFrom($id); $leg->save(); } } elseif ($request->getParameter('transportation') == 'commercial_mission') { # COMMERCIAL MISSION $airline_id = $request->getParameter('airline_id'); if ($airline_id) { $custom = $request->getParameter('airline_custom'); if ($airline_id == 'other') { if (empty($custom)) { $this->errors[] = 'Please type a new airline name!'; } } else { $airline = AirlinePeer::retrieveByPK($airline_id = $request->getParameter('airline_id')); if (!$airline instanceof Airline) { $this->errors[] = 'Please select airline!'; } } } else { $this->errors[] = 'Please select airline!'; } $origin = $request->getParameter('origin'); $destination = $request->getParameter('destination'); if (empty($origin)) { $this->errors[] = 'Please specify origin'; } if (empty($destination)) { $this->errors[] = 'Please specify destination'; } if (count($this->errors) == 0) { $flight_time = $request->getParameter('flight_time'); if (empty($flight_time['hour']) || empty($flight_time['minute'])) { $flight_time = null; } $airline_id = $request->getParameter('airline_id'); if ($airline_id == 'other') { $airline = new Airline(); $airline->setName($request->getParameter('airline_custom')); $airline->save(); } else { $airline = AirlinePeer::retrieveByPK($airline_id); $this->forward404Unless($airline); } $flight_number = $request->getParameter('flight_number'); $departure = $request->getParameter('departure'); $arrival = $request->getParameter('arrival'); $mission_leg = $this->leg; $mission_leg->setMissionId($this->mission->getId()); if ($mission_leg->isNew()) { $mission_leg->setLegNumber(MissionLegPeer::getMaxLegNumber($mission_id) + 1); } $mission_leg->setFlightTime($flight_time ? strtotime($flight_time['hour'] . ':' . $flight_time['minute'] . ' ' . $flight_time['period']) : null); //$mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); //$mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); $mission_leg->setAirlineId($airline->getId()); $mission_leg->setFundId($request->getParameter('fund_id')); $mission_leg->setConfirmCode($request->getParameter('confirm_code')); $mission_leg->setFlightCost($request->getParameter('flight_cost')); $mission_leg->setCommOrigin($origin); $mission_leg->setCommDest($destination); $mission_leg->setFlightNumber($flight_number); $v = $departure; if (empty($v[0]['hour']) || empty($v[0]['minute'])) { $v = null; } $mission_leg->setDeparture($v ? strtotime($v[0]['hour'] . ':' . $v[0]['minute'] . ' ' . $v[0]['period']) : null); $v = $arrival; if (empty($v[0]['hour']) || empty($v[0]['minute'])) { $v = null; } $mission_leg->setArrival($v ? strtotime($v[0]['hour'] . ':' . $v[0]['minute'] . ' ' . $v[0]['period']) : null); $mission_leg->setTransportation('commercial_mission'); $mission_leg->save(); } } else { $this->forward404(); } if (count($this->errors) == 0) { $this->getUser()->setFlash('success', 'New Mission leg has successfully created!'); if ($request->getParameter('add_another')) { $this->redirect('@leg_create?mis=' . $this->mission->getId()); } else { $this->redirect('@mission_view?id=' . $this->mission->getId()); } } } $this->date_widget = new widgetFormDate(array('format_date' => array('js' => 'mm/dd/yy', 'php' => 'm/d/Y')), array('class' => 'text')); //echo '<pre>';print_r($this->date_widget); $this->time_widget = new widgetFormTime(); $this->airport_list = AirportPeer::getMappable(); $this->airlines = AirlinePeer::doSelect(new Criteria()); $this->funds = FundPeer::doSelect(new Criteria()); $p = $this->passenger = $this->mission->getPassenger(); if ($p instanceof Passenger) { $this->person = $p->getPerson(); } else { unset($this->passenger); } $this->itinerary = $this->mission->getItinerary(); //echo '<pre>';print_r($this->itinerary); // Pre-define addresses for ground missions $this->ground_addresses = array('patient' => '', 'facility' => '', 'lodging' => '', 'airport' => ''); $this->ground_addr_sel = sfConfig::get('app_ground_address_type', array()); if ($this->itinerary) { $this->ground_addresses['lodging'] = $this->ground_addresses['facility'] = $this->itinerary->getDestCity() . ', ' . $this->itinerary->getDestState(); } if ($this->passenger) { $this->ground_addresses['lodging'] = $this->passenger->getLodgingName() . ' ' . $this->ground_addresses['lodging']; $this->ground_addresses['facility'] = $this->passenger->getFacilityName() . ' ' . $this->ground_addresses['facility']; $this->ground_addresses['patient'] = $this->person->getAddress1() . ' ' . $this->person->getAddress2() . ' ' . $this->person->getCity() . ', ' . $this->person->getState() . ' ' . $this->person->getZipcode(); } }
/** * Add/edit a pilot * CODE: pilot_create */ public function executeUpdate(sfWebRequest $request) { if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } if ($request->getParameter('member_id')) { $this->member = MemberPeer::retrieveByPK($request->getParameter('member_id')); $pilot = new Pilot(); $this->title = 'Add Pilot'; } if ($request->getParameter('id')) { $pilot = PilotPeer::retrieveByPK($request->getParameter('id')); $this->forward404Unless($pilot); ///ziyed//// $this->url = $request->getReferer(); if (strstr($this->url, '/pilot/mopAdd')) { $this->title = 'Add mop pilot'; $success = 'MOP information has been successfully added!'; } else { $this->title = 'Edit pilot'; $success = 'Pilot information has been successfully changed!'; $this->current_region = $pilot->getMopRegionsServed(); $this->mopservedby = $pilot->getMopServedBy(); } ////end////// $this->member = MemberPeer::retrieveByPK($pilot->getMemberId()); if ($pilot->getPrimaryAirportId()) { $this->airport_id = $pilot->getPrimaryAirportId(); } $this->airports = AirportPeer::doSelect(new Criteria()); } else { $pilot = new Pilot(); $this->title = 'Add Pilot'; $success = 'Pilot information has been successfully created!'; } $this->airport = trim($this->getRequestParameter('airport', '*')) == '' ? '*' : trim($this->getRequestParameter('airport', '*')); if ($request->getParameter('leg')) { $this->leg_id = $request->getParameter('leg'); } if ($request->getParameter('back')) { $this->backup = $request->getParameter('back'); } if ($request->getParameter('co')) { $this->backup_co = $request->getParameter('co'); } if ($request->getParameter('member')) { $this->member = MemberPeer::retrieveByPK($request->getParameter('member')); } $this->form = new PilotForm($pilot); $this->pilot = $pilot; $this->back = $request->getReferer(); ///////////////////Update /////////// if ($request->isMethod('post')) { $this->referer = $request->getReferer(); $this->form->bind($request->getParameter('pilo')); if ($this->form->isValid() && $this->form->getValue('license_type')) { if ($request->getParameter('member_id')) { $pilot->setMemberId($request->getParameter('member_id')); } //TODO:Set Member Flight status to command pilot $set_member = MemberPeer::retrieveByPK($request->getParameter('member_id')); if ($set_member) { $set_member->setFlightStatus('Command pilot'); $set_member->save(); } if ($request->getParameter('airport') != null) { $airport = AirportPeer::getByIdent($request->getParameter('airport')); if (isset($airport) && $airport instanceof Airport) { $pilot->setPrimaryAirportId($airport->getId()); } } else { $pilot->setPrimaryAirportId(null); $member = MemberPeer::retrieveByPK($request->getParameter('member_id')); $member->setFlightStatus('Non-pilot'); $member->save(); } $pilot->setSecondaryHomeBases($this->form->getValue('secondary_home_bases')); $pilot->setTotalHours($this->form->getValue('total_hours')); $pilot->setLicenseType($this->form->getValue('license_type')); if ($this->form->getValue('ifr') == null) { $pilot->setIfr(0); } else { $pilot->setIfr($this->form->getValue('ifr')); } if ($this->form->getValue('multi_engine') == null) { $pilot->setMultiEngine(0); } else { $pilot->setMultiEngine($this->form->getValue('multi_engine')); } $pilot->setSeInstructor($this->form->getValue('se_instructor')); $pilot->setMeInstructor($this->form->getValue('me_instructor')); $pilot->setOtherRatings($this->form->getValue('other_ratings')); $pilot->setInsuranceReceived($this->form->getValue('insurance_received')); //ziyed task $pilot->setOrientedDate($this->form->getValue('oriented_date')); $pilot->setMopOrientedDate($this->form->getValue('mop_oriented_date')); if ($request->getParameter('pilot_name')) { $pilot->setMopServedBy($request->getParameter('pilot_name')); } else { $pilot->setMopServedBy(NULL); } // $pilot->setMopRegionsServed($request->getParameter('mop_regions_served')); if ($request->getParameter('mop_regions_served')) { $pilot->setMopRegionsServed($request->getParameter('mop_regions_served')); } else { $a = null; $pilot->setMopRegionsServed($a); } //$pilot->setOrientedMemberId($this->form->getValue('oriented_member_id')); //$pilot->setOrientedMemberId($this->form->getValue('mop_oriented_member_id')); //$pilot->setMopQualifications($this->form->getValue('mop_qualifications')); $pilot->setHseats($this->form->getValue('hseats')); if ($this->form->getValue('transplant') == 1) { $pilot->setTransplant(1); } else { $pilot->setTransplant(0); } $pilot->save(); $this->getUser()->setFlash('success', $success); $last = $request->getParameter('back'); $back_url = 'pilot'; if (strstr($last, 'member/view')) { $back_url = '@member_view?id=' . $request->getParameter('member_id'); } elseif (strstr($last, 'pilot/view')) { $back_url = '@pilot_view?id=' . $pilot->getId(); } elseif (strstr($last, 'pilot/edit')) { $back_url = '@pilot_view?id=' . $pilot->getId(); } elseif (strstr($last, 'pilot/mopAdd')) { $back_url = '/pilot/mopAdd'; } if ($request->getParameter('leg_id')) { $back_url = '@leg_edit?id=' . $request->getParameter('leg_id'); } if ($request->getParameter('leg_id')) { if ($request->getParameter('leg_id') && !$request->getParameter('backup')) { $set_leg = MissionLegPeer::retrieveByPK($request->getParameter('leg_id')); if (isset($set_leg) && $set_leg instanceof MissionLeg) { $set_leg->setPilotId($pilot->getId()); $set_leg->save(); $this->getUser()->setFlash('success', 'Mission Leg #' . $set_leg->getId() . ' \\s Pilot has been set!'); } $back_url = '@leg_edit?id=' . $request->getParameter('leg_id'); } } if ($request->getParameter('leg_id')) { if ($request->getParameter('leg_id') && $request->getParameter('backup')) { $set_leg = MissionLegPeer::retrieveByPK($request->getParameter('leg_id')); if (isset($set_leg) && $set_leg instanceof MissionLeg) { $set_leg->setBackupPilotId($pilot->getId()); $set_leg->save(); $this->getUser()->setFlash('success', 'Mission Leg #' . $set_leg->getId() . ' \\s Backup Pilot has been set!'); } $back_url = '@leg_edit?id=' . $request->getParameter('leg_id'); } } if ($request->getParameter('leg_id')) { if ($request->getParameter('leg_id') && $request->getParameter('backup_co')) { $set_leg = MissionLegPeer::retrieveByPK($request->getParameter('leg_id')); if (isset($set_leg) && $set_leg instanceof MissionLeg) { $set_leg->setBackupCopilotId($request->getParameter('member_id')); $set_leg->save(); $this->getUser()->setFlash('success', 'Mission Leg #' . $set_leg->getId() . ' \\s Backup Co-Pilot has been set!'); } $back_url = '@leg_edit?id=' . $request->getParameter('leg_id'); } } return $this->redirect($back_url); } else { if (!$request->getParameter('id')) { $info = 'Please confirm License type and choose Member !'; } else { $info = 'Please confirm License type !'; } $this->getUser()->setFlash('success', $info); } } else { # Set referer URL $this->referer = $request->getReferer() ? $request->getReferer() : '@pilot'; } $this->pilot = $pilot; }
/** * Request a group Missions * CODE:mission_request_group_create */ public function executeRequestGroupMission(sfWebRequest $request) { #security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $camp = CampPeer::retrieveByPK($request->getParameter('id')); if (isset($camp) && $camp instanceof Camp) { $this->camp_id = $camp->getId(); $missions = MissionPeer::getByCampId($camp->getId()); } $this->dates = array(); $this->home_base = null; $this->number_of_seats = null; $this->total_carry = null; $this->multi_pick = null; $this->date_choice = null; $this->comment = null; $this->request_as = null; $this->acc_cre = null; $this->pilot_ma = null; $this->IFR = null; $this->aircraft = null; $this->tail = null; $this->other_pilot = null; $miss_dates = array(); //$appt_dates = array(); //$count = 0; //$count2 = 0; foreach ($missions as $mission) { if ($mission->getMissionDate()) { $miss_dates[$mission->getMissionDate('m/d/Y')] = $mission->getMissionDate(); //$count++; //it may change $this->mission_date = $mission->getMissionDate(); $this->appt_date = $mission->getApptDate(); // } /* if($mission->getApptDate()){ $appt_dates[$count2] = $mission->getApptDate(); $count2++; }*/ $miss_id = $mission->getId(); } $this->mission_dates = array(); $this->mission_dates = $miss_dates; if (isset($miss_id)) { $legs = MissionLegPeer::getbyMissId($miss_id); $this->mission = MissionPeer::retrieveByPK($miss_id); foreach ($legs as $leg) { if ($leg->getToAirportId()) { $this->leg = $leg; $airport = AirportPeer::retrieveByPK($leg->getToAirportId()); if (isset($airport) && $airport instanceof Airport) { $this->destination_airport = $airport; } } } } /* if(isset($miss_dates[$count-1])){ $this->mission_date = $miss_dates[$count-1]; } if(isset($appt_dates[$count2-1])){ $this->appt_date = $appt_dates[$count2-1]; } */ //$this->mission_leg = MissionLegPeer::retrieveByPK($request->getParameter('id')); $member = MemberPeer::getByPersonId($this->getUser()->getId()); if (isset($member)) { $this->pilot = PilotPeer::getByMemberId($member->getId()); $this->pilot_aircrafts = PilotAircraftPeer::getByMemberId($member->getId()); $this->pre_requests = PilotRequestPeer::getByMemnerIdLegIdCamp($member->getId(), $this->leg->getId()); } if ($request->isMethod('post')) { if ($request->getParameter('id')) { //set post variables $this->dates = $request->getParameter('dates[]', array()); $this->home_base = $request->getParameter('home_base'); $this->number_of_seats = $request->getParameter('number_of_seats'); $this->total_carry = $request->getParameter('total_carry'); $this->multi_pick = $request->getParameter('multi_pick'); $this->date_choice = $request->getParameter('date_choice'); $this->comment = $request->getParameter('comment'); $this->request_as = $request->getParameter('request_as'); $this->acc_cre = $request->getParameter('acc_cre'); $this->pilot_ma = $request->getParameter('pilot_ma'); $this->IFR = $request->getParameter('IFR'); $this->aircraft = $request->getParameter('aircraft'); $this->tail = $request->getParameter('tail'); $this->other_pilot = $request->getParameter('other_pilot'); if (count($this->dates) > 0 && $request->getParameter('home_base') && $request->getParameter('number_of_seats') && $request->getParameter('total_carry')) { //check if this pilot requested this camp already? $c = $has_requested = PilotRequestPeer::getByMemberIdCampId($member->getId(), $request->getParameter('camp_id')); if (!$has_requested) { $pilot_request = new PilotRequest(); if ($member) { $pilot_request->setMemberId($member->getId()); } $pilot_request->setGroupCampId($request->getParameter('camp_id')); if ($request->getParameter('home_base')) { $airport_hb = AirportPeer::getByIdent($request->getParameter('home_base')); if (isset($airport_hb) && $airport_hb instanceof Airport) { $pilot_request->setHomeBase($airport_hb->getIdent()); } else { $this->getUser()->setFlash('warning', 'Home Base is not found!'); $this->redirect($request->getReferer()); } } if ($request->getParameter('number_of_seats')) { if (is_integer((int) $request->getParameter('number_of_seats'))) { $pilot_request->setNumberSeats((int) $request->getParameter('number_of_seats')); } else { $this->getUser()->setFlash('warning', 'Number of seats is in wrong format!'); $this->redirect($request->getReferer()); } } if ($request->getParameter('total_carry')) { if (is_int((int) $request->getParameter('total_carry'))) { $pilot_request->setTotalWeight((int) $request->getParameter('total_carry')); } else { $this->getUser()->setFlash('success', 'Total of carry value is in wrong format!'); $this->redirect($request->getReferer()); } } $pilot_request->setMultiplePick($request->getParameter('multi_pick')); $pilot_request->save(); if (count($this->dates) > 0) { #check is has Pilot Date //$has_pilot_date = PilotDatePeer::getByMemberId($member->getId()); for ($y = 0; $y < count($this->dates); $y++) { $pilot_date = new PilotDate(); $pilot_date->setMemberId($member->getId()); $pilot_date->setDate($this->dates[$y]); $pilot_date->setPilotRequestId($pilot_request->getId()); $pilot_date->save(); } } if (count($this->dates) == 0) { $pilot_request->setDate($this->dates[0]); } $pilot_request->setNumberDateAssign($request->getParameter('date_choice', 1)); $pilot_request->setPilotType($request->getParameter('request_as')); $pilot_request->setComment($request->getParameter('comment')); $pilot_request->setAircraftId($request->getParameter('aircraft')); $pilot_request->setTail($request->getParameter('tail')); //check pilot_type if ($request->getParameter('other_pilot') == 1) { ////mission assistant,earth angel $pilot_request->setMissionAssistantWanted(0); $pilot_request->setIfrBackupWanted(0); $pilot_request->setAccepted(0); $pilot_request->setProcessed(0); $pilot_request->setOnHold(0); } else { ////command pilot $pilot_request->setProcessed(1); if ($request->getParameter('acc_cre') == 1) { $pilot_request->setMissionAssistantWanted(0); #set pilot as mission assistant if ($member->getPerson()) { $pilot_request->setMissionAssistantName($member->getPerson()->getLastName() . ' ' . $member->getPerson()->getFirstName()); } } else { $pilot_request->setMissionAssistantWanted(0); #set pilot's mission assistant as mission assistant if ($request->getParameter('pilot_ma')) { $pilot_request->setMissionAssistantName($request->getParameter('pilot_ma')); } } if ($request->getParameter('IFR') == 0) { $pilot_request->setIfrBackupWanted(0); } else { $pilot_request->setIfrBackupWanted(1); } } $pilot_request->setCreatedAt(date('m/d/y')); $pilot_request->save(); $this->getUser()->setFlash('success', 'Your request has been saved on Camp ID#' . $request->getParameter('camp_id')); // $this->redirect('@pilot_thanks?id='.$request->getParameter('id')); } else { $this->getUser()->setFlash('success', 'You have already requested this Camp Mission!'); // $this->redirect('@pilot_thanks?id='.$request->getParameter('id')); } } else { if (count($this->dates) < 1) { $this->date_other_e = 1; $this->type = $request->getParameter('request_as'); } if (!$request->getParameter('home_base')) { $this->home = 1; } if (!$request->getParameter('number_of_seats')) { $this->number_of = 1; } if (!$request->getParameter('total_carry')) { $this->carry = 1; } } } } }