backoffice: redirect to correct view on formdata lookup error (#14299) #989
|
@ -3578,14 +3578,8 @@ def test_formdata_lookup(pub):
|
|||
# check there's no access to other formdata
|
||||
app.get('http://example.net/backoffice/management/form-title/%s/' % formdata2.id, status=403)
|
||||
|
||||
resp = app.get('/backoffice/management/').follow()
|
||||
resp.forms[0]['query'] = 'AAAAAAAA'
|
||||
resp = resp.forms[0].submit()
|
||||
assert resp.location == 'http://example.net/backoffice/management/'
|
||||
resp = resp.follow().follow()
|
||||
assert 'No such tracking code or identifier.' in resp.text
|
||||
|
||||
# check looking up a formdata id
|
||||
resp = app.get('/backoffice/management/').follow()
|
||||
resp.form['query'] = formdata.get_display_id()
|
||||
resp = resp.form.submit()
|
||||
assert resp.location == 'http://example.net/backoffice/management/form-title/%s/' % formdata.id
|
||||
|
@ -3608,12 +3602,28 @@ def test_formdata_lookup(pub):
|
|||
resp = resp.follow()
|
||||
assert 'The form has been recorded' in resp.text
|
||||
|
||||
resp = app.get('/backoffice/management/listing')
|
||||
resp.forms[0]['query'] = 'AAAAAAAA'
|
||||
resp = resp.forms[0].submit()
|
||||
assert resp.location == 'http://example.net/backoffice/management/listing'
|
||||
resp = resp.follow()
|
||||
assert 'No such tracking code or identifier.' in resp.text
|
||||
# check redirection on errors
|
||||
if not pub.site_options.has_section('options'):
|
||||
pub.site_options.add_section('options')
|
||||
|
||||
for value in ('false', 'true'):
|
||||
pub.site_options.set('options', 'default-to-global-view', value)
|
||||
with open(os.path.join(pub.app_dir, 'site-options.cfg'), 'w') as fd:
|
||||
pub.site_options.write(fd)
|
||||
|
||||
resp = app.get('/backoffice/management/listing')
|
||||
resp.forms[0]['query'] = 'AAAAAAAA'
|
||||
resp = resp.forms[0].submit()
|
||||
assert resp.location == 'http://example.net/backoffice/management/listing'
|
||||
resp = resp.follow()
|
||||
assert 'No such tracking code or identifier.' in resp.text
|
||||
|
||||
resp = app.get('/backoffice/management/forms')
|
||||
resp.forms[0]['query'] = 'AAAAAAAA'
|
||||
resp = resp.forms[0].submit()
|
||||
assert resp.location == 'http://example.net/backoffice/management/forms'
|
||||
resp = resp.follow()
|
||||
assert 'No such tracking code or identifier.' in resp.text
|
||||
|
||||
|
||||
def test_backoffice_sidebar_user_context(pub):
|
||||
|
|
|
@ -189,7 +189,7 @@ class ManagementDirectory(Directory):
|
|||
formdefs = FormDef.select(order_by='name', ignore_errors=True, lightweight=True)
|
||||
if len(formdefs) == 0:
|
||||
return self.empty_site_message(_('Forms'))
|
||||
get_response().filter['sidebar'] = self.get_sidebar(formdefs)
|
||||
get_response().filter['sidebar'] = self.get_sidebar()
|
||||
r = TemplateIO(html=True)
|
||||
r += get_session().display_message()
|
||||
|
||||
|
@ -249,9 +249,9 @@ class ManagementDirectory(Directory):
|
|||
|
||||
return r.getvalue()
|
||||
|
||||
def get_sidebar(self, formdefs):
|
||||
def get_sidebar(self):
|
||||
r = TemplateIO(html=True)
|
||||
r += self.get_lookup_sidebox()
|
||||
r += self.get_lookup_sidebox('forms')
|
||||
if not get_publisher().has_site_option('disable-internal-statistics'):
|
||||
r += htmltext('<div class="bo-block">')
|
||||
r += htmltext('<ul id="sidebar-actions">')
|
||||
|
|
Loading…
Reference in New Issue