Пример #1
0
 public static function getStops(Agency $agency, $version = 0)
 {
     /**
      * @var DB
      */
     $dbObj = DBPool::getInstance();
     $version = $version == 0 ? TableUpdate::getVersion() : $version;
     $dbObj->bindParams(array($agency->getId(), TableUpdate::getVersion()));
     $stops = $dbObj->get_results("SELECT * FROM stop WHERE agency_id=?\n            AND version = ?");
     if ($dbObj->num_rows > 0) {
         $stopArray = array();
         foreach ($stops as $s) {
             $stopObj = new Stop();
             $stopObj->setId($s->id);
             $stopObj->setAgency($agency);
             $stopObj->setFlipStopTag($s->flip_stop_tag);
             $stopObj->setTag($s->tag);
             $stopObj->setTitle($s->title);
             $stopObj->setPrettyTitle($s->pretty_title);
             $stopObj->setLatitude($s->latitude);
             $stopObj->setLongitude($s->longitude);
             $stopArray[$s->tag] = $stopObj;
         }
         return $stopArray;
     } else {
         //TODO: Don't use a generic exception
         throw new Exception("No data available - Stop::getStops");
     }
 }
Пример #2
0
 public static function getRoutes(Agency $agency, $version = 0)
 {
     /**
      * @var DB
      */
     $dbObj = DBPool::getInstance();
     $version = $version == 0 ? TableUpdate::getVersion() : $version;
     $dbObj->bindParams(array($agency->getId(), $version));
     $routes = $dbObj->get_results("SELECT * FROM route WHERE agency_id=?\n            AND version = ? ORDER BY position");
     if ($dbObj->num_rows > 0) {
         $routeArray = array();
         foreach ($routes as $r) {
             $routeObj = new Route();
             $routeObj->setId($r->id);
             $routeObj->setAgency($agency);
             $routeObj->setTag($r->tag);
             $routeObj->setColor($r->color);
             $routeObj->setTitle($r->title);
             $routeObj->setShortTitle($r->short_title);
             $routeObj->setLatMin($r->lat_min);
             $routeObj->setLatMax($r->lat_max);
             $routeObj->setLonMin($r->lon_min);
             $routeObj->setLonMax($r->lon_max);
             $routeObj->setVehicleType($r->vehicle_type);
             $routeObj->setPosition($r->position);
             $routeArray[$r->tag] = $routeObj;
         }
         return $routeArray;
     } else {
         //TODO: Don't use a generic exception
         throw new Exception("No data available - Route::getRoutes");
     }
 }
 /**
  * Add the routes to the database
  * @param array $routes - Array of Route objects
  */
 protected function add(array $routes)
 {
     $insertCnt = 0;
     $version = TableUpdate::getVersion();
     foreach ($routes as $r) {
         //Add the mandatory columns
         $columns = array('agency_id', 'tag', 'color', 'title', 'short_title', 'vehicle_type', 'version', 'position');
         $boundParams = array($this->agency->getId(), $r->getTag(), $r->getColor(), $r->getTitle(), $r->getShortTitle(), $r->getVehicleType(), $version, $r->getPosition());
         $columnCnt = count($columns);
         //Check and add the optional columns
         if ($r->getLatMin()) {
             $columns[] = 'lat_min';
             $boundParams[] = $r->getLatMin();
             $columnCnt++;
         }
         if ($r->getLatMax()) {
             $columns[] = 'lat_max';
             $boundParams[] = $r->getLatMax();
             $columnCnt++;
         }
         if ($r->getLonMin()) {
             $columns[] = 'lon_min';
             $boundParams[] = $r->getLonMin();
             $columnCnt++;
         }
         if ($r->getLonMax()) {
             $columns[] = 'lon_max';
             $boundParams[] = $r->getLonMax();
             $columnCnt++;
         }
         $this->dbObj->bindParams($boundParams);
         //var_dump($boundParams);
         $query = "INSERT INTO route (" . implode(",", $columns) . ", created_date)\n                VALUES (" . implode(",", array_fill(0, $columnCnt, "?")) . ", NOW())";
         $this->dbObj->query($query);
         if ($this->dbObj->rows_affected != 1) {
             //$this->dbObj->debug();exit;
             throw new DBException("Addition of route failed [agency:" . $this->agency->getId() . "] [route tag:" . $r->getTag() . "] [route title:" . $r->getTitle() . "]");
         }
         $insertCnt++;
     }
     //TODO: Add a log for the total number of rows added
     //Write the changes to the change log
     $this->saveChangesToFile();
 }
 protected function add(array $stops)
 {
     //var_dump($stops);exit;
     $insertCnt = 0;
     $version = TableUpdate::getVersion();
     foreach ($stops as $s) {
         $boundParams = array($this->agency->getId(), $s->getTag(), $s->getLatitude(), $s->getLongitude(), $s->getTitle(), $this->getPrettyTitle($s->getTitle()), $s->getFlipStopTag(), $version);
         $this->dbObj->bindParams($boundParams);
         $query = "INSERT INTO stop (agency_id, tag, latitude, longitude, \n                title, pretty_title, flip_stop_tag, version, created_date)\n                VALUES (?, ?, ?, ?, ?, ?, ?, ?, NOW())";
         $this->dbObj->query($query);
         if ($this->dbObj->rows_affected != 1) {
             //$this->dbObj->debug();exit;
             throw new DBException("Addition of stop failed [agency:" . $this->agency->getId() . "] [stop tag:" . $s->getTag() . "]");
         }
         $insertCnt++;
     }
     //TODO: Add a log for the total number of stops added
     //Write the changes to the change log
     $this->saveChangesToFile();
 }
