Loading CHANGELOG.md +8 −0 Changes for CHANGELOG.md: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -3,8 +3,16 @@ Journal des modifications 2.1.6 ----- - Utilisation de l'id permanent CHARTE_DEPOT_DIFFUSION_THESE pour télécharger la charte de dépôt et diffusion de thèse. - Abandon de la nature de fichier 'divers' au profit de 'commun'. - Rétablissement de l'import des origines de financement pour être en phase avec les releases du web service d'import. - Financement : masquage possible de certaines origines de financement (ex : handicap). - Financement : la visibilité des origines masquées peut être forcée grâce à un privilège. - Interdiction de supprimer un fichier possédant un id permanent. - [FIX] Usurpation d'un compte local en BDD - [FIX] Plantage de la page Assistance en cas d'authentification locale BDD - [FIX] Injection manquante de la source SYGAL dans la création manuelle d'un utilisateur local (identifiant = adresse mail) - [FIX] Date de soutenance et de fin de confidentialité : changement de l'élément de formulaire pour pouvoir sélectionner une année 2.1.5 ----- Loading doc/release-notes/v2.1.6.md 0 → 100644 +105 −0 Changes for doc/release-notes/v2.1.6.md: 105 added lines, 0 removed lines. Original line number Diff line number Diff line # Version 2.1.6 ## 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 2.1.6 && 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 ```sql -- -- Ajout d'une colonne pour ne pas afficher certaines origines de financement (ex: handicap) -- alter table ORIGINE_FINANCEMENT add VISIBLE smallint default 1 not null; -- -- Rétablissement de l'import des origines de financement. -- create or replace view SRC_ORIGINE_FINANCEMENT as select NULL AS id, tmp.SOURCE_CODE AS SOURCE_CODE, src.ID AS SOURCE_ID, COD_OFI as CODE, LIC_OFI as LIBELLE_COURT, LIB_OFI as LIBELLE_LONG from TMP_ORIGINE_FINANCEMENT tmp JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID ; alter table ORIGINE_FINANCEMENT modify HISTO_MODIFICATION null ; alter table ORIGINE_FINANCEMENT modify HISTO_MODIFICATEUR_ID null ; -- -- Privilèges. -- insert into CATEGORIE_PRIVILEGE(ID, CODE, LIBELLE, ORDRE) values (CATEGORIE_PRIVILEGE_ID_SEQ.nextval, 'financement', 'Financement', 5) ; insert into PRIVILEGE(ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) select privilege_id_seq.nextval, cp.id, 'voir-origine-non-visible', 'Voir les origines de financement masquées', 10 from CATEGORIE_PRIVILEGE cp where cp.CODE = 'financement'; -- -- Fichiers divers ==> communs -- update FICHIER set NATURE_ID = ( select id from NATURE_FICHIER where CODE = 'COMMUNS' ) where id in ( select f.id from FICHIER f join NATURE_FICHIER nf on f.NATURE_ID = nf.ID and nf.CODE = 'DIVERS' ); delete from NATURE_FICHIER where code = 'DIVERS' ; update PROFIL_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'televerser' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'televerser' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; update PROFIL_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'telecharger' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'telecharger' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; update ROLE_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'televerser' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'televerser' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; update ROLE_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'telecharger' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'telecharger' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; delete from CATEGORIE_PRIVILEGE where code = 'fichier-divers' -- NB: cascade sur PROFIL_PRIVILEGE et ROLE_PRIVILEGE ; ``` module/Application/src/Application/Service/Fichier/FichierService.php +6 −0 Changes for module/Application/src/Application/Service/Fichier/FichierService.php: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -183,6 +183,12 @@ class FichierService extends BaseService $this->entityManager->beginTransaction(); try { foreach ($fichiers as $fichier) { if ($fichier->getIdPermanent() !== null) { throw new Exception(sprintf( "Interdit de supprimer un fichier possédant un id permanent (en l'occurence : '%s')", $fichier->getIdPermanent() )); } $filePaths[] = $this->computeDestinationFilePathForFichier($fichier); $this->entityManager->remove($fichier); $this->entityManager->flush($fichier); Loading Loading
CHANGELOG.md +8 −0 Changes for CHANGELOG.md: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -3,8 +3,16 @@ Journal des modifications 2.1.6 ----- - Utilisation de l'id permanent CHARTE_DEPOT_DIFFUSION_THESE pour télécharger la charte de dépôt et diffusion de thèse. - Abandon de la nature de fichier 'divers' au profit de 'commun'. - Rétablissement de l'import des origines de financement pour être en phase avec les releases du web service d'import. - Financement : masquage possible de certaines origines de financement (ex : handicap). - Financement : la visibilité des origines masquées peut être forcée grâce à un privilège. - Interdiction de supprimer un fichier possédant un id permanent. - [FIX] Usurpation d'un compte local en BDD - [FIX] Plantage de la page Assistance en cas d'authentification locale BDD - [FIX] Injection manquante de la source SYGAL dans la création manuelle d'un utilisateur local (identifiant = adresse mail) - [FIX] Date de soutenance et de fin de confidentialité : changement de l'élément de formulaire pour pouvoir sélectionner une année 2.1.5 ----- Loading
doc/release-notes/v2.1.6.md 0 → 100644 +105 −0 Changes for doc/release-notes/v2.1.6.md: 105 added lines, 0 removed lines. Original line number Diff line number Diff line # Version 2.1.6 ## 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 2.1.6 && 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 ```sql -- -- Ajout d'une colonne pour ne pas afficher certaines origines de financement (ex: handicap) -- alter table ORIGINE_FINANCEMENT add VISIBLE smallint default 1 not null; -- -- Rétablissement de l'import des origines de financement. -- create or replace view SRC_ORIGINE_FINANCEMENT as select NULL AS id, tmp.SOURCE_CODE AS SOURCE_CODE, src.ID AS SOURCE_ID, COD_OFI as CODE, LIC_OFI as LIBELLE_COURT, LIB_OFI as LIBELLE_LONG from TMP_ORIGINE_FINANCEMENT tmp JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID ; alter table ORIGINE_FINANCEMENT modify HISTO_MODIFICATION null ; alter table ORIGINE_FINANCEMENT modify HISTO_MODIFICATEUR_ID null ; -- -- Privilèges. -- insert into CATEGORIE_PRIVILEGE(ID, CODE, LIBELLE, ORDRE) values (CATEGORIE_PRIVILEGE_ID_SEQ.nextval, 'financement', 'Financement', 5) ; insert into PRIVILEGE(ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) select privilege_id_seq.nextval, cp.id, 'voir-origine-non-visible', 'Voir les origines de financement masquées', 10 from CATEGORIE_PRIVILEGE cp where cp.CODE = 'financement'; -- -- Fichiers divers ==> communs -- update FICHIER set NATURE_ID = ( select id from NATURE_FICHIER where CODE = 'COMMUNS' ) where id in ( select f.id from FICHIER f join NATURE_FICHIER nf on f.NATURE_ID = nf.ID and nf.CODE = 'DIVERS' ); delete from NATURE_FICHIER where code = 'DIVERS' ; update PROFIL_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'televerser' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'televerser' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; update PROFIL_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'telecharger' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'telecharger' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; update ROLE_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'televerser' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'televerser' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; update ROLE_PRIVILEGE pp set PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-commun' where p.CODE = 'telecharger' ) where PRIVILEGE_ID = ( select p.id from PRIVILEGE p join CATEGORIE_PRIVILEGE cp on p.CATEGORIE_ID = cp.ID and cp.CODE = 'fichier-divers' where p.CODE = 'telecharger' ) -- PAS GRAVE si vous rencontrez l'erreur 'ORA-00001: violation de contrainte unique' ; delete from CATEGORIE_PRIVILEGE where code = 'fichier-divers' -- NB: cascade sur PROFIL_PRIVILEGE et ROLE_PRIVILEGE ; ```
module/Application/src/Application/Service/Fichier/FichierService.php +6 −0 Changes for module/Application/src/Application/Service/Fichier/FichierService.php: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -183,6 +183,12 @@ class FichierService extends BaseService $this->entityManager->beginTransaction(); try { foreach ($fichiers as $fichier) { if ($fichier->getIdPermanent() !== null) { throw new Exception(sprintf( "Interdit de supprimer un fichier possédant un id permanent (en l'occurence : '%s')", $fichier->getIdPermanent() )); } $filePaths[] = $this->computeDestinationFilePathForFichier($fichier); $this->entityManager->remove($fichier); $this->entityManager->flush($fichier); Loading