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(); }
/** * 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; }
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()); }
/** * 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(); } } }
/** * 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; }