aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/incoming_message.rb13
-rw-r--r--app/models/info_request.rb6
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