aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/api_controller.rb
diff options
context:
space:
mode:
authorRobin Houston <robin.houston@gmail.com>2012-09-06 14:57:40 +0100
committerRobin Houston <robin.houston@gmail.com>2012-09-06 14:57:40 +0100
commit537b97ff069cac999da3ca80ede77fedc79e39ff (patch)
tree7436f5c5150ee2579e1be23b0a5c47486d4af0d2 /app/controllers/api_controller.rb
parentda70b7b4f58be9d78afba9ec6045d18094ea9581 (diff)
parent63524f0ebdd00141a932475f82f7a5cadc4e336b (diff)
Merge branch 'hotfix/api-errors'
Diffstat (limited to 'app/controllers/api_controller.rb')
-rw-r--r--app/controllers/api_controller.rb13
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)