Crash when accessing comment add page via GET request

Issue #16 resolved
Jelmer van der Linde created an issue
ERROR in app: Exception on /claims/451/comments/add [GET]
Traceback (most recent call last):
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/flask_coverapi/utils.py", line 54, in decorated_view
    return func(*args, **kwargs)
  File "/Users/jelmer/Sites/cover/reclaim/reclaim/views.py", line 331, in comments_add
    'cancel_url': url_for('claims_view', claim_id=comment.claim_id),
UnboundLocalError: local variable 'comment' referenced before assignment
127.0.0.1 - - [30/Jun/2017 02:21:00] "GET /claims/451/comments/add?next=http%3A%2F%2Freclaim.svcover.dev%2Fclaims%2F451 HTTP/1.1" 500 -

In this code in view.php, the variable comment only exists after a successful form post. However, this return statement is accessible even when that was not the case:

return render_template('form_popup.html', form=form, meta={
            'name': 'Add Comment',
            'cancel_url': url_for('claims_view', claim_id=comment.claim_id),
            'next': next_url
        })

Comments (2)

  1. Jelmer van der Linde reporter

    Easily fixed by replacing comment.claim_id with claim.id. (But I don't have a clean working tree and you are about to perform a merge anyway ;) )

  2. Log in to comment