/**
  * {@inheritDoc}
  */
 public function getNomsPersonnels($sm, $limit = 100)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNomsPersonnels', array($sm, $limit));
     return parent::getNomsPersonnels($sm, $limit);
 }
Esempio n. 2
0
 public function editerficheheureAction()
 {
     $sm = $this->getServiceLocator();
     $saisie = new SaisieHeureProjet();
     $utilisateur = new Container('utilisateur');
     if (!$this->getRequest()->isXmlHttpRequest()) {
         // Récupération de l'EntityManager
         $em = $this->getEntityManager();
         // Récupération du traducteur
         $translator = $sm->get('Translator');
         // Récupération de la requete
         $request = $this->getRequest();
         //Assignation de variables au layout
         $this->layout()->setVariables(array('headTitle' => $translator->translate('Fiche d\'heures'), 'breadcrumbActive' => $utilisateur->offsetGet('identite'), 'route' => array(), 'action' => 'editerficheheure', 'module' => 'fiche_heure', 'plugins' => array('fullcalendar', 'jquery-ui')));
         // Récupération de l'utilisateur courant
         $idPersonnel = $utilisateur->offsetGet('id');
         // Date de début et date de fin
         list($y, $m, $d) = explode('-', date('Y-m-d', time()));
         $dateDebut = mktime(4, 0, 0, $m, 01, $y);
         $dateFin = mktime(4, 0, 0, $m, date('t', $dateDebut), $y);
         // Récupération de la liste des personnels
         $personnel = new Personnel();
         $personnels = $personnel->getNomsPersonnels($this->getServiceLocator());
         // Récupération des saisies d'heure du personnel connecté,
         // ainsi que du récapitulatif par projet du personnel
         $saisiesHoraires = $saisie->getSaisiesHeureParProjet($sm, $dateDebut, $dateFin, $idPersonnel);
         // a transformer en array compréhensible par la conversion JSON.
         $recapitulatif = $saisie->getRecapitulatifParProjet($sm, $dateDebut, $dateFin, $idPersonnel);
         // A CHANGER !!
         // Vue avec Calendar
         return new ViewModel(array('personnels' => $personnels, 'saisiesHoraires' => $saisiesHoraires, 'recapitulatif' => $recapitulatif, 'idPersonnel' => $idPersonnel));
         // $id = $utilisateur->offsetGet('id');
         // $utilisateurCourant = $em->getRepository('Personnel\Entity\Personnel')->find($id);
         // if($utilisateurCourant == null)
         //     throw new \Exception($translator->translate('Une erreur est survenue au chargement des heures.'));
     }
     // S'il s'agit d'une recherche
     // Critères de recherche
     $critere = $_GET['critere'];
     $idAffaire = isset($_GET['affaire']) ? $_GET['affaire'] : null;
     // Date de début et date de fin
     $dateCalendar = $_GET['date'];
     list($y, $m, $d) = explode('-', substr($dateCalendar, 0, 10));
     $dateDebut = mktime(4, 0, 0, $m, 01, $y);
     $dateFin = mktime(4, 0, 0, $m, date('t', $dateDebut), $y);
     switch ($critere) {
         case 'projet':
             $idPersonnel = isset($_GET['personnel']) ? $_GET['personnel'] : null;
             $saisiesHoraires = $saisie->getSaisiesHeureParPersonnel($sm, $dateDebut, $dateFin, $idPersonnel, $idAffaire);
             // $recapitulatif = $saisie->getRecapitulatifParPersonnel($sm, $idAffaire);
             break;
         default:
             $idPersonnel = isset($_GET['personnel']) ? $_GET['personnel'] : (int) $utilisateur->offsetGet('id');
             $saisiesHoraires = $saisie->getSaisiesHeureParProjet($sm, $dateDebut, $dateFin, $idPersonnel, $idAffaire);
             // $recapitulatif = $saisie->getRecapitulatifParProjet($sm, $dateDebut, $dateFin, $idPersonnel);
             break;
     }
     return new JsonModel(array('saisiesPHP' => $saisiesHoraires, 'date' => date("Y-m-d", $dateDebut)));
 }