Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reopen for sandbox #662

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
Open

Reopen for sandbox #662

wants to merge 2 commits into from

Conversation

JeSuisUnCaillou
Copy link
Contributor

@JeSuisUnCaillou JeSuisUnCaillou commented Jan 21, 2025

Ca marche !

Il manque juste un truc, c'est d'afficher un badge de mise à jour lors de la transition "sandbox mise à jour validée" à "production".

@skelz0r t'es autorisé à regarder même si c'est pas tout à fait fini cette fois :D

Closes https://linear.app/pole-api/issue/API2-334/reouvrir-une-demande-en-production-en-sandbox-ou-en-prod

Copy link

linear bot commented Jan 21, 2025

@JeSuisUnCaillou
Copy link
Contributor Author

(oui je sais breakman, je change ça)

@skelz0r
Copy link
Member

skelz0r commented Jan 21, 2025

(oui je sais breakman, je change ça)

brakeman*

@skelz0r
Copy link
Member

skelz0r commented Jan 21, 2025

@skelz0r t'es autorisé à regarder même si c'est pas tout à fait fini cette fois :D

Tu veux que je regarde ou tu préfères que j'attende ? Là j'ai en ligne de mire la feature donc je ne poserai pas de questions.

@JeSuisUnCaillou
Copy link
Contributor Author

JeSuisUnCaillou commented Jan 21, 2025

Tu veux que je regarde ou tu préfères que j'attende ? Là j'ai en ligne de mire la feature donc je ne poserai pas de questions.

En fait j'hésite encore à pousser cette PR pour la gestion du statut "mise à jour" lorsqu'on continue en prod une sandbox réouverte validée.

EDIT : tu peux y aller

@JeSuisUnCaillou JeSuisUnCaillou marked this pull request as ready for review January 21, 2025 17:22
Copy link
Member

@skelz0r skelz0r left a comment

Choose a reason for hiding this comment

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

J'ai fait quelques commentaires mais en fait je pense que niveau conception c'est pas bon. Il faut à mon sens:

  1. Se baser sur les stages (les previous) pour savoir si on peut revenir en arrière et non les classes qui sont trop bancales imo
  2. Faire un reopen_previous, parce qu'on ne réouvre pas l'habilitation actuelle mais une autre. Par ailleurs, il faut créer un event lié (car ce n'est pas la même chose à mon sens)

L'ensemble des micros méthodes qui manipulent des trucs bizarres dans les modèles montrent que c'est pas assez bien fait et trop border imo.

@@ -5,5 +5,5 @@ class ReopenAuthorization < ApplicationOrganizer
context.authorization_request = context.authorization.request
end

organize ExecuteAuthorizationRequestTransitionWithCallbacks
organize TransitionAuthorizationRequestToPreviousStage, ExecuteAuthorizationRequestTransitionWithCallbacks
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
organize TransitionAuthorizationRequestToPreviousStage, ExecuteAuthorizationRequestTransitionWithCallbacks
organize TransitionAuthorizationRequestToPreviousStage,
ExecuteAuthorizationRequestTransitionWithCallbacks

c'est plus lisible et consistant avec le reste

@@ -95,6 +95,14 @@ def latest_authorization_of_class(authorization_request_class)
authorizations.where(authorization_request_class: authorization_request_class).order(created_at: :desc).limit(1).first
end

def available_classes_for_reopen
Copy link
Member

Choose a reason for hiding this comment

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

C'est techniquement faux pour plein de raisons, mais la principale: on peut complètement avoir une habilitation existante qui n'est lié à aucun flow, parce que typiquement.. on a ajouté une nouvelle étape après.

Copy link
Member

Choose a reason for hiding this comment

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

Ou même supprimer

@@ -0,0 +1,20 @@
class TransitionAuthorizationRequestToPreviousStage < ApplicationInteractor
Copy link
Member

Choose a reason for hiding this comment

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

Tu bypasses complètement la SM ici, c'est dangereux.

@skelz0r
Copy link
Member

skelz0r commented Jan 23, 2025

Le point 2. implique donc un nouvel organizer, et donc un nouveau controller (ReopenPreviousAuthorization) c'est clairement plus propre/kiss

@JeSuisUnCaillou
Copy link
Contributor Author

JeSuisUnCaillou commented Jan 23, 2025

Se baser sur les stages (les previous) pour savoir si on peut revenir en arrière et non les classes qui sont trop bancales imo

Il me semblait qu'on avait justement discuté de ça et qu'on était tombés sur le fait que les previous sont pas pratiques pour la réouvertur et qu'il fallait plutôt se baser sur les classes des habilitations existantes. Par ce que en fait, on veut réouvrir une habilitation existante en soi.

cf https://mattermost.incubateur.net/betagouv/pl/7asj617ykidm5fbbj18if34zbw

@skelz0r
Copy link
Member

skelz0r commented Jan 23, 2025

Hum.. maybe. C'est peut-être le fait de tordre l'organizer qui fait que ça fait messy. Et en effet tu wrappes une partie de la logique de la classe Stage donc en effet peut-être que 1. n'est pas si relevant et que c'est le point 2. qui est surtout important.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants