Ejemplo n.º 1
0
 /**
  * Executes group index action
  *
  * @param sfRequest $request A request object
  */
 public function executeUsergroupIndex(sfWebRequest $request)
 {
     $this->forward404Unless($this->usergroup = UsergroupPeer::retrieveByPk($request->getParameter('usergroupId')), sprintf('Object usergroup does not exist (%s).', $request->getParameter('usergroupId')));
     $this->forward404Unless($this->user = $this->getUser()->getTemposUser(), 'No user logged-in.');
     $this->forward404Unless($this->getUser()->getTemposUser()->isLeader($this->usergroup), 'The logged user is not leader of the specified usergroup.');
     $this->form = new UserSearchForm();
     $formName = $this->form->getName();
     $this->form->setIsActive(null);
     $this->form->setCardNumber(null);
     $this->form->setUsergroupsAsLeader(null);
     $this->form->setUsergroupsAsMember(null);
     $this->getUser()->syncParameters($this, 'home', 'usergroupIndex', array($formName, 'sort_column', 'sort_direction'), $request);
     if (is_null($this->sort_column)) {
         $this->sort_column = 'name';
         $this->sort_direction = 'up';
     }
     $c = new Criteria();
     SortCriteria::addSortCriteria($c, $this->sort_column, UserPeer::getSortAliases(), $this->sort_direction);
     if (!is_null($this->{$formName})) {
         $this->filtered = true;
         $this->form->bind($this->{$formName}, $request->getFiles($formName));
         $c = UserPeer::getUsergroupMemberCriteria($this->usergroup->getId(), $c);
         if ($this->form->isValid()) {
             $this->user_list = UserPeer::searchUsers($this->form->getValue('login'), $this->form->getValue('family_name'), $this->form->getValue('surname'), $this->form->getValue('usergroupsAsLeader'), $this->form->getValue('usergroupsAsMember'), $this->form->getValue('activities'), $this->form->getValue('is_active'), $this->form->getValue('card_number'), $this->form->getValue('year_min'), $this->form->getValue('year_max'), $this->form->getValue('email_address'), $this->form->getValue('address'), $this->form->getValue('phone_number'), $c);
         }
     }
     if (!isset($this->user_list)) {
         $this->filtered = false;
         $this->user_list = $this->usergroup->getMembers();
     }
     $this->count = count($this->user_list);
     $this->getUser()->setAttribute('usergroupId', $this->usergroup->getId());
 }
Ejemplo n.º 2
0
 public function getMembersCount($c = null)
 {
     $c = UserPeer::getUsergroupMemberCriteria($this->getId(), $c);
     return UserPeer::doCount($c);
 }