function getRoutes(Agency $agency, $version)
{
    $dbObj = DBPool::getInstance();
    $routeArray = array();
    $finalRouteArray = array();
    //Get the routes
    $dbObj->bindParams(array($version, $agency->getId()));
    $routes = $dbObj->get_results("SELECT b.tag AS routetag, a.tag AS dirtag\n                                    FROM direction as a, route as b\n                                    WHERE a.route_id=b.id\n                                        AND a.use_for_ui=true\n                                        AND a.version=?\n                                        AND b.agency_id=?\n                                    ORDER BY b.tag;");
    if ($dbObj->num_rows > 0) {
        foreach ($routes as $r) {
            $routeTag = (string) $r->routetag;
            $routeArray[$routeTag][] = (string) $r->dirtag;
        }
        //Pick only the ones with more than 2 directions
        foreach ($routeArray as $routeTag => $dirs) {
            if (count($dirs) > 2) {
                $finalRouteArray[$routeTag] = $dirs;
            }
        }
    }
    return $finalRouteArray;
}
Пример #6
0
 /**
  * Declares an association between this object and a Agency object.
  *
  * @param      Agency $v
  * @return     Camp The current object (for fluent API support)
  * @throws     PropelException
  */
 public function setAgency(Agency $v = null)
 {
     if ($v === null) {
         $this->setAgencyId(NULL);
     } else {
         $this->setAgencyId($v->getId());
     }
     $this->aAgency = $v;
     // Add binding for other direction of this n:n relationship.
     // If this object has already been added to the Agency object, it will not be re-added.
     if ($v !== null) {
         $v->addCamp($this);
     }
     return $this;
 }
Пример #7
0
 protected function processForm(sfWebRequest $request, AgencyForm $form)
 {
     $form->bind($request->getParameter('agency'));
     if ($form->isValid()) {
         $agency = new Agency();
         $agency->setName($form->getValue('name'));
         $agency->setAddress1($form->getValue('address1'));
         $agency->setAddress2($form->getValue('address2'));
         $agency->setCity($form->getValue('city'));
         $agency->setCounty($form->getValue('county'));
         $agency->setState($form->getValue('state'));
         $agency->setCountry($form->getValue('country'));
         $agency->setZipcode($form->getValue('zipcode'));
         $agency->setPhone($form->getValue('phone'));
         $agency->setComment($form->getValue('comment'));
         $agency->setFaxPhone($form->getValue('fax_phone'));
         $agency->setFaxComment($form->getValue('fax_comment'));
         $agency->setEmail($form->getValue('email'));
         if ($agency->isNew()) {
             $content = $this->getUser()->getName() . ' added new Agency: ' . $agency->getName();
             ActivityPeer::log($content);
         }
         $agency->save();
         //exit;
         $this->new_requester_agency_id = $agency->getId();
         $this->new_requester_agency_name = $form->getValue('name');
     }
 }
