management: decode ics summary (fixes #18044)

This commit is contained in:
Benjamin Dauvergne 2017-08-18 10:54:43 +02:00
parent 683315c0be
commit 8d16ae49fa
2 changed files with 4 additions and 2 deletions

View File

@ -1559,7 +1559,8 @@ def ics_data(local_user):
FormDef.wipe()
formdef = FormDef()
formdef.name = 'test'
formdef.url_name = 'test'
formdef.name = 'test\xc3\xa9'
formdef.workflow_roles = {'_receiver': role.id}
formdef.fields = [
fields.StringField(id='0', label='foobar', varname='foobar'),

View File

@ -1604,6 +1604,7 @@ class FormPage(Directory):
if 'anonymise' in get_request().form:
# api/ will let this pass but we don't want that.
raise errors.AccessForbiddenError()
charset = get_publisher().site_charset
self.check_access('ics')
user = get_user_from_api_query_string('ics') or get_request().user
@ -1639,7 +1640,7 @@ class FormPage(Directory):
get_request().get_server().lower(),
formdef.url_name,
formdata.id)
vevent.add('summary').value = formdata.get_display_name()
vevent.add('summary').value = unicode(formdata.get_display_name(), charset)
vevent.add('dtstart').value = make_datetime(formdata.data[datefield_field_id])
vevent.dtstart.value_param = 'DATE'
vevent.add('url').value = formdata.get_url(backoffice=True)