Projet

Général

Profil

Bug #20319

Erreur lors de l'import de workflow

Ajouté par Josué Kouka il y a plus de 6 ans. Mis à jour il y a plus de 5 ans.

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

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

Stack trace (most recent call first):
  File "/usr/lib/python2.7/dist-packages/wcs/workflows.py", line 809, in init_with_xml
   807                 else:
   808                     # ???
>  809                     raise AssertionError
   810                 setattr(self, attribute, v)
   811             else:

  locals: 
     el = <Element 'attachments' at 0x7f1b6b434b50>
     attribute = 'attachments'
     self = <wcs.workflows.SendmailWorkflowStatusItem object at 0x7f1b5c1f8bd0>
     charset = 'utf-8'
     elem = <Element 'item' at 0x7f1b6b434890>
     include_id = False

  File "/usr/lib/python2.7/dist-packages/wcs/workflows.py", line 1474, in init_with_xml
  1472             item_o = self.items[-1]
  1473             item_o.parent = self
> 1474             item_o.init_with_xml(item, charset, include_id=include_id)
  1475 
  1476 

  locals: 
     item_type = 'sendmail'
     item_o = <wcs.workflows.SendmailWorkflowStatusItem object at 0x7f1b5c1f8bd0>
     self = <wcs.workflows.WorkflowStatus object at 0x7f1b5d0dffd0>
     charset = 'utf-8'
     elem = <Element 'status' at 0x7f1b6b434250>
     item = <Element 'item' at 0x7f1b6b434890>
     include_id = False

  File "/usr/lib/python2.7/dist-packages/wcs/workflows.py", line 542, in import_from_xml_tree
   540             status_o = WorkflowStatus()
   541             status_o.parent = workflow
>  542             status_o.init_with_xml(status, charset, include_id=include_id)
   543             workflow.possible_status.append(status_o)
   544 

  locals: 
     status_o = <wcs.workflows.WorkflowStatus object at 0x7f1b5d0dffd0>
     status = <Element 'status' at 0x7f1b6b434250>
     node = <Element 'last_modification' at 0x7f1b5d0ed4d0>
     workflow = <Workflow 'Contrats territoriaux' id:None>
     charset = 'utf-8'
     tree = <Element 'workflow' at 0x7f1b5d0bb3d0>
     role_node = <Element 'role' at 0x7f1b5d0edd50>
     include_id = False
     cls = <class 'wcs.workflows.Workflow'>

  File "/usr/lib/python2.7/dist-packages/wcs/workflows.py", line 505, in import_from_xml
   503         except:
   504             raise ValueError()
>  505         return cls.import_from_xml_tree(tree, include_id=include_id)
   506 
   507     @classmethod

  locals: 
     fd = <_io.BytesIO object at 0x7f1b5deae0b0>
     tree = <xml.etree.ElementTree.ElementTree object at 0x7f1b5d0bb990>
     include_id = False
     cls = <class 'wcs.workflows.Workflow'>

  File "/usr/lib/python2.7/dist-packages/wcs/admin/workflows.py", line 1894, in import_submit
  1892             reason = _(e) % e.msg_args
  1893         except ValueError:
> 1894             error = True
  1895 
  1896         if error:

  locals: 
     fp = <_io.BytesIO object at 0x7f1b5deae0b0>
     reason = None
     self = <wcs.admin.workflows.WorkflowsDirectory object at 0x7f1b688232d0>
     form = <wcs.qommon.form.Form object at 0x7f1b6b2260d0>
     error = False

  File "/usr/lib/python2.7/dist-packages/wcs/admin/workflows.py", line 1857, in p_import
  1855                 return self.import_submit(form)
  1856             except ValueError:
> 1857                 pass
  1858 
  1859         get_response().breadcrumb.append( ('workflows/', _('Workflows')) )

  locals: 
     self = <wcs.admin.workflows.WorkflowsDirectory object at 0x7f1b688232d0>
     form = <wcs.qommon.form.Form object at 0x7f1b6b2260d0>

  File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 67, in _q_traverse
    65                 raise TraversalError
    66         elif hasattr(obj, '__call__'):
>   67             return obj()
    68         else:
    69             return obj

  locals: 
     component = 'import'
     self = <wcs.admin.workflows.WorkflowsDirectory object at 0x7f1b688232d0>
     obj = <bound method WorkflowsDirectory.p_import of <wcs.admin.workflows.WorkflowsDirectory object at 0x7f1b688232d0>>
     name = 'p_import'
     path = []

  File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse
    61         if path:
    62             if hasattr(obj, '_q_traverse'):
>   63                 return obj._q_traverse(path)
    64             else:
    65                 raise TraversalError

  locals: 
     component = 'workflows'
     self = <auquotidien.modules.backoffice.BackofficeRootDirectory object at 0x7f1b6404df10>
     obj = <wcs.admin.workflows.WorkflowsDirectory object at 0x7f1b688232d0>
     name = None
     path = ['import']

  File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 91, in _q_traverse
    89     def _q_traverse(self, path):
    90         self._q_access()
