Skip to content
Snippets Groups Projects
Commit 034cdf77 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Ne pas pouvoir mettre de motif de non paiement sur du service référentiel déjà validé (#51180)

parent b02affd6
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ use Application\Controller\AbstractController; ...@@ -6,6 +6,7 @@ use Application\Controller\AbstractController;
use Application\Entity\Db\Intervenant; use Application\Entity\Db\Intervenant;
use Laminas\View\Model\ViewModel; use Laminas\View\Model\ViewModel;
use Referentiel\Entity\Db\ServiceReferentiel; use Referentiel\Entity\Db\ServiceReferentiel;
use Referentiel\Entity\Db\VolumeHoraireReferentiel;
use Service\Entity\Db\TypeVolumeHoraire; use Service\Entity\Db\TypeVolumeHoraire;
use Referentiel\Form\SaisieAwareTrait; use Referentiel\Form\SaisieAwareTrait;
use Plafond\Processus\PlafondProcessusAwareTrait; use Plafond\Processus\PlafondProcessusAwareTrait;
...@@ -42,16 +43,6 @@ class ServiceReferentielController extends AbstractController ...@@ -42,16 +43,6 @@ class ServiceReferentielController extends AbstractController
use PlafondProcessusAwareTrait; use PlafondProcessusAwareTrait;
protected function initFilters()
{
$this->em()->getFilters()->enable('historique')->init([
\Referentiel\Entity\Db\ServiceReferentiel::class,
\Referentiel\Entity\Db\VolumeHoraireReferentiel::class,
\Application\Entity\Db\Validation::class,
]);
}
public function prevuAction () public function prevuAction ()
{ {
$prevu = $this->getServiceTypeVolumeHoraire()->getPrevu(); $prevu = $this->getServiceTypeVolumeHoraire()->getPrevu();
...@@ -60,13 +51,6 @@ class ServiceReferentielController extends AbstractController ...@@ -60,13 +51,6 @@ class ServiceReferentielController extends AbstractController
} }
public function realiseAction()
{
$realise = $this->getServiceTypeVolumeHoraire()->getRealise();
return $this->indexAction($realise);
}
public function indexAction (?TypeVolumeHoraire $typeVolumeHoraire = null) public function indexAction (?TypeVolumeHoraire $typeVolumeHoraire = null)
{ {
...@@ -89,6 +73,27 @@ class ServiceReferentielController extends AbstractController ...@@ -89,6 +73,27 @@ class ServiceReferentielController extends AbstractController
} }
protected function initFilters ()
{
$this->em()->getFilters()->enable('historique')->init([
\Referentiel\Entity\Db\ServiceReferentiel::class,
\Referentiel\Entity\Db\VolumeHoraireReferentiel::class,
\Application\Entity\Db\Validation::class,
]);
}
public function realiseAction ()
{
$realise = $this->getServiceTypeVolumeHoraire()->getRealise();
return $this->indexAction($realise);
}
public function saisieAction () public function saisieAction ()
{ {
$this->initFilters(); $this->initFilters();
...@@ -124,6 +129,24 @@ class ServiceReferentielController extends AbstractController ...@@ -124,6 +129,24 @@ class ServiceReferentielController extends AbstractController
$title = "Ajout de référentiel"; $title = "Ajout de référentiel";
} }
//Si volume referentiel est validé alors on passe les motifs de non paiement en lecture seule
$disabled = false;
$listeVolumeReferentiel = $entity->getVolumeHoraireReferentiel();
foreach ($listeVolumeReferentiel as $vhr) {
/**
* @var $vhr VolumeHoraireReferentiel
*/
if ($vhr->isValide()) {
$disabled = true;
}
}
if ($disabled) {
$form->get('service')->get('motif-non-paiement')->setAttribute('disabled', 'disabled');
$form->get('service')->get('motif-non-paiement')->setAttribute('title', 'Vous ne pouvez pas mettre de motif de non paiement sur un volume horaire déjà validé');
}
$assertionEntity = $service->newEntity(); $assertionEntity = $service->newEntity();
$assertionEntity $assertionEntity
->setTypeVolumeHoraire($typeVolumeHoraire) ->setTypeVolumeHoraire($typeVolumeHoraire)
...@@ -166,6 +189,17 @@ class ServiceReferentielController extends AbstractController ...@@ -166,6 +189,17 @@ class ServiceReferentielController extends AbstractController
} }
private function updateTableauxBord (Intervenant $intervenant, $validation = false)
{
$this->getServiceWorkflow()->calculerTableauxBord(['formule', 'validation_referentiel', 'referentiel'], $intervenant);
if (!$validation) {
$this->getServiceWorkflow()->calculerTableauxBord(['referentiel', 'piece_jointe_fournie'], $intervenant);
}
}
public function rafraichirLigneAction () public function rafraichirLigneAction ()
{ {
$this->initFilters(); $this->initFilters();
...@@ -189,6 +223,7 @@ class ServiceReferentielController extends AbstractController ...@@ -189,6 +223,7 @@ class ServiceReferentielController extends AbstractController
} }
public function initialisationAction () public function initialisationAction ()
{ {
$intervenant = $this->getEvent()->getParam('intervenant'); $intervenant = $this->getEvent()->getParam('intervenant');
...@@ -202,6 +237,7 @@ class ServiceReferentielController extends AbstractController ...@@ -202,6 +237,7 @@ class ServiceReferentielController extends AbstractController
} }
public function constatationAction () public function constatationAction ()
{ {
$this->initFilters(); $this->initFilters();
...@@ -229,6 +265,7 @@ class ServiceReferentielController extends AbstractController ...@@ -229,6 +265,7 @@ class ServiceReferentielController extends AbstractController
} }
public function suppressionAction () public function suppressionAction ()
{ {
$typeVolumeHoraire = $this->params()->fromQuery('type-volume-horaire', $this->params()->fromPost('type-volume-horaire')); $typeVolumeHoraire = $this->params()->fromQuery('type-volume-horaire', $this->params()->fromPost('type-volume-horaire'));
...@@ -264,6 +301,7 @@ class ServiceReferentielController extends AbstractController ...@@ -264,6 +301,7 @@ class ServiceReferentielController extends AbstractController
} }
public function validationPrevuAction () public function validationPrevuAction ()
{ {
$typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu();
...@@ -272,13 +310,6 @@ class ServiceReferentielController extends AbstractController ...@@ -272,13 +310,6 @@ class ServiceReferentielController extends AbstractController
} }
public function validationRealiseAction()
{
$typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getRealise();
return $this->validationAction($typeVolumeHoraire);
}
private function validationAction (TypeVolumeHoraire $typeVolumeHoraire) private function validationAction (TypeVolumeHoraire $typeVolumeHoraire)
{ {
...@@ -340,6 +371,16 @@ class ServiceReferentielController extends AbstractController ...@@ -340,6 +371,16 @@ class ServiceReferentielController extends AbstractController
} }
public function validationRealiseAction ()
{
$typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getRealise();
return $this->validationAction($typeVolumeHoraire);
}
public function validerAction () public function validerAction ()
{ {
$this->initFilters(); $this->initFilters();
...@@ -376,6 +417,7 @@ class ServiceReferentielController extends AbstractController ...@@ -376,6 +417,7 @@ class ServiceReferentielController extends AbstractController
} }
public function devaliderAction () public function devaliderAction ()
{ {
$this->initFilters(); $this->initFilters();
...@@ -402,13 +444,4 @@ class ServiceReferentielController extends AbstractController ...@@ -402,13 +444,4 @@ class ServiceReferentielController extends AbstractController
return new MessengerViewModel(); return new MessengerViewModel();
} }
private function updateTableauxBord(Intervenant $intervenant, $validation = false)
{
$this->getServiceWorkflow()->calculerTableauxBord(['formule', 'validation_referentiel', 'referentiel'], $intervenant);
if (!$validation) {
$this->getServiceWorkflow()->calculerTableauxBord(['referentiel', 'piece_jointe_fournie'], $intervenant);
}
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment