Commit 0ce60b84 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

Affichage des doubles statuts ok

parent deef11a1
......@@ -305,10 +305,7 @@ class AgrementController extends AbstractController
//@alecourtes : Récupérer les intervenants avec le même code car l'agrement peut être valide
//plusieurs années pour plusieurs intervenants avec un même code
$listeIntervenants = $this->getServiceIntervenant()->getIntervenantsByCode($intervenant->getCode());
if (empty($listeIntervenants)) {
$listeIntervenants[] = $intervenant;
}
$listeIntervenants = $this->getServiceIntervenant()->getIntervenants($intervenant);
$this->getServiceWorkflow()->calculerTableauxBord([
'agrement',
'contrat',
......
......@@ -455,7 +455,7 @@ class PieceJointeController extends AbstractController
], $intervenant);
//Récupérer tous les intervenants avec le même code intervenant
$intervenants = $this->getServiceIntervenant()->getIntervenantsByCode($intervenant->getCode());
$intervenants = $this->getServiceIntervenant()->getIntervenants($intervenant);
//On recalcule le tbl piece_jointe pour tous les intervenants ayant le même code intervenant que l'intervenant de l'année en cours
$this->getServiceWorkflow()->calculerTableauxBord([
'piece_jointe',
......
......@@ -121,8 +121,12 @@ class ContextService extends AbstractService
public function getIntervenant()
{
if (false === $this->intervenant || $this->serviceUserContext->getNextSelectedIdentityRole()) {
$utilisateurCode = $this->getConnecteurLdap()->getUtilisateurCourantCode();
$this->intervenant = $this->getServiceIntervenant()->getByUtilisateurCode($utilisateurCode);
$utilisateurCode = $this->getConnecteurLdap()->getUtilisateurCourantCode();
if ($utilisateurCode) {
$this->intervenant = $this->getServiceIntervenant()->getByUtilisateurCode($utilisateurCode);
} else {
return null;
}
}
return $this->intervenant;
......
......@@ -165,7 +165,9 @@ class IntervenantService extends AbstractEntityService
}
$isql = "
SELECT
i.ID, i.CODE, i.ANNEE_ID, i.STATUT_ID, i.STRUCTURE_ID, i.HISTO_DESTRUCTION, rownum POIDS
i.ID, i.CODE, i.ANNEE_ID, i.STATUT_ID, i.STRUCTURE_ID, i.HISTO_DESTRUCTION,
si.libelle STATUT_LIBELLE,
rownum POIDS
FROM
intervenant i
JOIN statut_intervenant si ON si.id = i.statut_id
......@@ -265,14 +267,13 @@ class IntervenantService extends AbstractEntityService
/**
* @param $intervenantCode
* @param Annee|null $annee
* @param $intervenant Intervenant
*
* @return Intervenant[]
*/
public function getIntervenantsByCode($intervenantCode, Annee $annee = null)
public function getIntervenants(Intervenant $intervenant): array
{
$findParams = ['code' => (string)$intervenantCode];
$findParams = ['code' => $intervenant->getCode(), 'annee' => $intervenant->getAnnee()];
$repo = $this->getRepo();
$result = $repo->findBy($findParams);
......
......@@ -4,6 +4,7 @@ namespace Application\View\Helper\Intervenant;
use Application\Constants;
use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Service\Traits\IntervenantServiceAwareTrait;
use Zend\View\Helper\AbstractHtmlElement;
use Application\Entity\Db\Intervenant;
use Application\Entity\Db\Traits\IntervenantAwareTrait;
......@@ -17,6 +18,7 @@ class IntervenantViewHelper extends AbstractHtmlElement
{
use IntervenantAwareTrait;
use ContextServiceAwareTrait;
use IntervenantServiceAwareTrait;
......@@ -74,8 +76,6 @@ class IntervenantViewHelper extends AbstractHtmlElement
"Statut de l'intervenant" => $entity->getStatut(),
"N° {$entity->getSource()}" => $entity->getSourceCode(),
"Affectation principale" => $entity->getStructure() ?: '<span class="inconnu">(Inconnue)</span>',
"Affectation recherche" => count($aff = $entity->getAffectation()) ? implode(" ; ", $aff->toArray()) : '<span class="inconnu">(Inconnue)</span>',
"Discipline" => $entity->getDiscipline() ?: '<span class="inconnu">(Inconnue)</span>',
"Montant de l'indemnité FC" => $entity->getMontantIndemniteFc() !== null ? \UnicaenApp\Util::formattedEuros($entity->getMontantIndemniteFc()) : '<span class="inconnu">(Inconnue)</span>',
],
'divers' => [
......@@ -103,8 +103,6 @@ class IntervenantViewHelper extends AbstractHtmlElement
$html .= '<div class="alert alert-danger">' . $msg . '</div>';
}
//$html .= $this->getView()->historique($entity); => pas de sens ici
return $html;
}
......@@ -132,17 +130,75 @@ class IntervenantViewHelper extends AbstractHtmlElement
$title = $title;
$intervenant = $this->getIntervenant();
if ($this->getServiceContext()->getIntervenant() == $intervenant) {
/*if ($this->getServiceContext()->getIntervenant() == $intervenant) {
} else {
}
}*/
//echo $intervenant . ' <small>' . $intervenant->getStatut() . '</small>';
$canAddIntervenant = false; // à poursuivre
$this->getView()->headTitle()->append($intervenant->getNomUsuel())->append($title);
$title .= ' <small>' . $intervenant . '</small>';
echo $this->getView()->tag('h1', ['class' => 'page-header'])->html($title);
echo $this->getView()->tag('h1', ['class' => 'page-header'])->open();
echo $title . '<br />';
$statuts = $this->getStatuts();
?>
<nav class="navbar navbar-default intervenant-statuts">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Statuts</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand" href="#">Statut<?= (count($statuts) > 1) ? 's' : '' ?></span>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<?php foreach ($statuts as $intervenantId => $statut): ?>
<li<?= ($statut == $intervenant->getStatut()) ? ' class="active"' : '' ?>>
<a href="<?= $this->getView()->url(null, ['intervenant' => $intervenantId]); ?>"><span
class="type-intervenant"><?= $statut->getTypeIntervenant() . '</span><br />' . $statut->getLibelle() ?>
</a>
</li>
<?php endforeach; ?>
<?php if ($canAddIntervenant): ?>
<li class="ajout-intervenant">
<a href="<?= $this->getView()->url('intervenant/voir', ['intervenant' => $intervenantId]); ?>"
title="Ajout d'un nouveau statut à l'intervenant"><span
class="glyphicon glyphicon-plus"></span></a>
</li>
<?php endif; ?>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
<?php
echo $this->getView()->tag('h1')->close();
}
protected function getStatuts()
{
$intervernants = $this->getServiceIntervenant()->getIntervenants($this->getIntervenant());
$statuts = [];
foreach ($intervernants as $intervenant) {
if ($intervenant->estNonHistorise() && $intervenant->getStatut()) {
$statuts[$intervenant->getId()] = $intervenant->getStatut();
}
}
uasort($statuts, function ($a, $b) {
return $a->getOrdre() > $b->getOrdre();
});
return $statuts;
}
}
\ No newline at end of file
......@@ -776,3 +776,41 @@ td .alert {
.seuils-dedoublement td span.aucun {
color:darkgrey;
}
.intervenant-statuts {
margin-top: 5px;
font-size: 12pt;
height: 50px;
min-height: 50px;
}
.intervenant-statuts .navbar-brand {
font-size: 10pt;
}
.intervenant-statuts .navbar-nav li a {
padding-top: 4px;
padding-bottom: 4px;
}
.intervenant-statuts .navbar-brand {
padding-top: 13px;
padding-bottom: 4px;
height: 50px;
}
.intervenant-statuts .navbar-toggle {
margin-top: 1px;
padding-top: 5px;
padding-bottom: 5px;
}
.intervenant-statuts span.type-intervenant {
font-size: 10pt;
}
.intervenant-statuts li.ajout-intervenant{
padding-top: 10px;
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment