Ejemplo n.º 1
0
 /**
  * Searches for members by filter
  */
 private function processFilter(sfWebRequest $request)
 {
     $params = $this->getUser()->getAttribute('member', array(), 'person');
     if (!isset($params['firstname'])) {
         $params['firstname'] = null;
     }
     if (!isset($params['lastname'])) {
         $params['lastname'] = null;
     }
     if (!isset($params['city'])) {
         $params['city'] = null;
     }
     if (!isset($params['state'])) {
         $params['state'] = null;
     }
     if (!isset($params['country'])) {
         $params['country'] = null;
     }
     if (!isset($params['wing_name'])) {
         $params['wing_name'] = null;
     }
     if (!isset($params['active'])) {
         $params['active'] = null;
     }
     if (!isset($params['flight_status'])) {
         $params['flight_status'] = null;
     }
     $this->max_array = array(5, 10, 20, 30);
     $this->countries = PersonPeer::getCounties();
     $this->flight_statuses = sfConfig::get('app_flight_statuses');
     $this->wings = WingPeer::getNames();
     if (in_array($request->getParameter('max'), $this->max_array)) {
         $params['max'] = $request->getParameter('max');
     } else {
         if (!isset($params['max'])) {
             $params['max'] = sfConfig::get('app_max_person_per_page', 10);
         }
     }
     if ($request->hasParameter('filter')) {
         $params['firstname'] = $request->getParameter('firstname');
         $params['lastname'] = $request->getParameter('lastname');
         $params['city'] = $request->getParameter('city');
         $params['state'] = $request->getParameter('state');
         $params['country'] = in_array($request->getParameter('country'), array_keys($this->countries)) ? $request->getParameter('country') : '';
         $params['wing_name'] = in_array($request->getParameter('wing_name'), array_keys($this->wings)) ? $request->getParameter('wing_name') : '';
         $params['active'] = $request->getParameter('active');
         $params['flight_status'] = in_array($request->getParameter('flight_status'), array_keys($this->flight_statuses)) ? $request->getParameter('flight_status') : '';
     }
     $this->page = $page = $request->getParameter('page', 1);
     $this->max = $params['max'];
     $this->member_Ex_id = $request->getParameter('member_Ex_id', null);
     $this->firstname = $params['firstname'];
     $this->lastname = $params['lastname'];
     $this->city = $params['city'];
     $this->state = $params['state'];
     $this->country = $params['country'];
     $this->wing_name = $params['wing_name'];
     $this->active = $params['active'];
     $this->flight_status = $params['flight_status'];
     $this->getUser()->setAttribute('member', $params, 'person');
 }