aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/request_controller.rb4
-rw-r--r--app/models/info_request.rb7
2 files changed, 8 insertions, 3 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index e12c408ea..12ba1a3a9 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -687,9 +687,7 @@ class RequestController < ApplicationController
elsif info_request.attention_requested
flash[:notice] = _("This request has already been reported for administrator attention")
else
- info_request.set_described_state('attention_requested', @user, "Reason: #{params[:reason]}\n\n#{params[:message]}")
- info_request.attention_requested = true # tells us if attention has ever been requested
- info_request.save!
+ info_request.report!(params[:reason], params[:message], @user)
flash[:notice] = _("This request has been reported for administrator attention")
end
redirect_to request_url(info_request)
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index 156399b99..83a57b4b2 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -555,6 +555,13 @@ public
['requires_admin', 'error_message', 'attention_requested'].include?(described_state)
end
+ # Report this request for administrator attention
+ def report!(reason, message, user)
+ set_described_state('attention_requested', user, "Reason: #{reason}\n\n#{message}")
+ self.attention_requested = true # tells us if attention has ever been requested
+ save!
+ end
+
# change status, including for last event for later historical purposes
def set_described_state(new_state, set_by = nil, message = "")
old_described_state = described_state