Repository navigation
#1843 [Index] feat: ne pas mettre à jour un module qui demande un Saturne plus récent - #1845
Merged
nicolas-eoxia merged 1 commit intoNov 2, 2026
Conversation
… un Saturne plus recent Comme pour need_dolibarr_version (Evarisk#1796) : quand la version du module a change mais que le Saturne en place est plus ancien que son need_saturne_version, la page d'accueil n'appelle ni remove() ni init() et affiche un avis. Sinon init() refuserait apres remove(), et le module serait desactive dans l'entite. La version de Saturne est lue dans son descripteur, pas dans SATURNE_VERSION qui n'est reecrite qu'a sa reactivation. Un module qui ne declare pas need_saturne_version n'est pas concerne. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changement
C'est le pendant de #1796 pour Saturne. La page d'accueil d'un module relance
remove()puisinit()quand la version du module a changé. Désormais, si le module déclare unneed_saturne_versionplus récent que le Saturne en place, elle ne fait ni l'un ni l'autre : elle affiche un avis, et le module reste dans son état actuel. Sans ce contrôle,init()refuserait aprèsremove(), et le module serait désactivé dans l'entité.La version de Saturne est lue dans son descripteur, pas dans
SATURNE_VERSION, qui n'est réécrite qu'à la réactivation de Saturne. Un module qui ne déclare pasneed_saturne_versionn'est pas concerné.Mécanisme complet
Les modules portent leur propre garde, car elle doit marcher justement sur un Saturne trop ancien pour connaître ce code. Chacun déclare
need_saturne_version = [23, 6], et soninit()refuse avant toute écriture, avec le message du cœuractivateModuleDependNotSatisfied. Les PR, une par module :Evarisk/digiboard#124, Evarisk/digiquali#2718, Evarisk/Digirisk#5667, Evarisk/dolicar#559, Eoxia/doliletter#591, Evarisk/dolimeet#985, Evarisk/DoliSIRH#766, Eoxia/DoliUP#11, Eoxia/EasyURL#212, Evarisk/gmao#74, Eoxia/priseo#91, Eoxia/reedcrm#1203
Le refus reste sûr quel que soit le Saturne. Avec un Saturne antérieur à cette PR, la page d'accueil fait encore
remove()avant le refus : le module est désactivé au lieu de planter, etadmin/modules.phpexplique ensuite pourquoi il ne se réactive pas.Vérification
Bac à sable Dolibarr 23.0.3, avec Saturne sur cette branche et les douze modules sur leur branche :
init()réel des 12 modules sur Saturne 23.2.1CHECKSUMdellx_const,llx_menu,llx_rights_def,llx_boxes_defetllx_extrafieldsidentiques avant et aprèsadmin/modules.php, DoliCar sur Saturne 23.2.1need_saturne_version = [99, 0]Aucune ligne dans
php_error.log.À suivre
Il faudra relever
need_saturne_versionà chaque release qui appelle une fonction plus récente de Saturne. Le plus sûr serait que le script de release (dev-tools) l'aligne sur la version de Saturne publiée.Closes #1843
🤖 Generated with Claude Code