diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/models/outgoing_message.rb | 18 | ||||
-rw-r--r-- | app/models/request_mailer.rb | 20 | ||||
-rw-r--r-- | app/views/request_mailer/initial_request.rhtml | 7 |
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. |