i18n: translate page field in step list (#74035) #84
|
@ -4,7 +4,7 @@ import os
|
|||
import pytest
|
||||
|
||||
from wcs.carddef import CardDef
|
||||
from wcs.fields import ItemField, StringField
|
||||
from wcs.fields import ItemField, PageField, StringField
|
||||
from wcs.formdef import FormDef
|
||||
from wcs.i18n import TranslatableMessage
|
||||
from wcs.qommon.http_request import HTTPRequest
|
||||
|
@ -85,6 +85,7 @@ def test_i18n_form(pub, user, emails, http_requests):
|
|||
formdef = FormDef()
|
||||
formdef.name = 'test form'
|
||||
formdef.fields = [
|
||||
PageField(id='0', label='page field', type='page'),
|
||||
# label has a trailing white space to check for strip()
|
||||
StringField(id='1', label='text field ', type='string', hint='an hint text'),
|
||||
ItemField(
|
||||
|
@ -103,6 +104,7 @@ def test_i18n_form(pub, user, emails, http_requests):
|
|||
|
||||
for en, fr in (
|
||||
('test form', 'formulaire test'),
|
||||
('page field', 'champ page'),
|
||||
('text field', 'champ texte'),
|
||||
('list field', 'champ liste'),
|
||||
('first', 'premier'),
|
||||
|
@ -126,11 +128,13 @@ def test_i18n_form(pub, user, emails, http_requests):
|
|||
|
||||
app = login(get_app(pub), username='foo', password='foo')
|
||||
resp = app.get(formdef.get_url())
|
||||
assert resp.pyquery('#steps li.first .label').text() == 'page field'
|
||||
assert resp.pyquery('#form_label_f1').text() == 'text field *'
|
||||
assert resp.pyquery('[data-field-id="1"] .hint').text() == 'an hint text'
|
||||
assert resp.pyquery('select [value=""]').text() == 'a second hint text'
|
||||
|
||||
resp = app.get(formdef.get_url(), headers={'Accept-Language': 'fr'})
|
||||
assert resp.pyquery('#steps li.first .label').text() == 'champ page'
|
||||
assert resp.pyquery('#form_label_f1').text() == 'champ texte*'
|
||||
assert resp.pyquery('[data-field-id="1"] .hint').text() == 'un texte d’aide'
|
||||
assert resp.pyquery('select [value=""]').text() == 'un deuxième texte d’aide'
|
||||
|
|
|
@ -371,7 +371,7 @@ class FormPage(FormdefDirectoryBase, FormTemplateMixin):
|
|||
if page is None: # monopage form
|
||||
page_labels.append(_('Filling'))
|
||||
else:
|
||||
page_labels.append(page.label)
|
||||
page_labels.append(get_publisher().translate(page.label))
|
||||
if page is self.current_page:
|
||||
current_position = i + 1
|
||||
|
||||
|
|
Loading…
Reference in New Issue