public function saveCampPassengerList($con = null)
 {
     if (!$this->isValid()) {
         throw $this->getErrorSchema();
     }
     if (!isset($this->widgetSchema['camp_passenger_list'])) {
         // somebody has unset this widget
         return;
     }
     if (is_null($con)) {
         $con = $this->getConnection();
     }
     $c = new Criteria();
     $c->add(CampPassengerPeer::PASSENGER_ID, $this->object->getPrimaryKey());
     CampPassengerPeer::doDelete($c, $con);
     $values = $this->getValue('camp_passenger_list');
     if (is_array($values)) {
         foreach ($values as $value) {
             $obj = new CampPassenger();
             $obj->setPassengerId($this->object->getPrimaryKey());
             $obj->setCampId($value);
             $obj->save();
         }
     }
 }
Beispiel #2
0
 public function executeAutoRemoveMissionsOnCamp(sfWebRequest $request)
 {
     $passenger_id = $request->getParameter('passenger');
     $airport_id = $request->getParameter('airport_id');
     $camp_id = $request->getParameter('camp');
     $mission_id = $request->getParameter('mission_id');
     $camp = CampPeer::retrieveByPK($camp_id);
     $camp_airport_id = $camp->getAirportId();
     // To airport id for first mission
     $from = $request->getParameter('from');
     // indicates what should be removed, home to treatement or treatement to home mission?
     $c = new Criteria();
     $c->add(MissionPeer::PASSENGER_ID, $passenger_id);
     $c->add(MissionPeer::CAMP_ID, $camp_id);
     $c->add(MissionPeer::ID, $mission_id);
     $mission = MissionPeer::doSelectOne($c);
     $itinerary_id = $mission->getItineraryId();
     $mission->setCancelMission(0);
     // Make it hide from public
     $mission->save();
     $itinerary = ItineraryPeer::retrieveByPK($itinerary_id);
     $itinerary->setCancelItinerary(0);
     $itinerary->save();
     /*foreach($missions as $mission){
         $mission_ids[] = $mission->getId();
         $itinerary_id = $mission->getItineraryId();
         $mission->setCancelMission(0); // Make it hide from public
         $mission->save();
       }*/
     //$this->_setAutoLegCancelled($camp_airport_id, $airport_id, $mission_ids[0], 'come');
     //$this->_setAutoLegCancelled($camp_airport_id, $airport_id, $mission_ids[1], 'return');
     $this->_setAutoLegCancelled($camp_airport_id, $airport_id, $mission->getId(), $from);
     $c->clear();
     $c->add(CampPassengerPeer::CAMP_ID, $camp_id);
     $c->add(CampPassengerPeer::PASSENGER_ID, $passenger_id);
     if ($from == 'source') {
         $c->add(CampPassengerPeer::AIRPORT_ID, $airport_id);
     } else {
         $c->add(CampPassengerPeer::RETURN_AIRPORT_ID, $airport_id);
     }
     CampPassengerPeer::doDelete($c);
     return $this->redirect('camp/view?id=' . $camp_id);
 }
Beispiel #3
0
 /**
  * Removes this object from datastore and sets delete attribute.
  *
  * @param      PropelPDO $con
  * @return     void
  * @throws     PropelException
  * @see        BaseObject::setDeleted()
  * @see        BaseObject::isDeleted()
  */
 public function delete(PropelPDO $con = null)
 {
     foreach (sfMixer::getCallables('BaseCampPassenger:delete:pre') as $callable) {
         $ret = call_user_func($callable, $this, $con);
         if ($ret) {
             return;
         }
     }
     if ($this->isDeleted()) {
         throw new PropelException("This object has already been deleted.");
     }
     if ($con === null) {
         $con = Propel::getConnection(CampPassengerPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     $con->beginTransaction();
     try {
         CampPassengerPeer::doDelete($this, $con);
         $this->setDeleted(true);
         $con->commit();
     } catch (PropelException $e) {
         $con->rollBack();
         throw $e;
     }
     foreach (sfMixer::getCallables('BaseCampPassenger:delete:post') as $callable) {
         call_user_func($callable, $this, $con);
     }
 }