Commit 619ec018 authored by joriot221's avatar joriot221
Browse files

Travail sur contrat sans avenant

parent e1e182ab
Loading
Loading
Loading
Loading
+4 −4
Changes for data/ddl/table/CONTRAT.php: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -159,11 +159,11 @@ return [
            'bdd-type'    => 'NUMBER',
            'length'      => 0,
            'scale'       => '0',
            'precision'   => NULL,
            'nullable'    => FALSE,
            'default'     => NULL,
            'precision'   => null,
            'nullable'    => true,
            'default'     => null,
            'position'    => 10,
            'commentaire' => NULL,
            'commentaire' => null,
        ],
        'TOTAL_HETD'            => [
            'name'        => 'TOTAL_HETD',
+1 −1
Changes for module/Application/src/Assertion/ContratAssertion.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ class ContratAssertion extends AbstractAssertion

    protected function assertStructure(Contrat $contrat, Structure $structure)
    {
        return $contrat->getStructure() == $structure;
        return $contrat->getStructure() == $structure || $contrat->getStructure() == null;
    }


+56 −6
Changes for module/Application/src/Controller/ContratController.php: 56 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ use Application\Service\Traits\TauxHoraireHETDServiceAwareTrait;
use Application\Service\Traits\TypeVolumeHoraireServiceAwareTrait;
use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Service\Traits\WorkflowServiceAwareTrait;
use Doctrine\ORM\Query\Expr\Orx;
use Intervenant\Service\NoteServiceAwareTrait;
use Phan\Debug;
use UnicaenApp\Controller\Plugin\Upload\UploaderPlugin;
@@ -64,6 +65,7 @@ class ContratController extends AbstractController
    private $renderer;



    public function __construct(PhpRenderer $renderer)
    {

@@ -71,6 +73,7 @@ class ContratController extends AbstractController
    }



    /**
     * Initialisation des filtres Doctrine pour les historique.
     * Objectif : laisser passer les enregistrements passés en historique pour mettre en évidence ensuite les erreurs
@@ -88,6 +91,7 @@ class ContratController extends AbstractController
    }



    /**
     * Point d'entrée sur les contrats/avenants.
     *
@@ -106,11 +110,28 @@ class ContratController extends AbstractController

        $title = "Contrat/avenants <small>{$intervenant}</small>";

        $sTestContrat = $this->getServiceContrat();
        $qbTest       = $sTestContrat->finderByIntervenant($intervenant);
        $contratsTest = $sTestContrat->getList($qbTest);
        if (empty($contratsTest)) {
            $hasContrat = false;
        } else {
            $hasContrat = true;
        }


        $sContrat = $this->getServiceContrat();
        $qb       = $sContrat->finderByIntervenant($intervenant);

        if ($structure) {
            $sContrat->finderByStructure($structure, $qb);
            $qb->andWhere(
                new Orx([
                    'c.structure IS NULL',
                    'c.structure = ?2',
                ])
            )->setParameter(2, $structure);
        }

        $contrats = $sContrat->getList($qb);

        //Récupération email intervenant (Perso puis unicaen)
@@ -137,16 +158,26 @@ class ContratController extends AbstractController
            $services['non-contractualises'][$sid][] = $service;
        }
        $avenantResult = $this->getServiceParametres()->get('avenant');
        $avenant       = ($avenantResult == Parametre::AVENANT);
        switch ($avenantResult) {
            case Parametre::AVENANT_AUTORISE :
                $avenant_param = 1;
            break;
            case Parametre::AVENANT_STRUCT :
                $avenant_param = 0;
            break;
            default :
                $avenant_param = -1;
        }

        $contratDirectResult = $this->getServiceParametres()->get('contrat_direct');
        $contratDirect       = ($contratDirectResult == Parametre::CONTRAT_DIRECT);


        return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'avenant', 'contratDirect');
        return compact('title', 'intervenant', 'contrats', 'services', 'emailIntervenant', 'hasContrat', 'avenant_param', 'contratDirect');
    }



    public function creerAction()
    {
        $this->initFilters();
@@ -156,6 +187,10 @@ class ContratController extends AbstractController
        $structure = $this->getEvent()->getParam('structure');
        /* @var $structure Structure */

        $avenantResult = $this->getServiceParametres()->get('avenant');
        if ($avenantResult == PARAMETRE::AVENANT_DESACTIVE) {
            $structure = null;
        }
        $contratDirectResult = $this->getServiceParametres()->get('contrat_direct');
        $contratDirect       = ($contratDirectResult == Parametre::CONTRAT_DIRECT);

@@ -163,9 +198,9 @@ class ContratController extends AbstractController
            throw new \LogicException('L\'intervenant n\'est pas précisé');
        }

        if (!$structure) {
            throw new \LogicException('La structure n\'est pas précisée');
        }
