Loading CHANGELOG.md +4 −0 Original line number Diff line number Diff line Journal des modifications ========================= 5.3.2 ----- - [FIX] Erreur dans le test de pertinence des étapes de dépôt d'une version corrigée (SQL). 5.3.1 ----- - [FIX] Donnée : ajout de garde lorsque le mail fourni par les données sources est " " Loading doc/release-notes/v5.3.2.md 0 → 100644 +245 −0 Original line number Diff line number Diff line # Version 5.3.2 ## 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 5.3.2 && bash ./install.sh ``` - Selon le moteur PHP que vous avez installé, rechargez le service, exemple : - php7.4-fpm : `service php7.4-fpm reload` - apache2-mod-php7.4 : `service apache2 reload` ## 2. Dans la base de données ```sql -- -- [FIX] Erreur dans le test de pertinence des étapes de dépôt d'une version corrigée. -- create or replace view v_wf_etape_pertin(these_id, etape_id, code, ordre, id) as SELECT alias38.these_id::numeric AS these_id, alias38.etape_id::numeric AS etape_id, alias38.code, alias38.ordre, row_number() OVER (ORDER BY 1::integer, 2::integer, 3::integer, 4::integer) AS id FROM (SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'VALIDATION_PAGE_DE_COUVERTURE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ORIGINALE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'AUTORISATION_DIFFUSION_THESE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ATTESTATIONS'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'SIGNALEMENT_THESE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ORIGINALE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ARCHIVAGE'::text JOIN v_situ_archivab_vo situ ON situ.these_id = t.id AND situ.est_valide = false WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ARCHIVAGE'::text JOIN v_situ_archivab_vo situ ON situ.these_id = t.id AND situ.est_valide = false WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'VERIFICATION_VERSION_ARCHIVAGE'::text JOIN v_situ_archivab_va situ ON situ.these_id = t.id AND situ.est_valide = true WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'RDV_BU_SAISIE_DOCTORANT'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'RDV_BU_SAISIE_BU'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'RDV_BU_VALIDATION_BU'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ORIGINALE_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ATTESTATIONS_VERSION_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE'::text JOIN v_situ_archivab_voc situ ON situ.these_id = t.id AND situ.est_valide = false WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE'::text JOIN v_situ_archivab_voc situ ON situ.these_id = t.id AND situ.est_valide = false WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE'::text JOIN v_situ_archivab_vac situ ON situ.these_id = t.id AND situ.est_valide = true WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) AND (EXISTS(SELECT d.id FROM diffusion d WHERE d.these_id = t.id AND d.version_corrigee = true AND (d.autoris_mel = ANY (ARRAY [0, 1]))))) alias38; ``` No newline at end of file Loading
CHANGELOG.md +4 −0 Original line number Diff line number Diff line Journal des modifications ========================= 5.3.2 ----- - [FIX] Erreur dans le test de pertinence des étapes de dépôt d'une version corrigée (SQL). 5.3.1 ----- - [FIX] Donnée : ajout de garde lorsque le mail fourni par les données sources est " " Loading
doc/release-notes/v5.3.2.md 0 → 100644 +245 −0 Original line number Diff line number Diff line # Version 5.3.2 ## 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 5.3.2 && bash ./install.sh ``` - Selon le moteur PHP que vous avez installé, rechargez le service, exemple : - php7.4-fpm : `service php7.4-fpm reload` - apache2-mod-php7.4 : `service apache2 reload` ## 2. Dans la base de données ```sql -- -- [FIX] Erreur dans le test de pertinence des étapes de dépôt d'une version corrigée. -- create or replace view v_wf_etape_pertin(these_id, etape_id, code, ordre, id) as SELECT alias38.these_id::numeric AS these_id, alias38.etape_id::numeric AS etape_id, alias38.code, alias38.ordre, row_number() OVER (ORDER BY 1::integer, 2::integer, 3::integer, 4::integer) AS id FROM (SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'VALIDATION_PAGE_DE_COUVERTURE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ORIGINALE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'AUTORISATION_DIFFUSION_THESE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ATTESTATIONS'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'SIGNALEMENT_THESE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ORIGINALE'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ARCHIVAGE'::text JOIN v_situ_archivab_vo situ ON situ.these_id = t.id AND situ.est_valide = false WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ARCHIVAGE'::text JOIN v_situ_archivab_vo situ ON situ.these_id = t.id AND situ.est_valide = false WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'VERIFICATION_VERSION_ARCHIVAGE'::text JOIN v_situ_archivab_va situ ON situ.these_id = t.id AND situ.est_valide = true WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'RDV_BU_SAISIE_DOCTORANT'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'RDV_BU_SAISIE_BU'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'RDV_BU_VALIDATION_BU'::text WHERE t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text]) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ORIGINALE_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ATTESTATIONS_VERSION_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE'::text JOIN v_situ_archivab_voc situ ON situ.these_id = t.id AND situ.est_valide = false WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE'::text JOIN v_situ_archivab_voc situ ON situ.these_id = t.id AND situ.est_valide = false WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE'::text JOIN v_situ_archivab_vac situ ON situ.these_id = t.id AND situ.est_valide = true WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) UNION ALL SELECT t.id AS these_id, e.id AS etape_id, e.code, e.ordre FROM these t JOIN wf_etape e ON e.code::text = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE'::text WHERE (t.correc_autorisee IS NOT NULL OR t.correc_autorisee_forcee IS NOT NULL AND t.correc_autorisee_forcee::text <> 'aucune'::text OR t.correc_effectuee::text = 'O'::text) AND (t.etat_these::text = ANY (ARRAY ['E'::character varying::text, 'S'::character varying::text])) AND (EXISTS(SELECT d.id FROM diffusion d WHERE d.these_id = t.id AND d.version_corrigee = true AND (d.autoris_mel = ANY (ARRAY [0, 1]))))) alias38; ``` No newline at end of file