Loading data/parametres.php +1 −1 Changes for data/parametres.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ Cordialement, "DESCRIPTION" => "Permettre la création d'avenants au contrat", ], "contrat_projet" => [ "contrat_direct" => [ "VALEUR" => "desactive", "DESCRIPTION" => "Permettre la création d'un contrat sans passé par le projet", ], Loading module/Application/src/Assertion/ContratAssertion.php +12 −5 Changes for module/Application/src/Assertion/ContratAssertion.php: 12 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -184,8 +184,8 @@ class ContratAssertion extends AbstractAssertion $devalid = true; } $contratDirectResult = $this->getServiceParametres()->get('contrat_projet'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_PROJET); $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); return $this->asserts([ $this->assertRole($contrat), Loading @@ -199,12 +199,19 @@ class ContratAssertion extends AbstractAssertion protected function assertSuppression(Contrat $contrat) { $contratDirectResult = $this->getServiceParametres()->get('contrat_projet'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_PROJET); if (!$contrat->estUnAvenant()) { $devalid = $contrat->getIntervenant()->getContrat()->count() == 1; // on ne peut supprimer un contrat que si aucun avenant n'existe } else { $devalid = true; } $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); return $this->asserts([ $this->assertRole($contrat), !$contrat->getValidation() || $contratDirect, !$contrat->getValidation() || ($contratDirect && $devalid), !$contrat->getDateRetourSigne(), ]); } Loading module/Application/src/Controller/ContratController.php +16 −12 Changes for module/Application/src/Controller/ContratController.php: 16 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -139,11 +139,11 @@ class ContratController extends AbstractController $avenantResult = $this->getServiceParametres()->get('avenant'); $avenant = ($avenantResult == Parametre::AVENANT); $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratProjet'); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratDirect'); } Loading @@ -156,8 +156,8 @@ class ContratController extends AbstractController $structure = $this->getEvent()->getParam('structure'); /* @var $structure Structure */ $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); if (!$intervenant) { throw new \LogicException('L\'intervenant n\'est pas précisé'); Loading @@ -174,12 +174,12 @@ class ContratController extends AbstractController } else { try { $this->getProcessusContrat()->enregistrer($contrat); if ($contratProjet) { if ($contratDirect) { $this->getProcessusContrat()->valider($contrat); } $this->updateTableauxBord($contrat->getIntervenant()); if ($contratProjet) { if ($contratDirect) { $this->flashMessenger()->addSuccessMessage(($contrat->estUnAvenant() ? 'L\'avenant' : 'Le contrat') . ' a bien été créé.'); } else { $this->flashMessenger()->addSuccessMessage('Le projet ' . ($contrat->estUnAvenant() ? 'd\'avenant' : 'de contrat') . ' a bien été créé.'); Loading Loading @@ -214,10 +214,10 @@ class ContratController extends AbstractController if ($this->getRequest()->isPost()) { try { $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); if ($contratProjet) { $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); if ($contratDirect && $contrat->getValidation()) { $this->getProcessusContrat()->devalider($contrat); } $this->getProcessusContrat()->supprimer($contrat); $this->updateTableauxBord($contrat->getIntervenant()); Loading Loading @@ -332,7 +332,11 @@ class ContratController extends AbstractController throw new UnAuthorizedException('Vous n\'avez pas les droits requis pour saisir la date de retour du contrat signé.'); } $canSaisieDateSigne = true; if ($contrat->getDateRetourSigne() != null || $contrat->getFichier()->count() > 0) { $contratDateSansFichierResult = $this->getServiceParametres()->get('contrat_date'); $contratDateSansFichier = ($contratDateSansFichierResult == Parametre::CONTRAT_DATE); if ($contrat->getDateRetourSigne() != null || $contrat->getFichier()->count() > 0 || $contratDateSansFichier) { $form->bindRequestSave($contrat, $this->getRequest(), function () use ($contrat, $contratToString) { $this->getServiceContrat()->save($contrat); Loading module/Application/src/Entity/Db/Parametre.php +1 −1 Changes for module/Application/src/Entity/Db/Parametre.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ class Parametre implements HistoriqueAwareInterface const CONTRAT_FRANCHI_DATE_RETOUR = 'date-retour'; const AVENANT = 'avenant'; const CONTRAT_PROJET = 'contrat_projet'; const CONTRAT_DIRECT = 'contrat_direct'; const CONTRAT_DATE = 'contrat_date'; use HistoriqueAwareTrait; Loading module/Application/src/Form/ParametresForm.php +3 −3 Changes for module/Application/src/Form/ParametresForm.php: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -585,11 +585,11 @@ class ParametresForm extends AbstractForm $this->add([ 'type' => 'Select', 'name' => 'contrat_projet', 'name' => 'contrat_direct', 'options' => [ 'label' => 'Activé la fonctionnalité projet de contrat', 'label' => 'Création de contrat sans passer par un projet', 'value_options' => [ PARAMETRE::CONTRAT_PROJET => 'Le contrat est crée directement', PARAMETRE::CONTRAT_DIRECT => 'Le contrat est crée directement', 'desactive' => 'Un projet de contrat doit être validé pour devenir un contrat', ], ], Loading Loading
data/parametres.php +1 −1 Changes for data/parametres.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ Cordialement, "DESCRIPTION" => "Permettre la création d'avenants au contrat", ], "contrat_projet" => [ "contrat_direct" => [ "VALEUR" => "desactive", "DESCRIPTION" => "Permettre la création d'un contrat sans passé par le projet", ], Loading
module/Application/src/Assertion/ContratAssertion.php +12 −5 Changes for module/Application/src/Assertion/ContratAssertion.php: 12 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -184,8 +184,8 @@ class ContratAssertion extends AbstractAssertion $devalid = true; } $contratDirectResult = $this->getServiceParametres()->get('contrat_projet'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_PROJET); $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); return $this->asserts([ $this->assertRole($contrat), Loading @@ -199,12 +199,19 @@ class ContratAssertion extends AbstractAssertion protected function assertSuppression(Contrat $contrat) { $contratDirectResult = $this->getServiceParametres()->get('contrat_projet'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_PROJET); if (!$contrat->estUnAvenant()) { $devalid = $contrat->getIntervenant()->getContrat()->count() == 1; // on ne peut supprimer un contrat que si aucun avenant n'existe } else { $devalid = true; } $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); return $this->asserts([ $this->assertRole($contrat), !$contrat->getValidation() || $contratDirect, !$contrat->getValidation() || ($contratDirect && $devalid), !$contrat->getDateRetourSigne(), ]); } Loading
module/Application/src/Controller/ContratController.php +16 −12 Changes for module/Application/src/Controller/ContratController.php: 16 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -139,11 +139,11 @@ class ContratController extends AbstractController $avenantResult = $this->getServiceParametres()->get('avenant'); $avenant = ($avenantResult == Parametre::AVENANT); $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratProjet'); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratDirect'); } Loading @@ -156,8 +156,8 @@ class ContratController extends AbstractController $structure = $this->getEvent()->getParam('structure'); /* @var $structure Structure */ $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); if (!$intervenant) { throw new \LogicException('L\'intervenant n\'est pas précisé'); Loading @@ -174,12 +174,12 @@ class ContratController extends AbstractController } else { try { $this->getProcessusContrat()->enregistrer($contrat); if ($contratProjet) { if ($contratDirect) { $this->getProcessusContrat()->valider($contrat); } $this->updateTableauxBord($contrat->getIntervenant()); if ($contratProjet) { if ($contratDirect) { $this->flashMessenger()->addSuccessMessage(($contrat->estUnAvenant() ? 'L\'avenant' : 'Le contrat') . ' a bien été créé.'); } else { $this->flashMessenger()->addSuccessMessage('Le projet ' . ($contrat->estUnAvenant() ? 'd\'avenant' : 'de contrat') . ' a bien été créé.'); Loading Loading @@ -214,10 +214,10 @@ class ContratController extends AbstractController if ($this->getRequest()->isPost()) { try { $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); if ($contratProjet) { $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); if ($contratDirect && $contrat->getValidation()) { $this->getProcessusContrat()->devalider($contrat); } $this->getProcessusContrat()->supprimer($contrat); $this->updateTableauxBord($contrat->getIntervenant()); Loading Loading @@ -332,7 +332,11 @@ class ContratController extends AbstractController throw new UnAuthorizedException('Vous n\'avez pas les droits requis pour saisir la date de retour du contrat signé.'); } $canSaisieDateSigne = true; if ($contrat->getDateRetourSigne() != null || $contrat->getFichier()->count() > 0) { $contratDateSansFichierResult = $this->getServiceParametres()->get('contrat_date'); $contratDateSansFichier = ($contratDateSansFichierResult == Parametre::CONTRAT_DATE); if ($contrat->getDateRetourSigne() != null || $contrat->getFichier()->count() > 0 || $contratDateSansFichier) { $form->bindRequestSave($contrat, $this->getRequest(), function () use ($contrat, $contratToString) { $this->getServiceContrat()->save($contrat); Loading
module/Application/src/Entity/Db/Parametre.php +1 −1 Changes for module/Application/src/Entity/Db/Parametre.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ class Parametre implements HistoriqueAwareInterface const CONTRAT_FRANCHI_DATE_RETOUR = 'date-retour'; const AVENANT = 'avenant'; const CONTRAT_PROJET = 'contrat_projet'; const CONTRAT_DIRECT = 'contrat_direct'; const CONTRAT_DATE = 'contrat_date'; use HistoriqueAwareTrait; Loading
module/Application/src/Form/ParametresForm.php +3 −3 Changes for module/Application/src/Form/ParametresForm.php: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -585,11 +585,11 @@ class ParametresForm extends AbstractForm $this->add([ 'type' => 'Select', 'name' => 'contrat_projet', 'name' => 'contrat_direct', 'options' => [ 'label' => 'Activé la fonctionnalité projet de contrat', 'label' => 'Création de contrat sans passer par un projet', 'value_options' => [ PARAMETRE::CONTRAT_PROJET => 'Le contrat est crée directement', PARAMETRE::CONTRAT_DIRECT => 'Le contrat est crée directement', 'desactive' => 'Un projet de contrat doit être validé pour devenir un contrat', ], ], Loading