aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/request_mailer.rb4
-rw-r--r--app/views/request_mailer/requires_admin.rhtml2
-rw-r--r--spec/models/request_mailer_spec.rb5
3 files changed, 9 insertions, 2 deletions
diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb
index e3f39e147..e2212a0ac 100644
--- a/app/models/request_mailer.rb
+++ b/app/models/request_mailer.rb
@@ -62,14 +62,14 @@ class RequestMailer < ApplicationMailer
end
# An FOI response is outside the scope of the system, and needs admin attention
- def requires_admin(info_request, set_by = nil)
+ def requires_admin(info_request, set_by = nil, message = "")
user = set_by || info_request.user
@from = user.name_and_email
@recipients = contact_from_name_and_email
@subject = _("FOI response requires admin ({{reason}}) - {{title}}", :reason => info_request.described_state, :title => info_request.title)
url = main_url(request_url(info_request))
admin_url = request_admin_url(info_request)
- @body = {:reported_by => user, :info_request => info_request, :url => url, :admin_url => admin_url }
+ @body = {:reported_by => user, :message => message, :info_request => info_request, :url => url, :admin_url => admin_url }
end
# Tell the requester that a new response has arrived
diff --git a/app/views/request_mailer/requires_admin.rhtml b/app/views/request_mailer/requires_admin.rhtml
index 06a798792..cc056799b 100644
--- a/app/views/request_mailer/requires_admin.rhtml
+++ b/app/views/request_mailer/requires_admin.rhtml
@@ -1,3 +1,5 @@
+<%= raw @message.strip %>
+
---------------------------------------------------------------------
<%=@reported_by.name%> <%= _('has reported an')%> <%=@info_request.law_used_short%>
<%= _('response as needing administrator attention. Take a look, and reply to this
diff --git a/spec/models/request_mailer_spec.rb b/spec/models/request_mailer_spec.rb
index 39f554323..09f129bb0 100644
--- a/spec/models/request_mailer_spec.rb
+++ b/spec/models/request_mailer_spec.rb
@@ -367,6 +367,11 @@ describe RequestMailer, 'requires_admin' do
mail.body.should include('http://test.host/en/admin/request/show/123')
end
+ it "body should contain the message from the user" do
+ mail = RequestMailer.deliver_requires_admin(@info_request, nil, "Something has gone wrong")
+ mail.body.should include 'Something has gone wrong'
+ end
+
context 'has an ADMIN_BASE_URL set' do
before(:each) do
Configuration::should_receive(:admin_base_url).and_return('http://our.proxy.server/admin/alaveteli/')