Пример #1
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     # for navigation menu
     sfContext::getInstance()->getConfiguration()->loadHelpers('Partial');
     slot('nav_menu', array('instrument', ''));
     #security
     /* if( !$this->getUser()->hasCredential(array('Administrator','Staff','Pilot','Member','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('type')) {
         $this->flag = 1;
     }
     if ($request->hasParameter('return')) {
         $this->pilot_request = 1;
     }
     if ($request->hasParameter('avail')) {
         $this->window_loc = 'avail';
     }
     if ($request->hasParameter('window_loc_visual')) {
         $this->window_loc_visual = 'window_loc_visual';
     }
     $member_id = $this->getUser()->getMemberId();
     $member = MemberPeer::retrieveByPK($member_id);
     $pilot = $member->getPilot();
     if ($request->getParameter('first') == 1) {
         if ($pilot) {
             $first_airport = AirportPeer::retrieveByPK($pilot->getPrimaryAirportId());
             $this->orgin_airport = $first_airport->getIdent();
         }
         $this->types = MissionTypePeer::getOnlyNames();
         $this->dest_airport = null;
         $this->miss_type = null;
         $this->miss_date1 = null;
         $this->miss_date2 = null;
     } else {
         $this->processFilterVisual($request);
     }
     $this->airport_list = AirportPeer::getMappable();
     $this->legs = MissionLegPeer::getMappable($this->orgin_airport, $this->dest_airport, $this->miss_type, $this->miss_date1, $this->miss_date2);
     $this->date_widget = new widgetFormDate(array('format_date' => array('js' => 'mm/dd/yy', 'php' => 'm/d/Y')), array('class' => 'text'));
 }
Пример #2
0
               <dl class="destination-list">
                 <dt>From:</dt>
                 <dd>
                   <strong>
                     Varied
                     </strong>
                 </dd>
                 <dt>To:</dt>
                 <dd>
                   <strong>
                   <?php 
 $legs = $mission->getMissionLegs();
 if ($legs) {
     $destination_airport = $legs[0]->getToAirportId();
 }
 $airport_from = AirportPeer::retrieveByPK($destination_airport);
 if (isset($airport_from)) {
     echo $airport_from->getIdent();
 }
 ?>
                   </strong>
                   <?php 
 if (isset($airport_from)) {
     if ($airport_from->getCity() || $airport_from->getState()) {
         echo '( ' . $airport_from->getCity() . ', ' . $airport_from->getState() . ' )';
     }
 }
 ?>
                   <em>PST</em>
                 </dd>
               </dl>
     if ($coordinator->getMemberId()) {
         $coordiPerson = $coordinator->getMember()->getPerson();
     }
 }
 if ($mleg->getMissAssisId()) {
     $memberMiss = MemberPeer::retrieveByPK($mleg->getMissAssisId());
     $miss_assi_persopn = $memberMiss->getPerson();
 }
 if ($mleg->getMissAssisId()) {
     $memberMiss = MemberPeer::retrieveByPK($mleg->getMissAssisId());
     $miss_assi_persopn = $memberMiss->getPerson();
 }
 if ($mleg->getFboId()) {
     $fbo = FboPeer::retrieveByPK($mleg->getFboId());
     if ($fbo->getAirportId()) {
         $fbo_airport = AirportPeer::retrieveByPK($fbo->getAirportId());
     }
 }
 $is_air = $mleg->getTransportation() == 'air_mission';
 if ($is_air) {
     $to_airport = $mleg->getAirportRelatedByToAirportId();
     $from_airport = $mleg->getAirportRelatedByFromAirportId();
 }
 //// FBO information
 if ($mleg->getFboId()) {
     $fromFbo = FboPeer::retrieveByPK($mleg->getFboId());
 }
 if ($mleg->getFboDestId()) {
     $destFbo = FboPeer::retrieveByPK($mleg->getFboDestId());
 }
 //ETD and ETA information
Пример #4
0
           ?>
     <?php 
           $agency = AgencyPeer::retrieveByPK($agency_id);
           ?>
 <?php 
       }
       ?>
 
 <?php 
       $airport_id = $camp->getAirportId();
       ?>
 <?php 
       if ($airport_id) {
           ?>
     <?php 
           $airport = AirportPeer::retrieveByPK($airport_id);
           ?>
 <?php 
       }
       ?>
 
 <tr>
   <td class="cell-1">
       <?php 
       if ($camp->getCampName()) {
           echo $camp->getCampName();
       }
       ?>
   </td>
   <td class="cell-2">
       <?php 
Пример #5
0
                          </strong>
                          <?php 
if (isset($airport_from)) {
    if ($airport_from->getCity() || $airport_from->getState()) {
        echo '( ' . $airport_from->getCity() . ', ' . $airport_from->getState() . ' )';
    }
}
?>
                          <em>PST</em>
                        </dd>
                        <dt>To:</dt>
                        <dd>
                          <strong>
                          <?php 
if ($leg->getToAirportId()) {
    $airport_to = AirportPeer::retrieveByPK($leg->getToAirportId());
    if (isset($airport_to)) {
        echo $airport_to->getIdent();
    }
}
?>
                          </strong>
                          <?php 
if (isset($airport_to)) {
    if ($airport_to->getCity() || $airport_to->getState()) {
        echo '( ' . $airport_to->getCity() . ', ' . $airport_to->getState() . ' )';
    }
}
?>
                          <em>PST</em>                      
                        </dd>
Пример #6
0
    <thead>
      <tr>
        <td>Leg Number</td>
        <td colspan="2">Origin</td>
        <td colspan="2">Destination</td>
        <td>Action</td>
      </tr>
    </thead>
    <tbody>
    <?php 
    foreach ($miss_legs as $leg) {
        ?>
      <?php 
        if ($leg->getTransportation() == 'air_mission') {
            $from_airport = AirportPeer::retrieveByPK($leg->getFromAirportId());
            $to_airport = AirportPeer::retrieveByPK($leg->getToAirportId());
            if ($from_airport && $to_airport) {
                ?>
        <tr style="<?php 
                echo $leg->getCancelled() ? 'color:gray' : '';
                ?>
">
          <td class="cell-1"><?php 
                echo $leg->getLegNumber();
                ?>
</td>
          <td class="cell-2"><?php 
                echo $from_airport->getIdent();
                ?>
</td>
          <td class="cell-1"><?php 
Пример #7
0
                                                        <li>
                                                             Country: <?php 
                    echo $person->getCountry() ? $person->getCountry() : '--';
                    ?>
                                                        </li>
                                                    <?php 
                    $airport = $pilot = null;
                    ?>
                                                    <?php 
                    $pilot = $member->getPilot();
                    ?>
                                                    <?php 
                    if ($pilot && $pilot->getPrimaryAirportId()) {
                        ?>
                                                            <?php 
                        $airport = AirportPeer::retrieveByPK($pilot->getPrimaryAirportId());
                        ?>
                                                    <?php 
                    }
                    ?>
                                                    <?php 
                    if ($airport) {
                        ?>
                                                     <li>Airport</li>
                                                       <li>Identifier: <?php 
                        echo $airport->getIdent();
                        ?>
</li>
                                                       <li>Name: <?php 
                        echo $airport->getName();
                        ?>
Пример #8
0
         <?php 
           echo $o_airport->getIdent() . ' ( ' . $o_airport->getCity() . ', ' . $o_airport->getState() . ' )';
           ?>
     <?php 
       }
       ?>
 <?php 
   }
   ?>
 </td>
 <td class="cell-1">
 <?php 
   if ($mission_leg->getToAirportId()) {
       ?>
     <?php 
       $d_airport = AirportPeer::retrieveByPK($mission_leg->getToAirportId());
       ?>
     <?php 
       if ($d_airport || $d_airport->getCity() || $d_airport->getState()) {
           ?>
         <?php 
           echo $d_airport->getIdent() . ' ( ' . $d_airport->getCity() . ', ' . $d_airport->getState() . ' )';
           ?>
     <?php 
       }
       ?>
 <?php 
   }
   ?>
 </td>
 <td class="cell-2">
Пример #9
0
 /**
  * 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;
 }
Пример #10
0
use_stylesheets_for_form($form_airport);
use_javascripts_for_form($form_airport);
use_helper('Javascript', 'Form');
use_helper('jQuery', 'Form');
?>


<?php 
use_helper('jQuery');
?>
<h2><?php 
echo $title;
?>
</h2>
<?php 
$airport_info = AirportPeer::retrieveByPK($camp->getAirportId());
?>
<div class="passenger-form">
<form action="<?php 
echo url_for('@camp_create');
?>
" method="post" id="camp_form">
  <input type="hidden" name="id" value="<?php 
echo $camp->getId();
?>
" />
  <input type="hidden" name="referer" value="<?php 
echo $referer;
?>
" />
  <div class="box full">
Пример #11
0
 /**
  * Specifies the related airport.
  * CODE: airport_create
  */
 public function executeChangeAirport(sfWebRequest $request)
 {
     # security
     if (!$this->getUser()->hasCredential(array('Administrator'), false)) {
         $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer());
         $this->redirect('dashboard/index');
     }
     if ($request->hasParameter('use_id')) {
         $pilot = PilotPeer::retrieveByPK($request->getParameter('for'));
         $this->forward404Unless($pilot);
         $change_airport = AirportPeer::retrieveByPK($request->getParameter('use_id'));
         $this->forward404Unless($change_airport);
         $pilot->setPrimaryAirportId($change_airport->getId());
         $pilot->save();
         $this->getUser()->setFlash('success', 'Change Airport have successfully changed!');
         $this->redirect('@pilot_view?id=' . $pilot->getId());
     } else {
         $this->redirect('@default_index?module=airport&pilot_for=' . $request->getParameter('for'));
     }
 }
Пример #12
0
          <td>&nbsp;</td>
        </tr>
        <?php 
$count = 1;
foreach ($camp_passengers_return as $camp_passenger) {
    ?>
        <?php 
    $passenger = $camp_passenger->getPassenger();
    ?>
        <?php 
    if ($camp_passenger->getReturnAirportId()) {
        $air_port = AirportPeer::retrieveByPK($camp_passenger->getReturnAirportId());
        ?>
        <?php 
    } elseif ($camp_passenger->getAirportId()) {
        $air_port = AirportPeer::retrieveByPK($camp_passenger->getAirportId());
    }
    ?>
        <tr class="passenger <?php 
    if ($count % 2 != 0) {
        echo ' alt';
    }
    ?>
" id="passenger_<?php 
    echo $passenger->getId();
    ?>
">
          <td><?php 
    echo $count++;
    ?>
</td>
Пример #13
0
 /**
  * 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();
     }
 }
Пример #14
0
 public function executeVisual(sfWebRequest $request)
 {
     #security
     if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Member', 'Coordinator', 'Volunteer'), false)) {
         $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer());
         $this->redirect('dashboard/index');
     }
     $member_id = $this->getUser()->getMemberId();
     $member = MemberPeer::retrieveByPK($member_id);
     $pilot = $member->getPilot();
     if ($request->getParameter('first') == 1) {
         if ($pilot) {
             $first_airport = AirportPeer::retrieveByPK($pilot->getPrimaryAirportId());
             $this->orgin_airport = $first_airport->getIdent();
         }
         $this->types = MissionTypePeer::getOnlyNames();
         $this->dest_airport = null;
         $this->miss_type = null;
         $this->miss_date1 = null;
         $this->miss_date2 = null;
     } else {
         $this->processFilterVisual($request);
     }
     $this->airport_list = AirportPeer::getMappable();
     $this->legs = MissionLegPeer::getMappable($this->orgin_airport, $this->dest_airport, $this->miss_type, $this->miss_date1, $this->miss_date2);
     $this->date_widget = new widgetFormDate(array('format_date' => array('js' => 'mm/dd/yy', 'php' => 'm/d/Y')), array('class' => 'text'));
 }
Пример #15
0
 public static function getByFilter($max = 10, $page = 1, $sort_by, $availability, $first_date, $last_date, $types, $no_weekday, $no_weekend, $as_ma, $orgin, $dest, $airport_id, $date_range1, $date_range2, $filled, $open, $pilot, $mission_assistant, $ifr_backup, $wing, $ident, $city, $state, $zip, $day_1 = '', $day_2 = '', $day_3 = '', $day_4 = '', $day_5 = '', $day_6 = '', $day_7 = '', $all_type, $max_pass, $max_wei, $max_dist, $max_eff, $home_base)
 {
     $c = new Criteria();
     $c->addAscendingOrderByColumn(self::MISSION_ID);
     $c->addJoin(self::MISSION_ID, MissionPeer::ID, Criteria::LEFT_JOIN);
     if ($sort_by == '0') {
         $c->addDescendingOrderByColumn(MissionPeer::MISSION_DATE);
     } else {
         $c->addAscendingOrderByColumn(MissionPeer::MISSION_DATE);
     }
     $c->addJoin(MissionPeer::MISSION_TYPE_ID, MissionTypePeer::ID, Criteria::LEFT_JOIN);
     $c->addJoin(self::ID, PilotRequestPeer::LEG_ID, Criteria::LEFT_JOIN);
     //airport
     $c->addAlias('c1', AirportPeer::TABLE_NAME);
     $c->addAlias('c2', AirportPeer::TABLE_NAME);
     $c->addAlias('hb', AirportPeer::TABLE_NAME);
     $c->addJoin(self::FROM_AIRPORT_ID, AirportPeer::alias('c1', AirportPeer::ID), Criteria::LEFT_JOIN);
     $c->addJoin(self::TO_AIRPORT_ID, AirportPeer::alias('c2', AirportPeer::ID), Criteria::LEFT_JOIN);
     //if($home_base){
     //$c->addJoin(self::FROM_AIRPORT_ID, AirportPeer::alias('hb', $home_base), Criteria::LEFT_JOIN);
     //$c->addJoin(self::TO_AIRPORT_ID  , AirportPeer::alias('hb', $home_base), Criteria::LEFT_JOIN);
     //}
     if ($airport_id != null) {
         $criterion = $c->getNewCriterion(self::FROM_AIRPORT_ID, $airport_id, Criteria::LIKE);
         $criterion->addOR($c->getNewCriterion(self::TO_AIRPORT_ID, $airport_id, Criteria::LIKE));
         $c->add($criterion);
     }
     //wing
     $c->addJoin(MissionPeer::PASSENGER_ID, PassengerPeer::ID, Criteria::LEFT_JOIN);
     $c->addJoin(PassengerPeer::PERSON_ID, PersonPeer::ID, Criteria::LEFT_JOIN);
     $c->addJoin(PersonPeer::ID, MemberPeer::PERSON_ID, Criteria::LEFT_JOIN);
     $c->addJoin(MemberPeer::WING_ID, WingPeer::ID, Criteria::LEFT_JOIN);
     $c->addJoin(MemberPeer::ID, AvailabilityPeer::MEMBER_ID, Criteria::LEFT_JOIN);
     if ($availability == '') {
         if ($first_date != null && $last_date != null) {
             $criterion = $c->getNewCriterion(MissionPeer::MISSION_DATE, date('Y-m-d', strtotime($first_date)), Criteria::GREATER_EQUAL);
             $criterion->addAnd($c->getNewCriterion(MissionPeer::MISSION_DATE, date('Y-m-d', strtotime($last_date)), Criteria::LESS_EQUAL));
             $c->add($criterion);
         }
     } elseif ($availability == 'on') {
         if ($date_range1 != null && $date_range2 != null) {
             $criterion = $c->getNewCriterion(MissionPeer::MISSION_DATE, date('Y-m-d', strtotime($date_range1)), Criteria::GREATER_EQUAL);
             $criterion->addAnd($c->getNewCriterion(MissionPeer::MISSION_DATE, date('Y-m-d', strtotime($date_range2)), Criteria::LESS_EQUAL));
             $c->add($criterion);
         }
         #max filters
         if ($max_dist) {
             $c->add(self::FROM_AIRPORT_ID, 'Round(ACos(Sin(Radians(c1.latitude)) * Sin(Radians(c2.latitude)) + Cos(Radians(c1.latitude)) * Cos(Radians(c2.latitude)) * Cos(Radians(c1.longitude)-Radians(c2.longitude))) * ((180*60)/3.1415),0) < ' . (int) $max_dist, Criteria::CUSTOM);
         }
         $c->addGroupByColumn(CompanionPeer::PASSENGER_ID);
         if ($max_pass) {
             $c->addHaving($c->getNewCriterion(CompanionPeer::PASSENGER_ID, 'COUNT(' . CompanionPeer::PASSENGER_ID . ') > ' . $max_pass, Criteria::CUSTOM));
         }
         $c->addGroupByColumn(CompanionPeer::WEIGHT);
         if ($max_wei) {
             $c->addHaving($c->getNewCriterion(CompanionPeer::WEIGHT, 'SUM(' . CompanionPeer::WEIGHT . ') > ' . $max_wei, Criteria::CUSTOM));
         }
         $c->addJoin(MissionPeer::PASSENGER_ID, CompanionPeer::PASSENGER_ID, Criteria::LEFT_JOIN);
         //    $c->addAsColumn('aaaa', 'Round(ACos(Sin(Radians(c1.latitude)) * Sin(Radians(c2.latitude)) + Cos(Radians(c1.latitude)) * Cos(Radians(c2.latitude)) * Cos(Radians(c1.longitude)-Radians(c2.longitude))) * ((180*60)/3.1415),0)');
         if ($orgin == 'on' && $airport_id != null) {
             $c->add(self::FROM_AIRPORT_ID, $airport_id, Criteria::LIKE);
         }
         if ($dest == 'on' && $airport_id != null) {
             $c->add(self::TO_AIRPORT_ID, $airport_id, Criteria::LIKE);
         }
         if ($all_type == '') {
             if ($filled == 'on') {
                 $c->add(MissionTypePeer::NAME, 'filled', Criteria::LIKE);
             }
             if ($open == 'on') {
                 $c->add(MissionTypePeer::NAME, 'open', Criteria::LIKE);
             }
         }
         if ($pilot == 'on') {
             $c->add(self::COPILOT_WANTED, '1', Criteria::LIKE);
         }
         if ($mission_assistant == 'on') {
             $c->add(PilotRequestPeer::MISSION_ASSISTANT_WANTED, '1', Criteria::LIKE);
         }
         if ($ifr_backup == 'on') {
             $c->add(PilotRequestPeer::IFR_BACKUP_WANTED, '1', Criteria::LIKE);
         }
         if ($as_ma) {
             $c->add(PilotRequestPeer::MISSION_ASSISTANT_WANTED, '1', Criteria::LIKE);
         }
         if (!$no_weekday) {
             //DAYS
             if ($day_1) {
                 $c->addOr(MissionPeer::MISSION_DATE, 'date_format(' . MissionPeer::MISSION_DATE . ', "%W")="' . date('l', strtotime($day_1)) . '"', Criteria::CUSTOM);
             }
             if ($day_2) {
                 $c->addOr(MissionPeer::MISSION_DATE, 'date_format(' . MissionPeer::MISSION_DATE . ', "%W")="' . date('l', strtotime($day_2)) . '"', Criteria::CUSTOM);
             }
             if ($day_3) {
                 $c->addOr(MissionPeer::MISSION_DATE, 'date_format(' . MissionPeer::MISSION_DATE . ', "%W")="' . date('l', strtotime($day_3)) . '"', Criteria::CUSTOM);
             }
             if ($day_4) {
                 $c->addOr(MissionPeer::MISSION_DATE, 'date_format(' . MissionPeer::MISSION_DATE . ', "%W")="' . date('l', strtotime($day_4)) . '"', Criteria::CUSTOM);
             }
             if ($day_5) {
                 $c->addOr(MissionPeer::MISSION_DATE, 'date_format(' . MissionPeer::MISSION_DATE . ', "%W")="' . date('l', strtotime($day_5)) . '"', Criteria::CUSTOM);
             }
         }
         if (!$no_weekend) {
             if ($day_6) {
                 $c->addOr(MissionPeer::MISSION_DATE, 'date_format(' . MissionPeer::MISSION_DATE . ', "%W")="' . date('l', strtotime($day_6)) . '"', Criteria::CUSTOM);
             }
             if ($day_7) {
                 $c->addOr(MissionPeer::MISSION_DATE, 'date_format(' . MissionPeer::MISSION_DATE . ', "%W")="' . date('l', strtotime($day_7)) . '"', Criteria::CUSTOM);
             }
         }
         //    if($wing)$c->add(WingPeer::Name,'%'.$wing.'%',Criteria::LIKE);
         if ($ident != null) {
             $criterion = $c->getNewCriterion(AirportPeer::alias("c1", AirportPeer::IDENT), $ident);
             $criterion->addOr($c->getNewCriterion(AirportPeer::alias("c2", AirportPeer::IDENT), $ident));
             $c->add($criterion);
         }
         if ($city != null) {
             $criterion = $c->getNewCriterion(AirportPeer::alias("c1", AirportPeer::CITY), $city);
             $criterion->addOr($c->getNewCriterion(AirportPeer::alias("c2", AirportPeer::CITY), $city));
             $c->add($criterion);
         }
         if ($state != null) {
             $criterion = $c->getNewCriterion(AirportPeer::alias("c1", AirportPeer::STATE), $state);
             $criterion->addOr($c->getNewCriterion(AirportPeer::alias("c2", AirportPeer::STATE), $state));
             $c->add($criterion);
         }
         if ($zip != null) {
             $criterion = $c->getNewCriterion(AirportPeer::alias("c1", AirportPeer::ZIPCODE), $zip);
             $criterion->addOr($c->getNewCriterion(AirportPeer::alias("c2", AirportPeer::ZIPCODE), $zip));
             $c->add($criterion);
         }
     }
     MissionLegPeer::addSelectColumns($c);
     $c->addAsColumn('distance', 'Round(ACos(Sin(Radians(c1.latitude)) * Sin(Radians(c2.latitude)) + Cos(Radians(c1.latitude)) * Cos(Radians(c2.latitude)) * Cos(Radians(c1.longitude)-Radians(c2.longitude))) * ((180*60)/3.1415),0)');
     //EFFECIENCY
     if ($home_base && ($hb_airport = AirportPeer::retrieveByPK($home_base))) {
         $c->addAsColumn('efficiency', "\n          CEILING(ROUND(ACOS(SIN(RADIANS(c1.latitude))\n          *SIN(RADIANS(c2.latitude))+COS(RADIANS(c1.latitude))\n          *COS(RADIANS(c2.latitude))*COS(RADIANS(c1.longitude)-RADIANS(c2.longitude))) \n          *((180*60)/PI()))/(ROUND(ACOS(SIN(RADIANS(c1.latitude))\n          *SIN(RADIANS(c2.latitude))+COS(RADIANS(c1.latitude))\n          *COS(RADIANS(c2.latitude))\n          *     \n          COS(RADIANS(c1.longitude)-RADIANS(c2.longitude))\n            ) * ((180*60)/PI())\n          )\n          +\n          ROUND(\n            ACOS(\n              SIN(RADIANS({$hb_airport->getLatitude()}))\n              *\n              SIN(RADIANS(c2.latitude))\n              +\n              COS(RADIANS({$hb_airport->getLatitude()}))\n              *\n              COS(RADIANS(c2.latitude))\n              *\n              COS(RADIANS({$hb_airport->getLongitude()})-RADIANS(c2.longitude))\n            ) * ((180*60)/PI())\n          )\n          +\n          ROUND(\n            ACOS(\n              SIN(RADIANS({$hb_airport->getLatitude()}))\n              *\n              SIN(RADIANS(c1.latitude))\n              +\n              COS(RADIANS({$hb_airport->getLatitude()}))\n              *\n              COS(RADIANS(c1.latitude))\n              *\n              COS(RADIANS({$hb_airport->getLongitude()})-RADIANS(c1.longitude))\n            ) * ((180*60)/PI()))) * 200)");
         $c->addDescendingOrderByColumn('efficiency');
     }
     $c->addDescendingOrderByColumn('distance');
     //return self::doSelect($c);
     $pager = new sfPropelPager('MissionLeg', $max);
     $pager->setCriteria($c);
     $pager->setPage($page);
     $pager->init();
     return $pager;
 }