Commit a5e15dc4 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'release-2.1.1' into develop

parents 8008181d 033e6eac
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
Journal des modifications
=========================

2.1.1
-----
- Liste des thèses : tri par date de 1ere inscription décroissante
- Page Utilisateur : accélération du chargement et ajout d'un bouton pour usurper
- Accueil de la partie dépôt : le rôle sélectionné est null quand l'utilisateur n'a aucun rôle
- Correction mineure sur les traductions dans le module de soutenance
- Suppression d'un terme 'SoDoct' oublié

2.1.0
-----
- Listes de diffusion Sympa : page d'activation/désactivation des listes pour lesquelles SyGAL peut fournir
+20 −0
Original line number Diff line number Diff line
# Version 2.1.1

## 1. Sur le serveur d'application
  
- RAPPEL : depuis la version 2.0.0, l'application requiert PHP 7.3. 
    
- 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 2.1.1 && 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

Néant.
+2 −1
Original line number Diff line number Diff line
@@ -277,8 +277,9 @@ class TheseController extends AbstractController
        $role = $this->userContextService->getSelectedIdentityRole();
        $user = $this->userContextService->getIdentityDb();

        $codeRole = $role ? $role->getCode() : null;
        $theses = [];
        switch ($role->getCode()) {
        switch ($codeRole) {
            case Role::CODE_DOCTORANT :
                $theses = $this->getTheseService()->getRepository()->findTheseByDoctorant($user->getIndividu());
                break;
+12 −5
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ use Application\Service\UserContextServiceAwareTrait;
use Application\Service\Utilisateur\UtilisateurService;
use Application\Service\Utilisateur\UtilisateurServiceAwareTrait;
use Application\SourceCodeStringHelperAwareTrait;
use Doctrine\ORM\Query\Expr;
use UnicaenApp\Exception\LogicException;
use UnicaenApp\Exception\RuntimeException;
use UnicaenApp\Service\EntityManagerAwareTrait;
@@ -109,6 +110,7 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle
     */
    public function indexAction()
    {
        /** @var Individu $individu */
        $individu = null;
        $roles = null;

@@ -126,13 +128,18 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle
        $rolesAffectes = [];
        if ($individuId !== null) {
            $individu = $this->individuService->getRepository()->find($individuId);
            $rolesAffectes = $this->roleService->getRepository()->findAllByIndividu($individu);
            $rolesAffectes = $individu->getRoles();
        }

        $roles = $this->roleService->getRoles();
        $etablissements = $this->getStructureService()->getAllStructuresAffichablesByType(TypeStructure::CODE_ETABLISSEMENT, 'libelle');
        $unites = $this->getStructureService()->getAllStructuresAffichablesByType(TypeStructure::CODE_UNITE_RECHERCHE, 'libelle');
        $ecoles = $this->getStructureService()->getAllStructuresAffichablesByType(TypeStructure::CODE_ECOLE_DOCTORALE, 'libelle');
        $roles = $this->roleService->findAllRoles();

        // établissements : pour l'instant les rôles ne concernent que des établissements d'inscription donc on flitre
        $etablissementsQb = $this->structureService->getAllStructuresAffichablesByTypeQb(TypeStructure::CODE_ETABLISSEMENT, 'libelle', true);
        $etablissementsQb->join('structure.etablissement', 'etab', Expr\Join::WITH, 'etab.estInscription = 1');
        $etablissements = $etablissementsQb->getQuery()->execute();

        $unites = $this->structureService->getAllStructuresAffichablesByType(TypeStructure::CODE_UNITE_RECHERCHE, 'libelle', true, true);
        $ecoles = $this->structureService->getAllStructuresAffichablesByType(TypeStructure::CODE_ECOLE_DOCTORALE, 'libelle', true, true);

        return new ViewModel([
            'individu' => $individu,
+36 −0
Original line number Diff line number Diff line
@@ -93,6 +93,11 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface
     */
    private $id;

    /**
     * @var ArrayCollection
     */
    private $roles;

    /**
     * @var ArrayCollection (mailContact)
     */
@@ -108,6 +113,7 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface
     */
    public function __construct()
    {
        $this->roles = new ArrayCollection();
        $this->mailsConfirmations = new ArrayCollection();
        $this->utilisateurs = new ArrayCollection();
    }
@@ -492,6 +498,36 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface
        return $this->id;
    }

    /**
     * @return Role[]
     */
    public function getRoles()
    {
        return $this->roles->toArray();
    }

    /**
     * @param Role $role
     * @return self
     */
    public function addRole(Role $role)
    {
        $this->roles->add($role);

        return $this;
    }

    /**
     * @param Role $role
     * @return self
     */
    public function removeRole(Role $role)
    {
        $this->roles->removeElement($role);

        return $this;
    }

    /** @return string */
    public function getMailContact()
    {
Loading