Loading CHANGELOG.md +10 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,16 @@ Journal des modifications 2.1.2 ----- - Page de connexion scindée par type de'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. - 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. - 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. - Correction de l'affichage du message en cas d'erreur d'authentification locale. - Correction d'un dysfonctionnement dans la recherche textuelle de thèses. - Correction d'un dysfonctionnement dans le tri des thèses par date de 1ère inscription. - Correction d'un dysfonctionnement dans l'affichage des établissements de rattachement lorsque la thèse n'est liée à aucune UR. 2.1.1 ----- Loading doc/release-notes/v2.1.2.md 0 → 100644 +403 −0 Original line number Diff line number Diff line # Version 2.1.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 2.1.2 && 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 alter table TMP_THESE add CORRECTION_EFFECTUEE VARCHAR2(30 char) default 'N' not null ; create or replace view SRC_THESE as select null as id, tmp.source_code as source_code, src.id as source_id, e.id as etablissement_id, d.id as doctorant_id, coalesce(ed_substit.id, ed.id) as ecole_doct_id, coalesce(ur_substit.id, ur.id) as unite_rech_id, tmp.lib_ths as titre, tmp.eta_ths as etat_these, to_number(tmp.cod_neg_tre) as resultat, tmp.lib_int1_dis as lib_disc, tmp.dat_deb_ths as date_prem_insc, tmp.dat_prev_sou as date_prev_soutenance, tmp.dat_sou_ths as date_soutenance, tmp.dat_fin_cfd_ths as date_fin_confid, tmp.lib_etab_cotut as lib_etab_cotut, tmp.lib_pays_cotut as lib_pays_cotut, tmp.correction_possible as correc_autorisee, tmp.correction_effectuee as correc_effectuee, tem_sou_aut_ths as soutenance_autoris, dat_aut_sou_ths as date_autoris_soutenance, tem_avenant_cotut as tem_avenant_cotut, dat_abandon as date_abandon, dat_transfert_dep as date_transfert from tmp_these tmp JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID join etablissement e on e.structure_id = s.id join source src on src.code = tmp.source_id join doctorant d on d.source_code = tmp.doctorant_id left join ecole_doct ed on ed.source_code = tmp.ecole_doct_id left join unite_rech ur on ur.source_code = tmp.unite_rech_id left join structure_substit ss_ed on ss_ed.from_structure_id = ed.structure_id left join ecole_doct ed_substit on ed_substit.structure_id = ss_ed.to_structure_id left join structure_substit ss_ur on ss_ur.from_structure_id = ur.structure_id left join unite_rech ur_substit on ur_substit.structure_id = ss_ur.to_structure_id ; alter table THESE add CORREC_EFFECTUEE VARCHAR2(30 char) default 'N' not null ; create or replace view V_WF_ETAPE_PERTIN as select to_number(these_id) these_id, to_number(etape_id) etape_id, code, ordre, rownum id from ( -- -- validation_page_de_couverture -- 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 = 'VALIDATION_PAGE_DE_COUVERTURE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_originale -- 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 = 'DEPOT_VERSION_ORIGINALE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- autorisation_diffusion_these -- 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 = 'AUTORISATION_DIFFUSION_THESE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- attestations -- 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 = 'ATTESTATIONS' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- signalement_these -- 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 = 'SIGNALEMENT_THESE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_originale -- 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 = 'ARCHIVABILITE_VERSION_ORIGINALE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_archivage -- 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 = 'DEPOT_VERSION_ARCHIVAGE' join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_archivage -- 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 = 'ARCHIVABILITE_VERSION_ARCHIVAGE' join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- verification_version_archivage -- 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 = 'VERIFICATION_VERSION_ARCHIVAGE' join v_situ_archivab_va situ on situ.these_id = t.id and situ.est_valide = 1 -- VA archivable where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- rdv_bu_saisie_doctorant -- 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 = 'RDV_BU_SAISIE_DOCTORANT' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- rdv_bu_saisie_bu -- 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 = 'RDV_BU_SAISIE_BU' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- rdv_bu_validation_bu -- 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 = 'RDV_BU_VALIDATION_BU' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_originale_corrigee -- 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 = 'DEPOT_VERSION_ORIGINALE_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- autorisation_diffusion_these_version_corrigee -- 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 = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- attestations_version_corrigee -- 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 = 'ATTESTATIONS_VERSION_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_originale_corrigee -- 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 = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_archivage_corrigee -- 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 = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE' join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_archivage_corrigee -- 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 = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE' join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- verification_version_archivage_corrigee -- 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 = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE' join v_situ_archivab_vac situ on situ.these_id = t.id and situ.est_valide = 1 -- VAC archivable where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_corrigee_validation_doctorant -- 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 = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_corrigee_validation_directeur -- 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 = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE -- 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 = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues and exists ( select * from DIFFUSION d where d.THESE_ID = t.id and d.VERSION_CORRIGEE = 1 and d.AUTORIS_MEL in (0/*Non*/, 1/*Oui+embargo*/) -- exemplaire papier requis ) ) ; ``` Loading
CHANGELOG.md +10 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,16 @@ Journal des modifications 2.1.2 ----- - Page de connexion scindée par type de'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. - 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. - 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. - Correction de l'affichage du message en cas d'erreur d'authentification locale. - Correction d'un dysfonctionnement dans la recherche textuelle de thèses. - Correction d'un dysfonctionnement dans le tri des thèses par date de 1ère inscription. - Correction d'un dysfonctionnement dans l'affichage des établissements de rattachement lorsque la thèse n'est liée à aucune UR. 2.1.1 ----- Loading
doc/release-notes/v2.1.2.md 0 → 100644 +403 −0 Original line number Diff line number Diff line # Version 2.1.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 2.1.2 && 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 alter table TMP_THESE add CORRECTION_EFFECTUEE VARCHAR2(30 char) default 'N' not null ; create or replace view SRC_THESE as select null as id, tmp.source_code as source_code, src.id as source_id, e.id as etablissement_id, d.id as doctorant_id, coalesce(ed_substit.id, ed.id) as ecole_doct_id, coalesce(ur_substit.id, ur.id) as unite_rech_id, tmp.lib_ths as titre, tmp.eta_ths as etat_these, to_number(tmp.cod_neg_tre) as resultat, tmp.lib_int1_dis as lib_disc, tmp.dat_deb_ths as date_prem_insc, tmp.dat_prev_sou as date_prev_soutenance, tmp.dat_sou_ths as date_soutenance, tmp.dat_fin_cfd_ths as date_fin_confid, tmp.lib_etab_cotut as lib_etab_cotut, tmp.lib_pays_cotut as lib_pays_cotut, tmp.correction_possible as correc_autorisee, tmp.correction_effectuee as correc_effectuee, tem_sou_aut_ths as soutenance_autoris, dat_aut_sou_ths as date_autoris_soutenance, tem_avenant_cotut as tem_avenant_cotut, dat_abandon as date_abandon, dat_transfert_dep as date_transfert from tmp_these tmp JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID join etablissement e on e.structure_id = s.id join source src on src.code = tmp.source_id join doctorant d on d.source_code = tmp.doctorant_id left join ecole_doct ed on ed.source_code = tmp.ecole_doct_id left join unite_rech ur on ur.source_code = tmp.unite_rech_id left join structure_substit ss_ed on ss_ed.from_structure_id = ed.structure_id left join ecole_doct ed_substit on ed_substit.structure_id = ss_ed.to_structure_id left join structure_substit ss_ur on ss_ur.from_structure_id = ur.structure_id left join unite_rech ur_substit on ur_substit.structure_id = ss_ur.to_structure_id ; alter table THESE add CORREC_EFFECTUEE VARCHAR2(30 char) default 'N' not null ; create or replace view V_WF_ETAPE_PERTIN as select to_number(these_id) these_id, to_number(etape_id) etape_id, code, ordre, rownum id from ( -- -- validation_page_de_couverture -- 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 = 'VALIDATION_PAGE_DE_COUVERTURE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_originale -- 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 = 'DEPOT_VERSION_ORIGINALE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- autorisation_diffusion_these -- 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 = 'AUTORISATION_DIFFUSION_THESE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- attestations -- 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 = 'ATTESTATIONS' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- signalement_these -- 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 = 'SIGNALEMENT_THESE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_originale -- 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 = 'ARCHIVABILITE_VERSION_ORIGINALE' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_archivage -- 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 = 'DEPOT_VERSION_ARCHIVAGE' join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_archivage -- 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 = 'ARCHIVABILITE_VERSION_ARCHIVAGE' join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- verification_version_archivage -- 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 = 'VERIFICATION_VERSION_ARCHIVAGE' join v_situ_archivab_va situ on situ.these_id = t.id and situ.est_valide = 1 -- VA archivable where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- rdv_bu_saisie_doctorant -- 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 = 'RDV_BU_SAISIE_DOCTORANT' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- rdv_bu_saisie_bu -- 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 = 'RDV_BU_SAISIE_BU' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- rdv_bu_validation_bu -- 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 = 'RDV_BU_VALIDATION_BU' where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_originale_corrigee -- 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 = 'DEPOT_VERSION_ORIGINALE_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- autorisation_diffusion_these_version_corrigee -- 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 = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- attestations_version_corrigee -- 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 = 'ATTESTATIONS_VERSION_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_originale_corrigee -- 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 = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_archivage_corrigee -- 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 = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE' join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- archivabilite_version_archivage_corrigee -- 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 = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE' join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- verification_version_archivage_corrigee -- 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 = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE' join v_situ_archivab_vac situ on situ.these_id = t.id and situ.est_valide = 1 -- VAC archivable where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_corrigee_validation_doctorant -- 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 = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- depot_version_corrigee_validation_directeur -- 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 = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues union all -- -- REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE -- 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 = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE' where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null or t.CORREC_EFFECTUEE = 'O') -- correction attendue ou effectuée and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues and exists ( select * from DIFFUSION d where d.THESE_ID = t.id and d.VERSION_CORRIGEE = 1 and d.AUTORIS_MEL in (0/*Non*/, 1/*Oui+embargo*/) -- exemplaire papier requis ) ) ; ```