Skip to content

Edition d'objet par lot #5107

@PartyNell

Description

@PartyNell

Problème

Les poteaux directionnels et jalons de balisage ne s’affichent pas automatiquement sur les cartes des parcours et nécessitent de cocher manuellement « Publier » pour chaque fiche, ce qui rend la gestion en masse impossible.

Solution proposée

Pour permettre l’édition et la suppression en masse des objets, la solution proposée consiste à ajouter un système de sélection multiple directement dans la liste des éléments. Chaque ligne représentant un objet intégrerait une checkbox, mais cette checkbox serait automatiquement désactivée si l’objet n’appartient pas à la structure de l’utilisateur authentifié. Une checkbox globale, située dans le header, permettrait de sélectionner soit tous les objets listés après filtrage. Le bouton d’action n’afficherait que les opérations que l’utilisateur a réellement le droit d’effectuer, en fonction des permissions associées à son compte.

Suppression en masse

Lors de la suppression, une popup demanderait d’abord la confirmation pour effacer les X objets sélectionnés. La vue responsable de l’opération tenterait ensuite de supprimer tous les objets en une seule étape. Si une erreur survient, aucun objet ne serait supprimé et un message d’erreur, affiché via les alertes Bootstrap, informerait l’utilisateur. En cas de succès, une alerte de confirmation apparaîtrait.

Modification en masse

La modification en masse proposerait deux modes distincts.

Le premier mode serait une modification champ par champ. L’utilisateur sélectionnerait d’abord un champ à modifier, puis un sélecteur adapté apparaîtrait en fonction de la nature du champ. Une fenêtre de confirmation afficherait ensuite un récapitulatif des modifications ainsi que le nombre d’objets concernés avant validation définitive.

Image

La maquette correspondant à cette solution est consultable ici : Lien vers la maquette – modification champ par champ.

Le second mode serait une modification globale. Dans ce cas, un formulaire regroupant tous les champs modifiables du modèle serait présenté. Chaque champ serait initialisé avec la valeur « ne rien faire » pour indiquer qu’aucune modification ne sera appliquée tant que l’utilisateur ne choisit pas explicitement une valeur. Une fois les modifications définies, une fenêtre de confirmation afficherait le récapitulatif des actions et le nombre d’objets affectés.

Image

La maquette associée à cette solution est disponible ici : Lien vers la maquette – modification globale.

En cas d’erreur lors de l’un ou l’autre mode de modification, aucune modification ne serait appliquée et un message d’erreur apparaîtrait. En cas de succès, une alerte de confirmation serait affichée.

Contraintes techniques

Un endpoint dédié devra générer dynamiquement les formulaires en fonction du modèle concerné. Les modifications en masse pourront concerner uniquement les champs de type booléen, foreign key ou many-to-many. Dans un premier temps, seule la modification des champs booléens sera développée. Les champs foreign key et many-to-many demanderont une gestion spécifique pour tenir compte des actions souhaitées, qu’il s’agisse d’ajout, de remplacement ou de suppression. Une attention particulière devra également être portée aux champs traduits.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions