Commit 7a86f779 authored by joriot221's avatar joriot221
Browse files

Merge branch 'FJ_param_date_sans_contrat' into FJ_Contrat_sans_projet

# Conflicts:
#	data/parametres.php
#	module/Application/view/application/contrat/index.phtml
parents 77806a21 dc758e13
Loading
Loading
Loading
Loading
+1 −0
Changes for data/ddl/view/V_INDICATEUR_430.sql: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ SELECT
  w.structure_id
FROM
	intervenant i
	JOIN PARAMETRE p ON p.VALEUR = 'avenant'
	JOIN tbl_workflow w ON w.intervenant_id = i.id
	JOIN (
    SELECT DISTINCT
+6 −2
Changes for data/parametres.php: 6 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -229,9 +229,13 @@ Cordialement,
        "DESCRIPTION" => "Permettre la création d'avenants au contrat",
    ],

    /* Contrat */
    "contrat_projet" => [
        "VALEUR"      => "active",
        "VALEUR"      => "desactive",
        "DESCRIPTION" => "Permettre la création d'un contrat sans passé par le projet",
    ],

    "contrat_date" => [
        "VALEUR"      => "desactive",
        "DESCRIPTION" => "Permettre de saisir une date de retour signé pour un contrat sans ajouter de fichier",
    ],
];
 No newline at end of file
+12 −3
Changes for module/Application/src/Assertion/ContratAssertion.php: 12 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -5,10 +5,11 @@ namespace Application\Assertion;
use Application\Acl\Role;
use Application\Entity\Db\Contrat;
use Application\Entity\Db\Intervenant;
use Application\Entity\Db\Parametre;
use Application\Entity\Db\Structure;
use Application\Entity\Db\WfEtape;
use Application\Provider\Privilege\Privileges;

use Application\Service\Traits\ParametresServiceAwareTrait;
// sous réserve que vous utilisiez les privilèges d'UnicaenAuth et que vous ayez généré votre fournisseur
use Application\Service\Traits\WorkflowServiceAwareTrait;
use UnicaenAuth\Assertion\AbstractAssertion;
@@ -22,6 +23,8 @@ use Laminas\Permissions\Acl\Resource\ResourceInterface;
 */
class ContratAssertion extends AbstractAssertion
{
    use ParametresServiceAwareTrait;

    const PRIV_LISTER_FICHIERS   = 'contrat-lister-fichiers';
    const PRIV_SUPPRIMER_FICHIER = 'contrat-supprimer-fichier';
    const PRIV_AJOUTER_FICHIER   = 'contrat-ajouter-fichier';
@@ -181,9 +184,12 @@ class ContratAssertion extends AbstractAssertion
            $devalid = true;
        }

        $contratDirectResult = $this->getServiceParametres()->get('contrat_projet');
        $contratDirect       = ($contratDirectResult == Parametre::CONTRAT_PROJET);

        return $this->asserts([
            $this->assertRole($contrat),
            $contrat->getValidation(),
            $contrat->getValidation() && !$contratDirect,
            !$contrat->getDateRetourSigne(),
            $devalid,
        ]);
@@ -193,9 +199,12 @@ class ContratAssertion extends AbstractAssertion

    protected function assertSuppression(Contrat $contrat)
    {
        $contratDirectResult = $this->getServiceParametres()->get('contrat_projet');
        $contratDirect       = ($contratDirectResult == Parametre::CONTRAT_PROJET);

        return $this->asserts([
            $this->assertRole($contrat),
            !$contrat->getValidation(),
            !$contrat->getValidation() || $contratDirect,
        ]);
    }

+12 −1
Changes for module/Application/src/Controller/ContratController.php: 12 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -142,6 +142,7 @@ class ContratController extends AbstractController
        $contratProjetResult = $this->getServiceParametres()->get('contrat_projet');
        $contratProjet       = ($contratProjetResult == Parametre::CONTRAT_PROJET);


        return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratProjet');
    }

@@ -176,6 +177,7 @@ class ContratController extends AbstractController
                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éé.');
@@ -212,6 +214,11 @@ class ContratController extends AbstractController

        if ($this->getRequest()->isPost()) {
            try {
                $contratProjetResult = $this->getServiceParametres()->get('contrat_projet');
                $contratProjet       = ($contratProjetResult == Parametre::CONTRAT_PROJET);
                if ($contratProjet) {

                }
                $this->getProcessusContrat()->supprimer($contrat);
                $this->updateTableauxBord($contrat->getIntervenant());
                $this->flashMessenger()->addSuccessMessage("Suppression $contratToString effectuée avec succès.");
@@ -282,6 +289,7 @@ class ContratController extends AbstractController
        if ($this->isAllowed($contrat, Privileges::CONTRAT_DEVALIDATION)) {
            if ($this->getRequest()->isPost()) {
                try {

                    $this->getProcessusContrat()->devalider($contrat);
                    $this->updateTableauxBord($contrat->getIntervenant());

@@ -337,7 +345,10 @@ class ContratController extends AbstractController
            $canSaisieDateSigne = false;
        }

        return compact('form', 'done', 'title', 'canSaisieDateSigne');
        $contratDateResult = $this->getServiceParametres()->get('contrat_date');
        $contratDate       = ($contratDateResult == Parametre::CONTRAT_DATE);

        return compact('form', 'done', 'title', 'canSaisieDateSigne', 'contratDate');
    }


+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
@@ -18,6 +18,7 @@ class Parametre implements HistoriqueAwareInterface

    const AVENANT        = 'avenant';
    const CONTRAT_PROJET = 'contrat_projet';
    const CONTRAT_DATE   = 'contrat_date';

    use HistoriqueAwareTrait;

Loading