aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/info_request.rb
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2015-05-01 15:40:40 +0100
committerGareth Rees <gareth@mysociety.org>2015-05-07 13:25:15 +0100
commit0c77f6e7f95ab7d412a8929e218ecc599ed32c40 (patch)
tree773f056560e18d1d9b6d69eb3ed29466fcc68458 /app/models/info_request.rb
parente2d2c80ef59ddf8b5925246bf82582b2f82aea7e (diff)
Add InfoRequest#move_to_public_body
Diffstat (limited to 'app/models/info_request.rb')
-rw-r--r--app/models/info_request.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index f9f6cffa9..8f464e786 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -1359,6 +1359,30 @@ public
order('last_event_time')
end
+ def move_to_public_body(destination_public_body, opts = {})
+ old_body = public_body
+ editor = opts.fetch(:editor)
+
+ attrs = { :public_body => destination_public_body }
+
+ if destination_public_body
+ attrs.merge!({
+ :law_used => destination_public_body.law_only_short.downcase
+ })
+ end
+
+ if update_attributes(attrs)
+ log_event('move_request',
+ :editor => editor,
+ :public_body_url_name => public_body.url_name,
+ :old_public_body_url_name => old_body.url_name)
+
+ reindex_request_events
+
+ public_body
+ end
+ end
+
private
def set_defaults