>   91         return super(AccessControlled, self)._q_traverse(path)
    92 
    93 

  locals: 
     path = ['workflows', 'import']
     self = <auquotidien.modules.backoffice.BackofficeRootDirectory object at 0x7f1b6404df10>

  File "/usr/lib/python2.7/dist-packages/wcs/backoffice/root.py", line 79, in _q_traverse
    77                 pass
    78         get_response().add_javascript(['jquery.js', 'qommon.js', 'gadjo.js'])
>   79         return super(RootDirectory, self)._q_traverse(path)
    80 
    81     @classmethod

  locals: 
     path = ['workflows', 'import']
     self = <auquotidien.modules.backoffice.BackofficeRootDirectory object at 0x7f1b6404df10>

  File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse
    61         if path:
    62             if hasattr(obj, '_q_traverse'):
>   63                 return obj._q_traverse(path)
    64             else:
    65                 raise TraversalError

  locals: 
     component = 'backoffice'
     self = <auquotidien.modules.root.AlternateRootDirectory object at 0x7f1b668b3290>
     obj = <auquotidien.modules.backoffice.BackofficeRootDirectory object at 0x7f1b6404df10>
     name = 'backoffice'
     path = ['workflows', 'import']

  File "/usr/lib/python2.7/dist-packages/auquotidien/modules/root.py", line 847, in _q_traverse
   845                     return redirect('%s%s/%s' % (base_url, f.category.url_name, uri_rest))
   846 
>  847             raise e
   848 
   849 

  locals: 
     path = ['backoffice', 'workflows', 'import']
     self = <auquotidien.modules.root.AlternateRootDirectory object at 0x7f1b668b3290>
     response = <wcs.qommon.http_response.HTTPResponse instance at 0x7f1b6b24d2d8>

  File "/usr/lib/pymodules/python2.7/quixote/publish.py", line 253, in try_publish
   251                 permanent=True)
   252         components = path[1:].split('/')
>  253         output = self.root_directory._q_traverse(components)
   254         # The callable ran OK, commit any changes to the session
   255         self.finish_successful_request()

  locals: 
     path = '/backoffice/workflows/import'
     self = <wcs.compat.CompatWcsPublisher object at 0x7f1b668b3250>
     request = <wcs.compat.CompatHTTPRequest instance at 0x7f1b6b24d0e0>
     components = ['backoffice', 'workflows', 'import']

  File "/usr/lib/python2.7/dist-packages/wcs/views.py", line 59, in get_context_data
    57             body = get_publisher().try_publish(get_request())
    58             self.quixote_response = get_request().response
>   59             context.update(get_decorate_vars(body, get_response(), generate_breadcrumb=True))
    60 
    61         return context

  locals: 
     self = <wcs.views.Backoffice object at 0x7f1b5d282450>
     context = {u'view': <wcs.views.Backoffice object at 0x7f1b5d282450>}
     kwargs = {}

  File "/usr/lib/python2.7/dist-packages/wcs/compat.py", line 55, in get
    53             self.quixote_response = get_request().response
    54         except Exception as exc:
>   55             context = {'body': get_publisher().finish_failed_request()}
    56             self.quixote_response = get_request().response
    57 

  locals: 
     self = <wcs.views.Backoffice object at 0x7f1b5d282450>
     args = ()
     request = <WSGIRequest: POST '/backoffice/workflows/import'>
     exc = AssertionError()
     kwargs = {}

  File "/usr/lib/python2.7/dist-packages/wcs/views.py", line 50, in post
    48 
    49     def post(self, request, *args, **kwargs):
>   50         return self.get(request, *args, **kwargs)
    51 
    52     def get_context_data(self, **kwargs):

  locals: 
     self = <wcs.views.Backoffice object at 0x7f1b5d282450>
     args = ()
     request = <WSGIRequest: POST '/backoffice/workflows/import'>
     kwargs = {}

  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 89, in dispatch
    87         else:
    88             handler = self.http_method_not_allowed
>   89         return handler(request, *args, **kwargs)
    90 
    91     def http_method_not_allowed(self, request, *args, **kwargs):

  locals: 
     self = <wcs.views.Backoffice object at 0x7f1b5d282450>
     handler = <bound method Backoffice.post of <wcs.views.Backoffice object at 0x7f1b5d282450>>
     request = <WSGIRequest: POST '/backoffice/workflows/import'>
     args = ()
     kwargs = {}

  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 71, in view
    69             self.args = args
    70             self.kwargs = kwargs
