Commit d2540452 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Amerlioration du code + note

parent 1f63e991
Loading
Loading
Loading
Loading
+16 −8
Changes for module/Soutenance/src/Soutenance/Controller/AvisController.php: 16 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ use Zend\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Zend\View\Model\ViewModel;

/** @method FlashMessenger flashMessenger() */

class AvisController extends AbstractController {
class AvisController extends AbstractController
{
    use ActeurServiceAwareTrait;
    use AvisServiceAwareTrait;
    use MembreServiceAwareTrait;
@@ -67,6 +67,7 @@ class AvisController extends AbstractController {
                $fichier = $this->getAvisService()->createAvisFromUpload($files, $membre);
                $validation = $this->getValidationService()->signerAvisSoutenance($these, $membre->getIndividu());

                /** TODO revoir hydration :: pense à ajouter le fichier à postériori */
                $avis = new Avis();
                $avis->setProposition($proposition);
                $avis->setMembre($membre);
@@ -76,18 +77,22 @@ class AvisController extends AbstractController {
                $avis->setMotif($data['motif']);
                $this->getAvisService()->create($avis);

                //test du rendu de tous les avis
                /**
                 * N.B. :  Après un dépôt penser à vérifier :
                 *   - peu importe l'avis il faut notifier à chaque dépot d'un avis ;
                 *   - si tous les avis sont déposés penser à notifier le bureau des doctorats.
                 */
                $allAvis = $this->getAvisService()->getAvisByThese($these);
                $allRapporteurs = $this->getMembreService()->getRapporteursByProposition($proposition);

                $url = null; //$this->urlFichierThese()->telechargerFichierThese($these, $avis->getFichier());
                if ($avis->getAvis() === Avis::FAVORABLE) {
                    $this->getNotifierSoutenanceService()->triggerAvisFavorable($these, $avis, $url);
                    $this->getNotifierSoutenanceService()->triggerAvisFavorable($these, $avis);
                }
                if ($avis->getAvis() === Avis::DEFAVORABLE) {
                    $this->getNotifierSoutenanceService()->triggerAvisDefavorable($these, $avis, $url);
                    $this->getNotifierSoutenanceService()->triggerAvisDefavorable($these, $avis);
                }

                /** TODO ajouter un prédicat dans thèse ou soutenance ??? */
                if (count($allAvis) === count($allRapporteurs)) {
                    $this->getNotifierSoutenanceService()->triggerAvisRendus($these);
                }
@@ -102,10 +107,12 @@ class AvisController extends AbstractController {
        ]);
    }

    public function afficherAction() {
    public function afficherAction()
    {
        $these = $this->requestedThese();
        $membre = $this->getMembreService()->getRequestedMembre($this, 'rapporteur');
        $rapporteur = $membre->getActeur();

        /** @var Avis $avis */
        $avis = $this->getAvisService()->getAvisByMembre($membre);

@@ -117,7 +124,8 @@ class AvisController extends AbstractController {
        ]);
    }

