aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/info_request.rb
diff options
context:
space:
mode:
authorFrancis Irving <francis@mysociety.org>2009-10-29 19:00:04 +0000
committerFrancis Irving <francis@mysociety.org>2009-10-29 19:00:04 +0000
commit8f0ca6b58d49afe70de5d9a44ba23171a0bab3da (patch)
tree15589b61b72c250750f75cc4dc1c3d7322aa7cd8 /app/models/info_request.rb
parent733e19f8bf826de5ca0a73f00b2da8e1b5733e45 (diff)
Option to use message id to not duplicate incoming messages.
Diffstat (limited to 'app/models/info_request.rb')
-rw-r--r--app/models/info_request.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index a32aff1fb..7cee3fe1c 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -324,6 +324,23 @@ public
end
end
+ # Has this email already been received here? Based just on message id.
+ def already_received?(email, raw_email_data)
+ message_id = email.message_id
+ if message_id.nil?
+ raise "No message id for this message"
+ end
+
+ for im in self.incoming_messages
+ other_message_id = im.mail.message_id
+ if message_id == other_message_id
+ return true
+ end
+ end
+
+ return false
+ end
+
# A new incoming email to this request
def receive(email, raw_email_data, override_stop_new_responses = false)
if !override_stop_new_responses
@@ -388,6 +405,7 @@ public
RequestMailer.deliver_new_response(self, incoming_message)
end
+
# An annotation (comment) is made
def add_comment(body, user)
comment = Comment.new