Пример #8
0
 /**
  * missionRequests save all data into corresponding tables
  * CODE:mission_request_create
  */
 public function executeSave(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');
     }
     $miss_req_session = $this->getUser()->getAttribute('miss_req');
     if (!$miss_req_session) {
         return $this->forward('passenger', 'step3');
     }
     //set Requester Person
     $req_person = new Person();
     $req_person->setFirstName($miss_req_session->getReqFirstname());
     $req_person->setLastName($miss_req_session->getReqLastname());
     $req_person->setAddress1($miss_req_session->getReqAddress1());
     $req_person->setAddress2($miss_req_session->getReqAddress2());
     $req_person->setCity($miss_req_session->getReqCity());
     $req_person->setCounty($miss_req_session->getReqCounty());
     $req_person->setState($miss_req_session->getReqState());
     $req_person->setCountry($miss_req_session->getReqCountry());
     $req_person->setZipcode($miss_req_session->getReqZipcode());
     $req_person->setEmail($miss_req_session->getReqEmail());
     $req_person->setSecondaryEmail($miss_req_session->getReqSecondaryEmail());
     $req_person->setPagerEmail($miss_req_session->getReqPagerEmail());
     $req_person->setDayPhone($miss_req_session->getReqDayPhone());
     $req_person->setDayComment($miss_req_session->getReqDayComment());
     $req_person->setEveningPhone($miss_req_session->getReqEvePhone());
     $req_person->setEveningComment($miss_req_session->getReqEveComment());
     $req_person->setMobilePhone($miss_req_session->getReqMobilePhone());
     $req_person->setMobileComment($miss_req_session->getReqMobileComment());
     $req_person->setPagerPhone($miss_req_session->getReqPagerPhone());
     $req_person->setPagerComment($miss_req_session->getReqPagerComment());
     $req_person->setOtherPhone($miss_req_session->getReqOtherPhone());
     $req_person->setOtherComment($miss_req_session->getReqOtherComment());
     $req_person->save();
     //end of Requester Person
     // set Requester Agency
     $agency = AgencyPeer::getByNamePhone(trim($miss_req_session->getAgencyName()));
     if ($agency) {
         # nothing
     } else {
         $agency = new Agency();
         $agency->setName(trim($miss_req_session->getAgencyName()));
         $agency->save();
     }
     //set Requester
     $requester = new Requester();
     $requester->setPersonId($req_person->getId());
     $requester->setAgencyId($agency->getId());
     //$requester->setDischarge($miss_req_session->getReqDischarge());
     $requester->save();
     if (isset($miss_req_session->passenger_id)) {
         $passenger = PassengerPeer::retrieveByPK($miss_req_session->passenger_id);
         if (!$passenger instanceof Passenger) {
             $passenger = new Passenger();
         }
     } else {
         $passenger = new Passenger();
     }
     if ($passenger->isNew()) {
         $person = new Person();
     } else {
         $person = $passenger->getPerson();
     }
     //set Person to Passenger
     $person->setTitle($miss_req_session->getPassTitle());
     $person->setFirstName($miss_req_session->getPassFirstName());
     $person->setLastName($miss_req_session->getPassLastName());
     $person->setGender($miss_req_session->getPassGender());
     $person->setAddress1($miss_req_session->getPassAddress1());
     $person->setAddress2($miss_req_session->getPassAddress2());
     $person->setCity($miss_req_session->getPassCity());
     $person->setState($miss_req_session->getPassState());
     $person->setZipcode($miss_req_session->getPassZipcode());
     $person->setCountry($miss_req_session->getPassCountry());
     $person->setEmail($miss_req_session->getPassEmail());
     $person->setDayPhone($miss_req_session->getPassDayPhone());
     $person->setDayComment($miss_req_session->getPassDayComment());
     $person->setEveningPhone($miss_req_session->getPassEvePhone());
     $person->setEveningComment($miss_req_session->getPassEveComment());
     $person->setMobilePhone($miss_req_session->getPassMobilePhone());
     $person->setMobileComment($miss_req_session->getPassMobileComment());
     $person->setPagerPhone($miss_req_session->getPassPagerPhone());
     $person->setPagerComment($miss_req_session->getPassPagerComment());
     $person->setOtherPhone($miss_req_session->getPassOtherPhone());
     $person->setOtherComment($miss_req_session->getPassOtherComment());
     $person->save();
     //set Passenger
     $passenger->setPersonId($person->getId());
     $passenger->setPassengerTypeId($miss_req_session->getPassType());
     $passenger->setDateOfBirth($miss_req_session->getPassDateOfBirth());
     $passenger->setIllness($miss_req_session->getIllness());
     $passenger->setFinancial($miss_req_session->getFinancial());
     $passenger->setPublicConsiderations($miss_req_session->getPassPublicCons());
     $passenger->setPrivateConsiderations($miss_req_session->getPassPrivateCons());
     $passenger->setReleasingPhysician($miss_req_session->getReleasingPhysician());
     $passenger->setReleasingPhone($miss_req_session->getReleasePhone());
     $passenger->setReleasingFax1($miss_req_session->getReleaseFax());
     $passenger->setReleasingFax1Comment($miss_req_session->getReleaseFaxComment());
     $passenger->setLodgingName($miss_req_session->getLodgingName());
     $passenger->setLodgingPhone($miss_req_session->getLodgingPhone());
     $passenger->setLodgingPhoneComment($miss_req_session->getLodgingPhoneComment());
     $passenger->setFacilityName($miss_req_session->getFacilityName());
     $passenger->setFacilityPhone($miss_req_session->getFacilityPhone());
     $passenger->setFacilityPhoneComment($miss_req_session->getFacilityPhoneComment());
     $passenger->setReleasingEmail($miss_req_session->getReleaseEmail());
     $passenger->setTreatingPhysician($miss_req_session->getTreatingPhysician());
     $passenger->setTreatingPhone($miss_req_session->getTreatingPhone());
     $passenger->setTreatingFax1($miss_req_session->getTreatingFax());
     $passenger->setTreatingFax1Comment($miss_req_session->getTreatingFaxComment());
     $passenger->setTreatingEmail($miss_req_session->getTreatingEmail());
     $passenger->setLanguageSpoken($miss_req_session->getPassLanguage());
     $passenger->setBestContactMethod($miss_req_session->getBestContact());
     $passenger->setEmergencyContactName($miss_req_session->getEmergencyName());
     $passenger->setEmergencyContactPrimaryPhone($miss_req_session->getEmergencyPhone1());
     $passenger->setEmergencyContactPrimaryComment($miss_req_session->getEmergencyPhone1Comment());
     $passenger->setEmergencyContactSecondaryPhone($miss_req_session->getEmergencyPhone2());
     $passenger->setEmergencyContactSecondaryComment($miss_req_session->getEmergencyPhone2Comment());
     $passenger->setNeedMedicalRelease($miss_req_session->getPassMedical());
     $passenger->save();
     //set Companions
     if ($passenger && $miss_req_session->getCom1Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom1Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom1Phone());
         $person->setDayComment($miss_req_session->getCom1Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom1Name());
         $companion->setRelationship($miss_req_session->getCom1Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom1DateOfBirth());
         $companion->setWeight($miss_req_session->getCom1Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom1Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom1Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom2Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom2Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom2Phone());
         $person->setDayComment($miss_req_session->getCom2Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom2Name());
         $companion->setRelationship($miss_req_session->getCom2Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom2DateOfBirth());
         $companion->setWeight($miss_req_session->getCom2Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom2Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom2Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom3Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom3Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom3Phone());
         $person->setDayComment($miss_req_session->getCom3Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom3Name());
         $companion->setRelationship($miss_req_session->getCom3Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom3DateOfBirth());
         $companion->setWeight($miss_req_session->getCom3Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom3Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom3Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom4Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom4Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom4Phone());
         $person->setDayComment($miss_req_session->getCom4Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom4Name());
         $companion->setRelationship($miss_req_session->getCom4Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom4DateOfBirth());
         $companion->setWeight($miss_req_session->getCom4Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom4Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom4Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     if ($passenger && $miss_req_session->getCom5Name()) {
         $person = new Person();
         $names[] = split(" ", $miss_req_session->getCom5Name());
         //echo var_dump($names); die();
         $person->setFirstName($names[0][0]);
         $person->setLastName($names[0][1]);
         $person->setDayPhone($miss_req_session->getCom5Phone());
         $person->setDayComment($miss_req_session->getCom5Comment());
         $person->save();
         $companion = new Companion();
         $companion->setPassengerId($passenger->getId());
         $companion->setName($miss_req_session->getCom5Name());
         $companion->setRelationship($miss_req_session->getCom5Relationship());
         $companion->setDateOfBirth($miss_req_session->getCom5DateOfBirth());
         $companion->setWeight($miss_req_session->getCom5Weigth());
         $companion->setCompanionPhone($miss_req_session->getCom5Phone());
         $companion->setCompanionPhoneComment($miss_req_session->getCom5Comment());
         $companion->setPersonId($person->getId());
         $companion->save();
     }
     //set Itinerary
     $itinerary = ItineraryPeer::getByMissReqId($miss_req_session->getId());
     if (!$itinerary) {
         $new_itinerary = new Itinerary();
         $new_itinerary->setDateRequested(date('m/d/Y'));
         $new_itinerary->setMissionRequestId($miss_req_session->getId());
         $new_itinerary->setMissionTypeId($miss_req_session->getMissionRequestTypeId());
         $new_itinerary->setApointTime($miss_req_session->getApptDate());
         $new_itinerary->setPassengerId($passenger->getId());
         $new_itinerary->setRequesterId($requester->getId());
         $new_itinerary->setFacility($miss_req_session->getFacilityName());
         $new_itinerary->setLodging($miss_req_session->getLodgingName());
         $new_itinerary->setOrginCity($miss_req_session->getOrginCity());
         $new_itinerary->setOrginState($miss_req_session->getOrginState());
         $new_itinerary->setDestCity($miss_req_session->getDestCity());
         $new_itinerary->setDestState($miss_req_session->getDestState());
         $new_itinerary->setWaiverNeed(0);
         $new_itinerary->setNeedMedicalRelease($miss_req_session->getPassMedical());
         $new_itinerary->setComment($miss_req_session->getComment());
         $new_itinerary->setAgencyId($agency->getId());
         $new_itinerary->save();
     }
     //set default Mission to Mission table
     //get Passenger
     //$passenger = PassengerPeer::getByPersonId($person->getId());
     $misson = new Mission();
     $misson->setRequestId($miss_req_session->getId());
     $misson->setItineraryId($new_itinerary->getId());
     $misson->setMissionTypeId($miss_req_session->getMissionRequestTypeId());
     $misson->setDateRequested($miss_req_session->getRequesterDate());
     if ($passenger) {
         $misson->setPassengerId($passenger->getId());
     }
     if ($requester) {
         $misson->setRequesterId($requester->getId());
     }
     if ($agency) {
         $misson->setAgencyId($agency->getId());
     }
     // Farazi Mission 1 externa ID
     $c = new Criteria();
     $c->add(MissionPeer::EXTERNAL_ID, NULL, Criteria::ISNOTNULL);
     $c->addDescendingOrderByColumn(MissionPeer::ID);
     $external_mission = MissionPeer::doSelectOne($c);
     $external_id = $external_mission->getExternalId();
     $currentExternalId = $external_id + 1;
     $misson->setExternalId($currentExternalId);
     $misson->setApptDate($miss_req_session->getApptDate());
     $misson->setFlightTime($miss_req_session->getFlightTime());
     $misson->setMissionDate($miss_req_session->getMissionDate());
     $misson->setMissionCount(1);
     $misson->save();
     $missLeg = new MissionLeg();
     $missLeg->setMissionId($misson->getId());
     $missLeg->setLegNumber(1);
     if ($miss_req_session->getOrginState() && $miss_req_session->getOrginZipcode()) {
         //echo $miss_req_session->getOrginState().'-'.$miss_req_session->getOrginZipcode();die();
         $fromairport = AirportPeer::getAirportByStateAndZipcode($miss_req_session->getOrginState(), $miss_req_session->getOrginZipcode());
         if ($fromairport) {
             $missLeg->setFromAirportId($fromairport->getId());
         }
     }
     if ($miss_req_session->getDestState() && $miss_req_session->getDestZipcode()) {
         //echo $miss_req_session->getDestState().'--'.$miss_req_session->getDestZipcode();die();
         $toairport = AirportPeer::getAirportByStateAndZipcode($miss_req_session->getDestState(), $miss_req_session->getDestZipcode());
         if ($toairport) {
             $missLeg->setToAirportId($toairport->getId());
         }
     }
     //echo "oder";die();
     $missLeg->setPassOnBoard(0);
     $missLeg->setWebCoordinated(0);
     $missLeg->setTransportation('air_mission');
     $missLeg->save();
     //end set Mission
     $this->getUser()->setFlash('success', 'New mission has successfully created!');
     $miss_req_session->setProcessedDate(time());
     $miss_req_session->save();
     $this->getUser()->setAttribute('miss_req', null);
     //$this->redirect('miss_req');
     //$this->getUser()->setFlash('success',$success);
     //$request->getParameter('back')
     $this->redirect('/itinerary/detail/' . $new_itinerary->getId());
 }
