Bug #20319
Erreur lors de l'import de workflow
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
Historique
Mis à jour par Thomas Noël il y a plus de 6 ans
- Fichier 0001-workflows-handle-attachements-in-export-import-sendm.patch 0001-workflows-handle-attachements-in-export-import-sendm.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
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)
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
workflows: fix attachements xml import on sendmail action (#20319)