Metadata can't handle non ascii chars on upload
- upload a document that asks for metadata
- fill metadata with non ascii character, like "español"
- will ask for tags, then you click 'next step'
- UnicodeEncodeError at /sources/upload/document/new/interactive/
This only happens when you upload a document, if you change metadata after that, it will be all good.
'ascii' codec can't encode characters in position 4-5: ordinal not in range(128)
/usr/local/lib/python2.7/dist-packages/mayan/apps/navigation/templatetags/navigation_tags.py in get_menu_links
return Menu.get(name).resolve(context=context, source=source)
...
▼ Local vars
Variable Value
context
[{'False': False, 'None': None, 'True': True}, {}, {}, {u'menu_links': [[<navigation.classes.Menu object at 0x7f528e5a35d0>, <navigation.classes.ResolvedLink object at 0x7f528b939290>, <navigation.classes.Menu object at 0x7f528e6eac10>, <navigation.classes.ResolvedLink object at 0x7f528b939210>, <navigation.classes.ResolvedLink object at 0x7f528b939250>, <navigation.classes.Menu object at 0x7f528e4f7e10>, <navigation.classes.Menu object at 0x7f52935b0a10>, <navigation.classes.Menu object at 0x7f52935b0c90>]], u'links': [], u'title': u'Carregar um documento no local de origem:Default ', 'forms': {u'document_form': <NewDocumentForm bound=False, valid=Unknown, fields=(language)>, u'source_form': <WebFormUploadFormHTML5 bound=False, valid=Unknown, fields=(file;expand)>}, u'source': <WebFormSource: Default>, u'subtemplates_list': [{u'name': u'sources/upload_multiform_subtemplate.html', u'context': {u'forms': {u'document_form': <NewDocumentForm bound=False, valid=Unknown, fields=(language)>, u'source_form': <WebFormUploadFormHTML5 bound=False, valid=Unknown, fields=(file;expand)>}, u'form_disable_submit': True, u'form_class': u'dropzone', u'title': <django.utils.functional.__proxy__ object at 0x7f528ba0e810>, u'form_action': u'/sources/upload/document/new/interactive/?metadata0_value=espa%C3%B1ol&metadata1_id=3&document_type_id=3&metadata2_id=2&metadata0_id=1&metadata2_value=222222&metadata1_value=2017-10-10', u'is_multipart': True, u'form_id': u'html5upload'}}], u'view': <sources.views.UploadInteractiveView object at 0x7f528b9e7410>}]
name
u'object facet'
source
None
/usr/local/lib/python2.7/dist-packages/mayan/apps/navigation/classes.py in resolve
resolved_link = link.resolve(context=context)
...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/mayan/apps/navigation/classes.py in resolve
urlencode(parsed_query_string, doseq=True)
...
▶ Local vars
/usr/lib/python2.7/urllib.py in urlencode
l.append(k + '=' + quote_plus(str(elt)))
Maybe related to this #419 (closed)
Another plus is that mayan should tell me if the value is too large for the metadata field, or maybe truncate the value when it reaches 255 chars.