Project

General

Profile

Bug #9329

en fin d'edition, pas de saut vers le statut choisi

Added by Thomas Noël almost 7 years ago. Updated over 6 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Target version:
Start date:
15 December 2015
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:

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/


Files

Associated revisions

Revision 3259e27d (diff)
Added by Frédéric Péters almost 7 years ago

workflows: implement status change after "editable" action (#9329)

History

#1

Updated by Thomas Noël almost 7 years ago

en fait, ça n'a jamais marché, ce n'est pas codé

#2

Updated by Frédéric Péters almost 7 years ago

Quel boulet, ce Fred, déjà en 2006.

#3

Updated by Frédéric Péters almost 7 years ago

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

#4

Updated by Thomas Noël almost 7 years ago

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-')]

#5

Updated by Frédéric Péters almost 7 years ago

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
#6

Updated by Thomas Noël almost 7 years ago

Et donc, ack

#7

Updated by Frédéric Péters almost 7 years ago

  • Status changed from En cours to 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)
#8

Updated by Frédéric Péters over 6 years ago

  • Target version set to v1.26
#9

Updated by Thomas Noël over 6 years ago

  • Status changed from Résolu (à déployer) to Fermé

Also available in: Atom PDF