//        if (!$structure) {
//            throw new \LogicException('La structure n\'est pas précisée');
//        }

        $contrat = $this->getProcessusContrat()->creer($intervenant, $structure);

@@ -193,6 +228,7 @@ class ContratController extends AbstractController
    }



    /**
     * Suppression d'un projet de contrat/avenant par la composante d'intervention.
     *
@@ -231,6 +267,7 @@ class ContratController extends AbstractController
    }



    public function validerAction()
    {
        $this->initFilters();
@@ -273,6 +310,7 @@ class ContratController extends AbstractController
    }



    /**
     * Dévalidation du contrat/avenant par la composante d'intervention.
     *
@@ -308,6 +346,7 @@ class ContratController extends AbstractController
    }



    /**
     * Saisie de la date de retour du contrat/avenant signé par l'intervenant.
     *
@@ -356,6 +395,7 @@ class ContratController extends AbstractController
    }



    public function exporterAction()
    {
        /* @var Contrat $contrat */
@@ -370,6 +410,7 @@ class ContratController extends AbstractController
    }



    public function envoyerMailAction()
    {
        /**
@@ -431,6 +472,7 @@ class ContratController extends AbstractController
    }



    /**
     * Dépôt du contrat signé.
     *
@@ -459,6 +501,7 @@ class ContratController extends AbstractController
    }



    /**
     * Listing des fichiers déposés pour le contrat.
     *
@@ -479,6 +522,7 @@ class ContratController extends AbstractController
    }



    /**
     * Téléchargement d'un fichier.
     *
@@ -499,6 +543,7 @@ class ContratController extends AbstractController
    }



    /**
     * Suppression d'un fichier déposé.
     *
@@ -530,6 +575,7 @@ class ContratController extends AbstractController
    }



    private function updateTableauxBord(Intervenant $intervenant)
    {
        $this->getServiceWorkflow()->calculerTableauxBord([
@@ -539,6 +585,7 @@ class ContratController extends AbstractController
    }



    public function modelesListeAction()
    {
        $modeles = $this->getServiceModeleContrat()->getList();
@@ -547,6 +594,7 @@ class ContratController extends AbstractController
    }



    public function modelesEditerAction()
    {
        /* @var $modeleContrat ModeleContrat */
@@ -574,6 +622,7 @@ class ContratController extends AbstractController
    }



    public function modelesSupprimerAction()
    {
        /* @var $modeleContrat ModeleContrat */
@@ -590,6 +639,7 @@ class ContratController extends AbstractController
    }



    public function modelesTelechargerAction()
    {
        /* @var $modeleContrat ModeleContrat */
+1 −1
Changes for module/Application/src/Entity/Db/Intervenant.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -1352,7 +1352,7 @@ class Intervenant implements HistoriqueAwareInterface, ResourceInterface, Import
            if ($typeContrat && $typeContrat !== $contrat->getTypeContrat()) {
                return false;
            }
            if ($structure && $structure !== $contrat->getStructure()) {
            if ($structure && $structure !== $contrat->getStructure() && $contrat->getStructure() !== null) {
                return false;
            }

+2 −1
Changes for module/Application/src/Entity/Db/Parametre.php: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -16,8 +16,9 @@ class Parametre implements HistoriqueAwareInterface
    const CONTRAT_FRANCHI_VALIDATION  = 'validation';
    const CONTRAT_FRANCHI_DATE_RETOUR = 'date-retour';

    const AVENANT        = 'avenant';
    const AVENANT_AUTORISE  = 'avenant_autorise';
    const AVENANT_STRUCT    = 'avenant_Struct';
    const AVENANT_DESACTIVE = 'avenant_desactive';
    const CONTRAT_DIRECT    = 'contrat_direct';
    const CONTRAT_DATE      = 'contrat_date';

Loading