logged errors: do not crash if formdef has been removed (#17036)
This commit is contained in:
parent
a86f960a99
commit
2dada36dc0
|
@ -3492,3 +3492,21 @@ def test_backoffice_logged_errors(pub):
|
|||
assert LoggedError.select()[0].acked is True
|
||||
resp = resp.click('Delete').follow()
|
||||
assert LoggedError.count() == 0
|
||||
|
||||
app = get_app(pub)
|
||||
resp = app.get('/test/')
|
||||
resp = resp.form.submit('submit').follow()
|
||||
resp = resp.form.submit('submit')
|
||||
assert LoggedError.count() == 1
|
||||
|
||||
app = login(get_app(pub))
|
||||
resp = app.get('/backoffice/workflows/%s/' % workflow.id)
|
||||
assert 'ZeroDivisionError' in resp.body
|
||||
resp2 = resp.click('1 error')
|
||||
resp = resp2.click('ZeroDivisionError')
|
||||
assert 'href="http://example.net/backoffice/management/test/' in resp.body
|
||||
|
||||
# remove formdef
|
||||
FormDef.wipe()
|
||||
resp = resp2.click('ZeroDivisionError')
|
||||
assert not 'href="http://example.net/backoffice/management/test/' in resp.body
|
||||
|
|
|
@ -57,14 +57,15 @@ class LoggedErrorDirectory(Directory):
|
|||
r += htmltext(' <li>%s <a href="/backoffice/workflows/%s/">%s</a></li>') % (
|
||||
_('Workflow: '), workflow.id, workflow.name)
|
||||
|
||||
formdata = self.error.get_formdata()
|
||||
if formdata:
|
||||
r += htmltext(' <li>%s <a href="%s">%s</a>') % (
|
||||
_('Data: '), formdata.get_url(backoffice=True),
|
||||
formdata.get_display_name())
|
||||
r += htmltext(' (<a href="%sinspect">%s</a>)') % (
|
||||
formdata.get_url(backoffice=True), _('inspector'))
|
||||
r += htmltext('</li>')
|
||||
if formdef:
|
||||
formdata = self.error.get_formdata()
|
||||
if formdata:
|
||||
r += htmltext(' <li>%s <a href="%s">%s</a>') % (
|
||||
_('Data: '), formdata.get_url(backoffice=True),
|
||||
formdata.get_display_name())
|
||||
r += htmltext(' (<a href="%sinspect">%s</a>)') % (
|
||||
formdata.get_url(backoffice=True), _('inspector'))
|
||||
r += htmltext('</li>')
|
||||
|
||||
r += htmltext('</ul>')
|
||||
parts = (N_('Exception'), N_('Stack trace (most recent call first)'),
|
||||
|
|
Loading…
Reference in New Issue