aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/request_controller.rb4
-rw-r--r--app/models/info_request.rb4
-rw-r--r--app/models/post_redirect.rb5
-rw-r--r--app/models/request_mailer.rb16
-rw-r--r--app/views/request_mailer/new_response.rhtml13
5 files changed, 36 insertions, 6 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index 5ca065bd7..6cce879e7 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -4,7 +4,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: request_controller.rb,v 1.19 2007-11-23 10:57:24 francis Exp $
+# $Id: request_controller.rb,v 1.20 2007-11-23 12:01:19 francis Exp $
class RequestController < ApplicationController
@@ -60,7 +60,7 @@ class RequestController < ApplicationController
# Did the incoming message contain info?
def classify
- @incoming_message = IncomingMessage.find(params[:outgoing_message_id])
+ @incoming_message = IncomingMessage.find(params[:incoming_message_id])
@info_request = @incoming_message.info_request
if not authenticated_as_user?(@info_request.user,
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index 72500d9e0..910519add 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -4,7 +4,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: info_request.rb,v 1.14 2007-11-23 10:57:24 francis Exp $
+# $Id: info_request.rb,v 1.15 2007-11-23 12:01:20 francis Exp $
require 'digest/sha1'
@@ -55,6 +55,8 @@ class InfoRequest < ActiveRecord::Base
incoming_message.raw_data = raw_email
incoming_message.info_request = self
incoming_message.save
+
+ RequestMailer.deliver_new_response(self, incoming_message)
end
# Work out what the situation of the request is
diff --git a/app/models/post_redirect.rb b/app/models/post_redirect.rb
index a9f72c775..9ae5e337d 100644
--- a/app/models/post_redirect.rb
+++ b/app/models/post_redirect.rb
@@ -5,7 +5,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: post_redirect.rb,v 1.4 2007-11-06 15:58:56 francis Exp $
+# $Id: post_redirect.rb,v 1.5 2007-11-23 12:01:20 francis Exp $
require 'openssl' # for random bytes function
@@ -18,6 +18,9 @@ class PostRedirect < ActiveRecord::Base
self.post_params_yaml = params.to_yaml
end
def post_params
+ if self.post_params_yaml.nil?
+ return {}
+ end
YAML.load(self.post_params_yaml)
end
diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb
index 4b691150d..683ff70fa 100644
--- a/app/models/request_mailer.rb
+++ b/app/models/request_mailer.rb
@@ -4,7 +4,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: request_mailer.rb,v 1.6 2007-11-13 12:02:14 francis Exp $
+# $Id: request_mailer.rb,v 1.7 2007-11-23 12:01:20 francis Exp $
class RequestMailer < ActionMailer::Base
@@ -26,6 +26,19 @@ class RequestMailer < ActionMailer::Base
email.setup_forward(self)
end
+ def new_response(info_request, incoming_message)
+ post_redirect = PostRedirect.new(
+ :uri => classify_request_url(:incoming_message_id => incoming_message.id),
+ :user_id => info_request.user.id)
+ post_redirect.save!
+ url = confirm_url(:email_token => post_redirect.email_token)
+
+ @from = MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost')
+ @recipients = info_request.user.email
+ @subject = "New reponse to your FOI request - " + info_request.title
+ @body = { :incoming_message => incoming_message, :info_request => info_request, :url => url }
+ end
+
# Copy of function from action_mailer/base.rb, which passes the
# raw_email to the member function, as we want to record it.
# script/mailin calls this function.
@@ -36,7 +49,6 @@ class RequestMailer < ActionMailer::Base
new.receive(mail, raw_email)
end
-
def receive(email, raw_email)
# Find which info requests the email is for
info_requests = []
diff --git a/app/views/request_mailer/new_response.rhtml b/app/views/request_mailer/new_response.rhtml
new file mode 100644
index 000000000..028fb4138
--- /dev/null
+++ b/app/views/request_mailer/new_response.rhtml
@@ -0,0 +1,13 @@
+You have a new response to the FOI request '<%= @info_request.title %>'
+that you made to <%= @info_request.public_body.name %>.
+
+To view the response, click on the link below.
+
+<%=@url%>
+
+When you get there, let us know if the response contains any useful
+information.
+
+-- the GovernmentSpy.com team
+
+