Пример #9
0
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      Agency $value A Agency object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(Agency $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
Пример #10
0
    /**
     * Get agency by ajax in popup
     * CODE: agency_create
     */
    public function executeUpdateAjax(sfWebRequest $request)
    {
        #security
        if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Coordinator', 'Volunteer'), false)) {
            $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer());
            $this->redirect('dashboard/index');
        }
        $this->setLayout(false);
        $agency = new Agency();
        $this->form = new AgencyForm($agency);
        $this->back = $request->getReferer();
        $this->backurl = "";
        $this->is_camp = 0;
        $this->person_ids = 1;
        if ($request->getParameter('camp') == 1) {
            $this->backurl = '/camp/create';
            $this->is_camp = 1;
        } elseif ($request->getParameter('req') == 1) {
            $this->backurl = '/requester/create?person_id=' . $request->getParameter('person_id');
            $this->person_ids = $request->getParameter('person_id');
        }
        if ($request->isMethod('post')) {
            $this->referer = $request->getReferer();
            $this->form->bind($request->getParameter('agency'));
            if ($this->form->isValid()) {
                $agency->setName($this->form->getValue('name'));
                $agency->setAddress1($this->form->getValue('address1'));
                $agency->setAddress2($this->form->getValue('address2'));
                $agency->setCity($this->form->getValue('city'));
                $agency->setCounty($this->form->getValue('county'));
                $agency->setState($this->form->getValue('state'));
                $agency->setCountry($this->form->getValue('country'));
                $agency->setZipcode($this->form->getValue('zipcode'));
                $agency->setPhone($this->form->getValue('phone'));
                $agency->setComment($this->form->getValue('comment'));
                $agency->setFaxPhone($this->form->getValue('fax_phone'));
                $agency->setFaxComment($this->form->getValue('fax_comment'));
                $agency->setEmail($this->form->getValue('email'));
                if ($agency->isNew()) {
                    $content = $this->getUser()->getName() . ' added new Agency: ' . $agency->getName();
                    ActivityPeer::log($content);
                }
                $agency->save();
                $this->getUser()->setFlash('new_agency', $this->form->getValue('name'));
                $b_u = $request->getParameter('backurl');
                //        if($request->getReferer()){
                //          $back = $request->getReferer();
                //          if(isset($back)){
                //            if(strstr($back,'requester/edit')){
                //              $req =1;
                //            }elseif(strstr($back,'camp/create')){
                //              $camp =1;
                //            }
                //          }
                //        }
                $id = $agency->getId();
                $str = <<<XYZ
        <script type="text/javascript">
          var a = {$id};
           if(window.jQuery('#back_agency_id')){
             window.jQuery('#back_agency_id').val('');
           }
           if(window.jQuery('#back_agency_id')){
             window.jQuery('#back_agency_id').val(a);
           }
           if(window.jQuery('#pre_agency_id')){
             window.jQuery('#pre_agency_id').val('');
           }
           if(window.jQuery('#pre_agency_id')){
             window.jQuery('#pre_agency_id').val(a);
           }
           location.href='{$b_u}?agency_id={$id}';
        </script>
XYZ;
                $this->getUser()->setFlash('success', 'New Agency has added!');
                return $this->renderText($str);
            }
        } else {
            # Set referer URL
            $this->referer = $request->getReferer() ? $request->getReferer() : '@agency';
        }
        $this->agency = $agency;
    }