aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/outgoing_message.rb18
-rw-r--r--app/models/request_mailer.rb20
-rw-r--r--app/views/request_mailer/initial_request.rhtml7
3 files changed, 44 insertions, 1 deletions
diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb
index cc1b7ad54..ed2b415ae 100644
--- a/app/models/outgoing_message.rb
+++ b/app/models/outgoing_message.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: outgoing_message.rb,v 1.4 2007-09-12 15:56:18 francis Exp $
+# $Id: outgoing_message.rb,v 1.5 2007-10-16 08:57:32 francis Exp $
class OutgoingMessage < ActiveRecord::Base
belongs_to :info_request
@@ -15,5 +15,21 @@ class OutgoingMessage < ActiveRecord::Base
validates_inclusion_of :status, :in => ['ready', 'sent', 'failed']
validates_inclusion_of :message_type, :in => ['initial_request'] #, 'complaint']
+
+ def send_message
+ if message_type == 'initial_request'
+ if status == 'ready'
+ # test this with:
+ # InfoRequest.find(1).outgoing_messages[0].send_message
+
+ RequestMailer.deliver_initial_request(info_request, self)
+ else
+ raise "Message id #{id} not ready for send_message"
+ end
+ else
+ raise "Message id #{id} has type '#{message_type}' which send_message can't handle"
+ end
+
+ end
end
diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb
new file mode 100644
index 000000000..c6b99159e
--- /dev/null
+++ b/app/models/request_mailer.rb
@@ -0,0 +1,20 @@
+# models/request_mailer.rb:
+# Emails which go to public bodies on behalf of users.
+#
+# 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.1 2007-10-16 08:57:32 francis Exp $
+
+class RequestMailer < ActionMailer::Base
+
+ def initial_request(info_request, outgoing_message)
+ @from = 'francis@flourish.org' # XXX
+ @recipients = 'frabcus@fastmail.fm'
+ # XXX check with staging site
+ #@recipients = info_request.public_body.request_email
+ @subject = 'Freedom of Information Request - ' + info_request.title
+ @body = {:info_request => info_request, :outgoing_message => outgoing_message}
+ end
+
+end
diff --git a/app/views/request_mailer/initial_request.rhtml b/app/views/request_mailer/initial_request.rhtml
new file mode 100644
index 000000000..795773c74
--- /dev/null
+++ b/app/views/request_mailer/initial_request.rhtml
@@ -0,0 +1,7 @@
+Dear <%= @info_request.public_body.name %>,
+
+<%= @outgoing_message.body %>
+
+-----------
+
+This message was sent using FOIFA. Blah.