Loading data/parametres.php +6 −0 Changes for data/parametres.php: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -228,4 +228,10 @@ Cordialement, "VALEUR" => "active", "DESCRIPTION" => "Permettre la création d'avenants au contrat", ], /* Contrat */ "contrat_projet" => [ "VALEUR" => "active", "DESCRIPTION" => "Permettre la création d'un contrat sans passé par le projet", ], ]; No newline at end of file module/Application/src/Controller/ContratController.php +14 −1 Changes for module/Application/src/Controller/ContratController.php: 14 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -139,7 +139,10 @@ class ContratController extends AbstractController $avenantResult = $this->getServiceParametres()->get('avenant'); $avenant = ($avenantResult == Parametre::AVENANT); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant'); $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratProjet'); } Loading @@ -152,6 +155,9 @@ class ContratController extends AbstractController $structure = $this->getEvent()->getParam('structure'); /* @var $structure Structure */ $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); if (!$intervenant) { throw new \LogicException('L\'intervenant n\'est pas précisé'); } Loading @@ -167,8 +173,15 @@ class ContratController extends AbstractController } else { try { $this->getProcessusContrat()->enregistrer($contrat); if ($contratProjet) { $this->getProcessusContrat()->valider($contrat); } $this->updateTableauxBord($contrat->getIntervenant()); if ($contratProjet) { $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éé.'); } } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); } Loading module/Application/src/Entity/Db/Parametre.php +1 −0 Changes for module/Application/src/Entity/Db/Parametre.php: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ class Parametre implements HistoriqueAwareInterface const CONTRAT_FRANCHI_DATE_RETOUR = 'date-retour'; const AVENANT = 'avenant'; const CONTRAT_PROJET = 'contrat_projet'; use HistoriqueAwareTrait; Loading module/Application/src/Form/ParametresForm.php +16 −0 Changes for module/Application/src/Form/ParametresForm.php: 16 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -582,6 +582,22 @@ class ParametresForm extends AbstractForm 'data-size' => 20, ], ]); $this->add([ 'type' => 'Select', 'name' => 'contrat_projet', 'options' => [ 'label' => 'Possibilité de créer un contrat sans passer par le projet', 'value_options' => [ PARAMETRE::CONTRAT_PROJET => 'Le contrat peut être crée sans passer par le projet', 'desactive' => 'Fonctionnalité désactivée', ], ], 'attributes' => [ 'class' => 'selectpicker', 'data-size' => 20, ], ]); } Loading module/Application/view/application/contrat/index.phtml +12 −10 Changes for module/Application/view/application/contrat/index.phtml: 12 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ use Application\Provider\Privilege\Privileges; * @var $title string * @var $intervenant \Application\Entity\Db\Intervenant * @var $contrats \Application\Entity\Db\Contrat[] * @var $avenant boolean * @var $contratProjet boolean */ $hasContrat = false; Loading Loading @@ -64,18 +66,19 @@ $this->messenger() ?> <tr> <td><?= $structure ?></td> <td> <?php if ($canCreer): ?> <?php if ($canCreer): if ($contratProjet):?> <a class="btn btn-primary" href="<?= $this->url('contrat/creer', ['intervenant' => $intervenant->getId(), 'structure' => $structure->getId()]); ?>"> <i class="fas fa-file"></i> Créer un projet <?= $hasContrat ? 'd\'avenant' : 'de contrat' ?> <i class="fas fa-file"></i> Créer un <?= $hasContrat ? 'avenant' : 'contrat' ?> </a> <?php else: <?php else: ?> <a class="btn btn-primary" href="<?= $this->url('contrat/creer', ['intervenant' => $intervenant->getId(), 'structure' => $structure->getId()]); ?>"> <i class="fas fa-file"></i> Créer un projet <?= $hasContrat ? 'd\'avenant' : 'de contrat' ?> </a> <?php endif; else: echo $this->feuilleDeRoute($intervenant)->renderWhyNonAtteignable(\Application\Entity\Db\WfEtape::CODE_CONTRAT, $structure); endif; ?> <p> Loading @@ -101,7 +104,6 @@ $this->messenger() ?> <div class="well"> <h2>Contrats et avenants</h2> <?php foreach ($contrats as $contrat): ?> <?= $this->partial('application/contrat/partial/contrat', ['contrat' => $contrat, 'services' => $services['contractualises'][$contrat->getId()], 'emailIntervenant' => $emailIntervenant]) ?> <?php endforeach; ?> Loading Loading
data/parametres.php +6 −0 Changes for data/parametres.php: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -228,4 +228,10 @@ Cordialement, "VALEUR" => "active", "DESCRIPTION" => "Permettre la création d'avenants au contrat", ], /* Contrat */ "contrat_projet" => [ "VALEUR" => "active", "DESCRIPTION" => "Permettre la création d'un contrat sans passé par le projet", ], ]; No newline at end of file
module/Application/src/Controller/ContratController.php +14 −1 Changes for module/Application/src/Controller/ContratController.php: 14 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -139,7 +139,10 @@ class ContratController extends AbstractController $avenantResult = $this->getServiceParametres()->get('avenant'); $avenant = ($avenantResult == Parametre::AVENANT); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant'); $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratProjet'); } Loading @@ -152,6 +155,9 @@ class ContratController extends AbstractController $structure = $this->getEvent()->getParam('structure'); /* @var $structure Structure */ $contratProjetResult = $this->getServiceParametres()->get('contrat_projet'); $contratProjet = ($contratProjetResult == Parametre::CONTRAT_PROJET); if (!$intervenant) { throw new \LogicException('L\'intervenant n\'est pas précisé'); } Loading @@ -167,8 +173,15 @@ class ContratController extends AbstractController } else { try { $this->getProcessusContrat()->enregistrer($contrat); if ($contratProjet) { $this->getProcessusContrat()->valider($contrat); } $this->updateTableauxBord($contrat->getIntervenant()); if ($contratProjet) { $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éé.'); } } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); } Loading
module/Application/src/Entity/Db/Parametre.php +1 −0 Changes for module/Application/src/Entity/Db/Parametre.php: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ class Parametre implements HistoriqueAwareInterface const CONTRAT_FRANCHI_DATE_RETOUR = 'date-retour'; const AVENANT = 'avenant'; const CONTRAT_PROJET = 'contrat_projet'; use HistoriqueAwareTrait; Loading
module/Application/src/Form/ParametresForm.php +16 −0 Changes for module/Application/src/Form/ParametresForm.php: 16 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -582,6 +582,22 @@ class ParametresForm extends AbstractForm 'data-size' => 20, ], ]); $this->add([ 'type' => 'Select', 'name' => 'contrat_projet', 'options' => [ 'label' => 'Possibilité de créer un contrat sans passer par le projet', 'value_options' => [ PARAMETRE::CONTRAT_PROJET => 'Le contrat peut être crée sans passer par le projet', 'desactive' => 'Fonctionnalité désactivée', ], ], 'attributes' => [ 'class' => 'selectpicker', 'data-size' => 20, ], ]); } Loading
module/Application/view/application/contrat/index.phtml +12 −10 Changes for module/Application/view/application/contrat/index.phtml: 12 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ use Application\Provider\Privilege\Privileges; * @var $title string * @var $intervenant \Application\Entity\Db\Intervenant * @var $contrats \Application\Entity\Db\Contrat[] * @var $avenant boolean * @var $contratProjet boolean */ $hasContrat = false; Loading Loading @@ -64,18 +66,19 @@ $this->messenger() ?> <tr> <td><?= $structure ?></td> <td> <?php if ($canCreer): ?> <?php if ($canCreer): if ($contratProjet):?> <a class="btn btn-primary" href="<?= $this->url('contrat/creer', ['intervenant' => $intervenant->getId(), 'structure' => $structure->getId()]); ?>"> <i class="fas fa-file"></i> Créer un projet <?= $hasContrat ? 'd\'avenant' : 'de contrat' ?> <i class="fas fa-file"></i> Créer un <?= $hasContrat ? 'avenant' : 'contrat' ?> </a> <?php else: <?php else: ?> <a class="btn btn-primary" href="<?= $this->url('contrat/creer', ['intervenant' => $intervenant->getId(), 'structure' => $structure->getId()]); ?>"> <i class="fas fa-file"></i> Créer un projet <?= $hasContrat ? 'd\'avenant' : 'de contrat' ?> </a> <?php endif; else: echo $this->feuilleDeRoute($intervenant)->renderWhyNonAtteignable(\Application\Entity\Db\WfEtape::CODE_CONTRAT, $structure); endif; ?> <p> Loading @@ -101,7 +104,6 @@ $this->messenger() ?> <div class="well"> <h2>Contrats et avenants</h2> <?php foreach ($contrats as $contrat): ?> <?= $this->partial('application/contrat/partial/contrat', ['contrat' => $contrat, 'services' => $services['contractualises'][$contrat->getId()], 'emailIntervenant' => $emailIntervenant]) ?> <?php endforeach; ?> Loading