Esempio n. 1
0
 function store()
 {
     $rules = array('icao' => 'alpha_num|required', 'iata' => 'alpha_num', 'name' => 'required', 'city' => 'required', 'lat' => 'required|numeric', 'lon' => 'required|numeric', 'elevation' => 'required|numeric', 'country_id' => 'required|exists:countries,id', 'website' => 'url');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         Messages::error($validator->messages()->all());
         return Redirect::back()->withInput();
     }
     if (is_null($airport = Airport::whereIcao(Input::get('icao'))->whereNew(true)->first())) {
         $airport = new Airport();
         $airport->icao = Input::get('icao');
         $airport->name = Input::get('name');
         $airport->new = true;
         $airport->save();
     }
     Diff::compare($airport, Input::all(), function ($key, $value, $model) {
         $change = new AirportChange();
         $change->airport_id = $model->id;
         $change->user_id = Auth::id();
         $change->key = $key;
         $change->value = $value;
         $change->save();
     }, ['name', 'iata', 'city', 'country_id', 'lat', 'lon', 'elevation', 'website']);
     Messages::success('Thank you for your submission. We will check whether all information is correct and soon this airport might be available.');
     return Redirect::back();
 }
Esempio n. 2
0
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param      PropelPDO $con
  * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws     PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aAirport !== null) {
             if ($this->aAirport->isModified() || $this->aAirport->isNew()) {
                 $affectedRows += $this->aAirport->save($con);
             }
             $this->setAirport($this->aAirport);
         }
         if ($this->isNew()) {
             $this->modifiedColumns[] = FboPeer::ID;
         }
         // If this object has been modified, then save it to the database.
         if ($this->isModified()) {
             if ($this->isNew()) {
                 $pk = FboPeer::doInsert($this, $con);
                 $affectedRows += 1;
                 // we are assuming that there is only 1 row per doInsert() which
                 // should always be true here (even though technically
                 // BasePeer::doInsert() can insert multiple rows).
                 $this->setId($pk);
                 //[IMV] update autoincrement primary key
                 $this->setNew(false);
             } else {
                 $affectedRows += FboPeer::doUpdate($this, $con);
             }
             $this->resetModified();
             // [HL] After being saved an object is no longer 'modified'
         }
         if ($this->collCamps !== null) {
             foreach ($this->collCamps as $referrerFK) {
                 if (!$referrerFK->isDeleted()) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->collMissionLegs !== null) {
             foreach ($this->collMissionLegs as $referrerFK) {
                 if (!$referrerFK->isDeleted()) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
Esempio n. 3
0
 public function executeAutoAddMissionsOnCamp(sfWebRequest $request)
 {
     // see if there is airport exist with this name
     $airport_name = $request->getParameter('airportname');
     $airport = AirportPeer::getBySpecificAirportName($airport_name);
     // If there is no airport then insert it into airport table
     if (!$airport) {
         // @TODO Set default airport fields values
         $airport = new Airport();
         $airport->setName($airport_name);
         $airport->save();
     }
     $pass_id = $request->getParameter('passenger');
     $camp_id = $request->getParameter('camp_id');
     $camp_passenger = new CampPassenger();
     $camp_passenger->setCampId($camp_id);
     $camp_passenger->setPassengerId($pass_id);
     if (CampPassengerPeer::doCount($camp_passenger->buildCriteria())) {
         $passenger = PassengerPeer::retrieveByPK($pass_id);
         $this->getUser()->setFlash('warning', 'Passenger "' . $passenger->getPerson()->getName() . '" has already been added!');
         return $this->redirect('camp/view?id=' . $request->getParameter('camp_id'));
     }
     $camp = CampPeer::retrieveByPK($camp_id);
     $this->forward404Unless($camp);
     $note = $request->getParameter('note');
     //$camp_passenger->setAirportId($camp->getAirportId ()); // Camp Location Id
     $camp_passenger->setNote($note);
     //if ($camp_passenger->save()){
     //return $this->renderText($airport->getId());
     //}
     $mission_type = MissionTypePeer::getByName('normal');
     if (!$mission_type instanceof MissionType) {
         $mission_type = MissionTypePeer::doSelectOne(new Criteria());
         $this->forward404Unless($mission_type);
     }
     $airport = AirportPeer::getBySpecificAirportName($airport_name);
     $camp_location = $camp->getAirport();
     $itinerary = new Itinerary();
     $itinerary->setCampId($camp->getId());
     $itinerary->setPassengerId($pass_id);
     $itinerary->setDateRequested(time());
     $itinerary->setApointTime('unspecified');
     $itinerary->setMissionTypeId($mission_type->getId());
     $itinerary->setAgencyId($camp->getAgencyId());
     $itinerary->setCancelItinerary(1);
     $itinerary->save();
     // Mission 1
     $mission1 = new Mission();
     $mission1->setItineraryId($itinerary->getId());
     $mission1->setCampId($camp->getId());
     $mission1->setCancelMission(1);
     $mission1->setPassengerId($pass_id);
     $mission1->setMissionCount(1);
     $mission1->setDateRequested(time());
     $mission1->setExternalId($this->getLatestExternalId());
     $mission1->setMissionTypeId($mission_type->getId());
     $mission1->save();
     $camp_passenger->setReturnAirportId(NULL);
     // this indicates that return airport id would be camp airport id
     $camp_passenger->setAirportId($airport->getId());
     $camp_passenger->setMissionId($mission1->getId());
     $camp_passenger->save();
     $mission1_leg1 = new MissionLeg();
     $mission1_leg1->setFromAirportId($airport->getId());
     $mission1_leg1->setLegNumber(1);
     $mission1_leg1->setMissionId($mission1->getId());
     if ($camp_location) {
         $mission1_leg1->setToAirportId($camp_location->getId());
     } else {
         $mission1_leg1->setToAirportId(NULL);
     }
     $mission1_leg1->setCancelMissionLeg(1);
     $mission1_leg1->save();
     // Mission 2
     $mission2 = new Mission();
     $mission2->setItineraryId($itinerary->getId());
     $mission2->setCampId($camp->getId());
     $mission2->setCancelMission(1);
     $mission2->setPassengerId($pass_id);
     $mission2->setMissionCount(2);
     // From treatment to hme
     $mission2->setDateRequested(time());
     $mission2->setExternalId($this->getLatestExternalId());
     $mission2->setMissionTypeId($mission_type->getId());
     $mission2->save();
     $camp_passenger2 = new CampPassenger();
     $camp_passenger2->setCampId($camp_id);
     $camp_passenger2->setPassengerId($pass_id);
     $camp_passenger2->setMissionId($mission2->getId());
     $camp_passenger2->setAirportId(NULL);
     // this indicates that return airport id would be camp airport id
     $camp_passenger2->setReturnAirportId($airport->getId());
     $camp_passenger2->setNote($note);
     $camp_passenger2->save();
     $mission2_leg2 = new MissionLeg();
     if ($camp_location) {
         $mission2_leg2->setFromAirportId($camp_location->getId());
     } else {
         $mission2_leg2->setFromAirportId(NULL);
     }
     $mission2_leg2->setLegNumber(1);
     $mission2_leg2->setMissionId($mission2->getId());
     $mission2_leg2->setToAirportId($airport->getId());
     $mission2_leg2->setCancelMissionLeg(1);
     $mission2_leg2->save();
     return $this->redirect('camp/view?id=' . $camp->getId());
 }
Esempio n. 4
0
 /**
  * Add new airport from pop up by ajax
  * CODE:airport_create
  */
 public function executeUpdateAjax(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');
     }
     //    $this->setLayout(false);
     $airport = new Airport();
     $this->airport = $airport;
     $this->form = new AirportForm($airport);
     $this->back = $request->getReferer();
     if ($request->isMethod('post')) {
         $this->referer = $request->getReferer();
         $this->form->bind($request->getParameter('airp'));
         if ($this->form->isValid() && $this->form->getValue('ident')) {
             if ($this->form->getValue('ident') && $request->getParameter('id')) {
                 $is_used = AirportPeer::getByIdent($this->form->getValue('ident'));
                 $airport->setIdent($is_used->getIdent());
             } elseif ($this->form->getValue('ident') && !$request->getParameter('id')) {
                 //new
                 $is_used = AirportPeer::getByIdent($this->form->getValue('ident'));
                 if (isset($is_used)) {
                     if ($is_used->getIdent() == $this->form->getValue('ident')) {
                         if ($request->getParameter('back') == null) {
                             $last = $request->getReferer();
                         } else {
                             $last = $request->getParameter('back');
                         }
                         if (strstr($last, 'camp/create')) {
                             $back_url = $last;
                         } elseif (strstr($last, 'fbo/create')) {
                             $back_url = $last;
                         } else {
                             $back_url = 'airport';
                         }
                         $this->getUser()->setFlash('success', 'This Airport Ident has already used. Please confirm else!');
                         $this->redirect($back_url);
                     }
                 } elseif ($this->form->getValue('ident') == 'null') {
                     $airport->setIdent(null);
                 } else {
                     $airport->setIdent($this->form->getValue('ident'));
                 }
             }
             $airport->setName($this->form->getValue('name'));
             $airport->setCity($this->form->getValue('city'));
             $airport->setState($this->form->getValue('state'));
             $airport->setLatitude($this->form->getValue('latitude'));
             $airport->setLongitude($this->form->getValue('longitude'));
             $airport->setRunwayLength($this->form->getValue('runway_length'));
             if ($this->form->getValue('wing_id') == 0) {
                 $airport->setWingId(null);
             } else {
                 $airport->setWingId($this->form->getValue('wing_id'));
             }
             $airport->setGmtOffset($this->form->getValue('gmt_offset'));
             $airport->setDstOffset($this->form->getValue('dst_offset'));
             $airport->setZipcode($this->form->getValue('zipcode'));
             if ($this->form->getValue('closed') == null) {
                 $airport->setClosed(0);
             } else {
                 $airport->setClosed($this->form->getValue('closed'));
             }
             if ($airport->isNew()) {
                 $content = $this->getUser()->getName() . ' added new Airport: ' . $airport->getName() . ' (' . $airport->getIdent() . ')';
                 ActivityPeer::log($content);
             }
             $airport->save();
             $str = '<script type="text/javascript">' . 'var a = $id;' . "window.\$('#back_airport_id').val('');" . "window.\$('#back_airport_id').val(a);" . "window.\$('#back1').val(\$('#camp_agency_id').val());" . "window.location.reload();" . '</script>';
             $this->getUser()->setFlash('success', 'New Airport created successfully!');
             $this->formValid = true;
             $this->airportName = $airport->getName();
             //return $this->renderText($str);
         } else {
             $str = '<script type="text/javascript">' . "//window.setTimeout(\\'window.location.reload()\\', 1500);" . 'window.location.reload();' . '</script>';
             $this->getUser()->setFlash('success', 'Can not create new Airport without datas!');
             $this->formNotValid = true;
             //return $this->renderText($str);
         }
     } else {
         # Set referer URL
         $this->referer = $request->getReferer() ? $request->getReferer() : '@airport';
     }
     $this->airport = $airport;
 }
 public function selectAirport($data, $column, $lineData, $outfp, $city)
 {
     if (!$data[$column['icao_code']]) {
         echo "Dont found ICAO code. Skipping line: {$lineData} \n";
         fwrite($outfp, $lineData . "|icao\n");
         return;
     }
     if (!$data[$column['iata_code']]) {
         echo "Dont found IATA code. Skipping line: {$lineData} \n";
         fwrite($outfp, $lineData . "|iata\n");
         return;
     }
     try {
         $airport = Airport::getAirportByCode($data[$column['iata_code']]);
     } catch (CException $e) {
         $airport = null;
     }
     if (!$airport) {
         if (strpos($data[$column['airport_name_ru']], 'Metropolitan') !== FALSE && strpos($data[$column['airport_name_ru']], 'Airport') === FALSE) {
             return;
         }
         echo "Do you want create airport? type y\n";
         echo "Data line: {$lineData} \n";
         $char = trim(fgets(STDIN));
         if ($char == 'y') {
             $airport = new Airport();
             $airport->cityId = $city->id;
             $data[$column['airport_name_ru']] = $data[$column['airport_name_ru']] ? $data[$column['airport_name_ru']] : $data[$column['airport_name_en']];
             if (!$data[$column['airport_name_ru']]) {
                 echo "Airport name not found. Skipped line: {$lineData} \n";
                 fwrite($outfp, $lineData . "|iata\n");
                 return;
             }
             $airport->localRu = $data[$column['airport_name_ru']];
             $airport->localEn = $data[$column['airport_name_en']];
             $airport->code = $data[$column['iata_code']];
             $airport->icaoCode = $data[$column['icao_code']];
             $airport->latitude = $data[$column['latitude']];
             $airport->longitude = $data[$column['longitude']];
             $airport->position = 0;
             $airport->site = $data[$column['website']];
             $airport->validate();
             print_r($airport->errors);
             $airport->save();
             $airport->id = $airport->getPrimaryKey();
         }
     }
     if ($airport) {
         $changed = false;
         if (!$airport->localRu) {
             if ($data[$column['airport_name_ru']]) {
                 $airport->localRu = $data[$column['airport_name_ru']];
                 $changed = true;
             }
         }
         if (!$airport->localEn) {
             if ($data[$column['airport_name_en']]) {
                 $airport->localEn = $data[$column['airport_name_en']];
                 $changed = true;
             }
         }
         if (!$airport->latitude) {
             if ($data[$column['latitude']]) {
                 $airport->latitude = $data[$column['latitude']];
                 $changed = true;
             }
         }
         if (!$airport->longitude) {
             if ($data[$column['longitude']]) {
                 $airport->longitude = $data[$column['longitude']];
                 $changed = true;
             }
         }
         if (!$airport->icaoCode) {
             if ($data[$column['icao_code']]) {
                 $airport->icaoCode = $data[$column['icao_code']];
                 $changed = true;
             }
         }
         if (!$airport->site) {
             if ($data[$column['website']]) {
                 $airport->site = $data[$column['website']];
                 $changed = true;
             }
         }
         if ($changed) {
             $airport->save();
         }
     }
 }
Esempio n. 6
0
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param      PropelPDO $con
  * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws     PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aMission !== null) {
             if ($this->aMission->isModified() || $this->aMission->isNew()) {
                 $affectedRows += $this->aMission->save($con);
             }
             $this->setMission($this->aMission);
         }
         if ($this->aAirportRelatedByFromAirportId !== null) {
             if ($this->aAirportRelatedByFromAirportId->isModified() || $this->aAirportRelatedByFromAirportId->isNew()) {
                 $affectedRows += $this->aAirportRelatedByFromAirportId->save($con);
             }
             $this->setAirportRelatedByFromAirportId($this->aAirportRelatedByFromAirportId);
         }
         if ($this->aAirportRelatedByToAirportId !== null) {
             if ($this->aAirportRelatedByToAirportId->isModified() || $this->aAirportRelatedByToAirportId->isNew()) {
                 $affectedRows += $this->aAirportRelatedByToAirportId->save($con);
             }
             $this->setAirportRelatedByToAirportId($this->aAirportRelatedByToAirportId);
         }
         if ($this->aCoordinator !== null) {
             if ($this->aCoordinator->isModified() || $this->aCoordinator->isNew()) {
                 $affectedRows += $this->aCoordinator->save($con);
             }
             $this->setCoordinator($this->aCoordinator);
         }
         if ($this->aPilotRelatedByPilotId !== null) {
             if ($this->aPilotRelatedByPilotId->isModified() || $this->aPilotRelatedByPilotId->isNew()) {
                 $affectedRows += $this->aPilotRelatedByPilotId->save($con);
             }
             $this->setPilotRelatedByPilotId($this->aPilotRelatedByPilotId);
         }
         if ($this->aMemberRelatedByCopilotId !== null) {
             if ($this->aMemberRelatedByCopilotId->isModified() || $this->aMemberRelatedByCopilotId->isNew()) {
                 $affectedRows += $this->aMemberRelatedByCopilotId->save($con);
             }
             $this->setMemberRelatedByCopilotId($this->aMemberRelatedByCopilotId);
         }
         if ($this->aPilotRelatedByBackupPilotId !== null) {
             if ($this->aPilotRelatedByBackupPilotId->isModified() || $this->aPilotRelatedByBackupPilotId->isNew()) {
                 $affectedRows += $this->aPilotRelatedByBackupPilotId->save($con);
             }
             $this->setPilotRelatedByBackupPilotId($this->aPilotRelatedByBackupPilotId);
         }
         if ($this->aMemberRelatedByBackupCopilotId !== null) {
             if ($this->aMemberRelatedByBackupCopilotId->isModified() || $this->aMemberRelatedByBackupCopilotId->isNew()) {
                 $affectedRows += $this->aMemberRelatedByBackupCopilotId->save($con);
             }
             $this->setMemberRelatedByBackupCopilotId($this->aMemberRelatedByBackupCopilotId);
         }
         if ($this->aMissionReport !== null) {
             if ($this->aMissionReport->isModified() || $this->aMissionReport->isNew()) {
                 $affectedRows += $this->aMissionReport->save($con);
             }
             $this->setMissionReport($this->aMissionReport);
         }
         if ($this->aPilotAircraft !== null) {
             if ($this->aPilotAircraft->isModified() || $this->aPilotAircraft->isNew()) {
                 $affectedRows += $this->aPilotAircraft->save($con);
             }
             $this->setPilotAircraft($this->aPilotAircraft);
         }
         if ($this->aFbo !== null) {
             if ($this->aFbo->isModified() || $this->aFbo->isNew()) {
                 $affectedRows += $this->aFbo->save($con);
             }
             $this->setFbo($this->aFbo);
         }
         if ($this->isNew()) {
             $this->modifiedColumns[] = MissionLegPeer::ID;
         }
         // If this object has been modified, then save it to the database.
         if ($this->isModified()) {
             if ($this->isNew()) {
                 $pk = MissionLegPeer::doInsert($this, $con);
                 $affectedRows += 1;
                 // we are assuming that there is only 1 row per doInsert() which
                 // should always be true here (even though technically
                 // BasePeer::doInsert() can insert multiple rows).
                 $this->setId($pk);
                 //[IMV] update autoincrement primary key
                 $this->setNew(false);
             } else {
                 $affectedRows += MissionLegPeer::doUpdate($this, $con);
             }
             $this->resetModified();
             // [HL] After being saved an object is no longer 'modified'
         }
         if ($this->singleAfaLeg !== null) {
             if (!$this->singleAfaLeg->isDeleted()) {
                 $affectedRows += $this->singleAfaLeg->save($con);
             }
         }
         if ($this->collMissionPhotos !== null) {
             foreach ($this->collMissionPhotos as $referrerFK) {
                 if (!$referrerFK->isDeleted()) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->collPilotRequests !== null) {
             foreach ($this->collPilotRequests as $referrerFK) {
                 if (!$referrerFK->isDeleted()) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }