diff options
-rw-r--r-- | app/models/request_mailer.rb | 4 | ||||
-rw-r--r-- | app/views/request_mailer/requires_admin.rhtml | 2 | ||||
-rw-r--r-- | spec/models/request_mailer_spec.rb | 5 |
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/') |