Skip to content
Snippets Groups Projects
Commit 9ab90662 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Préparation 8.1.1

parent b4cb8bde
No related branches found
No related tags found
No related merge requests found
......@@ -11,6 +11,10 @@ author: Laurent Lécluse - DSI - Unicaen
* Dans l'onglet Suppression de la fiche intervenant, l'arborescence s'affiche correctement. La suppression partielle ou complète d'un intervenant fonctionne donc de nouveau.
* Un bug se produisait dans l'arborescence de suppression de fiche intervenant : s'il n'y avait qu'un seul service ou qu'un seul référentiel alors rien n'était affiché. C'est corrigé.
## Nouveautés
* Possibilité de récupérer des attributs multivalués pour faire la correspondance d'identifiant entre le LDAP et le code utilisateur indiqué dans la fiche Intervenant
## Notes de mise à jour
* Attention : Le répertoire public/modeles de OSE était propre à l'Université de Caen et il a été supprimé.
......
<?php
/**
* @var $this \Application\View\Renderer\PhpRenderer
* @var $controller \Zend\Mvc\Controller\AbstractController
* @var $viewName string
* @var $sl \Zend\ServiceManager\ServiceLocatorInterface
*/
$data = "2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 -2 -2 0 0 0 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 2 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 2 0 0 0 2 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 4 0 0 0 4 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 40 0 0 0 40 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 20 0 0 0 20 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 -40 -40 0 0 0 0 0 0
2018 Derivery Francois Université Le Havre Normandie Vacataire 0 0 0 0 Réalisé Validé 1 0 1 0 TD 1 1 1 0 0 1 1 -20 -20 0 0 0 0 0 0
";
$debug = false;
//$debug = true;
/*
Structures :
1 Droit
2 Histoire
3 IAE
4 IUT
5 Lettres
6 Santé
7 Sciences
8 SUAPS
9 Université
*/
$data = explode("\n", $data);
?>
<style>
table {
font-size: 8pt;
}
</style>
<table class="table table-bordered table-condensed table-extra-condensed table-hover">
<tr>
<th>Structure</th>
<th>ServiceStatutaire</th>
<th>Référentiel</th>
<th>Type d'intervention</th>
<th>Taux FI</th>
<th>Taux FA</th>
<th>Taux FC</th>
<th>Modulateur HC</th>
<th>Heures</th>
<th>P1</th>
<th>P2</th>
<th>P3</th>
<th>P4</th>
<th>P5</th>
<th>SFi</th>
<th>SFa</th>
<th>SFc</th>
<th>SRef</th>
<th>HCFi</th>
<th>HCFa</th>
<th>HCFc</th>
<th>HCFcM</th>
<th>HCRef</th>
<th>Tableau</th>
</tr>
<?php
/** @var \Doctrine\ORM\EntityManager $bdd */
$bdd = $sl->get(\Application\Constants::BDD);
/** @var \Application\Service\FormuleTestIntervenantService $ftiService */
$ftiService = $sl->get(\Application\Service\FormuleTestIntervenantService::class);
$fti = null;
foreach ($data as $l) {
if (trim($l)) {
$c = explode("\t", trim($l));
if (!$fti) {
$fti = new \Application\Entity\Db\FormuleTestIntervenant();
$fi = [
'annee' => $c[0],
'nom' => $c[1],
'prenom' => $c[2],
'formule' => $c[3],
'typeIntervenant' => $c[4],
'heuresServiceStatutaire' => stringToFloat($c[5]),
'depassementServiceDuSansHC' => stringToFloat($c[6]),
'heuresServiceModifie' => stringToFloat($c[7]),
'heuresDecharge' => stringToFloat($c[8]),
'typeVolumeHoraire' => $c[9],
'etatVolumeHoraire' => $c[10],
];
if ($debug) {
var_dump($fi);
} else {
$fti->setLibelle($fi['prenom'] . ' ' . $fi['nom']);
$fti->setFormule($bdd->getRepository(\Application\Entity\Db\Formule::class)->findOneBy(['libelle' => $fi['formule']]));
$fti->setAnnee($bdd->getRepository(\Application\Entity\Db\Annee::class)->find($fi['annee']));
$fti->setTypeIntervenant($bdd->getRepository(\Application\Entity\Db\TypeIntervenant::class)->findOneBy(['libelle' => $fi['typeIntervenant']]));
$fti->setStructureTest($bdd->getRepository(\Application\Entity\Db\FormuleTestStructure::class)->find(1));
$fti->setTypeVolumeHoraire($bdd->getRepository(\Application\Entity\Db\TypeVolumeHoraire::class)->findOneBy(['libelle' => $fi['typeVolumeHoraire']]));
$fti->setEtatVolumeHoraire($bdd->getRepository(\Application\Entity\Db\EtatVolumeHoraire::class)->findOneBy(['libelle' => $fi['etatVolumeHoraire']]));
$fti->setHeuresDecharge($fi['heuresDecharge']);
$fti->setHeuresServiceStatutaire($fi['heuresServiceStatutaire']);
$fti->setHeuresServiceModifie($fi['heuresServiceModifie']);
$fti->setDepassementServiceDuSansHC($fi['depassementServiceDuSansHC'] == '1');
$bdd->persist($fti);
$bdd->flush($fti);
}
}
$composante = $c[11] == '1' ? 1 : ($c[12] == '1' ? 9 : 2);
$serviceStatutaire = $c[13] == '1';
$typeIntervention = $c[15];
$referentiel = $c[14] == '1';
$tauxFi = stringToFloat($c[18]);
$tauxFa = stringToFloat($c[19]);
$tauxFc = stringToFloat($c[20]);
$modulateurHC = stringToFloat($c[22]);
$heures = stringToFloat($c[23]);
$param1 = $c[24];
$param2 = $c[25];
$param3 = $c[26];
$param4 = $c[27];
$param5 = $c[28];
$serviceFi = stringToFloat($c[29]);
$serviceFa = stringToFloat($c[30]);
$serviceFc = stringToFloat($c[31]);
$serviceReferentiel = stringToFloat($c[32]);
$heuresComplFi = stringToFloat($c[33]);
$heuresComplFa = stringToFloat($c[34]);
$heuresComplFc = stringToFloat($c[35]);
$heuresComplFcMaj = stringToFloat($c[36]);
$heuresComplReferentiel = isset($c[37]) ? stringToFloat($c[37]) : null;
// Traitement et affichage
$composante = $sl->get(\Application\Constants::BDD)->getRepository(\Application\Entity\Db\FormuleTestStructure::class)->find($composante);
if ($debug) {
$c = '<pre>' . var_export($c, true) . '</pre>';
} else {
$c = '';
$vh = new \Application\Entity\Db\FormuleTestVolumeHoraire();
$vh->setIntervenantTest($fti);
$vh->setStructureTest($composante);
$vh->setServiceStatutaire($serviceStatutaire);
$vh->setReferentiel($referentiel);
$vh->setTypeInterventionCode($typeIntervention);
$vh->setTauxFi($tauxFi);
$vh->setTauxFa($tauxFa);
$vh->setTauxFc($tauxFc);
$vh->setPonderationServiceCompl($modulateurHC);
$vh->setHeures($heures);
$vh->setAServiceFi($serviceFi);
$vh->setAServiceFa($serviceFa);
$vh->setAServiceFc($serviceFc);
$vh->setAServiceReferentiel($serviceReferentiel);
$vh->setAHeuresComplFi($heuresComplFi);
$vh->setAHeuresComplFa($heuresComplFa);
$vh->setAHeuresComplFc($heuresComplFc);
$vh->setAHeuresComplFcMajorees($heuresComplFcMaj);
$vh->setAHeuresComplReferentiel($heuresComplReferentiel);
$bdd->persist($vh);
$bdd->flush($vh);
}
?>
<tr>
<td><?= $composante ?></td>
<td><?= $serviceStatutaire ? 'Oui' : 'Non' ?></td>
<td><?= $referentiel ? 'Oui' : 'Non' ?></td>
<td><?= $typeIntervention ?></td>
<td><?= $tauxFi ?></td>
<td><?= $tauxFa ?></td>
<td><?= $tauxFc ?></td>
<td><?= $modulateurHC ?></td>
<td><?= $heures ?></td>
<td><?= $param1 ?></td>
<td><?= $param2 ?></td>
<td><?= $param3 ?></td>
<td><?= $param4 ?></td>
<td><?= $param5 ?></td>
<td><?= $serviceFi ?></td>
<td><?= $serviceFa ?></td>
<td><?= $serviceFc ?></td>
<td><?= $serviceReferentiel ?></td>
<td><?= $heuresComplFi ?></td>
<td><?= $heuresComplFa ?></td>
<td><?= $heuresComplFc ?></td>
<td><?= $heuresComplFcMaj ?></td>
<td><?= $heuresComplReferentiel ?></td>
<td><?= $c ?></td>
</tr>
<?php
}
}
?>
</table>
......@@ -214,16 +214,16 @@ class LdapConnecteur extends AbstractService
if ($ldapUser){
// si utilisateur_code_filtre présent : regexp pour recupérer une valeur précise d'un attribut multivalué,
// par exemple l'attribut étiqueté supannRefId
$utilisateur_code_filtre = $this->getUtilisateurCodeFiltre();
$utilisateurCodeFiltre = $this->getUtilisateurCodeFiltre();
if ($utilisateur_code_filtre != '') {
$utilisateur_courant_code = $this->getPeopleAttribute($ldapUser,$this->getUtilisateurCode());
if ($utilisateurCodeFiltre != '') {
$utilisateurCourantCode = $this->getPeopleAttribute($ldapUser,$this->getUtilisateurCode());
// si attribut multivalué, valeurs séparées par de virgules -> transformation en array
$utilisateur_courant_code_arr = explode(',', $utilisateur_courant_code);
$utilisateurCourantCodeArr = explode(',', $utilisateurCourantCode);
foreach ($utilisateur_courant_code_arr as $utilisateur_courant_code_elem) {
if (preg_match($utilisateur_code_filtre, $utilisateur_courant_code_elem, $matches)) {
foreach ($utilisateurCourantCodeArr as $utilisateurCourantCodeElem) {
if (preg_match($utilisateurCodeFiltre, $utilisateurCourantCodeElem, $matches)) {
return $matches[1];
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment