/** * {@inheritDoc} */ public function getNomsPersonnels($sm, $limit = 100) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNomsPersonnels', array($sm, $limit)); return parent::getNomsPersonnels($sm, $limit); }
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))); }