manager: display an error when importing a non-json file (#21056)
This commit is contained in:
parent
9a71e66a1c
commit
d8b17a57d9
|
@ -72,7 +72,12 @@ class SiteImportView(FormView):
|
|||
success_url = reverse_lazy('combo-manager-homepage')
|
||||
|
||||
def form_valid(self, form):
|
||||
json_site = json.load(self.request.FILES['site_json'])
|
||||
try:
|
||||
json_site = json.load(self.request.FILES['site_json'])
|
||||
except ValueError:
|
||||
form.add_error('site_json', _('File is not in the expected JSON format.'))
|
||||
return self.form_invalid(form)
|
||||
|
||||
try:
|
||||
import_site(json_site)
|
||||
except MissingGroups as e:
|
||||
|
|
|
@ -275,6 +275,13 @@ def test_site_export_import(app, admin_user):
|
|||
assert LinkCell.objects.get(page__slug='one').link_page.slug == 'two'
|
||||
assert LinkCell.objects.get(page__slug='two').link_page.slug == 'one'
|
||||
|
||||
# check with invalid file
|
||||
resp = app.get('/manage/')
|
||||
resp = resp.click('Import Site')
|
||||
resp.form['site_json'] = Upload('site-export.json', 'invalid content', 'application/json')
|
||||
resp = resp.form.submit()
|
||||
assert 'File is not in the expected JSON format.' in resp.body
|
||||
|
||||
def test_add_edit_cell(app, admin_user):
|
||||
Page.objects.all().delete()
|
||||
page = Page(title='One', slug='one', template_name='standard')
|
||||
|
|
Loading…
Reference in New Issue