Example #1
0
 /**
  * Searches for members
  * It also handles followings:
  * * Master member of a member
  * CODE: member_index
  */
 public function executeIndex(sfWebRequest $request)
 {
     # security
     if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Member', 'Coordinator', 'Volunteer'), false)) {
         $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer());
         $this->redirect('dashboard/index');
     }
     $this->getUser()->addRecentItem('Member', 'member', 'member/index');
     # for navigation menu
     sfContext::getInstance()->getConfiguration()->loadHelpers('Partial');
     slot('nav_menu', array('mission_coord', ''));
     # handle the master member
     if ($request->hasParameter('master_for') && $this->getUser()->hasCredential(array('Administrator', 'Staff', 'Member'), false)) {
         $this->master_for = MemberPeer::retrieveByPK($request->getParameter('master_for'));
     } else {
         $this->master_for = null;
     }
     //    $this->member_id = $this->getRequestParameter('member_id');
     $exclude_ids = array();
     if ($this->master_for) {
         $exclude_ids[] = $this->master_for->getId();
     }
     # filter
     $this->processFilter($request);
     if ($request->isMethod('post') || $request->getParameter('page')) {
         $this->pager = MemberPeer::getPager($this->max, $this->page, $this->member_Ex_id, $this->firstname, $this->lastname, $this->city, $this->state, $this->country, $this->wing_name, $this->active, $this->flight_status, $exclude_ids);
         $this->members = $this->pager->getResults();
     }
     $this->is_active = $request->getParameter('actives');
     # one result with member_id search will go to member view
     if (count($this->members) == 1 && $this->member_id > 0) {
         if ($this->master_for) {
             $url_add = '&master_for=' . $this->master_for->getId();
         } else {
             $url_add = '';
         }
         $this->redirect('@member_view?id=' . $this->members[0]->getId() . $url_add);
     }
 }