|
| 1 | +# [Digirisk] [23.0.0] - Robustesse PHP 8 - Schéma SQL nettoyé |
| 2 | + |
| 3 | +Description : Cette version durcit le code face à PHP 8 (sécurisation systématique des paramètres `id` via `GETPOSTINT` et casts en entier), nettoie en profondeur le schéma SQL des extrafields, et apporte plusieurs améliorations sur la liste des risques et les extrafields personnalisés. |
| 4 | + |
| 5 | +## Nouvelles fonctionnalités et innovations |
| 6 | + |
| 7 | +### Liste des risques |
| 8 | + |
| 9 | +* Ajout de la personne assignée lorsqu'on édite une tâche directement depuis la liste des risques — plus besoin d'ouvrir la fiche du risque pour assigner un responsable. |
| 10 | + |
| 11 | +<!-- 📸 Ajouter une screenshot ici --> |
| 12 | + |
| 13 | +### Extrafields personnalisés |
| 14 | + |
| 15 | +* Création rapide d'extrafields directement depuis l'interface, avec gestion des catégories d'extrafields. |
| 16 | +* Nouvelles traductions associées à la création rapide d'extrafields. |
| 17 | + |
| 18 | +<!-- 📸 Ajouter une screenshot ici --> |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +## Améliorations & corrections |
| 23 | + |
| 24 | +### Robustesse PHP 8 |
| 25 | + |
| 26 | +* Tous les paramètres `id` lus depuis les requêtes utilisent désormais `GETPOSTINT` au lieu d'un cast manuel : élimine les `TypeError` rencontrés sur PHP 8 lors de l'appel à `fetch()`. |
| 27 | +* Triggers : les arguments passés à `fetch()` sont systématiquement castés en `int` pour éviter tout `TypeError`. |
| 28 | +* Corrigé sur les vues d'organisation, les éléments Digirisk et les accidents. |
| 29 | + |
| 30 | +### Schéma SQL |
| 31 | + |
| 32 | +* Refonte complète du schéma extrafields : suppression de tous les fichiers SQL d'extrafields obsolètes et des références dans `update.sql`. |
| 33 | +* Ajout des tables d'extrafields manquantes pour `digiriskresources`, `accident_lesion`, `accidentmetadata` et `accident_investigation`. |
| 34 | +* Suppression du surcharge `isextrafieldmanaged` sur toutes les classes — le comportement par défaut de Saturne est désormais utilisé. |
| 35 | + |
| 36 | +### Création de groupements / unités de travail |
| 37 | + |
| 38 | +* Création d'un GP/UT ne provoque plus d'erreur SQL : `isCategoryManaged` est correctement positionné à `0` sur la classe `DigiriskElement`. |
| 39 | + |
| 40 | +### Documents projet |
| 41 | + |
| 42 | +* `ProjectDocument::write_file` accepte maintenant une valeur par défaut pour `moreParam` — corrige les générations de documents projet où ce paramètre n'était pas fourni. |
| 43 | + |
| 44 | +### Class |
| 45 | + |
| 46 | +* Champ `picto` correctement typé en chaîne (string) sur les classes principales. |
| 47 | +* Plusieurs passes de nettoyage de code (lisibilité, signatures, suppression de code mort). |
| 48 | + |
| 49 | +### Extrafields |
| 50 | + |
| 51 | +* Le label des extrafields s'enregistre désormais correctement (au lieu d'une chaîne tronquée ou vide dans certains cas). |
| 52 | + |
| 53 | +## Comparaison des versions [22.1.0](https://github.com/Evarisk/Digirisk/compare/22.1.0...23.0.0) et 23.0.0 |
| 54 | + |
| 55 | +* [#4727] [ProjectDocument] fix: add default value to moreParam in write_file [`#4728`](https://github.com/Evarisk/Digirisk/pull/4728) |
| 56 | +* [#4725] [DigiriskElement] fix: set isCategoryManaged to 0 to prevent invalid SQL on GP/UT creation [`#4726`](https://github.com/Evarisk/Digirisk/pull/4726) |
| 57 | +* [#4722] [DigiriskElement] fix: use GETPOSTINT for id in organization view [`#4723`](https://github.com/Evarisk/Digirisk/pull/4723) |
| 58 | +* [#4719] [DigiriskElement] fix: use GETPOSTINT for id parameter to avoid TypeError on fetch() [`#4720`](https://github.com/Evarisk/Digirisk/pull/4720) |
| 59 | +* [#4718] [Trigger] fix: cast fetch() arguments to int to avoid TypeError [`#4721`](https://github.com/Evarisk/Digirisk/pull/4721) |
| 60 | +* [#4716] [Accident] fix: use GETPOSTINT instead of cast to int [`1db00fd4`](https://github.com/Evarisk/Digirisk/commit/1db00fd4) [`ff127e6a`](https://github.com/Evarisk/Digirisk/commit/ff127e6a) |
| 61 | +* [#4711] [SQL] rework: remove all extrafields SQL files and update.sql references [`862c89de`](https://github.com/Evarisk/Digirisk/commit/862c89de) |
| 62 | +* [#4711] [Class] rework: remove isextrafieldmanaged override from all classes [`4c3a3d2b`](https://github.com/Evarisk/Digirisk/commit/4c3a3d2b) |
| 63 | +* [#4711] [SQL] fix: add missing extrafields tables [`b4f4fc09`](https://github.com/Evarisk/Digirisk/commit/b4f4fc09) |
| 64 | +* [#4700] [Class] fix: picto type string [`5b3d8045`](https://github.com/Evarisk/Digirisk/commit/5b3d8045) [`e71ebcda`](https://github.com/Evarisk/Digirisk/commit/e71ebcda) |
| 65 | +* [#4661] [RiskList] add: assigned person when editing task in risk list [`4b6214a5`](https://github.com/Evarisk/Digirisk/commit/4b6214a5) |
| 66 | +* [#4683] [Extrafield] add: quick extra create and categories for extrafield [`f0e25c51`](https://github.com/Evarisk/Digirisk/commit/f0e25c51) |
| 67 | +* [#4683] [Extrafield] fix: label not written properly [`6eeb8ea2`](https://github.com/Evarisk/Digirisk/commit/6eeb8ea2) |
| 68 | +* [#4695] [Lang] add: lang trans for quick extrafield creation [`856a6a27`](https://github.com/Evarisk/Digirisk/commit/856a6a27) |
0 commit comments