aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-10-23 10:17:16 +0100
committerLouise Crow <louise.crow@gmail.com>2012-10-23 15:31:30 +0100
commit9e40cd6e0926e8b2197a19c337ae9ea8b974ac77 (patch)
treea6d7693b081c126d36109237acbd6c423c9d50a1
parent3c01181504f98cd03f37c053abd973e0d51a374a (diff)
Add a clause to exclude from the original set of info requests to be processed any for which the last event of a kind which could form the initial request has already been alerted on.
-rw-r--r--app/models/request_mailer.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb
index ec45ac42a..698d29995 100644
--- a/app/models/request_mailer.rb
+++ b/app/models/request_mailer.rb
@@ -258,7 +258,20 @@ class RequestMailer < ApplicationMailer
:conditions => [
"described_state = 'waiting_response'
AND awaiting_description = ?
- AND user_id is not null", false
+ AND user_id is not null
+ AND (SELECT id
+ FROM user_info_request_sent_alerts
+ WHERE alert_type = 'very_overdue_1'
+ AND info_request_id = info_requests.id
+ AND user_id = info_requests.user_id
+ AND info_request_event_id = (SELECT max(id)
+ FROM info_request_events
+ WHERE event_type in ('sent',
+ 'followup-sent',
+ 'resent',
+ 'followup-resent')
+ AND info_request_id = info_requests.id)
+ ) IS NULL", false
],
:include => [ :user ]
)