diff options
author | Robin Houston <robin.houston@gmail.com> | 2012-09-28 14:02:29 +0100 |
---|---|---|
committer | Robin Houston <robin.houston@gmail.com> | 2012-09-28 14:02:29 +0100 |
commit | 7f2b70f09e3e3d8395e0f36fe82e8632b4a9d423 (patch) | |
tree | 98de2a8f73d20bc3c04ea959ca13f67b81ceccd9 | |
parent | 74b82e10ba38366a615acd8402dcb5c4e2cb4756 (diff) | |
parent | dff4c6c0ef55a28e303d1e767f92545cb2ad0214 (diff) |
Merge remote-tracking branch 'openaustralia/redirect_email_for_testing' into develop
-rw-r--r-- | app/models/public_body.rb | 14 | ||||
-rw-r--r-- | app/views/public_body/show.rhtml | 6 | ||||
-rw-r--r-- | config/general.yml-example | 7 | ||||
-rw-r--r-- | spec/models/public_body_spec.rb | 8 |
4 files changed, 35 insertions, 0 deletions
diff --git a/app/models/public_body.rb b/app/models/public_body.rb index 2cf1ce8a2..841e1e881 100644 --- a/app/models/public_body.rb +++ b/app/models/public_body.rb @@ -509,6 +509,20 @@ class PublicBody < ActiveRecord::Base return self.request_email_domain end + # Returns nil if configuration variable not set + def override_request_email + e = MySociety::Config.get("OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS", "") + e if e != "" + end + + def request_email + if override_request_email + override_request_email + else + read_attribute(:request_email) + end + end + # Domain name of the request email def request_email_domain return PublicBody.extract_domain_from_email(self.request_email) diff --git a/app/views/public_body/show.rhtml b/app/views/public_body/show.rhtml index 63bd5f7fc..56a75f28c 100644 --- a/app/views/public_body/show.rhtml +++ b/app/views/public_body/show.rhtml @@ -64,6 +64,12 @@ <% else %> <%= _('For an unknown reason, it is not possible to make a request to this authority.')%> <% end %> + + <% if @public_body.override_request_email %> + <p> + <strong>Note:</strong> Because we're testing, requests are being sent to <%= @public_body.override_request_email %> rather than to the actual authority. + </p> + <% end %> </div> </div> diff --git a/config/general.yml-example b/config/general.yml-example index 7aa01e899..25e3dba46 100644 --- a/config/general.yml-example +++ b/config/general.yml-example @@ -161,3 +161,10 @@ VARNISH_HOST: localhost # Adding a value here will enable Google Analytics on all non-admin pages. GA_CODE: '' + +# If you want to override *all* the public body request emails with your own +# email so that request emails that would normally go to the public body +# go to you, then uncomment below and fill in your email. +# Useful for a staging server to play with the whole process of sending requests +# without inadvertently sending an email to a real authority +#OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS: test-email@foo.com
\ No newline at end of file diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb index 011824190..c2e0a6353 100644 --- a/spec/models/public_body_spec.rb +++ b/spec/models/public_body_spec.rb @@ -453,3 +453,11 @@ describe PublicBody do end end + +describe PublicBody, " when override all public body request emails set" do + it "should return the overridden request email" do + MySociety::Config.should_receive(:get).with("OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS", "").twice.and_return("catch_all_test_email@foo.com") + @geraldine = public_bodies(:geraldine_public_body) + @geraldine.request_email.should == "catch_all_test_email@foo.com" + end +end |