diff options
author | Gareth Rees <gareth@mysociety.org> | 2014-03-11 12:53:49 +0000 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2014-03-13 11:48:42 +0000 |
commit | 550ed0aa483d0b31a6f844a728340e5a81a753ed (patch) | |
tree | 405579c695fcea83e9a0c3bdd4881b6d50b2dbc0 /app/controllers/comment_controller.rb | |
parent | 80a09e95566e37224f2fac72d83639bbec70d77d (diff) |
Graceful failure of new_comment route
Fixes https://github.com/mysociety/alaveteli/issues/662
If /annotate/request/:url_title is accessed when comments are disabled
an exception is incorrectly thrown.
Conditionals should be used for control flow, so now the action
redirects to the info_request path and displays a notice.
Diffstat (limited to 'app/controllers/comment_controller.rb')
-rw-r--r-- | app/controllers/comment_controller.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/app/controllers/comment_controller.rb b/app/controllers/comment_controller.rb index cda56a211..4904463b5 100644 --- a/app/controllers/comment_controller.rb +++ b/app/controllers/comment_controller.rb @@ -21,13 +21,15 @@ class CommentController < ApplicationController else raise "Unknown type " + params[:type] end - + # Are comments disabled on this request? # # There is no “add comment” link when comments are disabled, so users should - # not usually hit this unless they are explicitly attempting to avoid the comment - # block, so we just raise an exception. - raise "Comments are not allowed on this request" if !@info_request.comments_allowed? + # not usually hit this unless they are explicitly attempting to avoid the comment block + unless @info_request.comments_allowed? + redirect_to request_url(@info_request), :notice => "Comments are not allowed on this request" + return + end # Banned from adding comments? if !authenticated_user.nil? && !authenticated_user.can_make_comments? |