>   71             return self.dispatch(request, *args, **kwargs)
    72 
    73         # take name and docstring from class

  locals: 
     initkwargs = {}
     self = <wcs.views.Backoffice object at 0x7f1b5d282450>
     args = ()
     request = <WSGIRequest: POST '/backoffice/workflows/import'>
     kwargs = {}
     cls = <class 'wcs.views.Backoffice'>

  File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
   130                 wrapped_callback = self.make_view_atomic(callback)
   131                 try:
>  132                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
   133                 except Exception as e:
   134                     # If the view raised an exception, run it through exception

  locals: 
     callback_args = ()
     resolver_match = ResolverMatch(func=wcs.views.Backoffice, args=(), kwargs={}, url_name=None, app_name=None, namespaces=[])
     middleware_method = <bound method PublisherInitialisationMiddleware.process_request of <wcs.middleware.PublisherInitialisationMiddleware object at 0x7f1b668ce710>>
     self = <django.core.handlers.wsgi.WSGIHandler object at 0x7f1b6e408d90>
     request = <WSGIRequest: POST '/backoffice/workflows/import'>
     callback = <function Backoffice at 0x7f1b5f71fc80>
     wrapped_callback = <function Backoffice at 0x7f1b5f71fc80>
     resolver = <RegexURLResolver 'wcs.urls' (None:None) ^/>
     callback_kwargs = {}
     response = None
     urlconf = 'wcs.urls'

  File "/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 189, in __call__
   187             response = http.HttpResponseBadRequest()
   188         else:
>  189             response = self.get_response(request)
   190 
   191         response._handler_class = self.__class__

  locals: 
     start_response = <built-in function uwsgi_spit>
     environ = {'HTTP_REFERER': 'https://formulaires.demarches.lozere.fr/backoffice/workflows/', 'SERVER_PROTOCOL': 'HTTP/1.0', 'uwsgi.version': '2.0.7-debian', 'SCRIPT_NAME': '', 'REQUEST_METHOD': 'POST', 'PATH_INFO': '/backoffice/workflows/import', 'HTTP_X_FORWARDED_SSL': 'on', 'QUERY_STRING': '', 'HTTP_X_REAL_IP': '37.58.186.251', 'CONTENT_LENGTH': '130199', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '_ga=GA1.2.2085752904.1507204991; publik_portal_agent_url=https%3A%2F%2Fagents.demarches.lozere.fr%2F; publik_portal_agent_title=Portail%20agent; publik_portal_agent_url=https%3A%2F%2Fagents.demarches.lozere.fr%2F; publik_portal_agent_title=Portail%20agent; _gid=GA1.2.796120218.1511773546; SESSb76ff7b3639c187c71be2dd50bd25f9a=ZwF7PRkjzBkT5m-_4-huy6L8twz0a-X3LKadGOcrr-o; A2_OPENED_SESSION=1; wcs-fcde96="dc8a7368f1e1cc98"', 'SERVER_NAME': 'auquo', 'REMOTE_ADDR': '37.58.186.251', 'HTTP_X_FORWAR
 DED_PROTOCOL': 'ssl', 'wsgi.url_scheme': 'https', 'REMOTE_USER': '16', 'SERVER_PORT': '80', 'uwsgi.node': 'auquo', 'HTTP_X_FORWARDED_PROTO': 'https', 'wsgi.input': <uwsgi._Input object at 0x7f1b5de3ff48>, 'HTTP_DNT': '1', 'HTTP_HOST': 'formulaires.demarches.lozere.fr', 'wsgi.multithread': False, 'HTTP_UPGRADE_INSECURE_REQUESTS': '1', 'REQUEST_URI': '/backoffice/workflows/import', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'HTTP_X_FORWARDED_FOR': '37.58.186.251', 'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f1b687dd030>, 'wsgi.multiprocess': True, 'HTTP_ACCEPT_LANGUAGE': 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3', 'wsgi.run_once': False, 'CONTENT_TYPE': 'multipart/form-data; boundary=---------------------------28052939526363', 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br'}
     self = <django.core.handlers.wsgi.WSGIHandler object at 0x7f1b6e408d90>
     request = <WSGIRequest: POST '/backoffice/workflows/import'>

Form:
_form_id        'd12540ff1e995535'
file            <Upload at 7f1b6b244e60: contrats-territoriaux-wf.wcs>
submit          'Importer le workflow'
url             ''

L'element


Fichiers

Révisions associées

Révision 69c9fd57 (diff)
Ajouté par Thomas Noël il y a plus de 6 ans

workflows: fix attachements xml import on sendmail action (#20319)

Historique

#2

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

  • Assigné à mis à Thomas Noël
#3

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

#4

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

Ack.

#5

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

  • Statut changé de En cours à Résolu (à déployer)
commit 69c9fd57d1682e0e52a41b67c12f0c64b85ded36
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Tue Nov 28 11:39:18 2017 +0100

    workflows: fix attachements xml import on sendmail action (#20319)

#6

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

attachement seriously.

#7

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

et merde.

#8

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

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

Formats disponibles : Atom PDF