<th class="aa">Pilot</th> <th class="aa">Aircraft</th> <th class="aa">Home Base</th> <th class="aa">Seats</th> <th class="aa">Weights</th> <th class="aa">Multiple Stops?</th> <th class="aa">Comments</th> </tr> </thead> <tbody> <?php foreach ($requests_of_this_date as $rq) { $member_id = $rq->getMemberId(); $pilot_req = PilotRequestPeer::retrieveByPK($rq->getPilotRequestId()); $pilot = PilotPeer::getByMemberId($member_id); if (isset($pilot) && $pilot instanceof Pilot) { $person = $pilot->getMember()->getPerson(); $pilot_aircraft = PilotAircraftPeer::getPrimary($member_id); #pilot's aircraft if (isset($pilot_aircraft) && $pilot_aircraft instanceof PilotAircraft) { $aircraft = $pilot_aircraft->getAircraft(); } } ?> <?php if (isset($pilot) && $pilot instanceof Pilot) { ?> <tr> <td class="aa"><?php if (isset($person) && $person instanceof Person) {
<?php } ?> <?php } ?> <?php } ?> </td> <td class="cell-1"> <?php if ($mission_leg->getMissAssisId()) { ?> <?php $cpilot = PilotPeer::getByMemberId($mission_leg->getMissAssisId()); ?> <?php if (isset($cpilot)) { ?> <?php $cmember = MemberPeer::retrieveByPK($cpilot->getMemberId()); ?> <?php if (isset($cmember)) { ?> <?php $cperson = PersonPeer::retrieveByPK($cmember->getPersonId()); ?> <?php if (isset($cperson)) {
public function executeAssignPassenger(sfWebRequest $request) { /*$camp_passenger = new CampPilotPassenger(); $camp_passenger->setCampId($request->getParameter('camp_id')); $camp_passenger->setMemberId($request->getParameter('member_id')); $camp_passenger->setPassengerId($request->getParameter('pass_id')); * */ $this->setLayout(false); $this->pilot_req_id = $request->getParameter('pilot_req_id'); $this->flight_date = $request->getParameter('flight_date'); $this->message = ''; if (!$request->getParameter('camp_id') || !$request->getParameter('member_id') || !$request->getParameter('pass_id') || !$request->getParameter('pilot_req_id')) { //$this->getUser()->setFlash('error', 'Incomplete data!'); $this->message = 'Incomplete data!'; } else { $pilot = PilotPeer::getByMemberId($request->getParameter('member_id')); if (!$pilot) { $this->message = 'Pilot not found!'; ////$this->getUser()->setFlash('error', 'Pilot not found!'); return; } $pilot_request = PilotRequestPeer::retrieveByPK($request->getParameter('pilot_req_id')); if (!$pilot_request) { $this->message = 'Pilot request not found!'; return; } //check if passenger is linked $camp_passenger = CampPassengerPeer::retrieveByPK($request->getParameter('camp_id'), $request->getParameter('pass_id')); $pass = PassengerPeer::retrieveByPK($request->getParameter('pass_id')); $mission = MissionPeer::getByCampPass($request->getParameter('camp_id'), $request->getParameter('pass_id')); if (!$camp_passenger || !$pass || !$mission) { $this->message = 'Passenger or mission info not found!'; return; } $total_weight = $pass->getWeight(); $num_of_pass = 1; $pass_linked = null; if ($camp_passenger->getLink() != null) { $mission_linked = MissionPeer::getByCampPass($request->getParameter('camp_id'), $camp_passenger->getLink()); $pass_linked = PassengerPeer::retrieveByPK($camp_passenger->getLink()); //now check if mission dates are same if ($mission_linked && $pass_linked) { if ($mission_linked->getMissionDate('m/d/Y') != $mission->getMissionDate('m/d/Y')) { $this->message = 'Linked passengers mission dates are should be same!'; return; } else { $total_weight += $pass_linked->getWeight(); $num_of_pass += 1; } } } /* //check pilots assigned number of day //TODO $pilot_assigned_dates = MissionPeer::getCampPilotDates($request->getParameter('camp_id'), $pilot->getId()); if(sizeof($pilot_assigned_dates) == $pilot_request->getNumberDateAssign()){ foreach ($pilot_assigned_dates as $key => $value){ //if($value==) } } */ //TODO:check pilots max weight //TODO:check pilots number of seats //set pilot to passenger's leg $camp_mission_legs = MissionLegPeer::getByCampIdPassengerId($request->getParameter('camp_id'), $request->getParameter('pass_id')); if ($camp_mission_legs) { foreach ($camp_mission_legs as $leg) { $leg->setPilotId($pilot->getId()); $leg->save(); } } //set pilot to linked passenger's leg if exists a link if ($pass_linked) { $camp_mission_legs = MissionLegPeer::getByCampIdPassengerId($request->getParameter('camp_id'), $pass_linked->getId()); if ($camp_mission_legs) { foreach ($camp_mission_legs as $leg) { $leg->setPilotId($pilot->getId()); $leg->save(); } } } } }
public function executePrintMissionLeg(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'); } if ($request->getParameter('id')) { $this->leg = MissionLegPeer::retrieveByPK($request->getParameter('id')); if (isset($this->leg)) { $this->mission = MissionPeer::retrieveByPK($this->leg->getMissionId()); $this->requester = RequesterPeer::retrieveByPK($this->mission->getRequesterId()); $this->req_person = $this->requester->getPerson(); $this->agency = $this->requester->getAgency(); // Camp information if ($this->mission->getCampId()) { $this->camp = CampPeer::retrieveByPK($this->mission->getCampId()); } //Coordinator if ($this->mission->getCoordinatorId()) { $this->coordinator = CoordinatorPeer::retrieveByPK($this->mission->getCoordinatorId()); $this->coordiPerson = PersonPeer::retrieveByPK($this->coordinator->getMember()->getPersonId()); } if (isset($this->mission)) { $this->itinerary = ItineraryPeer::retrieveByPK($this->mission->getItineraryId()); $pass = PassengerPeer::retrieveByPK($this->mission->getPassengerId()); //Companions information $this->companions = CompanionPeer::getByPassId($this->mission->getPassengerId()); if (isset($pass) && $pass instanceof Passenger) { $this->pass = $pass; //print_r($this->pass); //die(); $this->person = PersonPeer::retrieveByPK($pass->getPersonId()); $this->itinerary = $this->mission->getItinerary(); // 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(); } } else { unset($this->passenger); } } } 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()); $this->mission_assistant = PilotPeer::getByMemberId($this->leg->getMissAssisId()); $this->back_up_mission_assistant = PilotPeer::retrieveByPK($this->leg->getBackupMissAssisId()); } } if ($this->getUser()->hasAttribute('pilotAddToLegview')) { $this->getUser()->setFlash("success", 'Pilot is added to this mission leg successfully !'); $this->getUser()->getAttributeHolder()->remove('pilotAddToLegview'); } } }
/** * Add Pilot Aircraft * CODE: pilot_aircraft_create */ public function executeAircraft(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'); } if ($request->getParameter('req')) { $this->req_id = $request->getParameter('req'); } if ($request->getParameter('camp')) { $this->camp_id = $request->getParameter('camp'); } if ($request->getParameter('leg')) { $this->leg_id = $request->getParameter('leg'); } if ($request->getParameter('account')) { $this->account = $request->getParameter('account'); } $this->member = MemberPeer::getByPersonId($this->getUser()->getId()); if ($request->getParameter('member')) { $this->member = MemberPeer::retrieveByPK($request->getParameter('member')); } if ($this->member) { $pilot = PilotPeer::getByMemberId($this->member->getId()); } else { $this->getUser()->setFlash('success', 'You are not a member yet!'); $this->redirect($request->getReferer()); } if ($request->getParameter('id')) { $this->aircraft = PilotAircraftPeer::retrieveByPK($request->getParameter('id')); $this->title = 'Edit Pilot Aircraft'; } else { $this->aircraft = new PilotAircraft(); $this->title = 'Add New Pilot Aircraft'; } $this->referer = $request->getReferer(); $this->form = new PilotAircraftForm($this->aircraft); if ($request->isMethod('post')) { $this->referer = $request->getReferer(); //echo $request->getParameter('a_id'); die; $taintedValues = $request->getParameter('pilot_aircraft'); $taintedValues['member_id'] = $request->getParameter('member_id'); $this->form->bind($taintedValues); //$back = ""; if ($this->form->isValid() && $request->getParameter('pilot_aircraft[aircraft_id]') != 0) { // $member = MemberPeer::retrieveByPK($request->getParameter('member_id')); //echo $this->form->getValue('aircraft_id'); die; $this->aircraft->setMemberId($request->getParameter('member_id')); $this->aircraft->setAircraftId($this->form->getValue('aircraft_id')); //$this->aircraft->setAircraftId(2); $this->aircraft->setNNumber($this->form->getValue('n_number')); if ($this->form->getValue('own') == null) { $this->aircraft->setOwn(0); } else { $this->aircraft->setOwn($this->form->getValue('own')); } if ($this->form->getValue('seats') == null) { $this->aircraft->setSeats(0); } else { $this->aircraft->setSeats($this->form->getValue('seats')); } if ($this->form->getValue('known_ice') == null) { $this->aircraft->setKnownIce(0); } else { $this->aircraft->setKnownIce($this->form->getValue('known_ice')); } $this->aircraft->save(); if ($request->getParameter('req_id')) { $back = '@pilot_request?id=' . $request->getParameter('req_id'); } if ($request->getParameter('camp_id')) { $back = '@request_group_mission?id=' . $request->getParameter('camp_id'); } if ($request->getParameter('referer')) { $back = $request->getParameter('referer'); } else { $back = $request->getReferer(); } $this->getUser()->setFlash('success', 'Aircraft has successfully created!'); if ($request->getParameter('leg_id') && $request->getParameter('member_id')) { $back = '@leg_edit?id=' . $request->getParameter('leg_id'); } else { $this->has_error = 1; } if ($request->getParameter('account')) { $back = 'account_pilot'; } $this->redirect($back); } } }
/** * Save Accept Pilot Request * CODE:pilot_request_on_accept */ public function executeAccept(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->setTemplate(false); if ($request->getParameter('id')) { $req = PilotRequestPeer::retrieveByPK($request->getParameter('id')); if (isset($req) && $req instanceof PilotRequest) { if ($req->getAccepted() == 1) { $req->setAccepted(0); $req->setProcessed(1); $req->setOnHold(0); } else { $req->setAccepted(1); $req->setProcessed(1); $member_id = $req->getMemberId(); $leg_id = $req->getLegId(); $mission_leg = MissionLegPeer::retrieveByPK($leg_id); $leg_number = $mission_leg->getLegNumber(); $mission_id = $mission_leg->getMissionId(); /// Send Command Pilot Email if ($member_id) { $member = MemberPeer::retrieveByPK($member_id); $person_id = $member->getPersonId(); $externalID = $member->getExternalId(); $person = PersonPeer::retrieveByPK($person_id); $frist_name = $person->getFirstName(); $last_name = $person->getLastName(); $name = $frist_name . ' ' . $last_name; $email = $person->getEmail(); if ($person->getEmail()) { $pilot_type = "Command Pilot"; # send email requested pilot $this->getComponent('mail', 'pilotRequestAccepted', array('email' => $email, 'name' => $name, 'externalID' => $externalID, 'pilot_type' => $pilot_type, 'leg_number' => $leg_number)); } } $req->save(); /// Accepted and Send Mission Assistand Email if pilot want mission assitand $miss_assis_id = $req->getMissAssisId(); if ($miss_assis_id) { $member = MemberPeer::retrieveByPK($req->getMissAssisId()); $externalID = $member->getExternalId(); $person = PersonPeer::retrieveByPK($member->getPersonId()); $frist_name = $person->getFirstName(); $last_name = $person->getLastName(); $name = $frist_name . ' ' . $last_name; $email = $person->getEmail(); // Accept Mission Assistant $pilot_request = PilotRequestPeer::getPilotRequestByMemberId($req->getMissAssisId(), $leg_id); if ($pilot_request instanceof PilotRequest) { $pilot_request->setAccepted(1); $pilot_request->setProcessed(1); $pilot_request->save(); } else { return $this->renderText("not saved"); } //return $this->renderText('Pilot Request: '.$pilot_request->getId()); if ($person->getEmail()) { $pilot_type = "Mission Assistant"; # send email requested pilot $this->getComponent('mail', 'pilotRequestAccepted', array('email' => $email, 'name' => $name, 'externalID' => $externalID, 'pilot_type' => $pilot_type, 'leg_number' => $leg_number)); } } $pilot = PilotPeer::getByMemberId($member_id); $pilot_id = $pilot->getId(); $mission_leg->setPilotId($pilot_id); $mission_leg->setMissAssisId($req->getMissAssisId()); $mission_leg->save(); $c = new Criteria(); $c->add(PilotRequestPeer::ID, NULL, Criteria::ISNOTNULL); if ($req->getMissionAssistantWanted() == 1 && $req->getMissAssisId()) { $getMemberId = $req->getMissAssisId(); $c->add(PilotRequestPeer::MEMBER_ID, $getMemberId, Criteria::NOT_EQUAL); } $c->add(PilotRequestPeer::ACCEPTED, 0); $c->add(PilotRequestPeer::LEG_ID, $leg_id); $reqs = PilotRequestPeer::doSelect($c); foreach ($reqs as $reqpilot) { if ($reqpilot instanceof PilotRequest) { // Member information $member = MemberPeer::retrieveByPK($reqpilot->getMemberId()); $externalID = $member->getExternalId(); // Person information $person = PersonPeer::retrieveByPK($member->getPersonId()); $frist_name = $person->getFirstName(); $last_name = $person->getLastName(); $name = $frist_name . ' ' . $last_name; $email = $person->getEmail(); $reqpilot->setAccepted(0); $reqpilot->setProcessed(1); $reqpilot->setOnHold(0); $reqpilot->save(); // Mission Leg information $mission_leg = MissionLegPeer::retrieveByPK($leg_id); $leg_number = $mission_leg->getLegNumber(); // Missio information $mission = MissionPeer::retrieveByPK($mission_leg->getMissionId()); $missionDate = $mission->getMissionDate(); if ($person->getEmail()) { $this->getComponent('mail', 'pilotRequestNotAccepted', array('email' => $email, 'name' => $name, 'externalID' => $externalID, 'leg_number' => $leg_number, 'missionDate' => $missionDate)); } } } $this->getUser()->setAttribute('pilotAddToLegview', 1); return $this->renderText($leg_id); } } return sfView::NONE; } }
/** * 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; } } } } }
<tr> <td colspan="4"><?php echo $message; ?> </td> </tr> <?php } ?> <?php $pilot_req = PilotRequestPeer::retrieveByPK($pilot_req_id); #get passengers assigned to this pilot date if (isset($pilot_req) && $pilot_req instanceof PilotRequest) { if ($pilot_req->getGroupCampId()) { $camp_id = $pilot_req->getGroupCampId(); $pilot = PilotPeer::getByMemberId($pilot_req->getMemberId()); #get Missions which has selected Camp if (isset($camp_id) && $pilot) { // $camp_pilot_passengers = CampPilotPassengerPeer::getByCampPilot($camp_id, $pilot_req->getMemberId()); // foreach ($camp_pilot_passengers as $cpp){ $passengers = array(); $missions = MissionPeer::getByCampId($camp_id); foreach ($missions as $miss) { $legs = MissionLegPeer::getbyMissId($miss->getId()); if (isset($legs) && $legs[0]->getPilotId() == $pilot->getId() && $miss->getMissionDate('Ymd') == $flight_date) { $passengers[$miss->getPassengerId()] = $miss; } } foreach ($passengers as $cpp) { $pass = $cpp->getPassenger(); if ($pass) {