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

Creation de l'avis (fichier) deplacer dans le service

parent 4f7ffba1
Loading
Loading
Loading
Loading
+1 −16
Changes for module/Soutenance/src/Soutenance/Controller/AvisController.php: 1 added line, 16 removed lines.
Original line number Diff line number Diff line
@@ -3,15 +3,10 @@
namespace Soutenance\Controller;

use Application\Controller\AbstractController;
use Application\Entity\Db\NatureFichier;
use Application\Entity\Db\VersionFichier;
use Application\Service\Acteur\ActeurServiceAwareTrait;
use Application\Service\Fichier\FichierServiceAwareTrait;
use Application\Service\FichierThese\FichierTheseServiceAwareTrait;
use Application\Service\These\TheseServiceAwareTrait;
use Soutenance\Entity\Avis;
use Soutenance\Entity\Proposition;
use Soutenance\Filter\NomAvisFormatter;
use Soutenance\Form\Avis\AvisForm;
use Soutenance\Form\Avis\AvisFormAwareTrait;
use Soutenance\Service\Avis\AvisServiceAwareTrait;
@@ -27,8 +22,6 @@ use Zend\View\Model\ViewModel;

class AvisController extends AbstractController {
    use ActeurServiceAwareTrait;
    use FichierServiceAwareTrait;
    use FichierTheseServiceAwareTrait;
    use AvisServiceAwareTrait;
    use MembreServiceAwareTrait;
    use NotifierSoutenanceServiceAwareTrait;
@@ -71,13 +64,7 @@ class AvisController extends AbstractController {

            $form->setData($data);
            if ($form->isValid()) {

                //todo faire une fonction dans AvisService ...
                $nature = $this->fichierTheseService->fetchNatureFichier(NatureFichier::CODE_PRE_RAPPORT_SOUTENANCE);
                $version = $this->fichierTheseService->fetchVersionFichier(VersionFichier::CODE_ORIG);
                $fichiers = $this->fichierService->createFichiersFromUpload($files, $nature, $version, new NomAvisFormatter($membre->getIndividu()));
                $fichier = current($fichiers);

                $fichier = $this->getAvisService()->createAvisFromUpload($files, $membre);
                $validation = $this->getValidationService()->signerAvisSoutenance($these, $membre->getIndividu());

                $avis = new Avis();
@@ -93,8 +80,6 @@ class AvisController extends AbstractController {
                $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);
+10 −19
Changes for module/Soutenance/src/Soutenance/Controller/AvisControllerFactory.php: 10 added lines, 19 removed lines.
Original line number Diff line number Diff line
@@ -3,8 +3,6 @@
namespace Soutenance\Controller;

use Application\Service\Acteur\ActeurService;
use Application\Service\Fichier\FichierService;
use Application\Service\FichierThese\FichierTheseService;
use Application\Service\These\TheseService;
use Interop\Container\ContainerInterface;
use Soutenance\Form\Avis\AvisForm;
@@ -13,42 +11,37 @@ 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 AvisControllerFactory
{
    /**
     * @param ContainerInterface $manager
     * @param ContainerInterface $container
     * @return AvisController
     */
    public function __invoke(ContainerInterface $manager)
    public function __invoke(ContainerInterface $container)
    {

        /**
         * @var ActeurService $acteurService
         * @var AvisService $avisService
         * @var FichierService $fichierService
         * @var FichierTheseService $fichierTheseService
         * @var MembreService $membreService
         * @var NotifierSoutenanceService $notifierSoutenanceService
         * @var PropositionService $propositionService
         * @var TheseService $theseService
         * @var ValidationService $validationService
         */
        $acteurService              = $manager->getServiceLocator()->get(ActeurService::class);
        $avisService                = $manager->getServiceLocator()->get(AvisService::class);
        $fichierService             = $manager->getServiceLocator()->get('FichierService');
        $fichierTheseService        = $manager->getServiceLocator()->get('FichierTheseService');
        $membreService              = $manager->getServiceLocator()->get(MembreService::class);
        $notifierSoutenanceService  = $manager->getServiceLocator()->get(NotifierSoutenanceService::class);
        $propositionService         = $manager->getServiceLocator()->get(PropositionService::class);
        $theseService               = $manager->getServiceLocator()->get('TheseService');
        $validationService          = $manager->getServiceLocator()->get(ValidationService::class);
        $acteurService              = $container->get(ActeurService::class);
        $avisService                = $container->get(AvisService::class);
        $membreService              = $container->get(MembreService::class);
        $notifierSoutenanceService  = $container->get(NotifierSoutenanceService::class);
        $propositionService         = $container->get(PropositionService::class);
        $theseService               = $container->get('TheseService');
        $validationService          = $container->get(ValidationService::class);

        /**
         * @var AvisForm $avisForm
         */
        $avisForm = $manager->getServiceLocator()->get('FormElementManager')->get(AvisForm::class);
        $avisForm = $container->get('FormElementManager')->get(AvisForm::class);

        /** @var AvisController $controller */
        $controller = new AvisController();
@@ -57,8 +50,6 @@ class AvisControllerFactory
        $controller->setActeurService($acteurService);
        $controller->setNotifierSoutenanceService($notifierSoutenanceService);
        $controller->setPropositionService($propositionService);
        $controller->setFichierService($fichierService);
        $controller->setFichierTheseService($fichierTheseService);
        $controller->setAvisService($avisService);
        $controller->setMembreService($membreService);

+16 −0
Changes for module/Soutenance/src/Soutenance/Service/Avis/AvisService.php: 16 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -2,8 +2,12 @@

namespace Soutenance\Service\Avis;

use Application\Entity\Db\NatureFichier;
use Application\Entity\Db\These;
use Application\Entity\Db\Utilisateur;
use Application\Entity\Db\VersionFichier;
use Application\Service\Fichier\FichierServiceAwareTrait;
use Application\Service\FichierThese\FichierTheseServiceAwareTrait;
use Application\Service\UserContextServiceAwareTrait;
use DateTime;
use Doctrine\ORM\NonUniqueResultException;
@@ -12,12 +16,15 @@ use Doctrine\ORM\QueryBuilder;
use Exception;
use Soutenance\Entity\Avis;
use Soutenance\Entity\Membre;
use Soutenance\Filter\NomAvisFormatter;
use UnicaenApp\Exception\RuntimeException;
use UnicaenApp\Service\EntityManagerAwareTrait;

class AvisService {
    use EntityManagerAwareTrait;
    use UserContextServiceAwareTrait;
    use FichierServiceAwareTrait;
    use FichierTheseServiceAwareTrait;

    /** GESTION DES ENTITÉS *******************************************************************************************/

@@ -198,4 +205,13 @@ class AvisService {

        return $result;
    }

    public function createAvisFromUpload($files, $membre) {
        //todo faire une fonction dans AvisService ...
        $nature = $this->fichierTheseService->fetchNatureFichier(NatureFichier::CODE_PRE_RAPPORT_SOUTENANCE);
        $version = $this->fichierTheseService->fetchVersionFichier(VersionFichier::CODE_ORIG);
        $fichiers = $this->fichierService->createFichiersFromUpload($files, $nature, $version, new NomAvisFormatter($membre->getIndividu()));

        return current($fichiers);
    }
}
 No newline at end of file
+8 −0
Changes for module/Soutenance/src/Soutenance/Service/Avis/AvisServiceFactory.php: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@

namespace Soutenance\Service\Avis;

use Application\Service\Fichier\FichierService;
use Application\Service\FichierThese\FichierTheseService;
use Application\Service\UserContextService;
use Doctrine\ORM\EntityManager;
use Interop\Container\ContainerInterface;
@@ -17,14 +19,20 @@ class AvisServiceFactory
        /**
         * @var EntityManager $entityManager
         * @var UserContextService $userContextService
         * @var FichierService $fichierService
         * @var FichierTheseService $fichierTheseService
         */
        $entityManager = $container->get('doctrine.entitymanager.orm_default');
        $userContextService = $container->get('UserContextService');
        $fichierService             = $container->get('FichierService');
        $fichierTheseService        = $container->get('FichierTheseService');

        /** @var AvisService $service */
        $service = new AvisService();
        $service->setEntityManager($entityManager);
        $service->setUserContextService($userContextService);
        $service->setFichierService($fichierService);
        $service->setFichierTheseService($fichierTheseService);

        return $service;
    }