public function getCharteSigned() { $charte = CharteInfoTable::getInstance()->getByAssoAndSemestre($this->getId())->fetchOne(); return $charte ? $charte->getConfirmation() : 0; }
/** * * * @param sfRequest $request A request object */ public function executeShow(sfWebRequest $request) { $this->asso = $this->getRoute()->getObject(); $this->redirectUnless($this->asso, 'assos_list'); if ($this->asso->isPole()) { $pole = PoleTable::getInstance()->findOneBy('asso_id', $this->asso->getId()); $this->assos = AssoTable::getInstance()->getAssosList($pole->getId())->execute(); } /* * Si par le passé l'utilisateur a été membre de l'association, * mais que ce n'est plus le cas actuellement, * il faut afficher une alerte l'invitant à se réinscrire. */ if ($this->asso->getJoignable() && $this->getUser()->isAuthenticated() && !$this->getUser()->getGuardUser()->isMember($this->asso->getLogin())) { $r = AssoMemberTable::getInstance()->getAssoMember($this->asso->getId(), $this->getUser()->getGuardUser()->getId())->execute(); if ($r->count() > 0) { $this->flashwarn = 'Vous avez été membre de cette association par le passé.<br /> Pour la rejoindre à nouveau <a href="' . $this->generateUrl('asso_join', $this->asso) . '">cliquez ici</a>.'; } } /* * Si l'utilisateur est l'ancien président et que l'association n'a pas de président * */ $pres = AssoMemberTable::getInstance()->getPresident($this->asso)->fetchOne(); if ($this->getUser()->isAuthenticated() && !$pres && ($asso_member = AssoMemberTable::getInstance()->wasPresident($this->asso->getId(), $this->getUser()->getGuardUser()->getId()) || $this->getUser()->getGuardUser()->hasPermission('chartes_valider')) && ($c = CharteInfoTable::getInstance()->getByAssoAndSemestre($this->asso->getId())->andWhere('q.confirmation = ?', false)->execute())) { if ($c->count() > 0) { $msg = 'En tant qu\'ancien président de cette association, vous devez valider les demandes de passation.<br /> Les demandes suivantes ont été effectuées :<br /><ul>'; foreach ($c as $charte) { $msg .= '<li><b>' . $charte->getResponsable()->getName() . '</b> le <em>' . $charte->getDate() . '</em> - <a href="' . $this->generateUrl('asso_charte_confirm', $charte) . '">Confirmer</a> / <a href="' . $this->generateUrl('asso_charte_refuse', $charte) . '">Refuser</a></li>'; } $msg .= '</ul>'; $this->flashinfo = $msg; } } /* * Demande de validation de charte locaux à l'actuel président * */ if ($this->getUser()->isAuthenticated() && ($hasdroit = AssoMemberTable::getInstance()->isPresident($this->asso->getId(), $this->getUser()->getGuardUser()->getId()) && ($cl = CharteLocauxTable::getInstance()->getByAssoAndSemestre($this->asso->getId())->andWhere('q.statut = ?', 1)->execute()))) { if ($cl->count() > 0) { $msg = 'En tant qu\'actuel président de cette association vous devez valider les demandes d\'accès étendu aux locaux.<br /> Les demandes suivantes ont été effectuées :<br /><br /><ul>'; foreach ($cl as $locaux) { $msg .= '<li><b>' . $locaux->getResponsable()->getName() . '</b> le <em>' . $locaux->getDate() . '</em><br />Accès demandé:<ul>'; if ($locaux->getPorteMde()) { $msg .= '<li>Porte de la MDE</li>'; } if ($locaux->getBatA()) { $msg .= '<li>Batiment A</li>'; } if ($locaux->getLocauxPic()) { $msg .= '<li>Locaux du Pic</li>'; } if ($locaux->getMdeComplete()) { $msg .= '<li>MDE complète</li>'; } if ($locaux->getBureauPolar()) { $msg .= '<li>Bureau du Polar</li>'; } if ($locaux->getPermPolar()) { $msg .= '<li>Permanence du Polar</li>'; } if ($locaux->getSallesMusique()) { $msg .= '<li>Salles de musique</li>'; } $msg .= '</ul><br />'; $msg .= 'Motif: <br />' . $locaux->getMotif() . '<br />'; $msg .= '<a href="' . $this->generateUrl('locaux_accept', $locaux) . '">Accepter</a> / <a href="' . $this->generateUrl('locaux_refuse', $locaux) . '">Refuser</a></li>'; } $msg .= '</ul><br />'; $this->flashinfo = $msg; } } }