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

Affichage des doubles statuts ok

parent deef11a1
No related branches found
No related tags found
1 merge request!55Ll bug report services
...@@ -305,10 +305,7 @@ class AgrementController extends AbstractController ...@@ -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 //@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 //plusieurs années pour plusieurs intervenants avec un même code
$listeIntervenants = $this->getServiceIntervenant()->getIntervenantsByCode($intervenant->getCode()); $listeIntervenants = $this->getServiceIntervenant()->getIntervenants($intervenant);
if (empty($listeIntervenants)) {
$listeIntervenants[] = $intervenant;
}
$this->getServiceWorkflow()->calculerTableauxBord([ $this->getServiceWorkflow()->calculerTableauxBord([
'agrement', 'agrement',
'contrat', 'contrat',
......
...@@ -455,7 +455,7 @@ class PieceJointeController extends AbstractController ...@@ -455,7 +455,7 @@ class PieceJointeController extends AbstractController
], $intervenant); ], $intervenant);
//Récupérer tous les intervenants avec le même code 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 //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([ $this->getServiceWorkflow()->calculerTableauxBord([
'piece_jointe', 'piece_jointe',
......
...@@ -122,7 +122,11 @@ class ContextService extends AbstractService ...@@ -122,7 +122,11 @@ class ContextService extends AbstractService
{ {
if (false === $this->intervenant || $this->serviceUserContext->getNextSelectedIdentityRole()) { if (false === $this->intervenant || $this->serviceUserContext->getNextSelectedIdentityRole()) {
$utilisateurCode = $this->getConnecteurLdap()->getUtilisateurCourantCode(); $utilisateurCode = $this->getConnecteurLdap()->getUtilisateurCourantCode();
if ($utilisateurCode) {
$this->intervenant = $this->getServiceIntervenant()->getByUtilisateurCode($utilisateurCode); $this->intervenant = $this->getServiceIntervenant()->getByUtilisateurCode($utilisateurCode);
} else {
return null;
}
} }
return $this->intervenant; return $this->intervenant;
......
...@@ -165,7 +165,9 @@ class IntervenantService extends AbstractEntityService ...@@ -165,7 +165,9 @@ class IntervenantService extends AbstractEntityService
} }
$isql = " $isql = "
SELECT 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 FROM
intervenant i intervenant i
JOIN statut_intervenant si ON si.id = i.statut_id JOIN statut_intervenant si ON si.id = i.statut_id
...@@ -265,14 +267,13 @@ class IntervenantService extends AbstractEntityService ...@@ -265,14 +267,13 @@ class IntervenantService extends AbstractEntityService
/** /**
* @param $intervenantCode * @param $intervenant Intervenant
* @param Annee|null $annee
* *
* @return 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(); $repo = $this->getRepo();
$result = $repo->findBy($findParams); $result = $repo->findBy($findParams);
......
...@@ -4,6 +4,7 @@ namespace Application\View\Helper\Intervenant; ...@@ -4,6 +4,7 @@ namespace Application\View\Helper\Intervenant;
use Application\Constants; use Application\Constants;
use Application\Service\Traits\ContextServiceAwareTrait; use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Service\Traits\IntervenantServiceAwareTrait;
use Zend\View\Helper\AbstractHtmlElement; use Zend\View\Helper\AbstractHtmlElement;
use Application\Entity\Db\Intervenant; use Application\Entity\Db\Intervenant;
use Application\Entity\Db\Traits\IntervenantAwareTrait; use Application\Entity\Db\Traits\IntervenantAwareTrait;
...@@ -17,6 +18,7 @@ class IntervenantViewHelper extends AbstractHtmlElement ...@@ -17,6 +18,7 @@ class IntervenantViewHelper extends AbstractHtmlElement
{ {
use IntervenantAwareTrait; use IntervenantAwareTrait;
use ContextServiceAwareTrait; use ContextServiceAwareTrait;
use IntervenantServiceAwareTrait;
...@@ -74,8 +76,6 @@ class IntervenantViewHelper extends AbstractHtmlElement ...@@ -74,8 +76,6 @@ class IntervenantViewHelper extends AbstractHtmlElement
"Statut de l'intervenant" => $entity->getStatut(), "Statut de l'intervenant" => $entity->getStatut(),
"N° {$entity->getSource()}" => $entity->getSourceCode(), "N° {$entity->getSource()}" => $entity->getSourceCode(),
"Affectation principale" => $entity->getStructure() ?: '<span class="inconnu">(Inconnue)</span>', "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>', "Montant de l'indemnité FC" => $entity->getMontantIndemniteFc() !== null ? \UnicaenApp\Util::formattedEuros($entity->getMontantIndemniteFc()) : '<span class="inconnu">(Inconnue)</span>',
], ],
'divers' => [ 'divers' => [
...@@ -103,8 +103,6 @@ class IntervenantViewHelper extends AbstractHtmlElement ...@@ -103,8 +103,6 @@ class IntervenantViewHelper extends AbstractHtmlElement
$html .= '<div class="alert alert-danger">' . $msg . '</div>'; $html .= '<div class="alert alert-danger">' . $msg . '</div>';
} }
//$html .= $this->getView()->historique($entity); => pas de sens ici
return $html; return $html;
} }
...@@ -132,17 +130,75 @@ class IntervenantViewHelper extends AbstractHtmlElement ...@@ -132,17 +130,75 @@ class IntervenantViewHelper extends AbstractHtmlElement
$title = $title; $title = $title;
$intervenant = $this->getIntervenant(); $intervenant = $this->getIntervenant();
if ($this->getServiceContext()->getIntervenant() == $intervenant) { /*if ($this->getServiceContext()->getIntervenant() == $intervenant) {
} else { } else {
} }*/
//echo $intervenant . ' <small>' . $intervenant->getStatut() . '</small>'; //echo $intervenant . ' <small>' . $intervenant->getStatut() . '</small>';
$canAddIntervenant = false; // à poursuivre
$this->getView()->headTitle()->append($intervenant->getNomUsuel())->append($title); $this->getView()->headTitle()->append($intervenant->getNomUsuel())->append($title);
$title .= ' <small>' . $intervenant . '</small>'; $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 { ...@@ -776,3 +776,41 @@ td .alert {
.seuils-dedoublement td span.aucun { .seuils-dedoublement td span.aucun {
color:darkgrey; 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;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment