Skip to content

4.0.0

Choose a tag to compare

@mapiolca mapiolca released this 28 Oct 09:56
b14f7a8

Subtotal 4.0.0 — 28 octobre 2026

Cette version regroupe les évolutions et corrections de la PR #6, puis la finalisation datée de la PR #7.

Changements

  • Administration native : une entrée de réglages unique, onglets Réglages, Compatibilité et À propos ; métadonnées issues du descripteur et réglages conservés à la désactivation.
  • Sécurisation des actions Ajax et de l’API REST : jeton CSRF, droits natifs du document parent, accès à l’entité et restrictions des utilisateurs externes. Dictionnaire de textes libres isolé par entité.
  • Correction de l’insertion sous un titre et en fin de section ouverte ou imbriquée ; sélecteur de titre de largeur bornée et barre de repli alignée sur les colonnes affichées.
  • Corrections des colonnes, marges et sous-totaux des factures de situation, avec calcul au prorata de l’avancement de chaque ligne.
  • PDF : conservation du choix « Masquer les lignes internes » lors des régénérations automatiques, priorité au choix explicite et isolation entre documents ; totaux des lignes techniques préservés.
  • Documents rattachés au répertoire de leur entité propriétaire et réservation renforcée des pieds de page PDF.
  • Pictogramme d’origine conservé, avec le fichier de compatibilité attendu par Dolibarr 25 ; correction des propriétés du descripteur pour PHP 8.2.
  • Suppression des copies de fichiers core et des anciennes migrations web ; commandes de maintenance CLI en lecture seule par défaut et index du dictionnaire.

L’identifiant historique du module 104777 et les marqueurs special_code des lignes sont conservés.

Installation et maintenance

Installer ou mettre à jour le répertoire subtotal dans la racine des modules externes de Dolibarr. Les anciennes migrations web sont remplacées par les commandes de scripts/maintenance/ ; consulter le README et effectuer une sauvegarde avant toute exécution modificative.

Compatibilité déclarée : Dolibarr 16+ et PHP 7.0+ ; Dolibarr 20+ et PHP 8.0+ recommandés. Ces déclarations ne constituent pas une validation complète de chaque combinaison.

Validation et limites

  • PHP 8.4.22 : syntaxe des 38 fichiers PHP et conformité statique réussies.
  • Tests d’insertion (11 scénarios), colonnes, marges et sous-totaux de situation réussis.
  • Tests des totaux PDF et des 36 scénarios de régénération automatique réussis, avec contrôle du HookManager natif ; les données, requêtes, sessions et rendus PDF sont simulés.
  • Découverte du descripteur et sélecteur de titre avec les helpers natifs : réussite.
  • Les recettes réelles antérieures sur Dolibarr 25.0.0-alpha / PHP 8.3.36 et leurs limites sont détaillées dans AUDIT.md et la PR #6. Le dernier correctif des lignes masquées reste à vérifier sur un PDF réel après déploiement.
  • PHPStan non exécuté : outil absent localement. Aucun résultat de CI n’est disponible pour le commit de finalisation. Les dépréciations historiques de certaines signatures de hooks subsistent sous E_ALL.
  • La correction du débordement général des tableaux relève de Dolibarr/dolibarr#42238 et n’est pas incluse dans cette release du module.

Historique complet : ChangeLog.md.