0001-backoffice-add-direct-links-from-preview-to-page-fie.patch
tests/admin_pages/test_form.py | ||
---|---|---|
1317 | 1317 | |
1318 | 1318 |
# check it's in the preview |
1319 | 1319 |
resp = app.get('/backoffice/forms/1/') |
1320 |
assert '<h3 data-field-id="1">baz</h3>' in resp.text
|
|
1320 |
assert resp.pyquery('.form-preview h3').text() == 'baz'
|
|
1321 | 1321 | |
1322 | 1322 | |
1323 | 1323 |
def test_form_field_without_label(pub): |
... | ... | |
2366 | 2366 |
formdef.fields.append(fields.PageField(id='1000', label='page', type='page')) |
2367 | 2367 |
formdef.store() |
2368 | 2368 |
resp = app.get('/backoffice/forms/1/') |
2369 |
resp = resp.click(href='fields/') |
|
2369 |
resp = resp.click(href='fields/', index=0)
|
|
2370 | 2370 |
assert 'more than 500 fields' not in resp.text |
2371 | 2371 |
assert 'first field should be of type "page"' in resp.text |
2372 | 2372 | |
... | ... | |
2375 | 2375 |
) |
2376 | 2376 |
formdef.store() |
2377 | 2377 |
resp = app.get('/backoffice/forms/1/') |
2378 |
resp = resp.click(href='fields/') |
|
2378 |
resp = resp.click(href='fields/', index=0)
|
|
2379 | 2379 |
assert 'more than 500 fields' in resp.text |
2380 | 2380 |
assert 'first field should be of type "page"' in resp.text |
2381 | 2381 | |
... | ... | |
3049 | 3049 |
resp = app.get(formdata.get_backoffice_url()) |
3050 | 3050 |
assert 'inspect' in resp.text |
3051 | 3051 |
resp = app.get(formdata.get_backoffice_url() + 'inspect') |
3052 | ||
3053 | ||
3054 |
def test_form_preview_edit_page_fields(pub): |
|
3055 |
create_superuser(pub) |
|
3056 |
create_role(pub) |
|
3057 | ||
3058 |
FormDef.wipe() |
|
3059 |
formdef = FormDef() |
|
3060 |
formdef.name = 'form title' |
|
3061 |
formdef.fields = [ |
|
3062 |
fields.PageField(id='1', label='first page', type='page'), |
|
3063 |
fields.StringField(id='2', label='a field', type='string'), |
|
3064 |
fields.StringField(id='3', label='another field', type='string'), |
|
3065 |
fields.PageField(id='4', label='second page', type='page'), |
|
3066 |
] |
|
3067 |
formdef.store() |
|
3068 |
formdef.data_class().wipe() |
|
3069 | ||
3070 |
app = login(get_app(pub)) |
|
3071 |
resp = app.get('/backoffice/forms/%s/' % formdef.id) |
|
3072 |
assert resp.pyquery('fieldset.formpage a') |
|
3073 |
assert [x.attrib['href'] for x in resp.pyquery('fieldset.formpage a')] == [ |
|
3074 |
'fields/pages/1/', |
|
3075 |
'fields/pages/4/', |
|
3076 |
] |
|
3077 |
resp = resp.click('edit page fields', index=0) |
|
3078 |
assert '<h2>form title - page 1 - first page</h2>' in resp.text |
wcs/admin/forms.py | ||
---|---|---|
848 | 848 |
r += htmltext('</div>') |
849 | 849 | |
850 | 850 |
r += htmltext('<div class="bo-block clear">') |
851 |
r += htmltext('<h3 class="clear">%s <span class="change">(<a href="fields/">%s</a>)</span></h3>') % ( |
|
851 |
r += htmltext( |
|
852 |
'<h3 class="clear">%s <span class="change"><a class="pk-button" href="fields/">%s</a></span></h3>' |
|
853 |
) % ( |
|
852 | 854 |
_('Fields'), |
853 | 855 |
_('edit'), |
854 | 856 |
) |
... | ... | |
1162 | 1164 |
form = Form(action='#', use_tokens=False) |
1163 | 1165 |
form.attrs['data-backoffice-preview'] = 'on' |
1164 | 1166 |
on_page = 0 |
1165 |
for i, field in enumerate(self.formdef.fields): |
|
1166 |
field.id = i |
|
1167 |
for field in self.formdef.fields: |
|
1167 | 1168 |
if getattr(field, 'add_to_form', None): |
1168 | 1169 |
try: |
1169 | 1170 |
get_request().disable_error_notifications = True |
... | ... | |
1184 | 1185 |
form.widgets.append(HtmlWidget('<fieldset class="formpage">')) |
1185 | 1186 |
on_page += 1 |
1186 | 1187 |
form.widgets.append( |
1187 |
HtmlWidget('<legend>%s %s</legend>' % (_('Page #%s:') % on_page, field.label)) |
|
1188 |
HtmlWidget('<legend><span>%s — %s</span> ' % (_('Page #%s:') % on_page, field.label)) |
|
1189 |
) |
|
1190 |
form.widgets.append( |
|
1191 |
HtmlWidget( |
|
1192 |
'<a class="pk-button" href="%s">%s</a>' |
|
1193 |
% ('fields/pages/%s/' % field.id, _('edit page fields')) |
|
1194 |
) |
|
1188 | 1195 |
) |
1196 |
form.widgets.append(HtmlWidget('</legend>')) |
|
1189 | 1197 |
elif field.key == 'title': |
1190 | 1198 |
form.widgets.append(HtmlWidget('<h3>%s</h3>' % field.label)) |
1191 | 1199 |
elif field.key == 'subtitle': |
wcs/qommon/static/css/dc2/admin.scss | ||
---|---|---|
852 | 852 |
fieldset.formpage { |
853 | 853 |
border: 1px solid #bcbcbc; |
854 | 854 |
margin: 1em 0; |
855 |
span { |
|
856 |
font-weight: bold; |
|
857 |
} |
|
858 |
a.pk-button { |
|
859 |
position: absolute; |
|
860 |
right: 1em; |
|
861 |
} |
|
855 | 862 |
} |
856 | 863 | |
857 | 864 |
div.dataview::after { |
858 |
- |