fields: handle table with unicode row labels (#23147)
This commit is contained in:
parent
d03e155327
commit
87fbb4c783
|
@ -2003,7 +2003,8 @@ def test_form_file_field_submit_wrong_mimetype(pub):
|
|||
def test_form_table_field_submit(pub, emails):
|
||||
formdef = create_formdef()
|
||||
formdef.fields = [fields.TableField(id='0', label='table', type='table',
|
||||
rows=['a', 'b'], columns=['c', 'd', 'e'], required=False)]
|
||||
rows=[u'à'.encode(pub.site_charset), 'b'],
|
||||
columns=['c', 'd', u'e'.encode(pub.site_charset)], required=False)]
|
||||
formdef.store()
|
||||
formdef.data_class().wipe()
|
||||
|
||||
|
|
|
@ -1708,7 +1708,7 @@ class TableField(WidgetField):
|
|||
r.append(' '.join([smart_text(column).center(max_width) for column in ['/']+self.columns]))
|
||||
r.append(' '.join(['='*max_width]*(len(self.columns)+1)))
|
||||
for i, row in enumerate(self.rows):
|
||||
r.append(' '.join([cell.center(max_width) for cell in [row] +
|
||||
r.append(' '.join([cell.center(max_width) for cell in [smart_text(row)] +
|
||||
[get_value(i, x) for x in range(len(self.columns))]]))
|
||||
r.append(' '.join(['='*max_width]*(len(self.columns)+1)))
|
||||
return misc.site_encode('\n'.join([indent + x for x in r]))
|
||||
|
|
Loading…
Reference in New Issue