/** * Get the associated UserFilter object * * @param PropelPDO Optional Connection object. * @return UserFilter The associated UserFilter object. * @throws PropelException */ public function getUserFilter(PropelPDO $con = null) { if ($this->aUserFilter === null && $this->user_filter_id !== null) { $c = new Criteria(UserFilterPeer::DATABASE_NAME); $c->add(UserFilterPeer::ID, $this->user_filter_id); $this->aUserFilter = UserFilterPeer::doSelectOne($c, $con); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. $this->aUserFilter->addUserFilterMissionTypess($this); */ } return $this->aUserFilter; }
/** * Selects a collection of UserFilterMissionTypes objects pre-filled with all related objects except MissionType. * * @param Criteria $c * @param PropelPDO $con * @param String $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN * @return array Array of UserFilterMissionTypes objects. * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doSelectJoinAllExceptMissionType(Criteria $c, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $c = clone $c; // Set the correct dbName if it has not been overridden // $c->getDbName() will return the same object if not set to another value // so == check is okay and faster if ($c->getDbName() == Propel::getDefaultDB()) { $c->setDbName(self::DATABASE_NAME); } UserFilterMissionTypesPeer::addSelectColumns($c); $startcol2 = UserFilterMissionTypesPeer::NUM_COLUMNS - UserFilterMissionTypesPeer::NUM_LAZY_LOAD_COLUMNS; UserFilterPeer::addSelectColumns($c); $startcol3 = $startcol2 + (UserFilterPeer::NUM_COLUMNS - UserFilterPeer::NUM_LAZY_LOAD_COLUMNS); $c->addJoin(array(UserFilterMissionTypesPeer::USER_FILTER_ID), array(UserFilterPeer::ID), $join_behavior); $stmt = BasePeer::doSelect($c, $con); $results = array(); while ($row = $stmt->fetch(PDO::FETCH_NUM)) { $key1 = UserFilterMissionTypesPeer::getPrimaryKeyHashFromRow($row, 0); if (null !== ($obj1 = UserFilterMissionTypesPeer::getInstanceFromPool($key1))) { // We no longer rehydrate the object, since this can cause data loss. // See http://propel.phpdb.org/trac/ticket/509 // $obj1->hydrate($row, 0, true); // rehydrate } else { $omClass = UserFilterMissionTypesPeer::getOMClass(); $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1); $obj1 = new $cls(); $obj1->hydrate($row); UserFilterMissionTypesPeer::addInstanceToPool($obj1, $key1); } // if obj1 already loaded // Add objects for joined UserFilter rows $key2 = UserFilterPeer::getPrimaryKeyHashFromRow($row, $startcol2); if ($key2 !== null) { $obj2 = UserFilterPeer::getInstanceFromPool($key2); if (!$obj2) { $omClass = UserFilterPeer::getOMClass(); $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1); $obj2 = new $cls(); $obj2->hydrate($row, $startcol2); UserFilterPeer::addInstanceToPool($obj2, $key2); } // if $obj2 already loaded // Add the $obj1 (UserFilterMissionTypes) to the collection in $obj2 (UserFilter) $obj2->addUserFilterMissionTypes($obj1); } // if joined row is not null $results[] = $obj1; } $stmt->closeCursor(); return $results; }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. * The default key type is the column's phpname (e.g. 'AuthorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = UserFilterPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setPersonId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setDateRange1($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setDateRange2($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setDay1($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setDay2($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setDay3($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { $this->setDay4($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { $this->setDay5($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { $this->setDay6($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { $this->setDay7($arr[$keys[10]]); } if (array_key_exists($keys[11], $arr)) { $this->setWing($arr[$keys[11]]); } if (array_key_exists($keys[12], $arr)) { $this->setIdent($arr[$keys[12]]); } if (array_key_exists($keys[13], $arr)) { $this->setCity($arr[$keys[13]]); } if (array_key_exists($keys[14], $arr)) { $this->setZipcode($arr[$keys[14]]); } if (array_key_exists($keys[15], $arr)) { $this->setState($arr[$keys[15]]); } if (array_key_exists($keys[16], $arr)) { $this->setOrgin($arr[$keys[16]]); } if (array_key_exists($keys[17], $arr)) { $this->setDest($arr[$keys[17]]); } if (array_key_exists($keys[18], $arr)) { $this->setIsPilot($arr[$keys[18]]); } if (array_key_exists($keys[19], $arr)) { $this->setIsMa($arr[$keys[19]]); } if (array_key_exists($keys[20], $arr)) { $this->setIfrBackup($arr[$keys[20]]); } if (array_key_exists($keys[21], $arr)) { $this->setFilled($arr[$keys[21]]); } if (array_key_exists($keys[22], $arr)) { $this->setOpen($arr[$keys[22]]); } if (array_key_exists($keys[23], $arr)) { $this->setMaxPassenger($arr[$keys[23]]); } if (array_key_exists($keys[24], $arr)) { $this->setMaxWeight($arr[$keys[24]]); } if (array_key_exists($keys[25], $arr)) { $this->setMaxDistance($arr[$keys[25]]); } if (array_key_exists($keys[26], $arr)) { $this->setMaxEffciency($arr[$keys[26]]); } if (array_key_exists($keys[27], $arr)) { $this->setAvailability($arr[$keys[27]]); } if (array_key_exists($keys[28], $arr)) { $this->setAlltype($arr[$keys[28]]); } }
private function processFilterForm(sfWebRequest $request) { //if user requests first time, then check if user has saved filters if (!$request->getParameter('filter')) { $this->has_filters = UserFilterPeer::getByPersonId($this->getUser()->getId()); //here set all values if ($this->has_filters) { $params['origin'] = $this->has_filters->getOrgin(); $params['dest'] = $this->has_filters->getDest(); $params['date_range1'] = $this->has_filters->getDateRange1(); $params['date_range2'] = $this->has_filters->getDateRange2(); $params['filled'] = $this->has_filters->getFilled(); $params['open'] = $this->has_filters->getOpen(); //needs by $params['needs_pilot'] = $this->has_filters->getIsPilot(); $params['co_pilot'] = $this->has_filters->getIsMa(); $params['ifr'] = $this->has_filters->getIfrBackup(); $params['ignore_availability'] = $this->has_filters->getAvailability(); //days $weekdays = array(); $weekdays[0] = $this->has_filters->getDay1(); $weekdays[1] = $this->has_filters->getDay2(); $weekdays[2] = $this->has_filters->getDay3(); $weekdays[3] = $this->has_filters->getDay4(); $weekdays[4] = $this->has_filters->getDay5(); $weekdays[5] = $this->has_filters->getDay6(); $weekdays[6] = $this->has_filters->getDay7(); $params['weekdays'] = $weekdays; $params['max_pass'] = $this->has_filters->getMaxPassenger(); $params['max_weight'] = $this->has_filters->getMaxWeight(); $params['max_distance'] = $this->has_filters->getMaxDistance(); $params['min_efficiency'] = $this->has_filters->getMaxEffciency(); $params['wing_id'] = $this->has_filters->getWing(); $params['airport_ident'] = $this->has_filters->getIdent(); $params['city'] = $this->has_filters->getCity(); $params['zipcode'] = $this->has_filters->getZipcode(); $params['state'] = $this->has_filters->getState(); $arr = array(); //if saved filters, get selected mission types if ($this->has_filters) { $s = $this->has_filters->getUserFilterMissionTypess(); if (sizeof($s) > 0) { foreach ($s as $ru) { if ($this->has_filters) { $arr[] = $ru->getMissionTypeId(); } else { $arr[] = $ru->getId(); } } } $params['selected_types'] = $arr; } } } else { $params = $this->getUser()->getAttribute('staff_available', array(), 'person'); } //mission types selected by default $arr = array(); if (sizeof($this->mission_types) > 0) { foreach ($this->mission_types as $ru) { $arr[] = $ru->getId(); } } if (!isset($params['sort_by'])) { $params['sort_by'] = 1; } if (!isset($params['date_range1'])) { $params['date_range1'] = null; } if (!isset($params['date_range2'])) { $params['date_range2'] = null; } if (!isset($params['weekdays'])) { $params['weekdays'] = array(1, 1, 1, 1, 1, 1, 1); } if (!isset($params['wing_id'])) { $params['wing_id'] = null; } if (!isset($params['airport_ident'])) { $params['airport_ident'] = null; } if (!isset($params['city'])) { $params['city'] = null; } if (!isset($params['state'])) { $params['state'] = null; } if (!isset($params['zipcode'])) { $params['zipcode'] = null; } if (!isset($params['origin'])) { $params['origin'] = 1; } if (!isset($params['dest'])) { $params['dest'] = 1; } if (!isset($params['needs_pilot'])) { $params['needs_pilot'] = null; } if (!isset($params['co_pilot'])) { $params['co_pilot'] = null; } if (!isset($params['ifr'])) { $params['ifr'] = null; } if (!isset($params['selected_types'])) { $params['selected_types'] = $arr; } if (!isset($params['filled'])) { $params['filled'] = null; } if (!isset($params['open'])) { $params['open'] = null; } if (!isset($params['max_pass'])) { $params['max_pass'] = null; } if (!isset($params['max_weight'])) { $params['max_weight'] = null; } if (!isset($params['max_distance'])) { $params['max_distance'] = null; } if (!isset($params['min_efficiency'])) { $params['min_efficiency'] = 85; } if (!isset($params['ignore_availability'])) { $params['ignore_availability'] = null; } if (!isset($params['member_id'])) { $params['member_id'] = null; } if ($this->hasRequestParameter('sort_by')) { $params['sort_by'] = $this->getRequestParameter('sort_by'); } if ($request->getParameter('filter') && $request->getParameter('filter') == 1) { $params['date_range1'] = $request->getParameter('date_range1'); $params['date_range2'] = $request->getParameter('date_range2'); $params['weekdays'] = $request->getParameter('weekdays', array(1, 1, 1, 1, 1, 1, 1)); $params['wing_id'] = $request->getParameter('wing_id'); $params['airport_ident'] = $request->getParameter('airport_ident'); $params['city'] = $request->getParameter('city'); $params['state'] = $request->getParameter('state'); $params['zipcode'] = $request->getParameter('zipcode'); $params['origin'] = $request->getParameter('origin'); $params['dest'] = $request->getParameter('dest'); $params['needs_pilot'] = $request->getParameter('needs_pilot'); $params['co_pilot'] = $request->getParameter('co_pilot'); $params['ifr'] = $request->getParameter('ifr'); $params['selected_types'] = $request->getParameter('selected_types[]', $arr); $params['filled'] = $request->getParameter('filled'); $params['open'] = $request->getParameter('open'); $params['max_pass'] = $request->getParameter('max_pass'); $params['max_weight'] = $request->getParameter('max_weight'); $params['max_distance'] = $request->getParameter('max_distance'); $params['min_efficiency'] = $request->getParameter('min_efficiency'); $params['ignore_availability'] = $request->getParameter('ignore_availability'); $params['member_id'] = $request->getParameter('member_id'); } $this->page = $request->getParameter('page', 1); $this->max = sfConfig::get('app_max_mission_available_per_pager', 10); $this->sort_by = $params['sort_by']; $this->date_range1 = $params['date_range1']; $this->date_range2 = $params['date_range2']; $this->weekdays = $params['weekdays']; $this->wing_id = $params['wing_id']; $this->ident = $params['airport_ident']; $this->city = $params['city']; $this->state = $params['state']; $this->zip = $params['zipcode']; $this->origin = $params['origin']; $this->dest = $params['dest']; $this->needs_pilot = $params['needs_pilot']; $this->co_pilot = $params['co_pilot']; $this->ifr = $params['ifr']; $this->selected_types = $params['selected_types']; $this->filled = $params['filled']; $this->open = $params['open']; $this->max_pass = $params['max_pass']; $this->max_weight = $params['max_weight']; $this->max_distance = $params['max_distance']; $this->min_efficiency = $params['min_efficiency']; // Default efficiency $this->ignore_availability = $params['ignore_availability']; $this->member_id = $params['member_id']; $this->getUser()->setAttribute('staff_available', $params, 'person'); $this->error_min_eff = false; if (isset($this->min_efficiency) && $this->min_efficiency != null && !($this->min_efficiency >= 1 && $this->min_efficiency <= 100)) { $this->error_min_eff = true; } }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(UserFilterPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(UserFilterPeer::DATABASE_NAME); $criteria->add(UserFilterPeer::ID, $pks, Criteria::IN); $objs = UserFilterPeer::doSelect($criteria, $con); } return $objs; }
/** * Display list of available missions for Staff members */ public function executeStaffAvailable(sfWebRequest $request) { $this->getUser()->setFlash("warning", 'This link not available url ' . $request->getUri()); $this->redirect('dashboard/index'); if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $person = PersonPeer::retrieveByPK($this->getUser()->getId()); $this->date_range1 = ''; $this->date_range2 = ''; $this->date_widget = new widgetFormDate(array('format_date' => array('js' => 'mm/dd/yy', 'php' => 'm/d/Y')), array('class' => 'text')); $this->wings = WingPeer::getForSelectParentNew(); $this->states = sfConfig::get('app_short_states'); $this->has_filters = UserFilterPeer::getByPersonId($person->getId()); if (isset($this->has_filters) && $this->has_filters instanceof UserFilter) { $this->f_person_id = $this->has_filters->getId(); } $this->mission_legs = MissionLegPeer::doSelect(new Criteria()); #get Missions Pilot may interested $this->missions = MissionPeer::getByMayInterested(); //$this->mission_types = MissionTypePeer::doSelect(new Criteria()); $this->miss_pre = array(); $this->miss_array = array(); $this->miss_ids = array(); $count_pre = 0; $count = 0; $check = 0; foreach ($this->mission_legs as $leg) { $this->miss_ids[$leg->getMissionId()] = $leg->getMissionId(); } foreach ($this->mission_legs as $leg) { if ($this->miss_ids[$leg->getMissionId()] == $leg->getMissionId()) { $this->miss_array[$leg->getMissionId()] = $leg->getMissionId(); $count++; } } // if($pilot->getPrimaryAirportId() == null && isset($pilot)){ // $this->getUser()->setFlash('success','Pilot has not confirm Primary Airport!!'); // $this->redirect('@pilot_view?id='.$pilot->getId()); // } // $this->getUser()->setFlash('success','You are not Pilot yet!'); // $this->redirect($request->getReferer()); }