Commit 3c4a9d9f authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Notes de version

parent 3446e333
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -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
-----
+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
             )

     )
;
```