Projet

Général

Profil

0002-forms-always-set-a-new-url_name-when-importing-8315.patch

Frédéric Péters, 22 septembre 2015 14:20

Télécharger (1,77 ko)

Voir les différences:

Subject: [PATCH 2/3] forms: always set a new url_name when importing (#8315)

 tests/test_admin_pages.py | 9 +++++++++
 wcs/admin/forms.py        | 7 +------
 2 files changed, 10 insertions(+), 6 deletions(-)
tests/test_admin_pages.py
666 666
    assert FormDef.get(1).url_name == 'form-title'
667 667
    assert FormDef.get(2).url_name == 'form-title-1'
668 668

  
669
    # import a formdef with an url_name that doesn't match its title
670
    formdef.url_name = 'xxx-other-form-title'
671
    formdef_xml = ET.tostring(formdef.export_to_xml(include_id=True))
672

  
673
    resp = app.get('/backoffice/forms/')
674
    resp = resp.click(href='import')
675
    resp.forms[0]['file'] = Upload('formdef.wcs', formdef_xml)
676
    resp = resp.forms[0].submit()
677

  
669 678
def test_form_qrcode(pub):
670 679
    create_role()
671 680

  
wcs/admin/forms.py
1606 1606
                form.set_error('file', msg)
1607 1607
            raise ValueError()
1608 1608

  
1609
        try:
1610
            FormDef.get_by_urlname(formdef.url_name, ignore_migration=True)
1611
        except KeyError:
1612
            pass # fine, the urlname is free
1613
        else:
1614
            formdef.url_name = None
1609
        formdef.url_name = None # a new one will be set in .store()
1615 1610
        formdef.disabled = True
1616 1611
        formdef.store()
1617 1612
        get_session().message = ('info',
1618
-