diff options
Diffstat (limited to 'app/models/request_mailer.rb')
-rw-r--r-- | app/models/request_mailer.rb | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb index 0e1c2be12..0825e4b03 100644 --- a/app/models/request_mailer.rb +++ b/app/models/request_mailer.rb @@ -4,12 +4,12 @@ # 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.2 2007-10-24 11:39:37 francis Exp $ +# $Id: request_mailer.rb,v 1.3 2007-10-26 18:00:26 francis Exp $ class RequestMailer < ActionMailer::Base def initial_request(info_request, outgoing_message) - @from = info_request.user.email + @from = info_request.incoming_email if MySociety::Config.getbool("STAGING_SITE", 1) @recipients = @from else @@ -19,4 +19,32 @@ class RequestMailer < ActionMailer::Base @body = {:info_request => info_request, :outgoing_message => outgoing_message} end + def receive(email) + # Find which info requests the email is for + info_requests = [] + for address in (email.to || []) + (email.cc || []) + info_request = InfoRequest.find_by_incoming_email(address) + info_requests.push(info_request) if info_request + end + + # Deal with each on + for info_request in info_requests + info_request.receive(email) + end + + # email.cc +# page = Page.find_by_address(email.to.first) +# page.emails.create( +# :subject => email.subject, :body => email.body +# ) +# +# if email.has_attachments? +# for attachment in email.attachments +# page.attachments.create({ +# :file => attachment, :description => email.subject +# }) +# end +# end + end + end |