feat(mission): adjust labdocs lifecycle and alert while teacher try removing report part
Liste des comportements implémentés :
Notes devs (⬇️ cliquez pour voir le détails)
- Implémentation d'une nouvelle route
teacher/mission/{mission}/canDeleteReportPart/{id_report_part}
associée à une nouvelle méthodecanDeleteReportPart
pour le controllerTeacher\MissionController
pour s'assurer qu'à chaque tentative de suppression d'une partie de rapport, que cette dernière ne contient pas de labdoc partagé avec au moins une modification étudiante. - Ajout d'enum (PHP) / object freeze (JS) pour synchroniser les ErrorCode lié à cette issue (et servir pour la consolidation)
- Ajout d'une méthode
ensureReportPartExists()@ReportController.php
- Refactoring de certaines queries ORM, initialement présentes au sein des vues .blade
- Déplacement de cette responsabilité au sein des Controllers respectifs + passage en argument dans la vue (blade)
- au sein de la méthode
removeRP()@Teacher/MissionController
, ajout d'une étape de prévention sur les travaux des étudiants comportant au moins une modification afin de les déplacer dans la corbeille + retirer l'assignation de la partie de rapport, avant d'effectuer la suppression de la partie de rapport - ajout de propriétés de styles (css) pour la mise en avant / la désactivation
- mise à jour des traductions respectives
- ajout d'une méthode
ensureDisplayUniqueAlertGently()@common.js
pour éviter la duplication d'alerte à l'affichage - ajout d'une synchronisation de la corbeille et bind avec alpine dans le template
- ajout d'une classe "labdoc-shared" pour faciliter le ciblage dans la structure du template
- ajout de méthode commune pour faciliter les tests (dans
tests/_support/AcceptanceTester.php
) et ajout d'un labdoc helper manager (tests/_support/Helper/LabdocManagerHelper.php
nécessite d'exécuter les commandes :./lnb bash
puisvendor/bin/codecept build
pour que l'IDE reconnaisse le nouvel helper. - ajout de scénarios de tests spécifiques :
tests/acceptance/LabdocOnReportPartThatNoLongerExistsCest.php
- agrandissement de la zone "draggable" / "double click edit mode" à l'icône à gauche du titre.
- en mode édition, repositionnement des icônes d'actions aligné sur le bord droit
Plus de détails dans le commentaire du ticket #998