Beispiel #1
0
                          <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 
Beispiel #2
0
 /**
  * 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());
         }
     }
 }
Beispiel #3
0
 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;