diff options
author | Robin Houston <robin.houston@gmail.com> | 2012-09-06 14:57:40 +0100 |
---|---|---|
committer | Robin Houston <robin.houston@gmail.com> | 2012-09-06 14:57:40 +0100 |
commit | 537b97ff069cac999da3ca80ede77fedc79e39ff (patch) | |
tree | 7436f5c5150ee2579e1be23b0a5c47486d4af0d2 /app/controllers/api_controller.rb | |
parent | da70b7b4f58be9d78afba9ec6045d18094ea9581 (diff) | |
parent | 63524f0ebdd00141a932475f82f7a5cadc4e336b (diff) |
Merge branch 'hotfix/api-errors'
Diffstat (limited to 'app/controllers/api_controller.rb')
-rw-r--r-- | app/controllers/api_controller.rb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 524aa44b7..26950aaf3 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -72,7 +72,12 @@ class ApiController < ApplicationController end def add_correspondence - request = InfoRequest.find(params[:id]) + request = InfoRequest.find_by_id(params[:id]) + if request.nil? + render :json => { "errors" => ["Could not find request #{params[:id]}"] }, :status => 404 + return + end + json = ActiveSupport::JSON.decode(params[:correspondence_json]) attachments = params[:attachments] @@ -83,11 +88,13 @@ class ApiController < ApplicationController errors = [] if !request.is_external? - raise ActiveRecord::RecordNotFound.new("Request #{params[:id]} cannot be updated using the API") + render :json => { "errors" => ["Request #{params[:id]} cannot be updated using the API"] }, :status => 500 + return end if request.public_body_id != @public_body.id - raise ActiveRecord::RecordNotFound.new("You do not own request #{params[:id]}") + render :json => { "errors" => ["You do not own request #{params[:id]}"] }, :status => 500 + return end if !["request", "response"].include?(direction) |