Bug #25301
export d'une action dispatch où un rôle est construit avec des accents
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
17 juillet 2018
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Description
type = '<type 'exceptions.UnicodeDecodeError'>', value = ''ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)' Stack trace (most recent call first): File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1092, in _escape_attrib 1090 return text.encode(encoding, "xmlcharrefreplace") 1091 except (TypeError, AttributeError): > 1092 _raise_serialization_error(text) 1093 1094 def _escape_attrib_html(text, encoding): locals: encoding = 'us-ascii' text = 'R\xc3\xa9seau Loz\xc3\xa8re Nouvelle Vie-[form_var_referent]' File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 932, in _serialize_xml 930 v = qnames[v.text] 931 else: > 932 v = _escape_attrib(v, encoding) 933 write(" %s=\"%s\"" % (qnames[k], v)) 934 if text or len(elem): locals: elem = <Element 'role_id' at 0x7fcac310a850> encoding = 'us-ascii' items = [('role_id', 'R\xc3\xa9seau Loz\xc3\xa8re Nouvelle Vie-[form_var_referent]')] k = 'role_id' namespaces = None qnames = {'backoffice-fields': 'backoffice-fields', 'body': 'body', 'prefill': 'prefill', 'attachments': 'attachments', 'backoffice_filefield_id': 'backoffice_filefield_id', 'action_on_bad_data': 'action_on_bad_data', 'display_title': 'display_title', 'global_actions': 'global_actions', 'set_marker_on_status': 'set_marker_on_status', 'post_data': 'post_data', 'require_confirmation': 'require_confirmation', 'role_key': 'role_key', 'response_type': 'response_type', 'notify_on_errors': 'notify_on_errors', 'anonymise': 'anonymise', 'label': 'label', 'id': 'id', 'display_disabled_items': 'display_disabled_items', 'subject': 'subject', 'user_id': 'user_id', 'to': 'to', 'formdef': 'formdef', 'action_on_5xx': 'action_on_5xx', 'role_id': 'role_id', 'field': 'field', 'trigger': 'trigger', 'role': 'role', 'attachment': 'attachment', 'action_on_app_error': 'action_on_app_error', 'display_button': 'display_button', 'possible_status': 'possible_status', 'allow_portfolio_picking': 'allow_portfolio_picking', 'varname': 'varname', 'type': 'type', 'method': 'method', 'formdef_slug': 'formdef_slug', 'status': 'status', 'show_as_radio': 'show_as_radio', 'extra_css_class': 'extra_css_class', 'record_errors': 'record_errors', 'workflow': 'workflow', 'post': 'post', 'field_id': 'field_id', 'visibility': 'visibility', 'action': 'action', 'data_source': 'data_source', None: None, 'attach_to_history': 'attach_to_history', 'request_signature_key': 'request_signature_key', 'in_listing': 'in_listing', 'by': 'by', 'condition': 'condition', 'triggers': 'triggers', 'in_filters': 'in_filters', 'name': 'name', 'roles': 'roles', 'custom_from': 'custom_from', 'url': 'url', 'items': 'items', 'colour': 'colour', 'required': 'required', 'value': 'value', 'button_label': 'button_label', 'forced_endpoint': 'forced_endpoint', 'item': 'item', 'action_on_network_errors': 'action_on_network_errors', 'last_modification': 'last_modification', 'fields': 'fields', 'dispatch_type': 'dispatch_type', 'title': 'title', 'backoffice_info_text': 'backoffice_info_text', 'action_on_4xx': 'action_on_4xx'} tag = 'role_id' text = u'R\xe9seau Loz\xe8re Nouvelle Vie-[form_var_referent]' v = 'R\xc3\xa9seau Loz\xc3\xa8re Nouvelle Vie-[form_var_referent]' write = <built-in method append of list object at 0x7fcac845fcb0> File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 939, in _serialize_xml 937 write(_escape_cdata(text, encoding)) 938 for e in elem: > 939 _serialize_xml(write, e, encoding, qnames, None) 940 write("</" + tag + ">") 941 else: locals: e = <Element 'role_id' at 0x7fcac310a850> elem = <Element 'item' at 0x7fcac310aa10> encoding = 'us-ascii' items = [('type', 'dispatch'), ('id', '2')] k = 'type' namespaces = None qnames = {'backoffice-fields': 'backoffice-fields', 'body': 'body', 'prefill': 'prefill', 'attachments': 'attachments', 'backoffice_filefield_id': 'backoffice_filefield_id', 'action_on_bad_data': 'action_on_bad_data', 'display_title': 'display_title', 'global_actions': 'global_actions', 'set_marker_on_status': 'set_marker_on_status', 'post_data': 'post_data', 'require_confirmation': 'require_confirmation', 'role_key': 'role_key', 'response_type': 'response_type', 'notify_on_errors': 'notify_on_errors', 'anonymise': 'anonymise', 'label': 'label', 'id': 'id', 'display_disabled_items': 'display_disabled_items', 'subject': 'subject', 'user_id': 'user_id', 'to': 'to', 'formdef': 'formdef', 'action_on_5xx': 'action_on_5xx', 'role_id': 'role_id', 'field': 'field', 'trigger': 'trigger', 'role': 'role', 'attachment': 'attachment', 'action_on_app_error': 'action_on_app_error', 'display_button': 'display_button', 'possible_status': 'possible_status', 'allow_portfolio_picking': 'allow_portfolio_picking', 'varname': 'varname', 'type': 'type', 'method': 'method', 'formdef_slug': 'formdef_slug', 'status': 'status', 'show_as_radio': 'show_as_radio', 'extra_css_class': 'extra_css_class', 'record_errors': 'record_errors', 'workflow': 'workflow', 'post': 'post', 'field_id': 'field_id', 'visibility': 'visibility', 'action': 'action', 'data_source': 'data_source', None: None, 'attach_to_history': 'attach_to_history', 'request_signature_key': 'request_signature_key', 'in_listing': 'in_listing', 'by': 'by', 'condition': 'condition', 'triggers': 'triggers', 'in_filters': 'in_filters', 'name': 'name', 'roles': 'roles', 'custom_from': 'custom_from', 'url': 'url', 'items': 'items', 'colour': 'colour', 'required': 'required', 'value': 'value', 'button_label': 'button_label', 'forced_endpoint': 'forced_endpoint', 'item': 'item', 'action_on_network_errors': 'action_on_network_errors', 'last_modification': 'last_modification', 'fields': 'fields', 'dispatch_type': 'dispatch_type', 'title': 'title', 'backoffice_info_text': 'backoffice_info_text', 'action_on_4xx': 'action_on_4xx'} tag = 'item' text = '\n ' v = 'dispatch' write = <built-in method append of list object at 0x7fcac845fcb0>
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 6 ans
- Fichier 0001-workflows-fix-export-import-of-computed-roles-with-u.patch 0001-workflows-fix-export-import-of-computed-roles-with-u.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
L'export se fait avec include_id=True, qui pose l'id du rôle dans un attribut (xml) role_id; avec un id calculé la forme de cet attribut peut être une expression contenant un accent, et crac.
Mis à jour par Thomas Noël il y a presque 6 ans
- Statut changé de Solution proposée à Solution validée
Le patch va un tout petit peu plus loin, mais c'est bien ainsi.
Mis à jour par Frédéric Péters il y a presque 6 ans
- Statut changé de Solution validée à Résolu (à déployer)
Tu vois pour pousser ça en recette dans la journée ?
commit 0862a94bf7def190baa23424d6e597f12a1b47d7 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Jul 17 08:20:38 2018 +0200 workflows: fix export/import of computed roles with unicode characters (#25301)
Mis à jour par Thomas Noël il y a presque 6 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Frédéric Péters a écrit :
Tu vois pour pousser ça en recette dans la journée ?
Done.
workflows: fix export/import of computed roles with unicode characters (#25301)