aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/info_request.rb16
-rw-r--r--app/models/info_request_event.rb6
2 files changed, 20 insertions, 2 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index 3441a73f7..5ce2be2df 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -57,6 +57,8 @@ class InfoRequest < ActiveRecord::Base
'waiting_response',
'waiting_clarification',
'gone_postal',
+ 'deadline_extended',
+ 'wrong_response',
'not_held',
'rejected', # this is called 'refused' in UK FOI law and the user interface, but 'rejected' internally for historic reasons
'successful',
@@ -511,6 +513,9 @@ public
# waiting_response_very_overdue
def calculate_status
return 'waiting_classification' if self.awaiting_description
+ # if deadline_extended expired do waiting_response_overdue
+ return 'waiting_response_overdue' if
+ self.described_state == "deadline_extended" && Time.now.strftime("%Y-%m-%d") > self.date_deadline_extended.strftime("%Y-%m-%d")
return described_state unless self.described_state == "waiting_response"
# Compare by date, so only overdue on next day, not if 1 second late
return 'waiting_response_very_overdue' if
@@ -608,7 +613,7 @@ public
# last_event_forming_initial_request. There may be more obscure
# things, e.g. fees, not properly covered.
def date_response_required_by
- return Holiday.due_date_from(self.date_initial_request_last_sent_at, 20)
+ return Holiday.due_date_from(self.date_initial_request_last_sent_at, 7)
end
# This is a long stop - even with UK public interest test extensions, 40
# days is a very long time.
@@ -622,7 +627,10 @@ public
return Holiday.due_date_from(self.date_initial_request_last_sent_at, 40)
end
end
-
+ # deadline_extended
+ def date_deadline_extended
+ return Holiday.due_date_from(self.date_initial_request_last_sent_at, 15)
+ end
# Where the initial request is sent to
def recipient_email
return self.public_body.request_email
@@ -761,6 +769,10 @@ public
"Waiting clarification."
elsif status == 'gone_postal'
"Handled by post."
+ elsif status == 'deadline_extended'
+ "Deadline extended."
+ elsif status == 'wrong_response'
+ "Wrong Response."
elsif status == 'internal_review'
"Awaiting internal review."
elsif status == 'error_message'
diff --git a/app/models/info_request_event.rb b/app/models/info_request_event.rb
index 1b22fa547..64f602fbe 100644
--- a/app/models/info_request_event.rb
+++ b/app/models/info_request_event.rb
@@ -62,6 +62,8 @@ class InfoRequestEvent < ActiveRecord::Base
'waiting_response',
'waiting_clarification',
'gone_postal',
+ 'deadline_extended',
+ 'wrong_response',
'not_held',
'rejected',
'successful',
@@ -288,6 +290,10 @@ class InfoRequestEvent < ActiveRecord::Base
return "Clarification required"
elsif status == 'gone_postal'
return "Handled by post"
+ elsif status == 'deadline_extended'
+ return "Deadline Extended"
+ elsif status == 'wrong_response'
+ return "Wrong Response"
elsif status == 'not_held'
return "Information not held"
elsif status == 'rejected'