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éthodecanDeleteReportPartpour le controllerTeacher\MissionControllerpour 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.jspour é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.phpnécessite d'exécuter les commandes :./lnb bashpuisvendor/bin/codecept buildpour 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