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 10:17:16 +0100
commit68c4c99c2f947d0b1cc275d2003d1b799ca411e2 (patch)
tree246d514069236a1d41f4267643451a1817bad7af
parent8d9e273deb8a1365ec40fc0a395a07f69745725a (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 ]
)