diff options
author | Louise Crow <louise.crow@gmail.com> | 2013-08-28 09:37:58 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2013-09-16 14:03:23 +0100 |
commit | eb16ca53ae1b1cfa5f23bb56d10e9eecc50b00e6 (patch) | |
tree | 0426571e494be9213947fae6600b9cf7740bb6ec /app/models/info_request.rb | |
parent | 939f08a5396b65778748417c26b54c214fe35883 (diff) |
Exclude hidden responses when calculating old_unclassified
Make old_unclassified_params method consistent with
last_public_response_event and associated methods.
Diffstat (limited to 'app/models/info_request.rb')
-rw-r--r-- | app/models/info_request.rb | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb index e9deb7b05..44593295d 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -905,19 +905,29 @@ public end # Used to find when event last changed - def InfoRequest.last_event_time_clause(event_type=nil) + def InfoRequest.last_event_time_clause(event_type=nil, join_table=nil, join_clause=nil) event_type_clause = '' event_type_clause = " AND info_request_events.event_type = '#{event_type}'" if event_type - "(SELECT created_at - FROM info_request_events + tables = ['info_request_events'] + tables << join_table if join_table + join_clause = "AND #{join_clause}" if join_clause + "(SELECT info_request_events.created_at + FROM #{tables.join(', ')} WHERE info_request_events.info_request_id = info_requests.id #{event_type_clause} + #{join_clause} ORDER BY created_at desc LIMIT 1)" end + def InfoRequest.last_public_response_clause() + join_clause = "incoming_messages.id = info_request_events.incoming_message_id + AND incoming_messages.prominence = 'normal'" + last_event_time_clause('response', 'incoming_messages', join_clause) + end + def InfoRequest.old_unclassified_params(extra_params, include_last_response_time=false) - last_response_created_at = last_event_time_clause('response') + last_response_created_at = last_public_response_clause() age = extra_params[:age_in_days] ? extra_params[:age_in_days].days : OLD_AGE_IN_DAYS params = { :conditions => ["awaiting_description = ? AND #{last_response_created_at} < ? |