Projet

Général

Profil

Development #12787

wcs.wf.jump._apply_timeouts parcourent tous les formdata des formulaires avec un timeout

Ajouté par Benjamin Dauvergne il y a plus de 7 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
28 juillet 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

def _apply_timeouts(publisher):
    '''Traverse all filled form and apply expired timeout jumps if needed'''
    from formdef import FormDef
    wfs_status = workflows_with_timeout()

    for formdef_id in FormDef.keys():
        formdef = FormDef.get(formdef_id, ignore_errors = True)
        if not formdef:
            continue
        if str(formdef.workflow_id) in wfs_status.keys():
            for formdata_id in formdef.data_class().keys():
                formdata = formdef.data_class().get(formdata_id, ignore_errors = True)
                if not formdata:
                    continue
                if formdata.status in wfs_status[str(formdef.workflow_id)]:
                    for x in wfs_status[str(formdef.workflow_id)][formdata.status]:
                        get_publisher().substitutions.reset()
                        get_publisher().substitutions.feed(get_publisher())
                        get_publisher().substitutions.feed(formdef)
                        get_publisher().substitutions.feed(formdata)
                        if x.must_jump(formdata):
                            jump_and_perform(formdata, x.status)
                            break

Ça pourrait être bien de profiter du moteur SQL pour ne récupérer que ceux qui sont dans un statut concerné.

Historique

#1

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

  • Statut changé de Nouveau à Fermé
  • Planning mis à Non

Ça a été fait via #23174.

Formats disponibles : Atom PDF