Esempio n. 1
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)));
 }
Esempio n. 2
0
 public function miseEnSessionUtilisateur(Personnel $personnel, $email, $motDePasse)
 {
     $utilisateur = new Container('utilisateur');
     $utilisateur->offsetSet('id', $personnel->getId());
     $utilisateur->offsetSet('admin', $personnel->getAdministrateur());
     $utilisateur->offsetSet('identite', $personnel->getPrenom() . ' ' . $personnel->getNom());
     $utilisateur->offsetSet('email', $email);
     $utilisateur->offsetSet('mot_de_passe', $motDePasse);
     $utilisateur->offsetSet('taux_horaire', $personnel->getTauxHoraire());
     $utilisateur->offsetSet('date_modif', $personnel->getDateCreationModification());
     // $utilisateur->offsetSet('fonction',$personnel->getRefFonction()->getIntituleFonction());
     $utilisateur->offsetSet('connecte', true);
 }
Esempio n. 3
0
 public function miseEnSessionUtilisateur(Personnel $personnel, $motDePasse)
 {
     $utilisateur = new Container('utilisateur');
     $utilisateur->offsetSet('id', $personnel->getId());
     $utilisateur->offsetSet('admin', $personnel->getAdministrateur());
     $utilisateur->offsetSet('identite', $personnel->getPrenom() . ' ' . $personnel->getNom());
     $utilisateur->offsetSet('email', $personnel->getEmail());
     $utilisateur->offsetSet('mot_de_passe', $motDePasse);
     // Hum... Réccupérer le mot de passe en session ou celui fournit par le formulaire. Encodé en MD5 à ce moment là ou pas ?
     $utilisateur->offsetSet('taux_horaire', $personnel->getTauxHoraire());
     $utilisateur->offsetSet('date_modif', $personnel->getDateCreationModification());
     // $utilisateur->offsetSet('fonction',$personnel->getRefFonction()->getIntituleFonction());
     $utilisateur->offsetSet('connecte', true);
 }
 /**
  * {@inheritDoc}
  */
 public function getNomsPersonnels($sm, $limit = 100)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNomsPersonnels', array($sm, $limit));
     return parent::getNomsPersonnels($sm, $limit);
 }
Esempio n. 5
0
 public function __construct($translator, $personnel = null, $sm = null, $em = null, $request = null)
 {
     parent::__construct('personnel-form');
     $this->setAttribute('method', 'post');
     $personnelModel = new PersonnelModel();
     $this->fields = $personnelModel->fields;
     $this->setInputFilter($personnelModel->getInputFilter());
     // Creation des champs du formulaire à partir des champs du modèle de l'interlocuteur
     foreach ($this->fields as $field => $data) {
         $value = $type = $label = $required = '';
         $value_options = array();
         if (isset($data['form']['label'])) {
             $label = $translator->translate($data['form']['label']);
         }
         if (isset($data['form']['required']) && $data['form']['required'] == true) {
             $required = 'required ';
         }
         // Déclaration de l'élément de formulaire
         $element = array('name' => $field, 'type' => $data['form']['type'], 'attributes' => array('id' => $field, 'class' => '', 'required' => $required), 'options' => array('label' => $label), 'labelAttributes' => array('class' => 'control-label'));
         // Adding specified class and requirement
         if (isset($data['form']['class'])) {
             $element['attributes']['class'] .= $data['class'];
         }
         $element['attributes']['class'] .= $required;
         // Adding specified attributes
         if (isset($data['form']['attributes']) && is_array($data['form']['attributes']) && count($data['form']['attributes']) > 0) {
             foreach ($data['form']['attributes'] as $attr => $content) {
                 $element['attributes'][$attr] = $content;
             }
         }
         // Adding scripts to the element if exists
         if (isset($data['form']['scripts']) && is_array($data['form']['scripts']) && count($data['form']['scripts']) > 0) {
             $element['scripts'] = $data['form']['scripts'];
         }
         // Faire un switch sur le type afin de générer le bon élément : select, hidden, textfield, textarea...
         switch ($data['form']['type']) {
             case 'text':
                 $element['attributes']['type'] = 'text';
                 $element['attributes']['class'] .= ' form-control';
                 $element['attributes']['placeholder'] = $label;
                 if (isset($data['max'])) {
                     $element['attributes']['maxlength'] = $data['max'];
                 }
                 break;
             case 'textarea':
                 $element['attributes']['type'] = 'textarea';
                 $element['attributes']['class'] .= ' form-control';
                 $element['attributes']['placeholder'] = $label;
                 if (isset($data['max'])) {
                     $element['attributes']['maxlength'] = $data['max'];
                 }
                 break;
             case 'checkbox':
                 $element['attributes']['type'] = 'checkbox';
                 $element['options']['checked_value'] = 1;
                 $element['options']['unchecked_value'] = 0;
                 $element['attributes']['value'] = 1;
                 break;
             case 'date':
                 $element['type'] = 'text';
                 $element['attributes']['type'] = 'text';
                 $element['attributes']['class'] .= ' form-control input-sm';
                 $element['attributes']['placeholder'] = $label;
                 $element['attributes']['data-mask'] = '99/99/9999';
                 break;
             case 'select':
                 $element['attributes']['type'] = 'select';
                 $element['attributes']['class'] .= ' form-control';
                 $element['options']['empty_option'] = $label;
                 if (!isset($data['form']['required']) || $data['form']['required'] == false) {
                     $element['options']['disable_inarray_validator'] = true;
                 }
                 // Permet de préciser que si null est envoyé au form alors qu'il n'est pas dans le tableau des possiblités, on désactive le validateur afin qu'il ne crie pas
                 if (isset($data['form']['value_options'])) {
                     $element['options']['value_options'] = $data['form']['value_options'];
                 } else {
                     $options = array();
                     switch ($field) {
                     }
                     $element['options']['value_options'] = $options;
                 }
                 break;
             default:
                 $element['attributes']['type'] = $data['form']['type'];
                 $element['attributes']['class'] .= ' form-control input-sm';
                 $element['attributes']['placeholder'] = $label;
                 break;
         }
         // Si le interlocuteur n'est pas null et qu'on le modifie, on ajoute ses propriétés au formulaire
         if (!is_null($personnel)) {
             // if($field=='code_fournisseur')
             // {
             // 	$value=$interlocuteur->getRefSocieteFournisseur();
             // 	if($value)
             // 	{
             // 		if($value->getCodeFournisseur())
             // 		{
             // 			$element['attributes']['value']=$value->getCodeFournisseur();
             // 		}
             // 		else
             // 		{
             // 			$element['attributes']['value']=0;
             // 		}
             // 	}
             // }
             if ($field == 'administrateur') {
                 $p = new Personnel();
                 if (!$personnel->getAdministrateur() && $p->existeAdministrateur($em)) {
                     $element['attributes']['disabled'] = 'disabled';
                 }
             }
             if ($field == 'mot_de_passe' || $field == 'confirmation_mot_de_passe') {
                 $element['attributes']['value'] = $personnel->getMotDePasse();
             } else {
                 if ($data['form']['type'] == 'hidden') {
                     $value = $personnel->{'get' . $data['form']['getter']}();
                 } else {
                     $tab = explode('_', $field);
                     $method = '';
                     foreach ($tab as $part) {
                         $method .= ucfirst($part);
                     }
                     $property = lcfirst($method);
                     if (property_exists($personnel, $property)) {
                         $value = $personnel->{'get' . $method}();
                     }
                 }
                 if (is_object($value)) {
                     $element['attributes']['value'] = $value->getId();
                 } else {
                     $element['attributes']['value'] = $value;
                 }
             }
         }
         $this->add($element);
     }
     $this->add(array('name' => 'submit', 'type' => 'Submit', 'attributes' => array('id' => 'interlocuteur-form-submit', 'type' => 'submit', 'class' => 'btn btn-primary pull-right', 'value' => 'Valider')));
 }