public function executeListeSalles() { if ($this->getUser()->isAuthenticated()) { //BDE toujours dans les poles de l'utilisateur $this->polesUser = array("1"); $this->assosUser = AssoTable::getInstance()->getMyAssos($this->getUser()->getGuardUser()->getId())->execute(); if ($this->assosUser) { foreach ($this->assosUser as $asso) { //si c'est une asso normale if ($asso->getPoleId()) { $pole = PoleTable::getInstance()->getOneById($asso->getPoleId()); } else { $pole = PoleTable::getInstance()->getOneByAsso($asso); } if ($pole && !in_array($pole->getId(), $this->polesUser)) { array_push($this->polesUser, $pole->getId()); } } } $this->sallesUser = array(); foreach ($this->polesUser as $pole) { $salles = SalleTable::getInstance()->getSalleByPole($pole)->execute(); foreach ($salles as $salle) { array_push($this->sallesUser, $salle); } } if ($this->idSalle != -1) { $this->salle = SalleTable::getInstance()->getSalleById($this->idSalle)->fetchOne(); } else { $this->salle = NULL; } } }
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; } }
public function executeCreate(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST)); $budget_categorie = new BudgetCategorie(); $request_params = $request->getParameter('budget_categorie'); $this->asso = AssoTable::getInstance()->find($request_params['asso_id']); $this->checkAuthorisation($this->asso); $budget_categorie->setAsso($this->asso); $this->form = new BudgetCategorieForm($budget_categorie); $this->processForm($request, $this->form); $this->setTemplate('new'); $this->getResponse()->setSlot('current_asso', $this->asso); }
public function executeCreate(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST)); $this->form = new NoteDeFraisForm(); $request_params = $request->getParameter($this->form->getName()); $this->asso = AssoTable::getInstance()->find($request_params['asso_id']); $this->checkAuthorisation($this->asso); $this->ndf = new NoteDeFrais(); $this->ndf->setAsso($this->asso); $this->form = new NoteDeFraisForm($this->ndf); $this->processForm($request, $this->form); $this->setTemplate('new'); $this->getResponse()->setSlot('current_asso', $this->asso); }
/** * Method to use the zend framework for search * update the index file used for search */ public function updateLuceneIndex() { $index = AssoTable::getInstance()->getLuceneIndex(); // remove existing entries foreach ($index->find('pk:' . $this->getId()) as $hit) { $index->delete($hit->id); } $doc = new Zend_Search_Lucene_Document(); // store asso primary key to identify it in the search results $doc->addField(Zend_Search_Lucene_Field::Keyword('pk', $this->getId())); // index asso fields $doc->addField(Zend_Search_Lucene_Field::UnStored('name', $this->getName(), 'utf-8')); $doc->addField(Zend_Search_Lucene_Field::UnStored('description', $this->getDescription(), 'utf-8')); $doc->addField(Zend_Search_Lucene_Field::UnStored('login', $this->getLogin(), 'utf-8')); // add asso to the index $index->addDocument($doc); $index->commit(); }
public function executeCreate(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST)); $avance = new AvanceTreso(); $this->form = new AvanceTresoForm($avance); $request_params = $request->getParameter($this->form->getName()); $table = AssoTable::getInstance(); $this->asso = $table->find($request_params['emetteur_id']); $this->asso1 = $table->retrieveAsso($table->getOneByLogin($request_params['asso_id'])); $this->checkAuthorisation($this->asso); $avance->Emetteur = $this->asso; $avance->Asso = $this->asso1; $this->form->configure(); // on reconfigure pour prendre on compte l'Asso $this->processForm($request, $this->form, $this->asso, $this->asso1); $this->getResponse()->setSlot('current_asso', $this->asso); $this->setTemplate('new'); }
public function configure() { if ($this->getOption('PoleId') != 1) { // salle spécifique à un pôle. // préparation du tableau associatif regroupant les id et les noms des assos de l'utilisateur pour le pôle de la salle concernée $choices = array(); $c = AssoTable::getInstance()->getMyAssosNameByIdSalle($this->getOption('UserID'), $this->getOption('idSalle'))->execute(); foreach ($c as $asso) { $choices = $choices + array($asso->getId() => $asso->getName()); } // Préparation des données pour la suite de l'algo $Salle = SalleTable::getInstance()->getSalleById($this->getOption('idSalle'))->fetchOne(); $PoleLogin = $Salle->getPole()->getAssoId(); $PoleName = AssoTable::getInstance()->getOneById($PoleLogin)->fetchOne()->getName(); $PoleId = AssoTable::getInstance()->getOneById($PoleLogin)->fetchOne()->getId(); $myAssos = AssoTable::getInstance()->getMyAssos($this->getOption('UserID'))->execute(); // Constitution du tableau d'ID des assos de l'utilisateur. $ma = array(); foreach ($myAssos as $a) { $ma = $ma + array($a->getId() => $a->getName()); } // Si l'utilisateur appartient au pôle, on ajoute le pôle aux choix possibles. if (in_array($PoleName, $ma)) { $choices = $choices + array($PoleId => $PoleName); } $this->widgetSchema['id_asso'] = new sfWidgetFormChoice(array('choices' => $choices)); } else { $choices = array(); $myAssos = AssoTable::getInstance()->getMyAssos($this->getOption('UserID'))->execute(); // Constitution du tableau d'ID des assos de l'utilisateur. $ma = array(); foreach ($myAssos as $a) { $ma = $ma + array($a->getId() => $a->getName()); } $ma = $ma + array("" => ""); $this->widgetSchema['id_asso'] = new sfWidgetFormChoice(array('choices' => $ma)); } $this->widgetSchema['id_user_valid'] = new sfWidgetFormInputHidden(); $this->widgetSchema['id_salle'] = new sfWidgetFormInputHidden(); $this->widgetSchema['id_user_reserve'] = new sfWidgetFormInputHidden(); $this->widgetSchema['estvalide'] = new sfWidgetFormInputHidden(); $this->widgetSchema['date'] = new sfWidgetFormDate(array('format' => '%day%/%month%/%year%', 'can_be_empty' => false)); $this->widgetSchema['heuredebut'] = new sfWidgetFormTime(array('can_be_empty' => false)); $this->setValidators(array('id' => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)), 'id_user_valid' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('UserValide'), 'required' => false)), 'id_user_reserve' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('UserReserve'))), 'id_asso' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Asso')), array('required' => 'Veuillez rentrer une association.')), 'id_salle' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Salle'))), 'date' => new sfValidatorDate(), 'heuredebut' => new sfValidatorTime(array('required' => false)), 'heurefin' => new sfValidatorTime(array('required' => false)), 'allday' => new sfValidatorBoolean(), 'activite' => new sfValidatorString(array('max_length' => 255)), 'estvalide' => new sfValidatorBoolean(), 'commentaire' => new sfValidatorString(array('required' => false)))); $types = array('Réunion' => 'Réunion', 'Logistique' => 'Logistique', 'Autre' => 'Autre'); $this->widgetSchema['activite'] = new sfWidgetFormChoice(array('choices' => $types)); $years = range(date('Y'), date('Y') + 2); $this->getWidget('date')->addOption('years', array_combine($years, $years)); $lminutes = array(0, 30); $minutes = array(sprintf("%02d", 0), 30); $hours = array(sprintf("%02d", 8), sprintf("%02d", 9), 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23); $this->getWidget('heuredebut')->addOption('minutes', array_combine($lminutes, $minutes)); $this->getWidget('heuredebut')->addOption('hours', array_combine(range(8, 23), $hours)); $this->getWidget('heurefin')->addOption('minutes', array_combine($lminutes, $minutes)); $this->getWidget('heurefin')->addOption('hours', array_combine(range(8, 23), $hours)); $this->getWidget('date')->setLabel('Date:'); $this->getWidget('heuredebut')->setLabel('Créneau:'); $this->getWidget('activite')->setLabel('Activité:'); $this->getWidget('id_asso')->setLabel('Association:'); $this->getWidget('allday')->setLabel('Jour entier:'); $this->validatorSchema->setPostValidator(new sfValidatorAnd(array(new sfValidatorCallback(array('callback' => array($this, 'checkTempsMinDeReservation'))), new sfValidatorCallback(array('callback' => array($this, 'checkPeutReserver'))), new sfValidatorCallback(array('callback' => array($this, 'checkCreneauDansLePasse'))), new sfValidatorCallback(array('callback' => array($this, 'checkCreneauLibre'))), new sfValidatorCallback(array('callback' => array($this, 'checkLimiteMax'))), new sfValidatorCallback(array('callback' => array($this, 'checkJourLibre'))), new sfValidatorCallback(array('callback' => array($this, 'checkHeureDebutAvantHeureFin')))))); }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeIndex(sfWebRequest $request) { $this->assos = AssoTable::getInstance()->getMyAssos($this->getUser()->getGuardUser()->getId())->execute(); }
public function executeList(sfWebRequest $request) { $this->user = $this->getUser()->getGuardUser(); $idSalle = $request->getUrlParameter('id', -1); if ($idSalle == -1) { //BDE toujours dans les poles de l'utilisateur $this->polesUser = array("1"); $this->assosUser = AssoTable::getInstance()->getMyAssos($this->getUser()->getGuardUser()->getId())->execute(); if ($this->assosUser) { foreach ($this->assosUser as $asso) { //si c'est une asso normale if ($asso->getPoleId()) { $pole = PoleTable::getInstance()->getOneById($asso->getPoleId()); } else { $pole = PoleTable::getInstance()->getOneByAsso($asso); } if ($pole && !in_array($pole->getId(), $this->polesUser)) { array_push($this->polesUser, $pole->getId()); } } } $this->sallesUser = array(); foreach ($this->polesUser as $pole) { $salles = SalleTable::getInstance()->getSalleByPole($pole)->execute(); foreach ($salles as $salle) { array_push($this->sallesUser, $salle->getId()); } } $this->reservations = array(); foreach ($this->sallesUser as $salle) { $resa = ReservationTable::getInstance()->getReservationBySalle($salle)->execute(); foreach ($resa as $res) { array_push($this->reservations, $res); } } } else { $this->user = $this->getUser()->getGuardUser(); $this->reservations = ReservationTable::getInstance()->getReservationBySalle($idSalle)->execute(); } }
public function executeChartePost(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT)); $asso = AssoTable::getInstance()->find($request->getParameter('asso_id')); if (!$this->getUser()->isAuthenticated() && $this->getUser()->getGuardUser()->isMember($asso->getLogin)) { $pres = AssoMemberTable::getInstance()->getPresident($this->asso)->fetchOne(); if ($pres) { $this->getUser()->setFlash('warning', 'Cette association a déjà un président.'); } $this->getUser()->setFlash('error', 'Vous n\'avez pas le droit d\'effectuer cette action.'); $this->redirect('asso/show?login='******'check') != $this->getUser()->getUserName()) { $this->getUser()->setFlash('error', 'La signature n\'est pas correcte.'); $this->redirect('asso/charte?login='******'REMOTE_ADDR']); $charte->setSemestreId(sfConfig::get('app_portail_current_semestre')); $charte->setDate(date('Y-m-d H:i:s')); $charte->save(); $this->getUser()->setFlash('success', 'La charte a été signée. La demande doit maintenant être validée par l\'ancien président ou le BDE.'); $this->redirect('asso/show?login=' . $asso->getLogin()); }
public function executeMenu() { $this->assos = AssoTable::getInstance()->getMyAssos($this->getUser()->getGuardUser()->getId())->execute(); }
public function executeAdd(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT)); $asso = AssoTable::getInstance()->getOneByLogin($request->getParameter('login'))->select('q.id, q.login')->fetchOne(); if (!$this->getUser()->isAuthenticated() || !$this->getUser()->getGuardUser()->hasAccess($asso->getLogin(), 0x80)) { $this->getUser()->setFlash('error', 'Vous n\'avez pas le droit d\'effectuer cette action.'); $this->redirect('asso/show?login='******'asso sur laquelle on est $gesmail = new Gesmail($asso); $box = $gesmail->getBoxByID($request->getParameter('box')); $ret = $box->addDest($request->getParameter('email')); if ($ret == 1) { $this->getUser()->setFlash('error', "L'adresse saisie est incorrecte."); } elseif ($ret == 2) { $this->getUser()->setFlash('error', "Il est impossible d'ajouter une adresse à elle-même (regarde les options ;))."); } elseif ($ret == 3) { $this->getUser()->setFlash('warning', "Cette adresse est déjà présente dans la liste."); } if (empty($box->extension)) { $this->redirect('gesmail', array('login' => $asso->getLogin())); } else { $this->redirect('gesmail_box', array('box' => $box->extension, 'login' => $asso->getLogin())); } }
<?php $labels = array(); $data = array(); $datasets = array(); foreach ($poles as $pole) { $pole_asso = AssoTable::getInstance()->getOneById($pole->getAssoId())->execute(); array_push($labels, $pole_asso[0]->getName()); } foreach ($statPoles as $statPole) { array_push($data, $statPole["count_resa"]); } $data1 = array("fillColor" => "rgba(151,187,205,0.5)", "strokeColor" => "rgba(151,187,205,1)", "data" => $data); array_push($datasets, $data1); $result[] = array("labels" => $labels, "datasets" => $datasets); echo json_encode($result);
public function executeStatAsso(sfWebRequest $request) { $this->assos = AssoTable::getInstance()->getAssosList()->execute(); $this->statAssos = AssoTable::getInstance()->getStatAsso()->execute(); }
public function executeCreate(sfWebRequest $request) { $this->forward404Unless($request->isMethod(sfRequest::POST)); $request_transaction = $request->getParameter('transaction'); $this->asso = AssoTable::getInstance()->find($request_transaction['asso_id']); $this->checkAuthorisation($this->asso); $transaction = new Transaction(); $transaction->setAsso($this->asso); $this->form = new TransactionForm($transaction); $this->processForm($request, $this->form); $this->setTemplate('new'); $this->getResponse()->setSlot('current_asso', $this->asso); }