Projet

Général

Profil

Bug #61971

export/import/copie d'une action "dispatch" avec rôle sous forme de chaine random (→ "Référence à un rôle inconnu")

Ajouté par Pierre Cros il y a environ 2 ans. Mis à jour il y a environ 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
18 février 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Tentative de copie :
https://demarches-validation.test.entrouvert.org/backoffice/workflows/42/status/3/items/9/copy

Et trace :

Exception:
  type = '<class 'wcs.workflows.WorkflowImportUnknownReferencedError'>', value = 'Référence à un rôle inconnu'

Stack trace (most recent call first):
  File "/usr/lib/python3/dist-packages/wcs/workflows.py", line 1305, in _get_role_id_from_xml
  1303                 return value
  1304             raise WorkflowImportUnknownReferencedError(
> 1305                 _('Unknown referenced role'), details={_('Unknown roles'): {value}}
  1306             )
  1307 

  locals: 
     charset = 'utf-8'
     elem = <Element 'role_id' at 0x7f9d64669d68>
     include_id = False
     role = None
     role_slug = None
     self = <DispatchWorkflowStatusItem 1 in status "Erreur technique" (6) in workflow "pcros" (42)>
     snapshot = False
     value = 'pcros@entrouvert.com'

  File "/usr/lib/python3/dist-packages/wcs/workflows.py", line 1318, in _role_init_with_xml
  1316             self,
  1317             attribute,
> 1318             self._get_role_id_from_xml(elem, charset, include_id=include_id, snapshot=snapshot),
  1319         )
  1320 

  locals: 
     attribute = 'role_id'
     charset = 'utf-8'
     elem = <Element 'role_id' at 0x7f9d64669d68>
     include_id = False
     self = <DispatchWorkflowStatusItem 1 in status "Erreur technique" (6) in workflow "pcros" (42)>
     snapshot = False

  File "/usr/lib/python3/dist-packages/wcs/wf/dispatch.py", line 107, in role_id_init_with_xml
   105 
   106     def role_id_init_with_xml(self, elem, charset, include_id=False, snapshot=False):
>  107         self._role_init_with_xml('role_id', elem, charset, include_id=include_id, snapshot=snapshot)
   108 
   109     def rules_export_to_xml(self, item, charset, include_id=False):

  locals: 
     charset = 'utf-8'
     elem = <Element 'role_id' at 0x7f9d64669d68>
     include_id = False
     self = <DispatchWorkflowStatusItem 1 in status "Erreur technique" (6) in workflow "pcros" (42)>
     snapshot = False

  File "/usr/lib/python3/dist-packages/wcs/workflows.py", line 1206, in init_with_xml
  1204             if getattr(self, '%s_init_with_xml' % attribute, None):
  1205                 getattr(self, '%s_init_with_xml' % attribute)(
> 1206                     el, charset, include_id=include_id, snapshot=snapshot
  1207                 )
  1208                 continue

  locals: 
     attribute = 'role_id'
     charset = 'utf-8'
     check_datasources = False
     el = <Element 'role_id' at 0x7f9d64669d68>
     elem = <Element 'item' at 0x7f9d64669778>
     include_id = False
     self = <DispatchWorkflowStatusItem 1 in status "Erreur technique" (6) in workflow "pcros" (42)>
     snapshot = False

  File "/usr/lib/python3/dist-packages/wcs/admin/workflows.py", line 480, in copy
   478             new_item = destination_status.append_item(item_type)
   479             new_item.parent = destination_status
>  480             new_item.init_with_xml(item, 'utf-8', check_datasources=False)
   481 
   482             self.workflow.store(

  locals: 
     destination_status = <WorkflowStatus 6 'Erreur technique'>
     destinations = [('3', 'test'), ('4', 'nouveau'), ('5', 'Refuser'), ('6', 'Erreur technique')]
     form = <wcs.qommon.form.Form object at 0x7f9d64871780>
     item = <Element 'item' at 0x7f9d64669778>
     item_type = 'dispatch'
     new_item = <DispatchWorkflowStatusItem 1 in status "Erreur technique" (6) in workflow "pcros" (42)>
     self = <wcs.admin.workflows.WorkflowItemPage object at 0x7f9d648714a8>
     status_id = '6'

Fichiers

Révisions associées

Révision c0a8a67e (diff)
Ajouté par Frédéric Péters il y a environ 2 ans

misc: allow straight email address in role dispatch (#61971)

Historique

#1

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

  • Description mis à jour (diff)
#2

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

  • Description mis à jour (diff)
  • Assigné à mis à Frédéric Péters
#3

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

  • Sujet changé de Bug sur la copie d'une action de WF "Référence à un rôle inconnu" à export/import/copie d'une action "dispatch" avec rôle sous forme de chaine random (→ "Référence à un rôle inconnu")

Ça n'est pas lié à l'action de copie, c'est le cas aussi sur un export/import, ce qui se passe c'est l'attribution à un "rôle" "autre" sous la forme d'une chaine de caractère random (ici ); ça fait que la chaine n'est pas détectée comme étant quelque chose de raisonnable,

        # if a computed value is possible and value looks like
        # an expression, use it
        if WorkflowStatusItem.get_expression(value)['type'] in ('python', 'template'):
            return value

et que ça finit donc par chercher un rôle qui correspondrait, et fail.

#4

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

J'ai hésité à remplacer le check_datasources en un général check_references, qui aurait pu être totalement à False sur cette situation mais ça ne couvrait pas le cas export/import.

#5

Mis à jour par Lauréline Guérin il y a environ 2 ans

  • Statut changé de Solution proposée à Solution validée
#6

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit c0a8a67ebfbdf2df255cbb3fe121a6c31625836b
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Feb 18 15:42:06 2022 +0100

    misc: allow straight email address in role dispatch (#61971)
#7

Mis à jour par Transition automatique il y a environ 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#8

Mis à jour par Pierre Cros il y a environ 2 ans

  • Statut changé de Solution déployée à Fermé

Good.

Formats disponibles : Atom PDF