Projet

Général

Profil

Bug #9329

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

Ajouté par Thomas Noël il y a plus de 8 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
15 décembre 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
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/


Fichiers

Révisions associées

Révision 3259e27d (diff)
Ajouté par Frédéric Péters il y a plus de 8 ans

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

Historique

#1

Mis à jour par Thomas Noël il y a plus de 8 ans

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

#2

Mis à jour par Frédéric Péters il y a plus de 8 ans

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

#3

Mis à jour par Frédéric Péters il y a plus de 8 ans

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

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

#5

Mis à jour par Frédéric Péters il y a plus de 8 ans

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

Mis à jour par Thomas Noël il y a plus de 8 ans

Et donc, ack

#7

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)
#8

Mis à jour par Frédéric Péters il y a plus de 8 ans

  • Version cible mis à v1.26
#9

Mis à jour par Thomas Noël il y a plus de 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF