diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/models/incoming_message.rb | 13 | ||||
-rw-r--r-- | app/models/info_request.rb | 6 |
2 files changed, 8 insertions, 11 deletions
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb index 56668582a..0d051d379 100644 --- a/app/models/incoming_message.rb +++ b/app/models/incoming_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: incoming_message.rb,v 1.3 2007-10-30 14:13:46 francis Exp $ +# $Id: incoming_message.rb,v 1.4 2007-11-13 10:22:14 francis Exp $ class IncomingMessage < ActiveRecord::Base belongs_to :info_request @@ -13,16 +13,13 @@ class IncomingMessage < ActiveRecord::Base validates_presence_of :raw_data - # We store the raw email in the database, and parse it into - # a structured TMail every time we get it out again. - def after_initialize - @mail = TMail::Mail.parse(self.raw_data) - @mail.base64_decode - end - # Return the structured TMail::Mail object # Documentation at http://i.loveruby.net/en/projects/tmail/doc/ def mail + if @mail.nil? + @mail = TMail::Mail.parse(self.raw_data) + @mail.base64_decode + end @mail end diff --git a/app/models/info_request.rb b/app/models/info_request.rb index bcda9719d..e6b8c2b0a 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.11 2007-11-07 11:10:56 francis Exp $ +# $Id: info_request.rb,v 1.12 2007-11-13 10:22:14 francis Exp $ require 'digest/sha1' @@ -27,7 +27,7 @@ class InfoRequest < ActiveRecord::Base raise "id required to make incoming_email" if not self.id incoming_email = MySociety::Config.get("INCOMING_EMAIL_PREFIX", "") incoming_email += "request-" + self.id.to_s - incoming_email += "-" + Digest::SHA1.hexdigest(self.id.to_s + MySociety::Config.get("INCOMING_EMAIL_SECRET"))[0,8] + incoming_email += "-" + Digest::SHA1.hexdigest(self.id.to_s + MySociety::Config.get("INCOMING_EMAIL_SECRET", 'dummysecret'))[0,8] incoming_email += "@" + MySociety::Config.get("INCOMING_EMAIL_DOMAIN", "localhost") return incoming_email end @@ -40,7 +40,7 @@ class InfoRequest < ActiveRecord::Base id = $1.to_i hash = $2 - expected_hash = Digest::SHA1.hexdigest(id.to_s + MySociety::Config.get("INCOMING_EMAIL_SECRET"))[0,8] + expected_hash = Digest::SHA1.hexdigest(id.to_s + MySociety::Config.get("INCOMING_EMAIL_SECRET", 'dummysecret'))[0,8] #print "expected: " + expected_hash + "\nhash: " + hash + "\n" if hash != expected_hash return nil |