Skip to content
Snippets Groups Projects
Commit 4f77f929 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Merging

parents 0a516cc4 daf2ec40
Branches
Tags
No related merge requests found
Showing with 389 additions and 214 deletions
...@@ -4,7 +4,18 @@ Journal des modifications ...@@ -4,7 +4,18 @@ Journal des modifications
6.0.6 6.0.6
----- -----
- Passage dans UnicaenRenderer du template des historiques de co-encadrements - Passage dans UnicaenRenderer du template des historiques de co-encadrements
- [FORMATION] Ajout d'un filtre sur l'année sur l'écran des formations pour masquer/afficher les sessions - Ajout d'un filtre sur l'année sur l'écran des formations pour masquer/afficher les sessions
- Extraction CSV des thèses : amélioration du temps de génération (création d'une vue en bdd) ; ajout des colonnes
'Dernier rapport d'activité', 'Dernier rapport CSI', 'Date d'extraction', 'Discipline Code SISE', 'Autorisation de MEL',
'Années financées' ; modification du séparateur de valeurs multiples ',' en ' ; ' ; correction de la colonne
'Date de dépôt version corrigée' toujours vide.
- [FIX] Création d'un compte utilisateur local : vérif de l'email déjà utilisé remplacée par vérif de l'email déjà utilisé comme username.
- [FIX] Création d'un compte utilisateur local : redirection vers la fiche du nouveau compte après création.
- [FIX] Soutenance : message d'alerte affiché à tort systématiquement à propos de l'adresse Doctorat manquante.
- [FIX] Chargement de la navigation : plantage d'une assertion à cause d'une variable null (role).
- [FIX] Accès aux fiches individus.
- [FIX] Pages de couverture : réduction de la marge en haut de page.
- [FORMATION] Filtre selon les année pour les sessions
- [SOUTENANCE] Récupération de la date de fin de confidentialité depuis la thèse puis du dossier de soutenance pour le docuement de la présidence - [SOUTENANCE] Récupération de la date de fin de confidentialité depuis la thèse puis du dossier de soutenance pour le docuement de la présidence
6.0.5 6.0.5
...@@ -12,7 +23,7 @@ Journal des modifications ...@@ -12,7 +23,7 @@ Journal des modifications
- [FIX] Correction d'un bug empêchant la création d'établissement ; améliorations des validateurs des formulaires de structures. - [FIX] Correction d'un bug empêchant la création d'établissement ; améliorations des validateurs des formulaires de structures.
- [FIX] Correction de bugs en cas d'utilisateur ayant à la fois le rôle Doctorant et un autre rôle. - [FIX] Correction de bugs en cas d'utilisateur ayant à la fois le rôle Doctorant et un autre rôle.
- [FIX] Correction du plantage survenant dans RapportActiviteAssertion (interrogée par la navigation) lorsque l'utilisateur n'est pas authentifié. - [FIX] Correction du plantage survenant dans RapportActiviteAssertion (interrogée par la navigation) lorsque l'utilisateur n'est pas authentifié.
- [FIX] Destinataires de la notification de demande de validation d'une proposition de soutenance : adresse mail "aspects doctorat" - [FIX] Destinataires de la notification de demande de validation d'une proposition de soutenance : adresse mail 'aspects doctorat'
de l'établissement d'inscription, plutôt que la liste des individus ayant le rôle BDD obsolète. de l'établissement d'inscription, plutôt que la liste des individus ayant le rôle BDD obsolète.
- Onglet 'Rôles et membres' d'une ED/UR : renommage de 'Site' en 'Établissement d'inscription' (clarification). - Onglet 'Rôles et membres' d'une ED/UR : renommage de 'Site' en 'Établissement d'inscription' (clarification).
- Complétion des qualités du jury sur la page de couverture avec le dossier de soutenance si manquante dans la donnée source - Complétion des qualités du jury sur la page de couverture avec le dossier de soutenance si manquante dans la donnée source
...@@ -72,7 +83,7 @@ Journal des modifications ...@@ -72,7 +83,7 @@ Journal des modifications
5.3.1 5.3.1
----- -----
- [FIX] Donnée : ajout de garde lorsque le mail fourni par les données sources est " " - [FIX] Donnée : ajout de garde lorsque le mail fourni par les données sources est ' '
- [FIX] hydration des justificatifs - [FIX] hydration des justificatifs
5.3.0 5.3.0
...@@ -85,10 +96,10 @@ Journal des modifications ...@@ -85,10 +96,10 @@ Journal des modifications
- Soutenance : Renommange de Parité en Équilibre (et ajustement des couleurs des barres de l'indicateur) - Soutenance : Renommange de Parité en Équilibre (et ajustement des couleurs des barres de l'indicateur)
- Soutenance : Retravail du rapport de soutenance (Ajout d'une page blacnhe et d'une troisième page pour les signatures) - Soutenance : Retravail du rapport de soutenance (Ajout d'une page blacnhe et d'une troisième page pour les signatures)
- Soutenance : Ajout du dépôt de l'autorisation de soutenance et du rapport de soutenance - Soutenance : Ajout du dépôt de l'autorisation de soutenance et du rapport de soutenance
- Soutenance : Dépôt de l'attestation de la formation "Intégrité scientifique" - Soutenance : Dépôt de l'attestation de la formation 'Intégrité scientifique'
- Soutenance : Mise en place de l'horodatage - Soutenance : Mise en place de l'horodatage
- Soutenance : Ajout d'une étape intermédiaire avant feu vert pour soutenance - Soutenance : Ajout d'une étape intermédiaire avant feu vert pour soutenance
- Soutenance : [Fix] Echappement des caractères " et encapsulation des réponses - Soutenance : [Fix] Echappement des caractères ' et encapsulation des réponses
- Dépôt de thèse : un dépôt existant de la version corrigée reste visible même si l'avis de reproduction Apogée revient à Non. - Dépôt de thèse : un dépôt existant de la version corrigée reste visible même si l'avis de reproduction Apogée revient à Non.
- Menu Dépôt fichiers divers : remonté et affiché sans condition - Menu Dépôt fichiers divers : remonté et affiché sans condition
- Page Dépôt fichiers divers : téléversement bloqué pour PV soutenance, Pré-rapport soutenance, Rapport soutenance - Page Dépôt fichiers divers : téléversement bloqué pour PV soutenance, Pré-rapport soutenance, Rapport soutenance
...@@ -133,7 +144,7 @@ Journal des modifications ...@@ -133,7 +144,7 @@ Journal des modifications
- Suppression du menu 'Mes données' : la modif de l'adresse de contact et du consentement associé est désormais sur la fiche Thèse - Suppression du menu 'Mes données' : la modif de l'adresse de contact et du consentement associé est désormais sur la fiche Thèse
- Abandon (avant suppression) de la table obsolète doctorant_compl. - Abandon (avant suppression) de la table obsolète doctorant_compl.
- Ajout d'un bloc dans l'écran de proposition de soutenance pour le téléchargement des pré-rapports et du serment - Ajout d'un bloc dans l'écran de proposition de soutenance pour le téléchargement des pré-rapports et du serment
- Nouveau document "Serment du docteur" - Nouveau document 'Serment du docteur'
- Modification du pv de soutenance - Modification du pv de soutenance
- Ajout d'un nouvel mail intermediare à la clôture des inscriptions + deplacement du mail d'echec d'inscription - Ajout d'un nouvel mail intermediare à la clôture des inscriptions + deplacement du mail d'echec d'inscription
- [FIX] Module Formation : Ordonnancement des séances sur les index des formations et des sessions - [FIX] Module Formation : Ordonnancement des séances sur les index des formations et des sessions
...@@ -198,7 +209,7 @@ Journal des modifications ...@@ -198,7 +209,7 @@ Journal des modifications
- Changement de l'assertion pour l'accès des rapporteurs à la proposition de soutenance - Changement de l'assertion pour l'accès des rapporteurs à la proposition de soutenance
- [FIX] Remise en place du menu de dépôt de rapport de pré-soutenance - [FIX] Remise en place du menu de dépôt de rapport de pré-soutenance
- Changement du libellé 'Aucun Site' => 'Multi-site' (module de formation) - Changement du libellé 'Aucun Site' => 'Multi-site' (module de formation)
- Extension du mail "échec d'inscription" aux personnes non classées (module de formation) - Extension du mail 'échec d'inscription' aux personnes non classées (module de formation)
- Changements de libellés. - Changements de libellés.
5.2.1 5.2.1
...@@ -225,7 +236,7 @@ Journal des modifications ...@@ -225,7 +236,7 @@ Journal des modifications
5.1.1 5.1.1
----- -----
- [FIX] Corrections suite à l'intégration du nouveau module Fichier. - [FIX] Corrections suite à l'intégration du nouveau module Fichier.
- [FIX] Suppression à tort des "attestations" du 1er dépôt à la place de celles du 2nd dépôt. - [FIX] Suppression à tort des 'attestations' du 1er dépôt à la place de celles du 2nd dépôt.
- [FIX] Suppression physique de l'ancien fichier lors du changement de logo d'une structure. - [FIX] Suppression physique de l'ancien fichier lors du changement de logo d'une structure.
- [FIX] Correction et amélioration du calcul du nom de fichier du logo (existant ou nouveau) d'une structure. - [FIX] Correction et amélioration du calcul du nom de fichier du logo (existant ou nouveau) d'une structure.
- Template de pagination : abandon du module/Application/view/paginator.phtml et généralisation du module/Application/view/application/paginator.phtml - Template de pagination : abandon du module/Application/view/paginator.phtml et généralisation du module/Application/view/application/paginator.phtml
...@@ -233,7 +244,7 @@ Journal des modifications ...@@ -233,7 +244,7 @@ Journal des modifications
5.1.0 5.1.0
----- -----
- Nouveau module "technique" Fichier proposant 2 modes de stockage des fichiers téléversés : Filesystem ou S3 - Nouveau module 'technique' Fichier proposant 2 modes de stockage des fichiers téléversés : Filesystem ou S3
(cf. [releases notes](./doc/release-notes/v5.1.0.md)). (cf. [releases notes](./doc/release-notes/v5.1.0.md)).
- [FIX] Correction du chemin de stockage des rapports CSI et de mi-parcours - [FIX] Correction du chemin de stockage des rapports CSI et de mi-parcours
...@@ -311,7 +322,7 @@ Journal des modifications ...@@ -311,7 +322,7 @@ Journal des modifications
4.0.4 4.0.4
----- -----
- Correction de typos dans mail de feu vert de la soutenance - Correction de typos dans mail de feu vert de la soutenance
- Ajout de redirection de mail lorsque certains mails n'ont pas de destinataire "ATTENTION MAIL NON DÉLIVRÉ". - Ajout de redirection de mail lorsque certains mails n'ont pas de destinataire 'ATTENTION MAIL NON DÉLIVRÉ'.
- Compléments d'individu : mise en place des éléments de base - Compléments d'individu : mise en place des éléments de base
- Modification du texte de mail de réussite au doctorat - Modification du texte de mail de réussite au doctorat
- [FIX] verification des assertions au niveau des actions de PropositionController - [FIX] verification des assertions au niveau des actions de PropositionController
...@@ -340,14 +351,14 @@ Journal des modifications ...@@ -340,14 +351,14 @@ Journal des modifications
- Migration vers Bootstrap 5 (front-end JS & CSS). - Migration vers Bootstrap 5 (front-end JS & CSS).
- Réorganisation des infos affichées à propos de la connexion dans le menu principal. - Réorganisation des infos affichées à propos de la connexion dans le menu principal.
- Cas de la connexion d'un utilisateur sans possibilité de trouver d'individu associé : plus de création automatique d'individu car peut bloquer un import ultétieur. - Cas de la connexion d'un utilisateur sans possibilité de trouver d'individu associé : plus de création automatique d'individu car peut bloquer un import ultétieur.
- Amélioration de la page "Contact Assistance" en cas d'établissement indéterminé et/ou d'adresse d'assistance indéterminé ou invalide. - Amélioration de la page 'Contact Assistance' en cas d'établissement indéterminé et/ou d'adresse d'assistance indéterminé ou invalide.
- [FIX] Plantage de la page "Contact Assistance" en cas de connexion avec un compte local. - [FIX] Plantage de la page 'Contact Assistance' en cas de connexion avec un compte local.
- [FIX] Activation de la mise en cache de la config lorsque le mode development est désactivé. - [FIX] Activation de la mise en cache de la config lorsque le mode development est désactivé.
- [FIX] Lancement de la synchro des thèses pour prendre en compte la création/modification/suppression de substitution de structures. - [FIX] Lancement de la synchro des thèses pour prendre en compte la création/modification/suppression de substitution de structures.
- Ajout des unités de recherche fermées dans le filtre des thèses - Ajout des unités de recherche fermées dans le filtre des thèses
- [FIX] correction du bug lié au typage de retour trop strict de l'entité Structure - [FIX] correction du bug lié au typage de retour trop strict de l'entité Structure
- Mise en place de la déclaration de non plagiat dans la proposition de soutenance - Mise en place de la déclaration de non plagiat dans la proposition de soutenance
- [FIX] Plantage lors de la création/modification/suppression d'une substitution de structure ("Synchro introuvable avec ce nom : these") - [FIX] Plantage lors de la création/modification/suppression d'une substitution de structure ('Synchro introuvable avec ce nom : these')
3.0.12 3.0.12
------ ------
...@@ -374,7 +385,7 @@ Journal des modifications ...@@ -374,7 +385,7 @@ Journal des modifications
3.0.10 3.0.10
----- -----
- Ajout de la mention "La réservation du lieu de soutenance n'est pas faite automatiquement et reste à votre charge" - Ajout de la mention 'La réservation du lieu de soutenance n'est pas faite automatiquement et reste à votre charge'
- Meilleure gestion des tokens des membres d'une soutenance - Meilleure gestion des tokens des membres d'une soutenance
- Déclaration tardive de visoconférence ajouté aux interventions de soutenance - Déclaration tardive de visoconférence ajouté aux interventions de soutenance
- Avis sur rapport d'activité de fin de thèse - Avis sur rapport d'activité de fin de thèse
...@@ -434,7 +445,7 @@ Journal des modifications ...@@ -434,7 +445,7 @@ Journal des modifications
3.0.3 3.0.3
----- -----
- Ajout d'une valeur d'état aux soutenances "Validée par l'établissement" post validation d'une soutenance par la présidence de l'établissement - Ajout d'une valeur d'état aux soutenances 'Validée par l'établissement' post validation d'une soutenance par la présidence de l'établissement
- [FIX] Plus de demande de justificatif pour la confidentialité si la demande est faite en amont de la soutenance - [FIX] Plus de demande de justificatif pour la confidentialité si la demande est faite en amont de la soutenance
- [FIX] La notif de validation de la version corrigée par le Président du jury faisait mention à tort du Directeur de thèse. - [FIX] La notif de validation de la version corrigée par le Président du jury faisait mention à tort du Directeur de thèse.
- [FIX] Plantage de l'export CSV des thèses à cause d'un appel de méthode erroné (getMailContact). - [FIX] Plantage de l'export CSV des thèses à cause d'un appel de méthode erroné (getMailContact).
...@@ -472,12 +483,12 @@ Journal des modifications ...@@ -472,12 +483,12 @@ Journal des modifications
2.2.3 2.2.3
----- -----
- Scission du rôle "École doctorale" en 2 : "Responsable École doctorale" et "Gestionnaire École doctorale". - Scission du rôle 'École doctorale' en 2 : 'Responsable École doctorale' et 'Gestionnaire École doctorale'.
- Scission du rôle "Unité de recherche" en 2 : "Responsable Unité de recherche" et "Gestionnaire Unité de recherche". - Scission du rôle 'Unité de recherche' en 2 : 'Responsable Unité de recherche' et 'Gestionnaire Unité de recherche'.
- Envoi automatique par mail des jetons d'authentification créés + possibilité de les renvoyer. - Envoi automatique par mail des jetons d'authentification créés + possibilité de les renvoyer.
- Utilisation des dates et lieux des dossiers de soutenances plutôt que celles saisies dans les SIs pour la génération des documents du module soutenance. - Utilisation des dates et lieux des dossiers de soutenances plutôt que celles saisies dans les SIs pour la génération des documents du module soutenance.
- Précision de la date de rendu des rapports dès le premier mail des rapporteurs - Précision de la date de rendu des rapports dès le premier mail des rapporteurs
- Recherche de rapports d'activité : nouveau filtre "Annuel ou fin de thèse". - Recherche de rapports d'activité : nouveau filtre 'Annuel ou fin de thèse'.
- Fiche d'identité de la thèse : la date prévisionnelle de soutenance n'est plus affichée car elle peut être erronée. - Fiche d'identité de la thèse : la date prévisionnelle de soutenance n'est plus affichée car elle peut être erronée.
- Rapports d'activité, CSI, de fin de thèse : la date de bascule pour déterminer l'année universitaire est le 01/11. - Rapports d'activité, CSI, de fin de thèse : la date de bascule pour déterminer l'année universitaire est le 01/11.
- [FIX] Dédoublonnage des origines de financement dans le filtres de la page des rapports. - [FIX] Dédoublonnage des origines de financement dans le filtres de la page des rapports.
...@@ -495,7 +506,7 @@ Journal des modifications ...@@ -495,7 +506,7 @@ Journal des modifications
- [FIX] Ligne de commande de lancement de toutes les synchros. - [FIX] Ligne de commande de lancement de toutes les synchros.
- [FIX] Correction du texte de la convocation s'attendant à avoir un individu (pas toujours le cas car le lien n'est pas fait systèmatiquement). - [FIX] Correction du texte de la convocation s'attendant à avoir un individu (pas toujours le cas car le lien n'est pas fait systèmatiquement).
- [FIX] La recherche du doctorant lié à un individu doit écarter les individus historisés. - [FIX] La recherche du doctorant lié à un individu doit écarter les individus historisés.
- [FIX] Warning lors de la génération de la PDC à cause d'un tableau non initialisé" - [FIX] Warning lors de la génération de la PDC à cause d'un tableau non initialisé'
2.2.0 2.2.0
----- -----
...@@ -575,8 +586,8 @@ Journal des modifications ...@@ -575,8 +586,8 @@ Journal des modifications
- Ajout à l'export de l'annuaire des co-encadrants - Ajout à l'export de l'annuaire des co-encadrants
- Onglets dans les pages d'information des structures - Onglets dans les pages d'information des structures
- Page de connexion scindée par type d'authentification activée. - Page de connexion scindée par type d'authentification activée.
- Import du témoin "corrections effectuées" de chaque thèse. - Import du témoin 'corrections effectuées' de chaque thèse.
- Pages de dépôt de la version corrigée : visibles dès lors que le témoin "corrections effectuées" est à Oui. - Pages de dépôt de la version corrigée : visibles dès lors que le témoin 'corrections effectuées' est à Oui.
- Amélioration du temps de réponse de la recherche textuelle de thèses. - Amélioration du temps de réponse de la recherche textuelle de thèses.
- Retour du bouton d'import forcé de thèse qui avait disparu à cause d'une erreur de config. - Retour du bouton d'import forcé de thèse qui avait disparu à cause d'une erreur de config.
- Mise en retrait des items de menus concernant le dépôt de la version initiale en cas de corrections attendues ou effectuées. - Mise en retrait des items de menus concernant le dépôt de la version initiale en cas de corrections attendues ou effectuées.
...@@ -625,7 +636,7 @@ Journal des modifications ...@@ -625,7 +636,7 @@ Journal des modifications
- Ajout d'une configuration pour le fil d'actualité. - Ajout d'une configuration pour le fil d'actualité.
- Ajout du champ IdREF pour toutes les structures et modification de l'affichage/saisie des informations. - Ajout du champ IdREF pour toutes les structures et modification de l'affichage/saisie des informations.
- Changement de l'affichage des structures fermées dans le filtre des thèses. - Changement de l'affichage des structures fermées dans le filtre des thèses.
- Nouveau message "Dépôt terminé" au doctorant sur la page Rendez-vous BU. - Nouveau message 'Dépôt terminé' au doctorant sur la page Rendez-vous BU.
1.4.8 (01/09/2020) 1.4.8 (01/09/2020)
------------------ ------------------
...@@ -637,15 +648,15 @@ Journal des modifications ...@@ -637,15 +648,15 @@ Journal des modifications
------------------ ------------------
- Lors du dépôt d'une version corrigée, l'autorisation de mise en ligne est reprise texto (dupliquée) du 1er dépôt, - Lors du dépôt d'une version corrigée, l'autorisation de mise en ligne est reprise texto (dupliquée) du 1er dépôt,
sauf si l'utilisateur possède le privilège "Saisie du formulaire d'autorisation de diffusion de la version corrigée", sauf si l'utilisateur possède le privilège 'Saisie du formulaire d'autorisation de diffusion de la version corrigée',
auquel cas elle est redemandée à l'utilisateur. auquel cas elle est redemandée à l'utilisateur.
Idem pour les attestations et le privilège "Modification des attestations concernant la version corrigée". Idem pour les attestations et le privilège 'Modification des attestations concernant la version corrigée'.
- Masquage du complément de financement dans la fiche d'identité de la thèse - Masquage du complément de financement dans la fiche d'identité de la thèse
- Optimisation de l'export CSV des thèses - Optimisation de l'export CSV des thèses
- Pages de téléversement et de recherche des rapports annuels. - Pages de téléversement et de recherche des rapports annuels.
- Correction d'un bug dans la recherche de thèses par nom du doctorant. - Correction d'un bug dans la recherche de thèses par nom du doctorant.
- Correction d'un bug dans le package Oracle APP_IMPORT qui ne filtrait pas les thèses selon l'établissement spécifié. - Correction d'un bug dans le package Oracle APP_IMPORT qui ne filtrait pas les thèses selon l'établissement spécifié.
- Possibilité d'attribuer un "identifiant permanent" à un fichier (ex: 'RAPPORT_ANNUEL_MODELE') facilitant l'intégration - Possibilité d'attribuer un 'identifiant permanent' à un fichier (ex: 'RAPPORT_ANNUEL_MODELE') facilitant l'intégration
de lien de téléchargement de ce fichier dans une page. de lien de téléchargement de ce fichier dans une page.
- Listes de diffusion dynamique Sympa alimentées par SyGAL : pages de consultation des listes de diffusion déclarées - Listes de diffusion dynamique Sympa alimentées par SyGAL : pages de consultation des listes de diffusion déclarées
dans la config ; une URL pour fournir les abonnés, une autre pour fournir les propriétaires. dans la config ; une URL pour fournir les abonnés, une autre pour fournir les propriétaires.
...@@ -653,16 +664,16 @@ Idem pour les attestations et le privilège "Modification des attestations conce ...@@ -653,16 +664,16 @@ Idem pour les attestations et le privilège "Modification des attestations conce
1.4.6 (29/05/2020) 1.4.6 (29/05/2020)
------------------ ------------------
- Ajout du drapeau "établissement d'inscription" et ajout des visualisations et interfaces pour gérer ce nouveau drapeau. - Ajout du drapeau 'établissement d'inscription' et ajout des visualisations et interfaces pour gérer ce nouveau drapeau.
- Restriction du filtre des établissements sur la partie annuaire aux établissements d'inscription. - Restriction du filtre des établissements sur la partie annuaire aux établissements d'inscription.
- Ajout dans structures des champs adresse, tel, fax, site web, email qui sont utilisables pour l'édition de document. - Ajout dans structures des champs adresse, tel, fax, site web, email qui sont utilisables pour l'édition de document.
- Utilisation des nouveaux champs dans la génération de la convention de MEL (requiert unicaen/app v1.3.19). - Utilisation des nouveaux champs dans la génération de la convention de MEL (requiert unicaen/app v1.3.19).
- Amélioration de la recherche textuelle de thèses : ajout d'une liste déroulante permettant de sélectionner - Amélioration de la recherche textuelle de thèses : ajout d'une liste déroulante permettant de sélectionner
précisément sur quels critères porte la recherche : "Titre de la thèse", "Numéro étudiant de l'auteur", précisément sur quels critères porte la recherche : 'Titre de la thèse', 'Numéro étudiant de l'auteur',
"Nom de l'auteur", "Prénom de l'auteur", "Nom du directeur ou co-directeur de thèse", 'Nom de l'auteur', 'Prénom de l'auteur', 'Nom du directeur ou co-directeur de thèse',
"Code national de l'école doctorale concernée (ex: 181)", "Unité de recherche concernée (ex: umr6211)". 'Code national de l'école doctorale concernée (ex: 181)', 'Unité de recherche concernée (ex: umr6211)'.
- Correction d'un dysfonctionnement de la recherche textuelle sur les critères "numéro étudiant", "unité de recherche" - Correction d'un dysfonctionnement de la recherche textuelle sur les critères 'numéro étudiant', 'unité de recherche'
et "école doctorale". et 'école doctorale'.
1.4.5 (08/04/2020) 1.4.5 (08/04/2020)
...@@ -691,7 +702,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce ...@@ -691,7 +702,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce
- Extraction CSV des thèses : nouvelles colonnes concernant l'embargo et refus de diffusion ; - Extraction CSV des thèses : nouvelles colonnes concernant l'embargo et refus de diffusion ;
virgule plutôt que point dans la durée de la thèse. virgule plutôt que point dans la durée de la thèse.
- Page d'accueil : affichage des actualités issues du flux RSS fourni par la COMUE. - Page d'accueil : affichage des actualités issues du flux RSS fourni par la COMUE.
- Filtrage de la liste des thèses : correction de l'affichage du filtre "Unité de recherche". - Filtrage de la liste des thèses : correction de l'affichage du filtre 'Unité de recherche'.
- Corrections de textes sur la page RDV BU. - Corrections de textes sur la page RDV BU.
...@@ -711,8 +722,8 @@ Idem pour les attestations et le privilège "Modification des attestations conce ...@@ -711,8 +722,8 @@ Idem pour les attestations et le privilège "Modification des attestations conce
- Modification des textes liés à l'autorisation de diffusion dans le formulaire et dans la convention PDF générée. - Modification des textes liés à l'autorisation de diffusion dans le formulaire et dans la convention PDF générée.
- Convention de MEL : suppression du petit logo dans l'entête puisqu'il y en a déjà un sous le titre - Convention de MEL : suppression du petit logo dans l'entête puisqu'il y en a déjà un sous le titre
- Nouvelle charte de diffusion téléchargeable. - Nouvelle charte de diffusion téléchargeable.
- Ajout du flag "fermé" pour les structures et utilisations dans la recherche de thèses. - Ajout du flag 'fermé' pour les structures et utilisations dans la recherche de thèses.
- Ajout d'un champ "Id HAL" dans le formulaire d'autorisation de diffusion. - Ajout d'un champ 'Id HAL' dans le formulaire d'autorisation de diffusion.
- Ajout d'un menu dépôt pour séparer les action liés au dépôt de la partie annuaire - Ajout d'un menu dépôt pour séparer les action liés au dépôt de la partie annuaire
- La couverture est maintenant recto/verso lorsque la premiere page n'est pas retirée - La couverture est maintenant recto/verso lorsque la premiere page n'est pas retirée
- Ajout de la colonne durée des thèses dans l'export - Ajout de la colonne durée des thèses dans l'export
...@@ -752,7 +763,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce ...@@ -752,7 +763,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce
- Convention de mise en ligne : - Convention de mise en ligne :
- Le libellé du tribunal compétent mentionné est importé de chaque établissement. - Le libellé du tribunal compétent mentionné est importé de chaque établissement.
- Utilisation de la mention générique "Le chef d'établissement" plutôt que d'exploiter les libellés - Utilisation de la mention générique 'Le chef d'établissement' plutôt que d'exploiter les libellés
importés des établissements. importés des établissements.
- Nouvelle ligne de commande pour importer une thèse à la demande. - Nouvelle ligne de commande pour importer une thèse à la demande.
...@@ -763,7 +774,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce ...@@ -763,7 +774,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce
- Améliorations pour utiliser moins de mémoire ; meilleurs logs. - Améliorations pour utiliser moins de mémoire ; meilleurs logs.
- Correction des exceptions de type `ORA-00001: unique constraint (SYGAL.TMP_ACTEUR_UNIQ) violated` - Correction des exceptions de type `ORA-00001: unique constraint (SYGAL.TMP_ACTEUR_UNIQ) violated`
par un changement de stratégie côté web service (interrogation de tables plutôt que des vues). par un changement de stratégie côté web service (interrogation de tables plutôt que des vues).
- Le bouton d'import d'une thèse à la demande avait disparu (menu "Page de couverture") à cause d'une config erronée. - Le bouton d'import d'une thèse à la demande avait disparu (menu 'Page de couverture') à cause d'une config erronée.
1.2.11 (13/11/2019) 1.2.11 (13/11/2019)
------------------ ------------------
...@@ -782,7 +793,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce ...@@ -782,7 +793,7 @@ Idem pour les attestations et le privilège "Modification des attestations conce
### Ajout ### Ajout
- Un message avertissant des formats d'image valide est maintenant ajouté dans les pages de modification des structures concertes - Un message avertissant des formats d'image valide est maintenant ajouté dans les pages de modification des structures concertes
- Utilisation de convert (imagemagick) pour convertir les logos "automatiquement" au format png - Utilisation de convert (imagemagick) pour convertir les logos 'automatiquement' au format png
1.2.9 (24/10/2019) 1.2.9 (24/10/2019)
------------------ ------------------
...@@ -852,19 +863,19 @@ Idem pour les attestations et le privilège "Modification des attestations conce ...@@ -852,19 +863,19 @@ Idem pour les attestations et le privilège "Modification des attestations conce
### Ajout ### Ajout
- Nouvelle page consacrée au dépôt de fichiers divers liés à une thèse (précédemment dans la page "Thèse"). - Nouvelle page consacrée au dépôt de fichiers divers liés à une thèse (précédemment dans la page 'Thèse').
- Possibilité de déposer des fichiers dits "communs" utiles aux gestionnaires, ex: modèle d'avenant à la convention - Possibilité de déposer des fichiers dits 'communs' utiles aux gestionnaires, ex: modèle d'avenant à la convention
de mise en ligne. de mise en ligne.
### Améliorations ### Améliorations
- Améliorations de la page "Privilèges", notamment le filtrage par rôle. - Améliorations de la page 'Privilèges', notamment le filtrage par rôle.
- Déplacement des privilèges de la catégorie `fichier-divers` vers la catégorie `these` - Déplacement des privilèges de la catégorie `fichier-divers` vers la catégorie `these`
car ils concernent des fichiers liés à une thèse (ex: PV de soutenance). car ils concernent des fichiers liés à une thèse (ex: PV de soutenance).
La catégorie `fichier-divers` désigne désormais les privilèges concernant des fichiers sans lien aux La catégorie `fichier-divers` désigne désormais les privilèges concernant des fichiers sans lien aux
thèses (ex: fichiers déposés pour les pages d'informations). thèses (ex: fichiers déposés pour les pages d'informations).
- Refonte technique de la gestion des fichiers liés aux pages d'informations, prélable au travail sur les droits de - Refonte technique de la gestion des fichiers liés aux pages d'informations, prélable au travail sur les droits de
dépôt de fichiers "divers" et "communs". dépôt de fichiers 'divers' et 'communs'.
1.2.0 (10/07/2019) 1.2.0 (10/07/2019)
......
# Version 6.0.5 # Version 6.0.6
## 1. Sur le serveur d'application ## 1. Sur le serveur d'application
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
pour installer la nouvelle version : pour installer la nouvelle version :
```bash ```bash
git fetch --tags && git checkout --force 6.0.5 && bash ./install.sh git fetch --tags && git checkout --force 6.0.6 && bash ./install.sh
``` ```
- Rechargez le moteur PHP, exemple : - Rechargez le moteur PHP, exemple :
...@@ -20,6 +20,9 @@ systemctl reload php8.0-fpm ...@@ -20,6 +20,9 @@ systemctl reload php8.0-fpm
## 2. Dans la base de données ## 2. Dans la base de données
```postgresql ```postgresql
alter table structure
alter column type_structure_id set not null;
-- INSERTION DE NOUVELLES MACROS -- -- INSERTION DE NOUVELLES MACROS --
INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('Acteur#Denomination', '<p>Retourne la dénomination de l''acteur sous la forme - Prénom Nom -</p>', 'acteur', 'getDenomination'); INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('Acteur#Denomination', '<p>Retourne la dénomination de l''acteur sous la forme - Prénom Nom -</p>', 'acteur', 'getDenomination');
INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('Acteur#Etablissement', '<p>Retourne le libellé de l''établissement du co-encadrant</p>', 'acteur', 'getEtablissementAsLibelle'); INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES ('Acteur#Etablissement', '<p>Retourne le libellé de l''établissement du co-encadrant</p>', 'acteur', 'getEtablissementAsLibelle');
...@@ -28,5 +31,213 @@ INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_na ...@@ -28,5 +31,213 @@ INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_na
INSERT INTO unicaen_renderer_template (code, description, document_type, document_sujet, document_corps, document_css, namespace) VALUES ('COENCADREMENTS_JUSTIFICATIF', null, 'pdf', 'Justificatif de co-encadrements de VAR[Acteur#Denomination]', e'<h1>Justificatif de co-encadrements</h1> INSERT INTO unicaen_renderer_template (code, description, document_type, document_sujet, document_corps, document_css, namespace) VALUES ('COENCADREMENTS_JUSTIFICATIF', null, 'pdf', 'Justificatif de co-encadrements de VAR[Acteur#Denomination]', e'<h1>Justificatif de co-encadrements</h1>
<p>Ce document certifie que VAR[Acteur#Denomination], actuellement VAR[Acteur#Qualite] à VAR[Acteur#Etablissement], a assuré la fonction de co-encadrant sur pour les thèses suivantes :<br />###LISTING_THESE###</p>', null, 'These\Provider\Template'); <p>Ce document certifie que VAR[Acteur#Denomination], actuellement VAR[Acteur#Qualite] à VAR[Acteur#Etablissement], a assuré la fonction de co-encadrant sur pour les thèses suivantes :<br />###LISTING_THESE###</p>', null, 'These\Provider\Template');
--
-- Nouvelle vue pour l'extraction CSV des thèses.
--
drop view if exists v_extract_theses;
create or replace view v_extract_theses as
with mails_contacts as (
select distinct individu_id,
first_value(email) over (partition by individu_id order by id desc) email
from mail_confirmation
where etat = 'C'/*confirmé*/
), directeurs as (
select these_id,
string_agg(concat(i.nom_usuel, ' ', i.prenom1), ' ; ') identites
from acteur a
join role r on a.role_id = r.id and r.code = 'D'
join individu i on a.individu_id = i.id
where a.histo_destruction is null
group by these_id
), codirecteurs as (
select these_id,
string_agg(concat(i.nom_usuel, ' ', i.prenom1), ' ; ') identites
from acteur a
join role r on a.role_id = r.id and r.code in ('C','K')
join individu i on a.individu_id = i.id
where a.histo_destruction is null
group by these_id
), coencadrants as (
select these_id,
string_agg(concat(i.nom_usuel, ' ', i.prenom1), ' ; ') identites
from acteur a
join role r on a.role_id = r.id and r.code in ('B','N')
join individu i on a.individu_id = i.id
where a.histo_destruction is null
group by these_id
), financements as (
select these_id,
string_agg(case o.visible when true then 'O' else 'N' end, ' ; ') financ_origs_visibles,
string_agg(f.annee::varchar, ' ; ') financ_annees,
string_agg(o.libelle_long, ' ; ') financ_origs,
string_agg(f.complement_financement, ' ; ') financ_compls,
string_agg(f.libelle_type_financement, ' ; ') financ_types
from financement f
join origine_financement o on f.origine_financement_id = o.id
where f.histo_destruction is null
group by these_id
), domaines as (
select unite_id,
string_agg(d.libelle, ' ; ') libelles
from unite_domaine_linker udl
join domaine_scientifique d on d.id = udl.domaine_id
group by unite_id
), depots_vo_pdf as (
select distinct these_id,
first_value(vf.code) over (partition by these_id order by ft.id desc) version_code,
first_value(f.histo_creation) over (partition by these_id order by ft.id desc) histo_creation
from fichier_these ft
join fichier f on ft.fichier_id = f.id and f.histo_destruction is null
join nature_fichier nf on f.nature_id = nf.id and nf.code = 'THESE_PDF'
join version_fichier vf on f.version_fichier_id = vf.id and vf.code = 'VO'
), depots_voc_pdf as (
select distinct these_id,
first_value(vf.code) over (partition by these_id order by ft.id desc) version_code,
first_value(f.histo_creation) over (partition by these_id order by ft.id desc) histo_creation
from fichier_these ft
join fichier f on ft.fichier_id = f.id and f.histo_destruction is null
join nature_fichier nf on f.nature_id = nf.id and nf.code = 'THESE_PDF'
join version_fichier vf on f.version_fichier_id = vf.id and vf.code = 'VOC'
), depots_non_pdf as (
select distinct these_id,
first_value(vf.code) over (partition by these_id order by ft.id desc) version_code,
first_value(f.histo_creation) over (partition by these_id order by ft.id desc) histo_creation
from fichier_these ft
join fichier f on ft.fichier_id = f.id and f.histo_destruction is null
join nature_fichier nf on f.nature_id = nf.id and nf.code = 'FICHIER_NON_PDF'
join version_fichier vf on f.version_fichier_id = vf.id and vf.code in ('VO', 'VOC')
), diffusion as (
select distinct these_id,
first_value(autoris_mel) over (partition by these_id order by version_corrigee desc, id desc) autoris_mel,
first_value(autoris_embargo_duree) over (partition by these_id order by version_corrigee desc, id desc) autoris_embargo_duree,
first_value(autoris_motif) over (partition by these_id order by version_corrigee desc, id desc) autoris_motif
from diffusion d
where histo_destruction is null
), dernier_rapport_activite as (
select distinct these_id,
first_value(annee_univ) over (partition by these_id order by annee_univ desc) annee
from rapport_activite ra
where ra.histo_destruction is null
), dernier_rapport_csi as (
select distinct these_id,
first_value(annee_univ) over (partition by these_id order by annee_univ desc) annee
from rapport r
join type_rapport tr on r.type_rapport_id = tr.id and tr.code = 'RAPPORT_CSI'
where r.histo_destruction is null
)
select to_char(current_timestamp,'DD/MM/YYYY HH24:MI:SS') date_extraction,
th.id,
di.civilite,
di.nom_usuel,
di.nom_patronymique,
di.prenom1,
to_char(di.date_naissance,'DD/MM/YYYY') date_naissance,
di.nationalite,
coalesce(dic.email, di.email) email_pro,
mc.email email_contact,
d.ine,
substr(d.source_code, strpos(d.source_code, '::') + 2) num_etudiant,
th.source_code num_these,
th.titre,
th.code_sise_disc,
th.lib_disc,
dirs.identites dirs,
codirs.identites codirs,
coencs.identites coencs,
coalesce(se2.libelle, se.libelle) etab_lib,
coalesce(sed2.code, sed.code) ed_code,
coalesce(sed2.libelle, sed.libelle) ed_lib,
coalesce(sur2.code, sur.code) ur_code,
coalesce(sur2.libelle, sur.libelle) ur_lib,
th.lib_etab_cotut,
th.lib_pays_cotut,
ta.libelle_titre_acces,
ta.libelle_etb_titre_acces,
f.financ_origs_visibles,
f.financ_annees,
f.financ_origs,
f.financ_compls,
f.financ_types,
dom.libelles domaines,
to_char(th.date_prem_insc,'DD/MM/YYYY') date_prem_insc, to_char(th.date_abandon,'DD/MM/YYYY') date_abandon,
to_char(th.date_transfert,'DD/MM/YYYY') date_transfert, to_char(th.date_prev_soutenance,'DD/MM/YYYY') date_prev_soutenance,
to_char(th.date_soutenance,'DD/MM/YYYY') date_soutenance, to_char(th.date_fin_confid,'DD/MM/YYYY') date_fin_confid,
round((th.date_soutenance::date - th.date_prem_insc::date) / 30.5, 2) duree_these_mois,
to_char(depots_vo_pdf.histo_creation,'DD/MM/YYYY') date_depot_vo,
to_char(depots_voc_pdf.histo_creation,'DD/MM/YYYY') date_depot_voc,
case th.etat_these when 'E' then 'En cours' when 'A' then 'Abandonnée' when 'S' then 'Soutenue' when 'U' then 'Transférée' end etat_these,
th.soutenance_autoris,
case when th.date_fin_confid is null or th.date_fin_confid < current_timestamp then 'N' else 'O' end confidentielle,
th.resultat,
case when th.correc_autorisee_forcee = 'aucune' then 'N' else coalesce(th.correc_autorisee_forcee, th.correc_autorisee) end correc_autorisee,
case when depots_vo_pdf.these_id is null and depots_voc_pdf.these_id is null then 'N' else 'O' end depot_pdf,
case when depots_non_pdf.these_id is null then 'N' else 'O' end depot_annexe,
case diff.autoris_mel when 0 then 'Non' when 1 then 'Oui, avec embargo' when 2 then 'Oui, immédiatement' end autoris_mel,
diff.autoris_embargo_duree,
diff.autoris_motif,
case when ract.annee is not null then concat(ract.annee,'/',ract.annee+1) else null end dernier_rapport_activite,
case when rcsi.annee is not null then concat(rcsi.annee,'/',rcsi.annee+1) else null end dernier_rapport_csi
from these th
join doctorant d on th.doctorant_id = d.id
join individu di on d.individu_id = di.id
left join individu_compl dic on di.id = dic.individu_id and dic.histo_destruction is null
left join mails_contacts mc on mc.individu_id = di.id
join etablissement e on d.etablissement_id = e.id
join structure se on e.structure_id = se.id
left join structure_substit ses on se.id = ses.from_structure_id and ses.histo_destruction is null
left join structure se2 on se2.id = ses.to_structure_id
left join ecole_doct ed on th.ecole_doct_id = ed.id
left join structure sed on ed.structure_id = sed.id
left join structure_substit seds on sed.id = seds.from_structure_id and seds.histo_destruction is null
left join structure sed2 on sed2.id = seds.to_structure_id
left join unite_rech ur on th.unite_rech_id = ur.id
left join structure sur on ur.structure_id = sur.id
left join structure_substit surs on sur.id = surs.from_structure_id and surs.histo_destruction is null
left join structure sur2 on sur2.id = surs.to_structure_id
left join domaines dom on dom.unite_id = ur.id
left join titre_acces ta on th.id = ta.these_id and ta.histo_destruction is null
left join financements f on th.id = f.these_id
left join directeurs dirs on dirs.these_id = th.id
left join codirecteurs codirs on codirs.these_id = th.id
left join coencadrants coencs on coencs.these_id = th.id
left join depots_vo_pdf on depots_vo_pdf.these_id = th.id
left join depots_voc_pdf on depots_voc_pdf.these_id = th.id
left join depots_non_pdf on depots_non_pdf.these_id = th.id
left join diffusion diff on diff.these_id = th.id
left join dernier_rapport_activite ract on ract.these_id = th.id
left join dernier_rapport_csi rcsi on rcsi.these_id = th.id
where th.histo_destruction is null
;
create or replace function transfert_these(fromtheseid bigint, totheseid bigint) returns void
language plpgsql
as
$$
BEGIN
-- select 'update '||rpad(table_name, 35)||' set '||column_name||' = totheseid where '||column_name||' = fromtheseid ;' from information_schema.columns
-- where column_name ilike 'these_id' and
-- table_name not ilike 'v\_%' and
-- table_name not ilike 'src_%' and
-- table_name not ilike 'tmp_%' and
-- lower(table_name) not in ('acteur', 'financement', 'these_annee_univ', 'titre_acces', 'step_star_log');
--update soutenance_proposition set histo_destruction = now(), histo_destructeur_id = 1 where these_id = totheseid ;
update attestation set these_id = totheseid where these_id = fromtheseid ;
update diffusion set these_id = totheseid where these_id = fromtheseid ;
update fichier_these set these_id = totheseid where these_id = fromtheseid ;
update metadonnee_these set these_id = totheseid where these_id = fromtheseid ;
update rapport set these_id = totheseid where these_id = fromtheseid ;
update rdv_bu set these_id = totheseid where these_id = fromtheseid ;
update soutenance_intervention set these_id = totheseid where these_id = fromtheseid ;
update soutenance_proposition set these_id = totheseid where these_id = fromtheseid ;
update validation set these_id = totheseid where these_id = fromtheseid ;
update csi_membre set these_id = totheseid where these_id = fromtheseid ;
update rapport_activite set these_id = totheseid where these_id = fromtheseid ;
refresh materialized view mv_recherche_these;
END;
$$;
``` ```
\ No newline at end of file
<?php <?php
use Application\Controller\ExportController;
use Application\Controller\Factory\ExportControllerFactory; use Application\Controller\Factory\ExportControllerFactory;
use These\Provider\Privilege\ThesePrivileges; use These\Provider\Privilege\ThesePrivileges;
use UnicaenAuth\Guard\PrivilegeController; use UnicaenAuth\Guard\PrivilegeController;
...@@ -9,7 +10,7 @@ return [ ...@@ -9,7 +10,7 @@ return [
'guards' => [ 'guards' => [
PrivilegeController::class => [ PrivilegeController::class => [
[ [
'controller' => 'Application\Controller\Export', 'controller' => ExportController::class,
'action' => [ 'action' => [
'csv', 'csv',
], ],
...@@ -25,8 +26,7 @@ return [ ...@@ -25,8 +26,7 @@ return [
'options' => [ 'options' => [
'route' => '/export', 'route' => '/export',
'defaults' => [ 'defaults' => [
'__NAMESPACE__' => 'Application\Controller', 'controller' => ExportController::class,
'controller' => 'Export',
], ],
], ],
'may_terminate' => false, 'may_terminate' => false,
...@@ -36,6 +36,7 @@ return [ ...@@ -36,6 +36,7 @@ return [
'options' => [ 'options' => [
'route' => '/csv', 'route' => '/csv',
'defaults' => [ 'defaults' => [
/** @see ExportController::csvAction() */
'action' => 'csv', 'action' => 'csv',
], ],
], ],
...@@ -51,7 +52,7 @@ return [ ...@@ -51,7 +52,7 @@ return [
], ],
'controllers' => [ 'controllers' => [
'factories' => [ 'factories' => [
'Application\Controller\Export' => ExportControllerFactory::class, ExportController::class => ExportControllerFactory::class,
], ],
], ],
]; ];
\ No newline at end of file
...@@ -57,7 +57,7 @@ class RapportPageAssertion implements PageAssertionInterface, UserContextService ...@@ -57,7 +57,7 @@ class RapportPageAssertion implements PageAssertionInterface, UserContextService
$role = $this->userContextService->getSelectedIdentityRole(); $role = $this->userContextService->getSelectedIdentityRole();
// rôle doctorant // rôle doctorant
if ($role->isDoctorant()) { if ($role && $role->isDoctorant()) {
$doctorant = $this->userContextService->getIdentityDoctorant(); $doctorant = $this->userContextService->getIdentityDoctorant();
$this->assertTrue( $this->assertTrue(
$this->these->getDoctorant()->getId() === $doctorant->getId(), $this->these->getDoctorant()->getId() === $doctorant->getId(),
......
...@@ -275,7 +275,7 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle ...@@ -275,7 +275,7 @@ class UtilisateurController extends \UnicaenAuth\Controller\UtilisateurControlle
$this->flashMessenger()->addSuccessMessage("Utilisateur <strong>{$utilisateur->getUsername()}</strong> créé avec succès."); $this->flashMessenger()->addSuccessMessage("Utilisateur <strong>{$utilisateur->getUsername()}</strong> créé avec succès.");
return $this->redirect()->toRoute('utilisateur'); return $this->redirect()->toRoute('utilisateur/voir', ['utilisateur' => $utilisateur->getId()], [], true);
} }
} }
......
...@@ -34,7 +34,7 @@ class NewEmailValidator extends AbstractValidator ...@@ -34,7 +34,7 @@ class NewEmailValidator extends AbstractValidator
$perimetre = $this->getPerimetre(); $perimetre = $this->getPerimetre();
if (in_array('utilisateur', $perimetre)) { if (in_array('utilisateur', $perimetre)) {
if ($this->entityManager->getRepository(Utilisateur::class)->findOneBy(['email' => $value]) !== null) { if ($this->entityManager->getRepository(Utilisateur::class)->findOneBy(['username' => $value]) !== null) {
$this->error(self::UTILISATEUR); $this->error(self::UTILISATEUR);
$nb_pb++; $nb_pb++;
} }
......
...@@ -65,6 +65,8 @@ class FichierTheseServiceFactory ...@@ -65,6 +65,8 @@ class FichierTheseServiceFactory
/** @var PageDeCouverturePdfExporter $pdcPdfExporter */ /** @var PageDeCouverturePdfExporter $pdcPdfExporter */
$pdcPdfExporter = $container->get(PageDeCouverturePdfExporter::class); $pdcPdfExporter = $container->get(PageDeCouverturePdfExporter::class);
$pdcPdfExporter $pdcPdfExporter
->setMarginTop(5)
->setMarginBottom(5)
->setTemplateFilePath($templateFilePath) ->setTemplateFilePath($templateFilePath)
->setCssFilePath($cssFilePath); ->setCssFilePath($cssFilePath);
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
namespace Individu; namespace Individu;
use BjyAuthorize\Provider\Resource\Config; use BjyAuthorize\Provider\Resource\Config;
use Individu\Assertion\IndividuAssertion;
use Individu\Assertion\IndividuAssertionFactory;
use Individu\Controller\IndividuController; use Individu\Controller\IndividuController;
use Individu\Controller\IndividuControllerFactory; use Individu\Controller\IndividuControllerFactory;
use Individu\Form\IndividuForm; use Individu\Form\IndividuForm;
...@@ -46,27 +48,27 @@ return [ ...@@ -46,27 +48,27 @@ return [
[ [
'controller' => IndividuController::class, 'controller' => IndividuController::class,
'action' => ['index', 'rechercher'], 'action' => ['index', 'rechercher'],
'privilege' => IndividuPrivileges::INDIVIDU_LISTER, 'privileges' => IndividuPrivileges::INDIVIDU_LISTER,
], ],
[ [
'controller' => IndividuController::class, 'controller' => IndividuController::class,
'action' => ['voir'], 'action' => ['voir'],
'privilege' => IndividuPrivileges::INDIVIDU_CONSULTER, 'privileges' => IndividuPrivileges::INDIVIDU_CONSULTER,
], ],
[ [
'controller' => IndividuController::class, 'controller' => IndividuController::class,
'action' => ['ajouter'], 'action' => ['ajouter'],
'privilege' => IndividuPrivileges::INDIVIDU_AJOUTER, 'privileges' => IndividuPrivileges::INDIVIDU_AJOUTER,
], ],
[ [
'controller' => IndividuController::class, 'controller' => IndividuController::class,
'action' => ['modifier'], 'action' => ['modifier'],
'privilege' => IndividuPrivileges::INDIVIDU_MODIFIER, 'privileges' => IndividuPrivileges::INDIVIDU_MODIFIER,
], ],
[ [
'controller' => IndividuController::class, 'controller' => IndividuController::class,
'action' => ['supprimer', 'restaurer'], 'action' => ['supprimer', 'restaurer'],
'privilege' => IndividuPrivileges::INDIVIDU_SUPPRIMER, 'privileges' => IndividuPrivileges::INDIVIDU_SUPPRIMER,
], ],
], ],
], ],
...@@ -173,6 +175,7 @@ return [ ...@@ -173,6 +175,7 @@ return [
'factories' => [ 'factories' => [
IndividuService::class => IndividuServiceFactory::class, IndividuService::class => IndividuServiceFactory::class,
IndividuSearchService::class => IndividuSearchServiceFactory::class, IndividuSearchService::class => IndividuSearchServiceFactory::class,
IndividuAssertion::class => IndividuAssertionFactory::class,
], ],
'aliases' => [ 'aliases' => [
'IndividuService' => IndividuService::class, 'IndividuService' => IndividuService::class,
......
...@@ -39,7 +39,7 @@ use These\Entity\Db\These; ...@@ -39,7 +39,7 @@ use These\Entity\Db\These;
* *
* @var IndividuRole[] $ecoleResponsables * @var IndividuRole[] $ecoleResponsables
* @var IndividuRole[] $uniteResponsables * @var IndividuRole[] $uniteResponsables
* @var IndividuRole[] $etablissementResponsables * @var string[] $emailsAspectDoctorats
* @var bool $informationsOk * @var bool $informationsOk
* *
* @var $FORMULAIRE_DELOCALISATION * @var $FORMULAIRE_DELOCALISATION
...@@ -87,7 +87,7 @@ echo $this->partial('partial/informations', [ ...@@ -87,7 +87,7 @@ echo $this->partial('partial/informations', [
'directeurs' => $directeurs, 'directeurs' => $directeurs,
'uniteResponsables' => $uniteResponsables, 'uniteResponsables' => $uniteResponsables,
'ecoleResponsables' => $ecoleResponsables, 'ecoleResponsables' => $ecoleResponsables,
'etablissementResponsables' => $etablissementResponsables, 'emailsAspectDoctorats' => $emailsAspectDoctorats,
'canModifier' => $canModifier]); 'canModifier' => $canModifier]);
?> ?>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment