Loading CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ Journal des modifications - [FIX] Recherche de thèses : amélioration de l'affichage et du tri des structures dans les filtres. - [FIX] Recherche autocomplete établissement/ED/UR : bug empêchant la recherche (systématiquement aucun résultat). - [FIX] Page de modification d'une UR : paramètres de route erronés ; suppression de warnings PHP de variables inconnues. - [FIX] Module Substitutions : modification de la formule de caclul du NPD doctorant. 7.0.0 ----- Loading doc/release-notes/v7.0.1.md +42 −0 Changes for doc/release-notes/v7.0.1.md: 42 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -149,4 +149,46 @@ begin perform substit_insert_log(type, 'SUBSTITE_RESTORE', p_substitue_id, p_substituant_id, null, v_message); end $$; create or replace function substit_npd_doctorant(doctorant doctorant) returns varchar language plpgsql as $$declare v_npd_individu varchar(256); begin -- -- Fonction de calcul du "NPD". -- -- Important : Le NPD d'un doctorant "inclut" celui de l'individu lié. Cela permet de garantir qu'un doctorant -- ne peut être considéré comme un doublon si son individu lié ne l'est pas lui-même. -- -- Attention ! -- Modifier le calcul du NPD n'est pas une mince affaire car cela remet en question les substitutions existantes -- définies dans la table 'xxxx_substit'. -- > Dans les 2 cas qui suivent, il faudra absolument désactiver au préalable les triggers suivants : -- - 'substit_trigger_xxxx' sur la table 'xxxx' -- - 'substit_trigger_on_substit_xxxx' sur la table 'substit_xxxx' -- > Dans le cas où cela ne change rien du tout aux substitutions existantes, il faudra tout de même : -- - mettre à jour les valeurs dans la colonne 'npd' de la table 'substit_xxxx' en faisant appel -- à la fonction 'substit_npd_xxxx()'; -- - mettre à jour manuellement les valeurs dans la colonne 'npd_force" de la table 'xxxx'. -- > Dans le cas où cela invalide des substitutions existantes, il faudra : -- - supprimer les substitutions concernées dans la table 'xxxx_substit' ; -- - mettre à jour manuellement les valeurs dans la colonne 'npd_force" de la table 'xxxx'. -- select substit_npd_individu(i.*) into v_npd_individu from individu i where id = doctorant.individu_id; return v_npd_individu || ',' || normalized_string(trim(doctorant.ine)); end; $$; alter table substit_doctorant add npd_sav varchar(256); alter table doctorant disable trigger substit_trigger_doctorant; alter table substit_doctorant disable trigger substit_trigger_on_substit_doctorant; update substit_doctorant set npd_sav = npd; update substit_doctorant ss set npd = substit_npd_doctorant(d) from doctorant d where d.id = ss.from_id; alter table doctorant enable trigger substit_trigger_doctorant; alter table substit_doctorant enable trigger substit_trigger_on_substit_doctorant; ``` Loading
CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ Journal des modifications - [FIX] Recherche de thèses : amélioration de l'affichage et du tri des structures dans les filtres. - [FIX] Recherche autocomplete établissement/ED/UR : bug empêchant la recherche (systématiquement aucun résultat). - [FIX] Page de modification d'une UR : paramètres de route erronés ; suppression de warnings PHP de variables inconnues. - [FIX] Module Substitutions : modification de la formule de caclul du NPD doctorant. 7.0.0 ----- Loading
doc/release-notes/v7.0.1.md +42 −0 Changes for doc/release-notes/v7.0.1.md: 42 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -149,4 +149,46 @@ begin perform substit_insert_log(type, 'SUBSTITE_RESTORE', p_substitue_id, p_substituant_id, null, v_message); end $$; create or replace function substit_npd_doctorant(doctorant doctorant) returns varchar language plpgsql as $$declare v_npd_individu varchar(256); begin -- -- Fonction de calcul du "NPD". -- -- Important : Le NPD d'un doctorant "inclut" celui de l'individu lié. Cela permet de garantir qu'un doctorant -- ne peut être considéré comme un doublon si son individu lié ne l'est pas lui-même. -- -- Attention ! -- Modifier le calcul du NPD n'est pas une mince affaire car cela remet en question les substitutions existantes -- définies dans la table 'xxxx_substit'. -- > Dans les 2 cas qui suivent, il faudra absolument désactiver au préalable les triggers suivants : -- - 'substit_trigger_xxxx' sur la table 'xxxx' -- - 'substit_trigger_on_substit_xxxx' sur la table 'substit_xxxx' -- > Dans le cas où cela ne change rien du tout aux substitutions existantes, il faudra tout de même : -- - mettre à jour les valeurs dans la colonne 'npd' de la table 'substit_xxxx' en faisant appel -- à la fonction 'substit_npd_xxxx()'; -- - mettre à jour manuellement les valeurs dans la colonne 'npd_force" de la table 'xxxx'. -- > Dans le cas où cela invalide des substitutions existantes, il faudra : -- - supprimer les substitutions concernées dans la table 'xxxx_substit' ; -- - mettre à jour manuellement les valeurs dans la colonne 'npd_force" de la table 'xxxx'. -- select substit_npd_individu(i.*) into v_npd_individu from individu i where id = doctorant.individu_id; return v_npd_individu || ',' || normalized_string(trim(doctorant.ine)); end; $$; alter table substit_doctorant add npd_sav varchar(256); alter table doctorant disable trigger substit_trigger_doctorant; alter table substit_doctorant disable trigger substit_trigger_on_substit_doctorant; update substit_doctorant set npd_sav = npd; update substit_doctorant ss set npd = substit_npd_doctorant(d) from doctorant d where d.id = ss.from_id; alter table doctorant enable trigger substit_trigger_doctorant; alter table substit_doctorant enable trigger substit_trigger_on_substit_doctorant; ```