Projet

Général

Profil

Bug #6612

formulaire rendu inaccessible si le workflow correspondant a été effacé

Ajouté par Thomas Noël il y a environ 9 ans. Mis à jour il y a 8 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
04 mars 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Cette bête trace obtenue suite à la suppression d'un workflow, alors qu'il était utilisé par un formulaire. Quand on va sur le formulaire, boum, crash.

(Sans doute une vérification à faire pour autoriser la suppression d'un workflow)

Exception:
  type = '<type 'exceptions.KeyError'>', value = ''

Stack trace (most recent call first):
  File "/usr/lib/python2.7/dist-packages/wcs/qommon/storage.py", line 333, in get_filename
   331             if ignore_errors:
   332                 return None
>  333             raise KeyError()
   334         except (EOFError, ImportError), e:
   335             if ignore_errors:

  locals:
     ignore_errors = False
     ignore_migration = False
     cls = <class 'wcs.workflows.Workflow'>
     filename = '/var/lib/wcs-au-quotidien/vincennes.dev.au-quotidien.com/workflows/11'


Demandes liées

Lié à w.c.s. - Bug #37734: ne pas planter sur la page d'admin d'un formulaire quand le workflow a été suppriméFermé18 novembre 2019

Actions

Historique

#1

Mis à jour par Frédéric Péters il y a environ 9 ans

Le bout de la trace qui m'intéresse :

  File "/usr/lib/python2.7/dist-packages/wcs/admin/forms.py", line 263, in _q_index
   261                 r += '-'
   262             if self.formdef.workflow_id:
>  263                 pristine_workflow = Workflow.get(self.formdef.workflow_id)
   264                 if pristine_workflow.variables_formdef:
   265                     r += htmltext(' (<a rel="popup" href="workflow-variables">%s</a>)') % _('options')
#2

Mis à jour par Frédéric Péters il y a environ 9 ans

Étrangement, sur une situation où je voulais supprimer un workflow, j'ai eu un message "This workflow is currently in use, you cannot remove it."

#3

Mis à jour par Thomas Noël il y a environ 9 ans

Effectivement,

        for formdef in FormDef.select():
            if formdef.workflow_id == self.workflow.id:
                form.widgets.append(HtmlWidget('<p>%s</p>' % _(
                        "This workflow is currently in use, you cannot remove it.")))

... donc je ne comprends pas trop comment le workflow a pu disparaître. (la disparition a eu lieu sur la prod, la dev était une copie de la prod... sur laquelle le problème existe toujours, peut-être depuis longtemps, https://demarches.vincennes.fr/admin/forms/76/ )

#4

Mis à jour par Frédéric Péters il y a 8 mois

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

Dupliqué et corrigé en #37734.

#5

Mis à jour par Frédéric Péters il y a 8 mois

  • Lié à Bug #37734: ne pas planter sur la page d'admin d'un formulaire quand le workflow a été supprimé ajouté

Formats disponibles : Atom PDF