diff options
author | Francis Irving <francis@mysociety.org> | 2010-08-12 01:59:55 +0100 |
---|---|---|
committer | Francis Irving <francis@mysociety.org> | 2010-08-12 01:59:55 +0100 |
commit | 6d7b3a39babec289d1604099b9211e0e29d79a70 (patch) | |
tree | 8cf1fdd412b2b0af582f973bf7f10ab04f495c09 /app/controllers/admin_request_controller.rb | |
parent | d2b0305f488286e931b32dcf6940c1e27ec5a8e2 (diff) |
Interface to move request to new user or authority
Diffstat (limited to 'app/controllers/admin_request_controller.rb')
-rw-r--r-- | app/controllers/admin_request_controller.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/controllers/admin_request_controller.rb b/app/controllers/admin_request_controller.rb index f077691ff..a9cc54c89 100644 --- a/app/controllers/admin_request_controller.rb +++ b/app/controllers/admin_request_controller.rb @@ -188,6 +188,38 @@ class AdminRequestController < AdminController redirect_to request_admin_url(destination_request) end + # change user or public body of a request magically + def move_request + info_request = InfoRequest.find(params[:info_request_id]) + if params[:commit] == 'Move request to user' && !params[:user_url_name].blank? + destination_user = User.find_by_url_name(params[:user_url_name]) + if destination_user.nil? + flash[:error] = "Couldn't find user '" + params[:user_url_name] + "'" + else + info_request.user = destination_user + info_request.save! + info_request.reindex_request_events + flash[:notice] = "Message has been moved to new user" + end + redirect_to request_admin_url(info_request) + elsif params[:commit] == 'Move request to authority' && !params[:public_body_url_name].blank? + destination_public_body = PublicBody.find_by_url_name(params[:public_body_url_name]) + if destination_public_body.nil? + flash[:error] = "Couldn't find public body '" + params[:public_body_url_name] + "'" + else + info_request.public_body = destination_public_body + info_request.save! + info_request.reindex_request_events + flash[:notice] = "Request has been moved to new body" + end + + redirect_to request_admin_url(info_request) + else + flash[:error] = "Please enter the user or authority to move the request to" + redirect_to request_admin_url(info_request) + end + end + def generate_upload_url info_request = InfoRequest.find(params[:id]) |