Loading module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php +60 −38 Changes for module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php: 60 added lines, 38 removed lines. Original line number Diff line number Diff line Loading @@ -26,19 +26,22 @@ use Soutenance\Service\Avis\AvisServiceAwareTrait; use Soutenance\Service\EngagementImpartialite\EngagementImpartialiteServiceAwareTrait; use Soutenance\Service\Exporter\AvisSoutenance\AvisSoutenancePdfExporter; use Soutenance\Service\Exporter\Convocation\ConvocationPdfExporter; use Soutenance\Service\Exporter\ProcesVerbal\ProcesVerbalSoutenancePdfExporter; use Soutenance\Service\Membre\MembreServiceAwareTrait; use Soutenance\Service\Notifier\NotifierSoutenanceServiceAwareTrait; use Soutenance\Service\Parametre\ParametreServiceAwareTrait; use Soutenance\Service\Exporter\ProcesVerbal\ProcesVerbalSoutenancePdfExporter; use Soutenance\Service\Proposition\PropositionServiceAwareTrait; use Soutenance\Service\Validation\ValidatationServiceAwareTrait; use UnicaenApp\Exception\LogicException; use UnicaenApp\Exception\RuntimeException; use UnicaenAuth\Service\Traits\UserServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Plugin\FlashMessenger\FlashMessenger; use Zend\View\Model\ViewModel; use Zend\View\Renderer\PhpRenderer; /** @method FlashMessenger flashMessenger() */ class PresoutenanceController extends AbstractController { use TheseServiceAwareTrait; Loading @@ -58,6 +61,17 @@ class PresoutenanceController extends AbstractController use DateRenduRapportFormAwareTrait; use AdresseSoutenanceFormAwareTrait; /** @var PhpRenderer */ private $renderer; /** * @param PhpRenderer $renderer */ public function setRenderer($renderer) { $this->renderer = $renderer; } public function presoutenanceAction() { $these = $this->requestedThese(); Loading Loading @@ -147,19 +161,22 @@ class PresoutenanceController extends AbstractController $acteurs = array_filter($acteurs, function (Acteur $a) { /** @var Profil $profil */ $profil = ($a->getRole()->getProfils()->first()); return $profil->getRoleCode() === 'R';}); return $profil->getRoleCode() === 'R'; }); break; case Membre::RAPPORTEUR_ABSENT : $acteurs = array_filter($acteurs, function (Acteur $a) { /** @var Profil $profil */ $profil = ($a->getRole()->getProfils()->first()); return $profil->getRoleCode() === 'R';}); return $profil->getRoleCode() === 'R'; }); break; case Membre::MEMBRE_JURY : $acteurs = array_filter($acteurs, function (Acteur $a) { /** @var Profil $profil */ $profil = ($a->getRole()->getProfils()->first()); return $profil->getRoleCode() === 'M';}); return $profil->getRoleCode() === 'M'; }); break; } Loading Loading @@ -277,7 +294,8 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $avis->getThese()->getId()], [], true); } public function feuVertAction() { public function feuVertAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading @@ -296,7 +314,8 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $these->getId()], [], true); } public function stopperDemarcheAction() { public function stopperDemarcheAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading @@ -312,7 +331,8 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $these->getId()], [], true); } public function modifierAdresseAction() { public function modifierAdresseAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading Loading @@ -347,10 +367,7 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); $exporter = new ProcesVerbalSoutenancePdfExporter($renderer, 'A4'); $exporter = new ProcesVerbalSoutenancePdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -369,10 +386,7 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); $exporter = new AvisSoutenancePdfExporter($renderer, 'A4'); $exporter = new AvisSoutenancePdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -391,25 +405,27 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); /** @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()) { case "UCN" : $ville = "Caen"; break; case "UCN" : $ville = "Caen"; break; case "URN" : case "INSA" : $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; default: $ville = "Manquant"; } $exporter = new ConvocationPdfExporter($renderer, 'A4'); $exporter = new ConvocationPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -429,25 +445,27 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); /** @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()) { case "UCN" : $ville = "Caen"; break; case "UCN" : $ville = "Caen"; break; case "URN" : case "INSA" : $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; default: $ville = "Manquant"; } $exporter = new ConvocationPdfExporter($renderer, 'A4'); $exporter = new ConvocationPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -468,25 +486,27 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); /** @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()) { case "UCN" : $ville = "Caen"; break; case "UCN" : $ville = "Caen"; break; case "URN" : case "INSA" : $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; default: $ville = "Manquant"; } $exporter = new ConvocationPdfExporter($renderer, 'A4'); $exporter = new ConvocationPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading Loading @@ -518,7 +538,7 @@ class PresoutenanceController extends AbstractController /** @var Membre $membre */ foreach ($proposition->getMembres() as $membre) { if ($membre->isMembre()) { $email = ($membre->getIndividu() AND $membre->getIndividu()->getEmail())?$membre->getIndividu()->getEmail():$membre->getEmail(); $email = ($membre->getIndividu() and $membre->getIndividu()->getEmail()) ? $membre->getIndividu()->getEmail() : $membre->getEmail(); /** @see PresoutenanceController::convocationMembreAction() */ $url = $this->url()->fromRoute('soutenance/presoutenance/convocation-membre', ['proposition' => $proposition->getId(), 'membre' => $membre->getId()], ['force_canonical' => true], true); $this->getNotifierSoutenanceService()->triggerEnvoiConvocationMembre($membre, $proposition, $dateValidation, $email, $url); Loading @@ -527,6 +547,7 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $these->getId()], [], true); } /** Route console ... */ public function notifierRetardRapportPresoutenanceAction() { $delai = new DateInterval('P15D'); Loading @@ -544,7 +565,8 @@ class PresoutenanceController extends AbstractController * @param Membre $membre * @return string */ private function generateUsername($membre) { private function generateUsername($membre) { $acteur = $membre->getActeur(); if ($acteur === null) throw new LogicException("La génération du username est basée sur l'Individu qui est mamquant."); $nomusuel = strtolower($acteur->getIndividu()->getNomUsuel()); Loading module/Soutenance/src/Soutenance/Controller/PresoutenanceControllerFactory.php +6 −1 Changes for module/Soutenance/src/Soutenance/Controller/PresoutenanceControllerFactory.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,8 +17,8 @@ use Soutenance\Service\Notifier\NotifierSoutenanceService; use Soutenance\Service\Parametre\ParametreService; use Soutenance\Service\Proposition\PropositionService; use Soutenance\Service\Validation\ValidationService; use Zend\Mvc\Controller\ControllerManager; use UnicaenAuth\Service\User as UserService; use Zend\View\Renderer\PhpRenderer; class PresoutenanceControllerFactory { Loading Loading @@ -64,6 +64,9 @@ class PresoutenanceControllerFactory $dateRenduRapportForm = $container->get('FormElementManager')->get(DateRenduRapportForm::class); $adresseSoutenanceForm = $container->get('FormElementManager')->get(AdresseSoutenanceForm::class); /* @var $renderer PhpRenderer */ $renderer = $container->get('ViewRenderer'); /** @var PresoutenanceController $controller */ $controller = new PresoutenanceController(); $controller->setPropositionService($propositionService); Loading @@ -82,6 +85,8 @@ class PresoutenanceControllerFactory $controller->setDateRenduRapportForm($dateRenduRapportForm); $controller->setAdresseSoutenanceForm($adresseSoutenanceForm); $controller->setRenderer($renderer); return $controller; } } No newline at end of file module/Soutenance/src/Soutenance/Controller/PropositionController.php +32 −14 Changes for module/Soutenance/src/Soutenance/Controller/PropositionController.php: 32 added lines, 14 removed lines. Original line number Diff line number Diff line Loading @@ -45,7 +45,8 @@ use Zend\Http\Request; use Zend\View\Model\ViewModel; use Zend\View\Renderer\PhpRenderer; class PropositionController extends AbstractController { class PropositionController extends AbstractController { use ActeurServiceAwareTrait; use MembreServiceAwareTrait; use NotifierSoutenanceServiceAwareTrait; Loading @@ -65,6 +66,17 @@ class PropositionController extends AbstractController { use ChangementTitreFormAwareTrait; use JustificatifFormAwareTrait; /** @var PhpRenderer */ private $renderer; /** * @param PhpRenderer $renderer */ public function setRenderer($renderer) { $this->renderer = $renderer; } public function propositionAction() { $these = $this->requestedThese(); Loading Loading @@ -232,8 +244,7 @@ class PropositionController extends AbstractController { if ($form->isValid()) { if ($new !== true) { $this->getMembreService()->update($membre); } else { } else { $this->getMembreService()->create($membre); } $this->getPropositionService()->annulerValidations($proposition); Loading Loading @@ -362,7 +373,8 @@ class PropositionController extends AbstractController { return $vm; } public function validerActeurAction() { public function validerActeurAction() { $these = $this->requestedThese(); $validation = $this->getValidationService()->validatePropositionSoutenance($these); Loading @@ -389,7 +401,8 @@ class PropositionController extends AbstractController { } public function validerStructureAction() { public function validerStructureAction() { $these = $this->requestedThese(); /** Loading Loading @@ -422,7 +435,8 @@ class PropositionController extends AbstractController { } public function refuserStructureAction() { public function refuserStructureAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading Loading @@ -457,10 +471,9 @@ class PropositionController extends AbstractController { $codirecteurs = $this->getActeurService()->getRepository()->findActeursByTheseAndRole($these, Role::CODE_CODIRECTEUR_THESE); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); $exporter = new SiganturePresidentPdfExporter($renderer, 'A4'); $exporter = new SiganturePresidentPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'validations' => $this->getPropositionService()->getValidationSoutenance($these), Loading Loading @@ -500,7 +513,8 @@ class PropositionController extends AbstractController { ]); } public function ajouterJustificatifAction() { public function ajouterJustificatifAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading Loading @@ -544,7 +558,8 @@ class PropositionController extends AbstractController { ]); } public function retirerJustificatifAction() { public function retirerJustificatifAction() { $these = $this->requestedThese(); $justifcatif = $this->getJustificatifService()->getRequestedJustificatif($this); Loading @@ -553,7 +568,8 @@ class PropositionController extends AbstractController { return $this->redirect()->toRoute('soutenance/proposition', ['these' => $these->getId()], [], true); } public function toggleSursisAction() { public function toggleSursisAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading @@ -570,7 +586,8 @@ class PropositionController extends AbstractController { * @param Proposition $proposition * @return Proposition */ private function updateAndUnvalidate(Request $request, Form $form, Proposition $proposition) { private function updateAndUnvalidate(Request $request, Form $form, Proposition $proposition) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { Loading @@ -580,7 +597,8 @@ class PropositionController extends AbstractController { return $proposition; } public function suppressionAction() { public function suppressionAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading module/Soutenance/src/Soutenance/Controller/PropositionControllerFactory.php +6 −0 Changes for module/Soutenance/src/Soutenance/Controller/PropositionControllerFactory.php: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ use Soutenance\Service\Parametre\ParametreService; use Soutenance\Service\Proposition\PropositionService; use Soutenance\Service\Validation\ValidationService; use Zend\Mvc\Controller\ControllerManager; use Zend\View\Renderer\PhpRenderer; class PropositionControllerFactory { Loading Loading @@ -73,6 +74,9 @@ class PropositionControllerFactory { $changementTitreForm = $container->get('FormElementManager')->get(ChangementTitreForm::class); $justificatifForm = $container->get('FormElementManager')->get(JustificatifForm::class); /* @var $renderer PhpRenderer */ $renderer = $container->get('ViewRenderer'); /** @var PropositionController $controller */ $controller = new PropositionController(); Loading @@ -96,6 +100,8 @@ class PropositionControllerFactory { $controller->setChangementTitreForm($changementTitreForm); $controller->setJustificatifForm($justificatifForm); $controller->setRenderer($renderer); return $controller; } } No newline at end of file Loading
module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php +60 −38 Changes for module/Soutenance/src/Soutenance/Controller/PresoutenanceController.php: 60 added lines, 38 removed lines. Original line number Diff line number Diff line Loading @@ -26,19 +26,22 @@ use Soutenance\Service\Avis\AvisServiceAwareTrait; use Soutenance\Service\EngagementImpartialite\EngagementImpartialiteServiceAwareTrait; use Soutenance\Service\Exporter\AvisSoutenance\AvisSoutenancePdfExporter; use Soutenance\Service\Exporter\Convocation\ConvocationPdfExporter; use Soutenance\Service\Exporter\ProcesVerbal\ProcesVerbalSoutenancePdfExporter; use Soutenance\Service\Membre\MembreServiceAwareTrait; use Soutenance\Service\Notifier\NotifierSoutenanceServiceAwareTrait; use Soutenance\Service\Parametre\ParametreServiceAwareTrait; use Soutenance\Service\Exporter\ProcesVerbal\ProcesVerbalSoutenancePdfExporter; use Soutenance\Service\Proposition\PropositionServiceAwareTrait; use Soutenance\Service\Validation\ValidatationServiceAwareTrait; use UnicaenApp\Exception\LogicException; use UnicaenApp\Exception\RuntimeException; use UnicaenAuth\Service\Traits\UserServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Plugin\FlashMessenger\FlashMessenger; use Zend\View\Model\ViewModel; use Zend\View\Renderer\PhpRenderer; /** @method FlashMessenger flashMessenger() */ class PresoutenanceController extends AbstractController { use TheseServiceAwareTrait; Loading @@ -58,6 +61,17 @@ class PresoutenanceController extends AbstractController use DateRenduRapportFormAwareTrait; use AdresseSoutenanceFormAwareTrait; /** @var PhpRenderer */ private $renderer; /** * @param PhpRenderer $renderer */ public function setRenderer($renderer) { $this->renderer = $renderer; } public function presoutenanceAction() { $these = $this->requestedThese(); Loading Loading @@ -147,19 +161,22 @@ class PresoutenanceController extends AbstractController $acteurs = array_filter($acteurs, function (Acteur $a) { /** @var Profil $profil */ $profil = ($a->getRole()->getProfils()->first()); return $profil->getRoleCode() === 'R';}); return $profil->getRoleCode() === 'R'; }); break; case Membre::RAPPORTEUR_ABSENT : $acteurs = array_filter($acteurs, function (Acteur $a) { /** @var Profil $profil */ $profil = ($a->getRole()->getProfils()->first()); return $profil->getRoleCode() === 'R';}); return $profil->getRoleCode() === 'R'; }); break; case Membre::MEMBRE_JURY : $acteurs = array_filter($acteurs, function (Acteur $a) { /** @var Profil $profil */ $profil = ($a->getRole()->getProfils()->first()); return $profil->getRoleCode() === 'M';}); return $profil->getRoleCode() === 'M'; }); break; } Loading Loading @@ -277,7 +294,8 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $avis->getThese()->getId()], [], true); } public function feuVertAction() { public function feuVertAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading @@ -296,7 +314,8 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $these->getId()], [], true); } public function stopperDemarcheAction() { public function stopperDemarcheAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading @@ -312,7 +331,8 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $these->getId()], [], true); } public function modifierAdresseAction() { public function modifierAdresseAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading Loading @@ -347,10 +367,7 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); $exporter = new ProcesVerbalSoutenancePdfExporter($renderer, 'A4'); $exporter = new ProcesVerbalSoutenancePdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -369,10 +386,7 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); $exporter = new AvisSoutenancePdfExporter($renderer, 'A4'); $exporter = new AvisSoutenancePdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -391,25 +405,27 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); /** @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()) { case "UCN" : $ville = "Caen"; break; case "UCN" : $ville = "Caen"; break; case "URN" : case "INSA" : $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; default: $ville = "Manquant"; } $exporter = new ConvocationPdfExporter($renderer, 'A4'); $exporter = new ConvocationPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -429,25 +445,27 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); /** @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()) { case "UCN" : $ville = "Caen"; break; case "UCN" : $ville = "Caen"; break; case "URN" : case "INSA" : $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; default: $ville = "Manquant"; } $exporter = new ConvocationPdfExporter($renderer, 'A4'); $exporter = new ConvocationPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading @@ -468,25 +486,27 @@ class PresoutenanceController extends AbstractController /** @var PdcData $pdcData */ $pdcData = $this->getTheseService()->fetchInformationsPageDeCouverture($these); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); /** @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()) { case "UCN" : $ville = "Caen"; break; case "UCN" : $ville = "Caen"; break; case "URN" : case "INSA" : $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; $ville = "Rouen"; break; case "ULHN" : $ville = "Le Havre"; break; default: $ville = "Manquant"; } $exporter = new ConvocationPdfExporter($renderer, 'A4'); $exporter = new ConvocationPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'these' => $these, Loading Loading @@ -518,7 +538,7 @@ class PresoutenanceController extends AbstractController /** @var Membre $membre */ foreach ($proposition->getMembres() as $membre) { if ($membre->isMembre()) { $email = ($membre->getIndividu() AND $membre->getIndividu()->getEmail())?$membre->getIndividu()->getEmail():$membre->getEmail(); $email = ($membre->getIndividu() and $membre->getIndividu()->getEmail()) ? $membre->getIndividu()->getEmail() : $membre->getEmail(); /** @see PresoutenanceController::convocationMembreAction() */ $url = $this->url()->fromRoute('soutenance/presoutenance/convocation-membre', ['proposition' => $proposition->getId(), 'membre' => $membre->getId()], ['force_canonical' => true], true); $this->getNotifierSoutenanceService()->triggerEnvoiConvocationMembre($membre, $proposition, $dateValidation, $email, $url); Loading @@ -527,6 +547,7 @@ class PresoutenanceController extends AbstractController $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $these->getId()], [], true); } /** Route console ... */ public function notifierRetardRapportPresoutenanceAction() { $delai = new DateInterval('P15D'); Loading @@ -544,7 +565,8 @@ class PresoutenanceController extends AbstractController * @param Membre $membre * @return string */ private function generateUsername($membre) { private function generateUsername($membre) { $acteur = $membre->getActeur(); if ($acteur === null) throw new LogicException("La génération du username est basée sur l'Individu qui est mamquant."); $nomusuel = strtolower($acteur->getIndividu()->getNomUsuel()); Loading
module/Soutenance/src/Soutenance/Controller/PresoutenanceControllerFactory.php +6 −1 Changes for module/Soutenance/src/Soutenance/Controller/PresoutenanceControllerFactory.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,8 +17,8 @@ use Soutenance\Service\Notifier\NotifierSoutenanceService; use Soutenance\Service\Parametre\ParametreService; use Soutenance\Service\Proposition\PropositionService; use Soutenance\Service\Validation\ValidationService; use Zend\Mvc\Controller\ControllerManager; use UnicaenAuth\Service\User as UserService; use Zend\View\Renderer\PhpRenderer; class PresoutenanceControllerFactory { Loading Loading @@ -64,6 +64,9 @@ class PresoutenanceControllerFactory $dateRenduRapportForm = $container->get('FormElementManager')->get(DateRenduRapportForm::class); $adresseSoutenanceForm = $container->get('FormElementManager')->get(AdresseSoutenanceForm::class); /* @var $renderer PhpRenderer */ $renderer = $container->get('ViewRenderer'); /** @var PresoutenanceController $controller */ $controller = new PresoutenanceController(); $controller->setPropositionService($propositionService); Loading @@ -82,6 +85,8 @@ class PresoutenanceControllerFactory $controller->setDateRenduRapportForm($dateRenduRapportForm); $controller->setAdresseSoutenanceForm($adresseSoutenanceForm); $controller->setRenderer($renderer); return $controller; } } No newline at end of file
module/Soutenance/src/Soutenance/Controller/PropositionController.php +32 −14 Changes for module/Soutenance/src/Soutenance/Controller/PropositionController.php: 32 added lines, 14 removed lines. Original line number Diff line number Diff line Loading @@ -45,7 +45,8 @@ use Zend\Http\Request; use Zend\View\Model\ViewModel; use Zend\View\Renderer\PhpRenderer; class PropositionController extends AbstractController { class PropositionController extends AbstractController { use ActeurServiceAwareTrait; use MembreServiceAwareTrait; use NotifierSoutenanceServiceAwareTrait; Loading @@ -65,6 +66,17 @@ class PropositionController extends AbstractController { use ChangementTitreFormAwareTrait; use JustificatifFormAwareTrait; /** @var PhpRenderer */ private $renderer; /** * @param PhpRenderer $renderer */ public function setRenderer($renderer) { $this->renderer = $renderer; } public function propositionAction() { $these = $this->requestedThese(); Loading Loading @@ -232,8 +244,7 @@ class PropositionController extends AbstractController { if ($form->isValid()) { if ($new !== true) { $this->getMembreService()->update($membre); } else { } else { $this->getMembreService()->create($membre); } $this->getPropositionService()->annulerValidations($proposition); Loading Loading @@ -362,7 +373,8 @@ class PropositionController extends AbstractController { return $vm; } public function validerActeurAction() { public function validerActeurAction() { $these = $this->requestedThese(); $validation = $this->getValidationService()->validatePropositionSoutenance($these); Loading @@ -389,7 +401,8 @@ class PropositionController extends AbstractController { } public function validerStructureAction() { public function validerStructureAction() { $these = $this->requestedThese(); /** Loading Loading @@ -422,7 +435,8 @@ class PropositionController extends AbstractController { } public function refuserStructureAction() { public function refuserStructureAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading Loading @@ -457,10 +471,9 @@ class PropositionController extends AbstractController { $codirecteurs = $this->getActeurService()->getRepository()->findActeursByTheseAndRole($these, Role::CODE_CODIRECTEUR_THESE); /* @var $renderer PhpRenderer */ $renderer = $this->getServiceLocator()->get('view_renderer'); $exporter = new SiganturePresidentPdfExporter($renderer, 'A4'); $exporter = new SiganturePresidentPdfExporter($this->renderer, 'A4'); $exporter->setVars([ 'proposition' => $proposition, 'validations' => $this->getPropositionService()->getValidationSoutenance($these), Loading Loading @@ -500,7 +513,8 @@ class PropositionController extends AbstractController { ]); } public function ajouterJustificatifAction() { public function ajouterJustificatifAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading Loading @@ -544,7 +558,8 @@ class PropositionController extends AbstractController { ]); } public function retirerJustificatifAction() { public function retirerJustificatifAction() { $these = $this->requestedThese(); $justifcatif = $this->getJustificatifService()->getRequestedJustificatif($this); Loading @@ -553,7 +568,8 @@ class PropositionController extends AbstractController { return $this->redirect()->toRoute('soutenance/proposition', ['these' => $these->getId()], [], true); } public function toggleSursisAction() { public function toggleSursisAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading @@ -570,7 +586,8 @@ class PropositionController extends AbstractController { * @param Proposition $proposition * @return Proposition */ private function updateAndUnvalidate(Request $request, Form $form, Proposition $proposition) { private function updateAndUnvalidate(Request $request, Form $form, Proposition $proposition) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { Loading @@ -580,7 +597,8 @@ class PropositionController extends AbstractController { return $proposition; } public function suppressionAction() { public function suppressionAction() { $these = $this->requestedThese(); $proposition = $this->getPropositionService()->findByThese($these); Loading
module/Soutenance/src/Soutenance/Controller/PropositionControllerFactory.php +6 −0 Changes for module/Soutenance/src/Soutenance/Controller/PropositionControllerFactory.php: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ use Soutenance\Service\Parametre\ParametreService; use Soutenance\Service\Proposition\PropositionService; use Soutenance\Service\Validation\ValidationService; use Zend\Mvc\Controller\ControllerManager; use Zend\View\Renderer\PhpRenderer; class PropositionControllerFactory { Loading Loading @@ -73,6 +74,9 @@ class PropositionControllerFactory { $changementTitreForm = $container->get('FormElementManager')->get(ChangementTitreForm::class); $justificatifForm = $container->get('FormElementManager')->get(JustificatifForm::class); /* @var $renderer PhpRenderer */ $renderer = $container->get('ViewRenderer'); /** @var PropositionController $controller */ $controller = new PropositionController(); Loading @@ -96,6 +100,8 @@ class PropositionControllerFactory { $controller->setChangementTitreForm($changementTitreForm); $controller->setJustificatifForm($justificatifForm); $controller->setRenderer($renderer); return $controller; } } No newline at end of file