    public function annulerAction() {
    public function annulerAction()
    {
        $these = $this->requestedThese();
        $membre = $this->getMembreService()->getRequestedMembre($this, 'rapporteur');
        /** @var Avis $avis */
+0 −1
Changes for module/Soutenance/src/Soutenance/Controller/ConfigurationController.php: 0 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ class ConfigurationController extends AbstractActionController
            $this->redirect()->toRoute('configuration');
        }


        return new ViewModel([
            'form' => $form,
        ]);
+3 −9
Changes for module/Soutenance/src/Soutenance/Controller/EngagementImpartialiteController.php: 3 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -5,33 +5,27 @@ namespace Soutenance\Controller;
use Application\Controller\AbstractController;
use Application\Entity\Db\Validation;
use Application\Service\Acteur\ActeurServiceAwareTrait;
use Application\Service\Individu\IndividuServiceAwareTrait;
use Application\Service\These\TheseServiceAwareTrait;
use Soutenance\Entity\Membre;
use Soutenance\Service\EngagementImpartialite\EngagementImpartialiteServiceAwareTrait;
use Soutenance\Service\Membre\MembreServiceAwareTrait;
use Soutenance\Service\Notifier\NotifierSoutenanceServiceAwareTrait;
use Soutenance\Service\Proposition\PropositionServiceAwareTrait;
use Soutenance\Service\Validation\ValidatationServiceAwareTrait;
use Zend\View\Model\ViewModel;

/**
 * Class SoutenanceController
 * @package Soutenance\Controller
 *
 * Controlleur principale du module de gestion de la soutenance
 * @method boolean isAllowed($resource, $privilege = null)
 */

/** @method boolean isAllowed($resource, $privilege = null) */

class EngagementImpartialiteController extends AbstractController
{
    use ActeurServiceAwareTrait;
    use EngagementImpartialiteServiceAwareTrait;
    use IndividuServiceAwareTrait;
    use MembreServiceAwareTrait;
    use NotifierSoutenanceServiceAwareTrait;
    use PropositionServiceAwareTrait;
    use TheseServiceAwareTrait;
    use ValidatationServiceAwareTrait;

    public function engagementImpartialiteAction()
    {
+0 −13
Changes for module/Soutenance/src/Soutenance/Controller/EngagementImpartialiteControllerFactory.php: 0 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -3,15 +3,11 @@
namespace Soutenance\Controller;

use Application\Service\Acteur\ActeurService;
use Application\Service\Individu\IndividuService;
use Application\Service\These\TheseService;
use Interop\Container\ContainerInterface;
use Soutenance\Service\EngagementImpartialite\EngagementImpartialiteService;
use Soutenance\Service\Membre\MembreService;
use Soutenance\Service\Notifier\NotifierSoutenanceService;
use Soutenance\Service\Proposition\PropositionService;
use Soutenance\Service\Validation\ValidationService;
use Zend\Mvc\Controller\ControllerManager;

class EngagementImpartialiteControllerFactory
{
@@ -25,18 +21,12 @@ class EngagementImpartialiteControllerFactory
         * @var ActeurService $acteurService
         * @var PropositionService $propositionService
         * @var MembreService $membreService
         * @var TheseService $theseService
         * @var ValidationService $validationService
         * @var IndividuService $individuService
         * @var NotifierSoutenanceService $notifierService
         * @var EngagementImpartialiteService $engagementImpartialiteService
         */
        $acteurService                  = $container->get(ActeurService::class);
        $propositionService             = $container->get(PropositionService::class);
        $membreService                  = $container->get(MembreService::class);
        $theseService                   = $container->get('TheseService');
        $validationService              = $container->get(ValidationService::class);
        $individuService                = $container->get('IndividuService');
        $notifierService                = $container->get(NotifierSoutenanceService::class);
        $engagementImpartialiteService  = $container->get(EngagementImpartialiteService::class);

@@ -45,9 +35,6 @@ class EngagementImpartialiteControllerFactory
        $controller->setActeurService($acteurService);
        $controller->setPropositionService($propositionService);
        $controller->setMembreService($membreService);
        $controller->setTheseService($theseService);
        $controller->setValidationService($validationService);
        $controller->setIndividuService($individuService);
        $controller->setNotifierSoutenanceService($notifierService);
        $controller->setEngagementImpartialiteService($engagementImpartialiteService);

+30 −43
Changes for module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php: 30 added lines, 43 removed lines.
Original line number Diff line number Diff line
@@ -2,9 +2,9 @@

namespace Soutenance\Controller;


use Application\Controller\AbstractController;
use Application\Entity\Db\Acteur;
use Application\Entity\Db\Etablissement;
use Application\Entity\Db\Profil;
use Application\Entity\Db\TypeValidation;
use Application\Entity\Db\Utilisateur;
@@ -61,6 +61,7 @@ class PresoutenanceController extends AbstractController
    use DateRenduRapportFormAwareTrait;
    use AdresseSoutenanceFormAwareTrait;

    /** TODO rendererAwareTrait ??? */
    /** @var PhpRenderer */
    private $renderer;

@@ -396,21 +397,15 @@ class PresoutenanceController extends AbstractController
        exit;
    }

    /** Document pour la signature en présidence */
    public function convocationsAction()
    /** TODO devrait être une variable VILLE_ETABLISSEMENT */
    /**
     * @param Etablissement $etablissement
     * @return string
     */
    private function getVille(Etablissement $etablissement)
    {
        $these = $this->requestedThese();
        $proposition = $this->getPropositionService()->findByThese($these);

        /** @var PdcData $pdcData */
        $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these);

        /** @var Validation[] $validationMDD */
        $validationMDD = $this->getValidationService()->getRepository()->findValidationByCodeAndThese(TypeValidation::CODE_VALIDATION_PROPOSITION_BDD, $these);
        $dateValidation = (!empty($validationMDD)) ? current($validationMDD)->getHistoModification() : null;

        /** @var string $ville */
        switch ($these->getEtablissement()->getSigle()) {
        $ville = null;
        switch ($etablissement->getSigle()) {
            case "UCN" :
                $ville = "Caen";
                break;
@@ -424,6 +419,24 @@ class PresoutenanceController extends AbstractController
            default:
                $ville = "Manquant";
        }
        return $ville;
    }

    /** Document pour la signature en présidence */
    public function convocationsAction()
    {
        $these = $this->requestedThese();
        $proposition = $this->getPropositionService()->findByThese($these);

        /** @var PdcData $pdcData */
        $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these);

        /** @var Validation[] $validationMDD */
        $validationMDD = $this->getValidationService()->getRepository()->findValidationByCodeAndThese(TypeValidation::CODE_VALIDATION_PROPOSITION_BDD, $these);
        $dateValidation = (!empty($validationMDD)) ? current($validationMDD)->getHistoModification() : null;

        /** @var string $ville */
        $ville = $this->getVille($these->getEtablissement());

        $exporter = new ConvocationPdfExporter($this->renderer, 'A4');
        $exporter->setVars([
@@ -450,20 +463,7 @@ class PresoutenanceController extends AbstractController
        $dateValidation = (!empty($validationMDD)) ? current($validationMDD)->getHistoModification() : null;

        /** @var string $ville */
        switch ($these->getEtablissement()->getSigle()) {
            case "UCN" :
                $ville = "Caen";
                break;
            case "URN" :
            case "INSA" :
                $ville = "Rouen";
                break;
            case "ULHN" :
                $ville = "Le Havre";
                break;
            default:
                $ville = "Manquant";
        }
        $ville = $this->getVille($these->getEtablissement());

        $exporter = new ConvocationPdfExporter($this->renderer, 'A4');
        $exporter->setVars([
@@ -491,20 +491,7 @@ class PresoutenanceController extends AbstractController
        $dateValidation = (!empty($validationMDD)) ? current($validationMDD)->getHistoModification() : null;

        /** @var string $ville */
        switch ($these->getEtablissement()->getSigle()) {
            case "UCN" :
                $ville = "Caen";
                break;
            case "URN" :
            case "INSA" :
                $ville = "Rouen";
                break;
            case "ULHN" :
                $ville = "Le Havre";
                break;
            default:
                $ville = "Manquant";
        }
        $ville = $this->getVille($these->getEtablissement());

        $exporter = new ConvocationPdfExporter($this->renderer, 'A4');
        $exporter->setVars([
Loading