Loading CHANGELOG.md +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 Loading doc/release-notes/v2.1.1.md 0 → 100644 +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. module/Application/src/Application/Controller/TheseController.php +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading module/Application/src/Application/Controller/UtilisateurController.php +12 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -109,6 +110,7 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle */ public function indexAction() { /** @var Individu $individu */ $individu = null; $roles = null; Loading @@ -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, Loading module/Application/src/Application/Entity/Db/Individu.php +36 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,11 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface */ private $id; /** * @var ArrayCollection */ private $roles; /** * @var ArrayCollection (mailContact) */ Loading @@ -108,6 +113,7 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface */ public function __construct() { $this->roles = new ArrayCollection(); $this->mailsConfirmations = new ArrayCollection(); $this->utilisateurs = new ArrayCollection(); } Loading Loading @@ -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 Loading
CHANGELOG.md +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 Loading
doc/release-notes/v2.1.1.md 0 → 100644 +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.
module/Application/src/Application/Controller/TheseController.php +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
module/Application/src/Application/Controller/UtilisateurController.php +12 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -109,6 +110,7 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle */ public function indexAction() { /** @var Individu $individu */ $individu = null; $roles = null; Loading @@ -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, Loading
module/Application/src/Application/Entity/Db/Individu.php +36 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,11 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface */ private $id; /** * @var ArrayCollection */ private $roles; /** * @var ArrayCollection (mailContact) */ Loading @@ -108,6 +113,7 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface */ public function __construct() { $this->roles = new ArrayCollection(); $this->mailsConfirmations = new ArrayCollection(); $this->utilisateurs = new ArrayCollection(); } Loading Loading @@ -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