Bug #9329
en fin d'edition, pas de saut vers le statut choisi
0%
Description
sur un formulaire+workflow alfortville, après une édition en backoffice, la demande n'est pas envoyée dans le statut indiqué
L'action : https://demarches-alfortville.test.entrouvert.org/backoffice/workflows/9/status/4/items/9/
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Fichier 0001-workflows-implement-status-change-after-editable-act.patch 0001-workflows-implement-status-change-after-editable-act.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Quatre choses à voir dans ce patch :
- mise en commun du code "wfedit" back et front office (vers wcs/forms/common.py)
- conservation de l'id de l'action dans l'URL (.../wfedit-XXX)
- suppression du passage d'un argument editing, en faveur d'une série d'attributs, plus clairs (on peut considérer le edit_mode comme inutile, dans la mesure où il peut être déduit des autres, mais je trouve les choses plus claires avec)
- exécution du saut vers le nouveau statut
Mis à jour par Thomas Noël il y a plus de 8 ans
Un joli rangement plutôt agréable.
Ack, avec un détail peu important, cette boucle :
for item in wf_status.items: if not isinstance(item, EditableWorkflowStatusItem): continue if item.id != action_id: continue if not item.check_auth(self.filled, get_request().user): continue
pourrait plutôt être ça je crois :
for item in wf_status.items: if item.id == action_id: if not isinstance(item, EditableWorkflowStatusItem): break if not item.check_auth(self.filled, get_request().user): break ...
Aussi, pour conjurer le sort, dans les tests, les startswith pourraient tester que les URL ont bien un "wfedit-" vers la fin, avec le nouveau trait d'union [genre .startswith('http://example.net/test/%s/wfedit-')
]
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Fichier 0001-workflows-implement-status-change-after-editable-act.patch 0001-workflows-implement-status-change-after-editable-act.patch ajouté
J'ai plutôt changé en :
for item in wf_status.items: if item.id != action_id: continue if not isinstance(item, EditableWorkflowStatusItem): break if not item.check_auth(self.filled, get_request().user): break
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Statut changé de En cours à Résolu (à déployer)
commit 3259e27de0df733d6eb346bb28f1f5af350b9663 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun Dec 20 12:29:48 2015 +0100 workflows: implement status change after "editable" action (#9329)
workflows: implement status change after "editable" action (#9329)