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

Ajout des événements pour la tracabilité de certaines actions du module soutenance

parent 85ae08f3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ Journal des modifications
- [FIX] Ligne de commande de test d'archivabilité : injection nécessaire du créateur.
- Adaptation de la date limite de rendu des pré-rapports de soutenance lors du changement de la date de soutenance dans le dossier
- [FIX] Correction affichage de la date de rendu dans le mail envoyé aux rapporteurs
- Ajout des événements pour la tracabilité de certaines actions du module soutenance

3.0.4
-----
+29 −0
Original line number Diff line number Diff line
# Version 3.0.5

## 1. Sur le serveur d'application

- Placez-vous dans le répertoire de l'application puis lancez la commande suivante
  pour installer la nouvelle version :

```bash
git fetch --tags && git checkout --force 3.0.5 && bash ./install.sh
```

- Selon le moteur PHP que vous avez installé, rechargez le service, exemple :
    - php7.3-fpm         : `service php7.3-fpm reload`
    - apache2-mod-php7.3 : `service apache2 reload`

## 2. Dans la base de données

Ajout de la table stockant les événements liés au module Soutenance 
```sql
create table soutenance_evenement
(
	id serial not null constraint soutenance_evenement_pk primary key,
	proposition_id integer not null constraint soutenance_evenement_soutenance_proposition_id_fk references soutenance_proposition on delete cascade,
	type_id integer not null,
	date_event timestamp not null
);

create unique index soutenance_evenement_id_uindex 	on soutenance_evenement (id);
```
+39 −0
Original line number Diff line number Diff line
<?php

namespace Soutenance;

use Soutenance\Service\Evenement\EvenementService;
use Soutenance\Service\Evenement\EvenementServiceFactory;
use UnicaenAuth\Provider\Rule\PrivilegeRuleProvider;

return array(
    'bjyauthorize' => [
        'rule_providers' => [
            PrivilegeRuleProvider::class => [
            ],
        ],
    ],

    'router' => [
        'routes' => [
        ],
    ],

    'service_manager' => [
        'factories' => [
            EvenementService::class => EvenementServiceFactory::class,
        ],
    ],
    'controllers' => [
        'factories' => [
        ],
    ],
    'form_elements' => [
        'factories' => [
        ],
    ],
    'hydrators' => [
        'invokables' => [
        ],
    ],
);
+4 −0
Original line number Diff line number Diff line
@@ -5,8 +5,10 @@ namespace Soutenance\Controller;
use Application\Controller\AbstractController;
use Application\Entity\Db\Validation;
use Application\Service\Acteur\ActeurServiceAwareTrait;
use Soutenance\Entity\Evenement;
use Soutenance\Entity\Membre;
use Soutenance\Service\EngagementImpartialite\EngagementImpartialiteServiceAwareTrait;
use Soutenance\Service\Evenement\EvenementServiceAwareTrait;
use Soutenance\Service\Membre\MembreServiceAwareTrait;
use Soutenance\Service\Notifier\NotifierSoutenanceServiceAwareTrait;
use Soutenance\Service\Proposition\PropositionServiceAwareTrait;
@@ -20,6 +22,7 @@ use Zend\View\Model\ViewModel;
class EngagementImpartialiteController extends AbstractController
{
    use ActeurServiceAwareTrait;
    use EvenementServiceAwareTrait;
    use EngagementImpartialiteServiceAwareTrait;
    use MembreServiceAwareTrait;
    use NotifierSoutenanceServiceAwareTrait;
@@ -60,6 +63,7 @@ class EngagementImpartialiteController extends AbstractController
            }
        }

        $this->getEvenementService()->ajouterEvenement($proposition, Evenement::EVENEMENT_ENGAGEMENT);
        $this->redirect()->toRoute('soutenance/presoutenance', ['these' => $these->getId()], [], true);
    }

+4 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ namespace Soutenance\Controller;
use Application\Service\Acteur\ActeurService;
use Interop\Container\ContainerInterface;
use Soutenance\Service\EngagementImpartialite\EngagementImpartialiteService;
use Soutenance\Service\Evenement\EvenementService;
use Soutenance\Service\Membre\MembreService;
use Soutenance\Service\Notifier\NotifierSoutenanceService;
use Soutenance\Service\Proposition\PropositionService;
@@ -19,12 +20,14 @@ class EngagementImpartialiteControllerFactory
    {
        /**
         * @var ActeurService $acteurService
         * @var EvenementService $evenementService
         * @var PropositionService $propositionService
         * @var MembreService $membreService
         * @var NotifierSoutenanceService $notifierService
         * @var EngagementImpartialiteService $engagementImpartialiteService
         */
        $acteurService                  = $container->get(ActeurService::class);
        $evenementService               = $container->get(EvenementService::class);
        $propositionService             = $container->get(PropositionService::class);
        $membreService                  = $container->get(MembreService::class);
        $notifierService                = $container->get(NotifierSoutenanceService::class);
@@ -33,6 +36,7 @@ class EngagementImpartialiteControllerFactory
        /** @var EngagementImpartialiteController $controller */
        $controller = new EngagementImpartialiteController();
        $controller->setActeurService($acteurService);
        $controller->setEvenementService($evenementService);
        $controller->setPropositionService($propositionService);
        $controller->setMembreService($membreService);
        $controller->setNotifierSoutenanceService($notifierService);
Loading