ETQ instructeur, je peux modifier le dossier d'un usager#13326
Conversation
935aa01 to
deda442
Compare
E-L-T
left a comment
There was a problem hiding this comment.
C'est trop bien 👌 Quelques petites remarques par-ci par-là :
-
Suite a une modification par l'instructeur
- Il me semble que l'usager n'est pas notifié.
- dans l'onglet Demande, ETQ instructeur, je vois un badge "modifié par l'usager" sur un champ alors que ce n'est pas le cas.
-
Dans Personnes impliquées, on pourrait écrire "dossier modifié par" plutôt que "corrigé par" ?
-
il faudrait ajouter un hr dans la page Options des groupes instructeurs
-
Le garde fou d'interdire a un instructeur de modifier le dossier dont il est propriétaire est il nécessaire (sachant qu'actuellement un instructeur peut instruire son propre dossier) ? Ça sera peut-être un peu gênant pour les admins qui voudraient tester la fonctionnalité.
-
Il y a un double scroll dans la modale de confirmation, ce qui fait qu'on peut passer à côté de la possibilité d'envoyer un message de confirmation
There was a problem hiding this comment.
deja bravo ! 1ere revue de surface humaine. j'en ferai une 2nd accompagné de claude avec test de la feature.
Des trads manquantes, plutot que pointer a gauche a droite je te propose des patchs de fixup. A prendre ou a laisser ;-)
0005-fixup-feat-procedure-gate-instructeur-dossier-editio.patch
0004-fixup-feat-dossier-etq-instructeur-je-peux-modifier-.patch
0003-fixup-feat-dossier-notify-usager-when-an-instructeur.patch
0002-fixup-feat-dossier-add-EditDossierConfirmComponent.patch
0001-fixup-feat-dossier-add-EditDossierAlertComponent.patch
Je reprends la review avec les notes a moi même voir si on peut simplifier certaines partie.
C'est une contrainte tech. Sans cette contrainte il faut ajouter du code à beaucoup d'endroits... J'ajouterais un peu d'explication à la PR. De plus, si c'est son propre dossier, il peut aller le modifier en tant qu'usager...
C'est une contrainte du design proposé par @marleneklok, on peut en discuter au point UX
🤦♂️ done
done |
Si j'ai possibilité de tester sur la dev, ça m'intéresse ;) (car là je peux pas trop visualiser cette histoire de double scroll) |
11a2ffc to
72d0e15
Compare
LeSim
left a comment
There was a problem hiding this comment.
première passe. Rien vu de choquant. Ca a l'air trop bien.
Je vais refaire une seconde passe de test
|
|
||
| def with_update_stream(user, &block) | ||
| if en_construction? && user.owns_or_invite?(self) | ||
| if can_update_as_user?(user) |
| end | ||
|
|
||
| def can_update_as_instructeur?(user) | ||
| return false unless en_construction? |
There was a problem hiding this comment.
je me demande si ce n'est pas une restriction superflue. Marlene propose également de pouvoir modifier un dossier en_instruction
| return false unless en_construction? | ||
| return false unless procedure.instructeurs_can_edit_dossiers? | ||
| return false unless user.instructeur? | ||
| return false if can_update_as_user?(user) |
There was a problem hiding this comment.
Alors je comprends ce que tu proposes, mais c'est chiant pour les tests et je me demande si ca ne vas géner la découvrabilité de la feature.
J'ai vu que d'autres personnes ont remonté le point avant moi.
Proposition UX: dans le cas ou c'est un instructeur qui veut modifier son propre dossier (sûrement a des fin des tests) est ce qu'on ne pourrait pas afficher le bouton modifier sur le dossier usager mais le brancher sur une alerte qui préviendrait qu'un instructeur ne peut pas modifier son propre dossier ?
LeSim
left a comment
There was a problem hiding this comment.
Bon alors, je suis peut être trop enthousiaste mais je serai chaud pour qu'on envoie !
J'ai des ptits soucis de nommage et de compréhension de ma part (checkpoint ?) mais de toutes les facons, cela n'a pas été introduit dans cette pr.
J'ai testé et ... ca marche d'enfer, c'est une super évol, je suis méga fan.
Ptit bug technique :
Un instructeur ne peut pas uploader de pj, ca doit se jouer au niveau des permissions de app/controllers/attachments_controller.rb
Ptits point UX mineurs et subjectifs :
Je trouve l'entete de la page de modification super chargé ! plus de marge ?
Dans les personnes impliquées, peut être indiquer la qualité d'instructeur a coté de son email ? D'ailleurs, gères-tu l'anonymisation de l'instructeur ?
Le rendu des modifs est un poil lourd vous trouvez pas ?
MAIS je pense que tout ceci est mineur par rapport au gain de cette feature.
Allez, je reste embêter par cette histoire que l'instructeur ne peut pas modifier son propre dossier, je pense que ca dessert la feature, mais la correction peut venir plus tard...
3bce70c to
a76c6b9
Compare
| to_show, to_hide = champs.filter { it.conditional? || it.child? } | ||
| .partition(&:visible?) | ||
| .map { champs_to_one_selector(_1 - to_update) } | ||
| to_update = champs.filter { it.public_id.in?(params.keys) } |
There was a problem hiding this comment.
trop classes les changements ici !
Retours UX/UIModale pour confirmer les modificationsJe trouve que la double indentation dans la liste des modifications la rend peu lisible.
Recos :
Badge "MODIFIÉ LE..."Appliquer la même hauteur de badge que celui d'une modification faite par l'usager :
Pour l'icône permettant d'afficher l'identité de l'instructeur qui a fait la modification, j'étais plutôt partie sur l'icône information-line
Fonction indisponibleReco de @mfo : dans le cas où la fonction n'est pas disponible, présenter le bouton "Modifier le dossier" en mode désactivé avec un tooltip explicitant la raison pour laquelle on ne peut pas modifier le dossier.
Retours de @LeSimPage de modification
Dans les personnes impliquées
|
45972aa to
93a298e
Compare
|
un fix dans une autre PR #13369 |
Add the instructeur buffer stream, can_update_as_instructeur?, instructeur_submit_en_construction! and the changed-columns checkpoint fix used to notify the usager. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… Dossier Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add DossierModifierParInstructeurComponent (commentaire body) and surface the changed champ in ChangesComponent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Wire up the instructeur dossier edition: controller, routes, edit views and the entry point in the dossier demande, plus the end-to-end system test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…option Add the instructeurs_can_edit_dossiers procedure option (off by default), exposed as a toggle in the instruction options. can_update_as_instructeur? now requires the option to be enabled. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…translations Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>







Contexte
Lorsqu'un dossier est en construction, l'instructeur ne pouvait pas corriger lui-même
une information : il devait demander à l'usager de le faire. Cette PR permet à un
instructeur de modifier directement les champs publics d'un dossier en construction,
tout en gardant une trace de l'intervention et en notifiant l'usager.
Activation par démarche
La fonctionnalité est désactivée par défaut. Elle s'active démarche par démarche via une
nouvelle option « Modification des dossiers usagers par les instructeurs », dans les
options concernant l'instruction (à côté de l'autogestion des instructeurs).
Fonctionnement
« Modifier le dossier » qui ouvre un formulaire d'édition dédié.
l'instructeur : elles ne sont appliquées au dossier qu'au moment de la validation.
facultatif, et rappelle que toute modification est historisée et notifiée à l'usager.
Traitementestenregistré (avec l'instructeur à l'origine de la modification et son éventuelle
motivation), et un message est automatiquement envoyé à l'usager via la messagerie,
détaillant les champs modifiés.
Garde-fous
dossier en construction, et uniquement aux instructeurs du groupe instructeur
concerné.
désactivée (il utilise le parcours usager classique).
Détails techniques
instructeurs_can_edit_dossiers(désactivée par défaut),exposée via un toggle dans les options d'instruction.
Instructeurs::EditController(édition, autosave, soumission) + routesassociées.
EditDossierAlertComponent,EditDossierConfirmComponent,EditDossierFooterComponent, etMessage::DossierModifierParInstructeurComponent(corps du message de notification).
can_update_as_instructeur?(conditionné à l'option de la démarche),fusion du buffer stream instructeur et
instructeur_submit_en_construction!.dateDerniereModificationChampsParInstructeursur leDossier.Tests
pour le propriétaire et lorsque l'option est désactivée).
assainissement de la motivation).
conditions de
can_update_as_instructeur?.Ref #11551