public function executeMenu(sfWebRequest $request) { if ($login = $request->getParameter('login', null)) { $this->asso = AssoTable::getInstance()->getOneByLogin($login)->select('q.id, q.login')->fetchOne(); } else { if ($login = $request->getParameter('asso', null)) { $this->asso = AssoTable::getInstance()->getOneByLogin($login)->select('q.id, q.login')->fetchOne(); } else { $this->asso = AssoTable::getInstance()->getOneById(1)->select('q.id, q.login')->fetchOne(); } } // BDE if ($this->asso) { if ($this->asso->isPole()) { $this->couleur = PoleTable::getInstance()->findOneBy('asso_id', $this->asso->getId())->getCouleur(); } else { $this->couleur = $this->asso->getPole()->getCouleur(); } } /* * Si l'utilisateur est membre * et que l'association n'a pas de président, * on lui propose de suivre la procédure de signature de charte. */ if ($this->getUser()->isAuthenticated() && $this->asso && $this->getUser()->getGuardUser()->isMember($this->asso->getLogin())) { $pres = AssoMemberTable::getInstance()->getPresident($this->asso)->fetchOne(); $this->charte = !$pres ? true : false; } else { $this->charte = false; } }
/** * Returns an array containing all permissions, including groups permissions * and single permissions. * * @return array */ public function getAllPermissions() { if (!$this->_allPermissions) { $this->_allPermissions = parent::getAllPermissions(); $asso_members = AssoMemberTable::getInstance()->getDroits($this->getPrimaryKey())->execute(); foreach ($asso_members as $asso_member) { if ($asso_member->getSemestreId() == sfConfig::get('app_portail_current_semestre')) { $this->_allPermissions[$asso_member->getAsso()->getLogin()] = $asso_member; } } } return $this->_allPermissions; }
public function removeMember(sfGuardUser $user) { $assoMember = AssoMemberTable::getInstance()->getCurrentAssoMember($this->getPrimaryKey(), $user->getPrimaryKey())->fetchOne(); $assoMember->delete(); }
public function executeMemberJson() { $this->asso = $this->getRoute()->getObject(); $this->membres = AssoMemberTable::getInstance()->getMembres($this->asso)->execute(); $this->roles = RoleTable::getInstance()->findAll(); }
public function executeLocauxRefuse(sfWebRequest $request) { $charte_locaux = $this->getRoute()->getObject(); $this->redirectUnless($charte_locaux, 'homepage'); $hasdroit = AssoMemberTable::getInstance()->isPresident($charte_locaux->getAssoId(), $this->getUser()->getGuardUser()->getId()); $this->redirectUnless($hasdroit, 'homepage'); $charte_locaux->delete(); $this->getUser()->setFlash('success', 'Le président a refusé la charte. La requête a été supprimée'); $this->redirect('homepage'); }