<tr> <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
/** * Save On hold Pilot Request * CODE:pilot_request_on_hold */ public function executeHold(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->getOnHold() == 1) { $req->setOnHold(0); } else { $req->setOnHold(1); } $req->save(); if ($request->hasParameter('returnto')) { $this->redirect('/dashboard/index?return=1'); } $this->redirect($request->getReferer()); } } }
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(); } } } } }
?> <table class="pass"> <?php if (isset($message)) { ?> <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;