diff options
author | Francis Irving <francis@mysociety.org> | 2009-10-29 19:00:04 +0000 |
---|---|---|
committer | Francis Irving <francis@mysociety.org> | 2009-10-29 19:00:04 +0000 |
commit | 8f0ca6b58d49afe70de5d9a44ba23171a0bab3da (patch) | |
tree | 15589b61b72c250750f75cc4dc1c3d7322aa7cd8 /app/models/info_request.rb | |
parent | 733e19f8bf826de5ca0a73f00b2da8e1b5733e45 (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.rb | 18 |
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 |