From 2b5accdd4491c8b08066a899d2d16711fb38543d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 5 Nov 2015 12:52:45 +0100 Subject: [PATCH 2/4] Revert "form: correctly ignore empty values in WidgetList (#8866)" This reverts commit 776c367f31f618cb7f68fa3ba56379e1f52a1520. --- tests/test_admin_pages.py | 40 ---------------------------------------- wcs/qommon/form.py | 9 --------- 2 files changed, 49 deletions(-) diff --git a/tests/test_admin_pages.py b/tests/test_admin_pages.py index 71914c1..e8421c4 100644 --- a/tests/test_admin_pages.py +++ b/tests/test_admin_pages.py @@ -877,46 +877,6 @@ def test_form_edit_field_advanced(pub): assert resp.body.index('Additional parameters') > \ resp.body.index('') -def test_form_edit_item_field(pub): - create_superuser(pub) - create_role() - - FormDef.wipe() - formdef = FormDef() - formdef.name = 'form title' - formdef.fields = [fields.ItemField(id='1', label='1st field', type='item')] - formdef.store() - - app = login(get_app(pub)) - resp = app.get('/backoffice/forms/1/') - resp = resp.click(href='fields/') - assert '1st field' in resp.body - - resp = resp.click('Edit', href='1/') - assert resp.forms[0]['label'].value == '1st field' - resp.forms[0]['label'] = 'changed field' - resp.forms[0]['required'] = False - resp = resp.forms[0].submit('items$add_element') - # this adds a second field - assert 'items$element0' in resp.form.fields - assert 'items$element1' in resp.form.fields - # but don't fill anything - resp = resp.forms[0].submit('submit') - assert resp.location == 'http://example.net/backoffice/forms/1/fields/' - resp = resp.follow() - - assert FormDef.get(1).fields[0].label == 'changed field' - assert FormDef.get(1).fields[0].required == False - assert FormDef.get(1).fields[0].items is None - - # edit and fill with one item - resp = resp.click('Edit', href='1/') - assert resp.forms[0]['label'].value == 'changed field' - resp.forms[0]['items$element0'] = 'XXX' - resp = resp.forms[0].submit('submit') - assert resp.location == 'http://example.net/backoffice/forms/1/fields/' - assert FormDef.get(1).fields[0].items == ['XXX'] - def test_form_legacy_int_id(pub): create_superuser(pub) create_role() diff --git a/wcs/qommon/form.py b/wcs/qommon/form.py index 789aea5..db493d4 100644 --- a/wcs/qommon/form.py +++ b/wcs/qommon/form.py @@ -1168,15 +1168,6 @@ class WidgetList(quixote.form.widget.WidgetList): r += self.render_hint(self.get_hint()) return r.getvalue() - def _parse(self, request): - values = [] - for name in self.element_names: - value = self.get(name) - if value: - values.append(value) - self.value = values or None - - class WidgetDict(quixote.form.widget.WidgetDict): # Fix the title and hint setting # FIXME: to be fixed in Quixote upstream : title and hint parameters should be removed -- 2.6.2