Skip to content

Permet l'ajout de nouveaux scopes sur les HabilitationType avec des demandes (DP-1641)#1484

Open
jbfeldis wants to merge 2 commits intodevelopfrom
feature/dp-1641-ajouter-des-scopes-quand-je-modifie-une-definition-avec-des
Open

Permet l'ajout de nouveaux scopes sur les HabilitationType avec des demandes (DP-1641)#1484
jbfeldis wants to merge 2 commits intodevelopfrom
feature/dp-1641-ajouter-des-scopes-quand-je-modifie-une-definition-avec-des

Conversation

@jbfeldis
Copy link
Copy Markdown
Contributor

@jbfeldis jbfeldis commented Apr 2, 2026

Capture d’écran du 2026-04-02 16-04-32

@linear
Copy link
Copy Markdown

linear bot commented Apr 2, 2026

@jbfeldis jbfeldis requested a review from Copilot April 2, 2026 12:07
@jbfeldis jbfeldis added the enhancement New feature or request label Apr 2, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Ce PR vise à permettre l’ajout de nouveaux scopes sur un HabilitationType même lorsque ses champs structurels sont verrouillés (ex. présence de demandes liées), en adaptant à la fois l’UI d’édition et la sanitization côté controller, et en ajoutant une couverture Cucumber.

Changes:

  • Ajout d’un scénario Cucumber couvrant l’ajout d’un scope sur un type avec des demandes liées.
  • Adaptation de Admin::HabilitationTypesController#sanitize_locked_scopes pour conserver les scopes existants tout en acceptant de nouveaux scopes.
  • Mise à jour du composant d’édition des scopes pour réactiver l’ajout de scopes en mode “structural locked” et préserver la valeur via un champ hidden.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
features/step_definitions/habilitation_types_steps.rb Ajoute un step de création d’un type avec scopes + demandes liées pour les tests e2e.
features/admin/habilitation_types.feature Ajoute un scénario JS vérifiant l’ajout d’un scope sur un type avec demandes liées.
app/controllers/admin/habilitation_types_controller.rb Modifie la sanitization pour autoriser l’ajout de nouveaux scopes quand les champs structurels sont verrouillés.
app/components/molecules/admin/scopes_editor_component.html.erb Réactive le template/bouton d’ajout de scope et ajoute un champ hidden pour conserver value quand le champ est désactivé.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/components/molecules/admin/scopes_editor_component.html.erb Outdated
@jbfeldis jbfeldis force-pushed the feature/dp-1641-ajouter-des-scopes-quand-je-modifie-une-definition-avec-des branch from e3d744f to 6ace454 Compare April 2, 2026 14:03
@jbfeldis jbfeldis marked this pull request as ready for review April 2, 2026 14:03
@jbfeldis jbfeldis requested a review from Isalafont April 2, 2026 14:04
@jbfeldis jbfeldis changed the title Permet l'ajout de nouveaux scopes sur les HabilitationType avec des demandes Permet l'ajout de nouveaux scopes sur les HabilitationType avec des demandes (DP-1641) Apr 2, 2026
Copy link
Copy Markdown
Contributor

@Isalafont Isalafont left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peut être que ça mérite juste un test supplémentaire pour s'assurer que l'ajout de scopes n'efface pas un scope déjà existant ?
D'ailleurs, est ce que l'on couvre le cas d'une value en conflit ? Est ce qu'on lève un message d'erreur pour avertir l'utilisateur ?
C'est peut être overkill à ce stade...

A voir si c'est plus simple de faire un test rspec pour ça ou si un test cucumber en vaut la peine ?

Sinon après ce sont plus des interrogations plus que des points bloquant en fait :)

Et la page ne contient pas "Ajouter un scope"

@javascript
Scénario: Je peux ajouter un scope à un type avec des demandes liées
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Est ce que l'on ne rajouterait pas un test supplémentaire pour garantissant que l'ajout d'un nouveau scope n'écrase pas un scope déjà existant ?

Quelque chose comme :

Et que je me rends sur le chemin "/admin/types-habilitation/api-protegee"                                  
Alors la page contient "Nouveau scope"                                                                     
Et la page contient "Revenu fiscal"       

def extract_new_scopes(existing, submitted_scopes)
existing_values = existing.to_set { |s| s['value'] }
submitted_scopes
.reject { |s| existing_values.include?(s[:value]) }
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce n'est pas bloquant mais
Si je comprends bien ici :
Lorsqu'un admin tape une valeur déjà existante, le nouveau scope sera silencieusement ignoré sans message d'erreur ou autre.

Est ce que l'on hardenerai pas cela ? Peut être en mettant en place une validation sur une value unique ou alors en levant un message d'erreur ?

@jbfeldis jbfeldis requested a review from Isalafont April 13, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants