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

Utilisatio des ID pour identifier les fiches intervenant

parent a95f6144
No related branches found
No related tags found
1 merge request!55Ll bug report services
Showing
with 325 additions and 291 deletions
......@@ -113,14 +113,14 @@ class AgrementController extends AbstractController
$params = [
'agrement' => $a->getId(),
'intervenant' => $ta->getIntervenant()->getRouteParam(),
'intervenant' => $ta->getIntervenant()->getId(),
];
$actionUrl = $this->url()->fromRoute('intervenant/agrement/supprimer', $params);
$actionLabel = '<span class="glyphicon glyphicon-trash"></span> Retirer l\'agrément';
} elseif (!$ta->getAgrement() && $this->isAllowed($ta, $ta->getTypeAgrement()->getPrivilegeEdition())) {
$params = [
'typeAgrement' => $ta->getTypeAgrement()->getId(),
'intervenant' => $ta->getIntervenant()->getRouteParam(),
'intervenant' => $ta->getIntervenant()->getId(),
];
if ($ta->getStructure()) $params['structure'] = $ta->getStructure()->getId();
......
......@@ -169,7 +169,7 @@ class ContratController extends AbstractController
}
}
return $this->redirect()->toRoute('intervenant/contrat', ['intervenant' => $intervenant->getRouteParam()]);
return $this->redirect()->toRoute('intervenant/contrat', ['intervenant' => $intervenant->getId()]);
}
......@@ -360,7 +360,6 @@ class ContratController extends AbstractController
$subject = str_replace(':intervenant', $vIntervenant, $subject);
$message = $this->getServiceModeleContrat()->prepareMail($contrat, $html, $subject);
$mail = $this->mail()->send($message);
}
return $this->getResponse();
......
......@@ -68,7 +68,7 @@ class IntervenantController extends AbstractController
return $this->redirect()->toUrl($url);
}
} else {
return $this->redirect()->toRoute('intervenant/voir', ['intervenant' => $intervenant->getRouteParam()]);
return $this->redirect()->toRoute('intervenant/voir', ['intervenant' => $intervenant->getId()]);
}
}
......@@ -376,14 +376,18 @@ class IntervenantController extends AbstractController
return compact('intervenant', 'data');
}
public function validationVolumeHoraireTypeIntervenantAction()
{
$serviceRVS = $this->getServiceRegleStructureValidation();
$listeRsv = $serviceRVS->getList();
return compact('listeRsv');
return compact('listeRsv');
}
public function validationVolumeHoraireTypeIntervenantSaisieAction()
{
$regleStructureValidation = $this->getEvent()->getParam('regleStructureValidation');
......@@ -405,8 +409,7 @@ class IntervenantController extends AbstractController
if (false !== strpos($message, 'ORA-00001')) {
$this->flashMessenger()->addErrorMessage("Règle non enregistrée car elle existe déjà dans OSE");
}
else{
} else {
$this->flashMessenger()->addErrorMessage($this->translate($e));
}
}
......@@ -415,6 +418,8 @@ class IntervenantController extends AbstractController
return compact('form', 'title');
}
public function validationVolumeHoraireTypeIntervenantDeleteAction()
{
$regleStructureValidation = $this->getEvent()->getParam('regleStructureValidation');
......@@ -430,6 +435,7 @@ class IntervenantController extends AbstractController
}
/**
*
* @return array
......
......@@ -83,7 +83,7 @@ abstract class AbstractIndicateur
public function getUrlParams()
{
return [
'intervenant' => $this->getIntervenant()->getRouteParam(),
'intervenant' => $this->getIntervenant()->getId(),
];
}
......
......@@ -313,18 +313,6 @@ class Intervenant implements HistoriqueAwareInterface, ResourceInterface, Import
/**
* retourne le paramètre de route
*
* @return string
*/
public function getRouteParam()
{
return $this->getCode();
}
public function getAdresseIdentite(): ?string
{
$identite = [];
......
......@@ -316,7 +316,7 @@ class RechercheFormHydrator implements HydratorInterface
'type-intervenant' => $object->getTypeIntervenant() ? $object->getTypeIntervenant()->getId() : null,
'structure-aff' => $object->getStructureAff() ? $object->getStructureAff()->getId() : null,
'intervenant' => [
'id' => $object->getIntervenant() ? $object->getIntervenant()->getRouteParam() : null,
'id' => $object->getIntervenant() ? $object->getIntervenant()->getId() : null,
'label' => $object->getIntervenant() ? (string)$object->getIntervenant() : null,
],
'element-pedagogique' => [
......
......@@ -123,7 +123,7 @@ class SaisieFieldset extends AbstractFieldset
/* Peuple le formulaire avec les valeurs issues du contexte local */
if ($this->has('intervenant') && $this->getServiceLocalContext()->getIntervenant()) {
$this->get('intervenant')->setValue([
'id' => $this->getServiceLocalContext()->getIntervenant()->getRouteParam(),
'id' => $this->getServiceLocalContext()->getIntervenant()->getId(),
'label' => (string)$this->getServiceLocalContext()->getIntervenant(),
]);
}
......@@ -297,7 +297,7 @@ class SaisieFieldsetHydrator implements HydratorInterface
if ($object->getIntervenant()) {
$data['intervenant'] = [
'id' => $object->getIntervenant()->getRouteParam(),
'id' => $object->getIntervenant()->getId(),
'label' => (string)$object->getIntervenant(),
];
} else {
......
......@@ -190,7 +190,7 @@ class SaisieFieldset extends AbstractFieldset implements EntityManagerAwareInter
$cl = $this->getServiceLocalContext();
if ($this->has('intervenant') && $cl->getIntervenant()) {
$this->get('intervenant')->setValue([
'id' => $cl->getIntervenant()->getRouteParam(),
'id' => $cl->getIntervenant()->getId(),
'label' => (string)$cl->getIntervenant(),
]);
}
......@@ -393,7 +393,7 @@ class SaisieFieldsetHydrator implements HydratorInterface
if ($object->getIntervenant()) {
$data['intervenant'] = [
'id' => $object->getIntervenant()->getRouteParam(),
'id' => $object->getIntervenant()->getId(),
'label' => (string)$object->getIntervenant(),
];
} else {
......
......@@ -33,7 +33,7 @@ class RechercheProcessus
WITH vrec AS (
SELECT
i.id,
i.source_code,
i.code,
i.nom_usuel,
i.nom_patronymique,
i.prenom,
......@@ -53,7 +53,7 @@ class RechercheProcessus
SELECT
null id,
i.source_code,
i.code,
i.nom_usuel,
i.nom_patronymique,
i.prenom,
......@@ -96,13 +96,13 @@ class RechercheProcessus
try {
$stmt = $this->getEntityManager()->getConnection()->executeQuery($sql);
while ($r = $stmt->fetch()) {
$intervenants[$r['SOURCE_CODE']] = [
$intervenants[$r['CODE']] = [
'civilite' => $r['CIVILITE'],
'nom' => $r['NOM_USUEL'],
'prenom' => $r['PRENOM'],
'date-naissance' => new \DateTime($r['DATE_NAISSANCE']),
'structure' => $r['STRUCTURE'],
'numero-personnel' => $r['SOURCE_CODE'],
'numero-personnel' => $r['CODE'],
];
}
} catch (\Exception $e) {
......
......@@ -83,7 +83,7 @@ class WorkflowService extends AbstractService
*/
public function getEtape($etape, Intervenant $intervenant = null, Structure $structure = null)
{
list($etapeCode, $intervenant, $structure) = $this->prepareEtapeParams($etape, $intervenant, $structure);
[$etapeCode, $intervenant, $structure] = $this->prepareEtapeParams($etape, $intervenant, $structure);
$fdr = $this->getFeuilleDeRoute($intervenant, $structure);
if ($fdr) {
......@@ -108,7 +108,7 @@ class WorkflowService extends AbstractService
*/
public function getNextEtape($etape, Intervenant $intervenant = null, Structure $structure = null)
{
list($etapeCode, $intervenant, $structure) = $this->prepareEtapeParams($etape, $intervenant, $structure);
[$etapeCode, $intervenant, $structure] = $this->prepareEtapeParams($etape, $intervenant, $structure);
$fdr = $this->getFeuilleDeRoute($intervenant, $structure);
$isCurrent = false;
......@@ -135,7 +135,7 @@ class WorkflowService extends AbstractService
*/
public function getPreviousAccessibleEtape($etape, Intervenant $intervenant = null, Structure $structure = null)
{
list($etapeCode, $intervenant, $structure) = $this->prepareEtapeParams($etape, $intervenant, $structure);
[$etapeCode, $intervenant, $structure] = $this->prepareEtapeParams($etape, $intervenant, $structure);
$fdr = $this->getFeuilleDeRoute($intervenant, $structure);
$isCurrent = false;
......@@ -162,7 +162,7 @@ class WorkflowService extends AbstractService
*/
public function getNextAccessibleEtape($etape, Intervenant $intervenant = null, Structure $structure = null)
{
list($etapeCode, $intervenant, $structure) = $this->prepareEtapeParams($etape, $intervenant, $structure);
[$etapeCode, $intervenant, $structure] = $this->prepareEtapeParams($etape, $intervenant, $structure);
$fdr = $this->getFeuilleDeRoute($intervenant, $structure);
$isCurrent = false;
......@@ -255,7 +255,7 @@ class WorkflowService extends AbstractService
$we->setStructure($structure);
$we->setEtape($e->getEtape());
$url = $this->getUrl($e->getEtape()->getRoute(), ['intervenant' => $intervenant->getRouteParam()]);
$url = $this->getUrl($e->getEtape()->getRoute(), ['intervenant' => $intervenant->getId()]);
$we->setUrl($url);
$this->feuillesDeRoute[$iid][$sid][$eid] = $we;
......@@ -322,6 +322,7 @@ class WorkflowService extends AbstractService
$result = false;
}
}
return $result;
}
......@@ -491,14 +492,14 @@ class WorkflowService extends AbstractService
/**
* Generates a url given the name of a route.
*
* @see \Zend\Mvc\Router\RouteInterface::assemble()
*
* @param string $name Name of the route
* @param array $params Parameters for the link
* @param array|Traversable $options Options for the route
* @param bool $reuseMatchedParams Whether to reuse matched parameters
*
* @return string Url For the link href attribute
* @see \Zend\Mvc\Router\RouteInterface::assemble()
*
*/
protected function getUrl($name = null, $params = [], $options = [], $reuseMatchedParams = false)
{
......
......@@ -117,7 +117,7 @@ class IntervenantViewHelper extends AbstractHtmlElement
return '<span class="bg-danger"><abbr title="Cet intervenant a été supprimé de OSE">' . $intervenant . '</abbr></span>';
}
$pourl = $this->getView()->url('intervenant/voir', ['intervenant' => $intervenant->getRouteParam()]);
$pourl = $this->getView()->url('intervenant/voir', ['intervenant' => $intervenant->getId()]);
$out = '<a href="' . $pourl . '" data-po-href="' . $pourl . '" class="ajax-modal">' . $intervenant . '</a>';
return $out;
......
......@@ -16,18 +16,24 @@ class TotauxHetdViewHelper extends AbstractHtmlElement implements FormuleResulta
{
use FormuleResultatAwareTrait;
/**
* Helper entry point.
*
* @param FormuleResultat $formuleResultat
*
* @return self
*/
final public function __invoke(FormuleResultat $formuleResultat)
{
$this->setFormuleResultat($formuleResultat);
return $this;
}
/**
* Retourne le code HTML généré par cette aide de vue.
*
......@@ -38,24 +44,29 @@ class TotauxHetdViewHelper extends AbstractHtmlElement implements FormuleResulta
return $this->render();
}
public function getRefreshUrl()
{
$fr = $this->getFormuleResultat();
return $this->getView()->url(
'intervenant/formule-totaux-hetd', [
'intervenant' => $fr->getIntervenant()->getRouteParam(),
'intervenant' => $fr->getIntervenant()->getId(),
'typeVolumeHoraire' => $fr->getTypeVolumeHoraire()->getId(),
'etatVolumeHoraire' => $fr->getEtatVolumeHoraire()->getId()
'etatVolumeHoraire' => $fr->getEtatVolumeHoraire()->getId(),
]);
}
public function render()
{
$fr = $this->getFormuleResultat();
$attrs = [
'id' => 'formule-totaux-hetd',
'data-url' => $this->getRefreshUrl()
'data-url' => $this->getRefreshUrl(),
];
ob_start();
......@@ -65,61 +76,85 @@ class TotauxHetdViewHelper extends AbstractHtmlElement implements FormuleResulta
<table class="table table-bordered" style="width:auto;">
<?php if ($fr->getServiceDu() > 0): ?>
<tr><th>Service Dû</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getServiceDu()) ?></td></tr>
<tr>
<th>Service Dû</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getServiceDu()) ?></td>
</tr>
<?php endif; ?>
<?php if ($fr->getHeuresService() > 0): ?>
<tr><th>Service assuré</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresService()) ?></td></tr>
<tr>
<th>Service assuré</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresService()) ?></td>
</tr>
<?php if ($fr->getHeuresServiceFa() + $fr->getHeuresServiceFc() + $fr->getHeuresServiceFi() > 0): ?>
<tr><th style="padding-left:5em">Dont enseignements</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresServiceFa() + $fr->getHeuresServiceFc() + $fr->getHeuresServiceFi()) ?></td></tr>
<tr>
<th style="padding-left:5em">Dont enseignements</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresServiceFa() + $fr->getHeuresServiceFc() + $fr->getHeuresServiceFi()) ?></td>
</tr>
<?php endif; ?>
<?php if ($fr->getHeuresServiceReferentiel() > 0): ?>
<tr><th style="padding-left:5em">Dont référentiel</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresServiceReferentiel()) ?></td></tr>
<tr>
<th style="padding-left:5em">Dont référentiel</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresServiceReferentiel()) ?></td>
</tr>
<?php endif; ?>
<?php endif; ?>
<?php if ($fr->getHeuresCompl() > 0) : ?>
<tr><th><?= ($fr->getServiceDu() > 0) ? 'Heures complémentaires' : 'Service assuré' ?></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresCompl()) ?></td></tr>
<tr>
<th><?= ($fr->getServiceDu() > 0) ? 'Heures complémentaires' : 'Service assuré' ?></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresCompl()) ?></td>
</tr>
<?php if ($fr->getHeuresComplFi() > 0): ?>
<tr><th style="padding-left:5em">Dont <abbr title="Formation initiale">FI</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFi()) ?></td></tr>
<tr>
<th style="padding-left:5em">Dont <abbr title="Formation initiale">FI</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFi()) ?></td>
</tr>
<?php endif; ?>
<?php if ($fr->getHeuresComplFa() > 0): ?>
<tr><th style="padding-left:5em">Dont <abbr title="Formation en apprentissage">FA</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFa()) ?></td></tr>
<tr>
<th style="padding-left:5em">Dont <abbr title="Formation en apprentissage">FA</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFa()) ?></td>
</tr>
<?php endif; ?>
<?php if ($fr->getHeuresComplFc() > 0): ?>
<tr><th style="padding-left:5em">Dont <abbr title="Formation continue">FC</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFc()) ?></td></tr>
<tr>
<th style="padding-left:5em">Dont <abbr title="Formation continue">FC</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFc()) ?></td>
</tr>
<?php endif; ?>
<?php if ($fr->getHeuresComplFcMajorees() > 0): ?>
<tr><th style="padding-left:5em">Dont <abbr title="Rémunération FC au titre de l'article D714-60 du code de l’Éducation">rémunération FC D714-60</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFcMajorees()) ?></td></tr>
<tr>
<th style="padding-left:5em">Dont <abbr
title="Rémunération FC au titre de l'article D714-60 du code de l’Éducation">rémunération
FC D714-60</abbr></th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplFcMajorees()) ?></td>
</tr>
<?php endif; ?>
<?php if ($fr->getHeuresComplReferentiel() > 0): ?>
<tr><th style="padding-left:5em">Dont référentiel</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplReferentiel()) ?></td></tr>
<tr>
<th style="padding-left:5em">Dont référentiel</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getHeuresComplReferentiel()) ?></td>
</tr>
<?php endif; ?>
<?php endif; ?>
<?php if ($fr->getSousService() > 0) : ?>
<tr><th>Sous-service</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getSousService()) ?></td></tr>
<tr>
<th>Sous-service</th>
<td style="text-align: right"><?= \UnicaenApp\Util::formattedNumber($fr->getSousService()) ?></td>
</tr>
<?php endif; ?>
</table>
......
......@@ -284,7 +284,7 @@ class Ligne extends AbstractViewHelper
'type-volume-horaire' => $this->getListe()->getTypeVolumeHoraire()->getId(),
];
if ($this->getListe()->getIntervenant()) {
$query['intervenant'] = $this->getListe()->getIntervenant()->getRouteParam();
$query['intervenant'] = $this->getListe()->getIntervenant()->getId();
}
$url = $this->getView()->url('service/saisie', ['id' => $this->getService()->getId()], ['query' => $query]);
......
......@@ -156,7 +156,7 @@ class Liste extends AbstractViewHelper
'type-volume-horaire' => $this->getTypeVolumeHoraire()->getId(),
];
if ($this->getIntervenant()) {
$params['intervenant'] = $this->getIntervenant()->getRouteParam();
$params['intervenant'] = $this->getIntervenant()->getId();
}
return $this->getView()->url('service/saisie', [], ['query' => $params]);
......@@ -283,7 +283,7 @@ class Liste extends AbstractViewHelper
$out .= '</div>';
$out .= '<div class="modal-footer">';
$out .= '<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>';
$out .= '<button type="button" class="btn btn-primary prevu-to-prevu" data-intervenant="' . $this->prevuToPrevu->getRouteParam() . '">OK</button>';
$out .= '<button type="button" class="btn btn-primary prevu-to-prevu" data-intervenant="' . $this->prevuToPrevu->getId() . '">OK</button>';
$out .= '</div>';
$out .= '</div>';
$out .= '</div>';
......@@ -544,7 +544,8 @@ class Liste extends AbstractViewHelper
$multiAnnees = false;
$intervenant = null;
$multiIntervenants = false;
foreach ($services as $service) if ($service){
foreach ($services as $service) {
if ($service) {
if (empty($annee)) {
$annee = $service->getIntervenant()->getAnnee();
} elseif ($annee !== $service->getIntervenant()->getAnnee()) {
......@@ -559,6 +560,7 @@ class Liste extends AbstractViewHelper
break;
}
}
}
$this->setColumnVisibility('annee', $multiAnnees);
$this->setColumnVisibility('intervenant', $multiIntervenants);
$this->setColumnVisibility('structure-aff', $multiIntervenants);
......
......@@ -128,7 +128,7 @@ class Liste extends AbstractViewHelper
return $this->getView()->url($route,
[
'intervenant' => $intervenant->getRouteParam(),
'intervenant' => $intervenant->getId(),
],
[
'query' => ['totaux' => 1],
......@@ -255,7 +255,7 @@ class Liste extends AbstractViewHelper
$out .= '</div>';
$out .= '<div class="modal-footer">';
$out .= '<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>';
$out .= '<button type="button" class="btn btn-primary referentiel-prevu-to-prevu" data-intervenant="' . $this->prevuToPrevu->getRouteParam() . '">OK</button>';
$out .= '<button type="button" class="btn btn-primary referentiel-prevu-to-prevu" data-intervenant="' . $this->prevuToPrevu->getId() . '">OK</button>';
$out .= '</div>';
$out .= '</div>';
$out .= '</div>';
......
......@@ -68,7 +68,7 @@ if ($services['non-contractualises']) {
<td>
<?php if ($canCreer): ?>
<a class="btn btn-primary"
href="<?= $this->url('contrat/creer', ['intervenant' => $intervenant->getRouteParam(), 'structure' => $structure->getId()]); ?>">
href="<?= $this->url('contrat/creer', ['intervenant' => $intervenant->getId(), 'structure' => $structure->getId()]); ?>">
<span class="glyphicon glyphicon-file"></span> Créer un
projet <?= $hasContrat ? 'd\'avenant' : 'de contrat' ?>
</a>
......@@ -84,7 +84,8 @@ if ($services['non-contractualises']) {
data-toggle="collapse"
>Afficher/masquer</a></small>
</p>
<div class="collapse <?php if ($canCreer): ?>in<?php endif; ?>" id="details-enseignements-structure-<?= $sid ?>">
<div class="collapse <?php if ($canCreer): ?>in<?php endif; ?>"
id="details-enseignements-structure-<?= $sid ?>">
<?= $this->serviceListe($servicesNC)->setReadonly(true)->setColumnVisibility('structure-ens', false)->render(); ?>
</div>
</td>
......
......@@ -12,7 +12,7 @@ use Application\Provider\Privilege\Privileges;
$canPurge = $this->isAllowed(Privileges::getResourceId(Privileges::DOSSIER_PURGER_DIFFERENCES));
if ($canPurge) {
$urlPurge = $this->url('intervenant/dossier/purger-differences', ['intervenant' => $this->intervenant->getRouteParam()]);
$urlPurge = $this->url('intervenant/dossier/purger-differences', ['intervenant' => $this->intervenant->getId()]);
} else {
$urlPurge = null;
}
......@@ -62,7 +62,7 @@ if ($canPurge) {
</a>
<a class="btn btn-warning"
href="<?= $this->url('intervenant/dossier', ['intervenant' => $intervenant->getRouteParam()]) ?>"
href="<?= $this->url('intervenant/dossier', ['intervenant' => $intervenant->getId()]) ?>"
>Voir les données personnelles de <?= $intervenant ?></a>
<?php if ($canPurge): ?>
......
......@@ -10,7 +10,7 @@ use Application\Entity\Db\Intervenant;
* @var $idcs IndicateurDepassementCharges[]
*/
$servicesUrl = $this->url('intervenant/services', ['intervenant' => $intervenant->getRouteParam()]);
$servicesUrl = $this->url('intervenant/services', ['intervenant' => $intervenant->getId()]);
?>
<h1 class="page-header"><?= $title ?></h1>
......
......@@ -4,7 +4,7 @@
echo $this->intervenant($intervenant);
$urlRefresh = $this->url('workflow/feuille-de-route-refresh', ['intervenant' => $intervenant->getRouteParam()]);
$urlRefresh = $this->url('workflow/feuille-de-route-refresh', ['intervenant' => $intervenant->getId()]);
?>
<script>
......
......@@ -14,9 +14,11 @@
</tr>
</thead>
<tbody class="table-hover">
<?php foreach($intervenants as $sourceCode => $intervenant): ?>
<?php foreach ($intervenants
as $code => $intervenant): ?>
<tr>
<td style="white-space: nowrap"><a href="<?= $this->url('intervenant/voir', ['intervenant' => $sourceCode]); ?>">
<td style="white-space: nowrap"><a href="<?= $this->url('intervenant/voir', ['intervenant' => $code]); ?>">
<span class="glyphicon glyphicon-eye-open"></span> Fiche
</a></td>
<td><?= $intervenant['civilite'] ?></td>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment