Exemplo n.º 1
0
 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;
         }
     }
 }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 /**
  * 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();
 }
Exemplo n.º 6
0
 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');
 }
Exemplo n.º 7
0
 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'))))));
 }
Exemplo n.º 8
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->assos = AssoTable::getInstance()->getMyAssos($this->getUser()->getGuardUser()->getId())->execute();
 }
Exemplo n.º 9
0
 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();
     }
 }
Exemplo n.º 10
0
 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());
 }
Exemplo n.º 11
0
 public function executeMenu()
 {
     $this->assos = AssoTable::getInstance()->getMyAssos($this->getUser()->getGuardUser()->getId())->execute();
 }
Exemplo n.º 12
0
 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()));
     }
 }
Exemplo n.º 13
0
<?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);
Exemplo n.º 14
0
 public function executeStatAsso(sfWebRequest $request)
 {
     $this->assos = AssoTable::getInstance()->getAssosList()->execute();
     $this->statAssos = AssoTable::getInstance()->getStatAsso()->execute();
 }
Exemplo n.º 15
0
 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);
 }