aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/images/next-step-facebook.pngbin0 -> 626 bytes
-rw-r--r--app/assets/images/next-step-twitter.pngbin0 -> 959 bytes
-rw-r--r--app/assets/stylesheets/responsive/_global_style.scss4
-rw-r--r--app/assets/stylesheets/responsive/_lists_layout.scss6
-rw-r--r--app/assets/stylesheets/responsive/_new_request_layout.scss35
-rw-r--r--app/assets/stylesheets/responsive/_new_request_style.scss29
-rw-r--r--app/helpers/public_body_helper.rb35
-rw-r--r--app/models/public_body.rb212
-rw-r--r--app/views/general/search.html.erb6
-rw-r--r--app/views/public_body/_body_listing_single.html.erb35
-rw-r--r--app/views/public_body/_search_ahead.html.erb4
-rw-r--r--app/views/public_body/show.html.erb40
-rw-r--r--app/views/public_body/view_email.html.erb2
-rw-r--r--app/views/request/_request_sent.html.erb75
-rw-r--r--app/views/request/new.html.erb6
-rw-r--r--app/views/request/select_authority.html.erb9
-rw-r--r--app/views/user/_signin.html.erb9
17 files changed, 340 insertions, 167 deletions
diff --git a/app/assets/images/next-step-facebook.png b/app/assets/images/next-step-facebook.png
new file mode 100644
index 000000000..c01fa6ced
--- /dev/null
+++ b/app/assets/images/next-step-facebook.png
Binary files differ
diff --git a/app/assets/images/next-step-twitter.png b/app/assets/images/next-step-twitter.png
new file mode 100644
index 000000000..e79255bd6
--- /dev/null
+++ b/app/assets/images/next-step-twitter.png
Binary files differ
diff --git a/app/assets/stylesheets/responsive/_global_style.scss b/app/assets/stylesheets/responsive/_global_style.scss
index 0ffa875ab..ef755c01e 100644
--- a/app/assets/stylesheets/responsive/_global_style.scss
+++ b/app/assets/stylesheets/responsive/_global_style.scss
@@ -116,7 +116,7 @@ dt + dd {
}
/* Notices to the user (usually on action completion) */
-#notice, #error {
+#notice, #error, .warning {
font-size:1em;
border-radius:3px;
margin:1em 0;
@@ -136,7 +136,7 @@ dt + dd {
background-color: lighten(#62b356, 23%);
}
-#error {
+#error, .warning {
background-color: lighten(#b05460, 23%);
}
diff --git a/app/assets/stylesheets/responsive/_lists_layout.scss b/app/assets/stylesheets/responsive/_lists_layout.scss
index 69237ae91..6a874e8fe 100644
--- a/app/assets/stylesheets/responsive/_lists_layout.scss
+++ b/app/assets/stylesheets/responsive/_lists_layout.scss
@@ -81,4 +81,8 @@
}
}
-
+/* .make-request-quick-button displays in the typeahead search results in the 'make request' process */
+.make-request-quick-button {
+ margin-bottom: 1em;
+ margin-top: -0.5em;
+}
diff --git a/app/assets/stylesheets/responsive/_new_request_layout.scss b/app/assets/stylesheets/responsive/_new_request_layout.scss
index a8b24e1b1..55c72b8e3 100644
--- a/app/assets/stylesheets/responsive/_new_request_layout.scss
+++ b/app/assets/stylesheets/responsive/_new_request_layout.scss
@@ -165,5 +165,40 @@ div.batch_public_body_toggle {
}
+/* Request sent page */
+.request-sent-message {
+ margin-top: 1em;
+ h1 {
+ margin-bottom: 1em;
+ }
+}
+.request-sent-message__row {
+ @include grid-row($behavior: nest);
+}
+.request-sent-message__column-1 {
+ @include grid-column(12);
+ @include respond-min( $main_menu-mobile_menu_cutoff ){
+ @include grid-column($columns:8);
+ @include ie8{
+ padding-right: 0.9375em;
+ }
+ @include lte-ie7 {
+ width: 36.813em;
+ }
+ }
+}
+
+.request-sent-message__column-2 {
+ @include grid-column(12);
+ @include respond-min( $main_menu-mobile_menu_cutoff ){
+ @include grid-column($columns:4);
+ @include ie8{
+ padding-left: 0.9375em;
+ }
+ @include lte-ie7 {
+ width: 17.438em;
+ }
+ }
+}
diff --git a/app/assets/stylesheets/responsive/_new_request_style.scss b/app/assets/stylesheets/responsive/_new_request_style.scss
index 86e17cbfe..e07ecb55c 100644
--- a/app/assets/stylesheets/responsive/_new_request_style.scss
+++ b/app/assets/stylesheets/responsive/_new_request_style.scss
@@ -61,3 +61,32 @@
color: #0000EE;
font-size: 0.9em;
}
+
+/* Request sent page */
+.request-sent-message {
+ border-bottom: 1px solid #e9e9e9;
+ font-size: 1em;
+ h1 {
+ }
+}
+
+.request-sent-message__column-1 {
+ h2 {
+ font-size: 1em;
+ }
+}
+
+.what-next {
+ background-color: #e6e8d6;
+ background-color: rgba(255,255,255, 0.4);
+ padding: 0.5em 1.5em 1.5em;
+ margin-bottom: 1.5em;
+}
+
+.what-next__list {
+ list-style: none outside none;
+ padding-left: 0;
+ li {
+ margin-bottom: 0.5em;
+ }
+}
diff --git a/app/helpers/public_body_helper.rb b/app/helpers/public_body_helper.rb
new file mode 100644
index 000000000..d8a5d57b5
--- /dev/null
+++ b/app/helpers/public_body_helper.rb
@@ -0,0 +1,35 @@
+module PublicBodyHelper
+
+ # Public: The reasons a request can't be made to a PublicBody
+ # The returned reasons are ordered by priority. For example, if the body no
+ # longer exists there is no reason to ask for its contact details if we don't
+ # have an email for it.
+ #
+ # public_body - Instance of a PublicBody
+ #
+ # Returns an Array
+ def public_body_not_requestable_reasons(public_body)
+ reasons = []
+
+ if public_body.defunct?
+ reasons.push _('This authority no longer exists, so you cannot make a request to it.')
+ end
+
+ if public_body.not_apply?
+ reasons.push _('Freedom of Information law does not apply to this authority, so you cannot make a request to it.')
+ end
+
+ unless public_body.has_request_email?
+ # Make the authority appear requestable to encourage users to help find
+ # the authroty's email address
+ msg = link_to _("Make a request to this authority"),
+ new_request_to_body_path(:url_name => public_body.url_name),
+ :class => "link_button_green"
+
+ reasons.push(msg)
+ end
+
+ reasons.compact
+ end
+
+end
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index b8163b07d..c023b436c 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -235,39 +235,38 @@ class PublicBody < ActiveRecord::Base
return self.has_tag?('defunct')
end
- # Can an FOI (etc.) request be made to this body, and if not why not?
+ # Can an FOI (etc.) request be made to this body?
def is_requestable?
- if self.defunct?
- return false
- end
- if self.not_apply?
- return false
- end
- if self.request_email.nil?
- return false
- end
- return !self.request_email.empty? && self.request_email != 'blank'
+ has_request_email? && !defunct? && !not_apply?
end
+
# Strict superset of is_requestable?
def is_followupable?
- if self.request_email.nil?
- return false
- end
- return !self.request_email.empty? && self.request_email != 'blank'
+ has_request_email?
end
+
+ def has_request_email?
+ !request_email.blank? && request_email != 'blank'
+ end
+
# Also used as not_followable_reason
def not_requestable_reason
if self.defunct?
return 'defunct'
elsif self.not_apply?
return 'not_apply'
- elsif self.request_email.nil? or self.request_email.empty? or self.request_email == 'blank'
+ elsif !has_request_email?
return 'bad_contact'
else
- raise "requestable_failure_reason called with type that has no reason"
+ raise "not_requestable_reason called with type that has no reason"
end
end
+ def special_not_requestable_reason?
+ self.defunct? || self.not_apply?
+ end
+
+
class Version
def last_edit_comment_for_html_display
@@ -454,8 +453,6 @@ class PublicBody < ActiveRecord::Base
def self.import_csv_from_file(csv_filename, tag, tag_behaviour, dry_run, editor, available_locales = [])
errors = []
notes = []
- available_locales = [I18n.default_locale] if available_locales.empty?
-
begin
ActiveRecord::Base.transaction do
# Use the default locale when retrieving existing bodies; otherwise
@@ -476,9 +473,18 @@ class PublicBody < ActiveRecord::Base
end
set_of_importing = Set.new()
- field_names = { 'name'=>1, 'request_email'=>2 } # Default values in case no field list is given
+ # Default values in case no field list is given
+ field_names = { 'name' => 1, 'request_email' => 2 }
line = 0
+ import_options = {:field_names => field_names,
+ :available_locales => available_locales,
+ :tag => tag,
+ :tag_behaviour => tag_behaviour,
+ :editor => editor,
+ :notes => notes,
+ :errors => errors }
+
CSV.foreach(csv_filename) do |row|
line = line + 1
@@ -490,7 +496,7 @@ class PublicBody < ActiveRecord::Base
end
fields = {}
- field_names.each{|name, i| fields[name] = row[i]}
+ field_names.each{ |name, i| fields[name] = row[i] }
yield line, fields if block_given?
@@ -506,83 +512,11 @@ class PublicBody < ActiveRecord::Base
next
end
- field_list = []
- self.csv_import_fields.each do |field_name, field_notes|
- field_list.push field_name
- end
-
- if public_body = bodies_by_name[name] # Existing public body
- available_locales.each do |locale|
- I18n.with_locale(locale) do
- changed = ActiveSupport::OrderedHash.new
- field_list.each do |field_name|
- localized_field_name = (locale.to_s == I18n.default_locale.to_s) ? field_name : "#{field_name}.#{locale}"
- localized_value = field_names[localized_field_name] && row[field_names[localized_field_name]]
-
- # Tags are a special case, as we support adding to the field, not just setting a new value
- if localized_field_name == 'tag_string'
- if localized_value.nil?
- localized_value = tag unless tag.empty?
- else
- if tag_behaviour == 'add'
- localized_value = "#{localized_value} #{tag}" unless tag.empty?
- localized_value = "#{localized_value} #{public_body.tag_string}"
- end
- end
- end
-
- if !localized_value.nil? and public_body.send(field_name) != localized_value
- changed[field_name] = "#{public_body.send(field_name)}: #{localized_value}"
- public_body.send("#{field_name}=", localized_value)
- end
- end
-
- unless changed.empty?
- notes.push "line #{line.to_s}: updating authority '#{name}' (locale: #{locale}):\n\t#{changed.to_json}"
- public_body.last_edit_editor = editor
- public_body.last_edit_comment = 'Updated from spreadsheet'
- public_body.save!
- end
- end
- end
- else # New public body
- public_body = PublicBody.new(:name=>"", :short_name=>"", :request_email=>"")
- available_locales.each do |locale|
- I18n.with_locale(locale) do
- changed = ActiveSupport::OrderedHash.new
- field_list.each do |field_name|
- localized_field_name = (locale.to_s == I18n.default_locale.to_s) ? field_name : "#{field_name}.#{locale}"
- localized_value = field_names[localized_field_name] && row[field_names[localized_field_name]]
-
- if localized_field_name == 'tag_string' and tag_behaviour == 'add'
- localized_value = "#{localized_value} #{tag}" unless tag.empty?
- end
-
- if !localized_value.nil? and public_body.send(field_name) != localized_value
- changed[field_name] = localized_value
- public_body.send("#{field_name}=", localized_value)
- end
- end
-
- unless changed.empty?
- notes.push "line #{line.to_s}: creating new authority '#{name}' (locale: #{locale}):\n\t#{changed.to_json}"
- public_body.publication_scheme = public_body.publication_scheme || ""
- public_body.last_edit_editor = editor
- public_body.last_edit_comment = 'Created from spreadsheet'
-
- begin
- public_body.save!
- rescue ActiveRecord::RecordInvalid
- public_body.errors.full_messages.each do |msg|
- errors.push "error: line #{ line }: #{ msg } for authority '#{ name }'"
- end
- next
- end
- end
- end
- end
- end
+ public_body = bodies_by_name[name] || PublicBody.new(:name => "",
+ :short_name => "",
+ :request_email => "")
+ public_body.import_values_from_csv_row(row, line, name, import_options)
set_of_importing.add(name)
end
@@ -604,6 +538,77 @@ class PublicBody < ActiveRecord::Base
return [errors, notes]
end
+ def self.localized_csv_field_name(locale, field_name)
+ (locale.to_s == I18n.default_locale.to_s) ? field_name : "#{field_name}.#{locale}"
+ end
+
+
+ # import values from a csv row (that may include localized columns)
+ def import_values_from_csv_row(row, line, name, options)
+ is_new = new_record?
+ edit_info = if is_new
+ { :action => "creating new authority",
+ :comment => 'Created from spreadsheet' }
+ else
+ { :action => "updating authority",
+ :comment => 'Updated from spreadsheet' }
+ end
+ locales = options[:available_locales]
+ locales = [I18n.default_locale] if locales.empty?
+ locales.each do |locale|
+ I18n.with_locale(locale) do
+ changed = set_locale_fields_from_csv_row(is_new, locale, row, options)
+ unless changed.empty?
+ options[:notes].push "line #{ line }: #{ edit_info[:action] } '#{ name }' (locale: #{ locale }):\n\t#{ changed.to_json }"
+ self.last_edit_comment = edit_info[:comment]
+ self.publication_scheme = publication_scheme || ""
+ self.last_edit_editor = options[:editor]
+
+ begin
+ save!
+ rescue ActiveRecord::RecordInvalid
+ errors.full_messages.each do |msg|
+ options[:errors].push "error: line #{ line }: #{ msg } for authority '#{ name }'"
+ end
+ next
+ end
+ end
+ end
+ end
+ end
+
+ # Sets attribute values for a locale from a csv row
+ def set_locale_fields_from_csv_row(is_new, locale, row, options)
+ changed = ActiveSupport::OrderedHash.new
+ csv_field_names = options[:field_names]
+ csv_import_fields.each do |field_name, field_notes|
+ localized_field_name = self.class.localized_csv_field_name(locale, field_name)
+ column = csv_field_names[localized_field_name]
+ value = column && row[column]
+ # Tags are a special case, as we support adding to the field, not just setting a new value
+ if field_name == 'tag_string'
+ new_tags = [value, options[:tag]].select{ |new_tag| !new_tag.blank? }
+ if new_tags.empty?
+ value = nil
+ else
+ value = new_tags.join(" ")
+ value = "#{value} #{tag_string}"if options[:tag_behaviour] == 'add'
+ end
+
+ end
+
+ if value and read_attribute_value(field_name, locale) != value
+ if is_new
+ changed[field_name] = value
+ else
+ changed[field_name] = "#{read_attribute_value(field_name, locale)}: #{value}"
+ end
+ assign_attributes({ field_name => value })
+ end
+ end
+ changed
+ end
+
# Does this user have the power of FOI officer for this body?
def is_foi_officer?(user)
user_domain = user.email_domain
@@ -802,6 +807,19 @@ class PublicBody < ActiveRecord::Base
private
+ # Read an attribute value (without using locale fallbacks if the attribute is translated)
+ def read_attribute_value(name, locale)
+ if self.class.translates.include?(name.to_sym)
+ if globalize.stash.contains?(locale, name)
+ globalize.stash.read(locale, name)
+ else
+ translation_for(locale).send(name)
+ end
+ else
+ send(name)
+ end
+ end
+
def request_email_if_requestable
# Request_email can be blank, meaning we don't have details
if self.is_requestable?
diff --git a/app/views/general/search.html.erb b/app/views/general/search.html.erb
index 4f9ef5b68..c5ff8e9fd 100644
--- a/app/views/general/search.html.erb
+++ b/app/views/general/search.html.erb
@@ -1,7 +1,5 @@
<% @show_tips = @xapian_requests.nil? || (@total_hits == 0) %>
-<% @include_request_link_in_authority_listing = true %>
-
<%= render :partial => 'localised_datepicker' %>
<% if @query.nil? %>
@@ -157,7 +155,9 @@
<div class="results_block">
<% for result in @xapian_bodies.results %>
- <%= render :partial => 'public_body/body_listing_single', :locals => { :public_body => result[:model] } %>
+ <%= render :partial => 'public_body/body_listing_single',
+ :locals => { :public_body => result[:model],
+ :request_link => true } %>
<% end %>
</div>
diff --git a/app/views/public_body/_body_listing_single.html.erb b/app/views/public_body/_body_listing_single.html.erb
index 91a07d09c..b343c20e1 100644
--- a/app/views/public_body/_body_listing_single.html.erb
+++ b/app/views/public_body/_body_listing_single.html.erb
@@ -1,6 +1,10 @@
-<% if @highlight_words.nil?
- @highlight_words = []
- end %>
+<%
+ if @highlight_words.nil?
+ @highlight_words = []
+ end
+
+ request_link = false unless defined?(request_link)
+%>
<div class="body_listing">
<span class="head">
@@ -16,23 +20,28 @@
<% end %>
<br>
<% end %>
- </span>
+ </span>
<span class="bottomline">
<%= n_('{{count}} request made.', '{{count}} requests made.', public_body.info_requests.size,
:count => public_body.info_requests.size) %>
- <% if !public_body.is_requestable? && public_body.not_requestable_reason != 'bad_contact' %>
- <% if public_body.not_requestable_reason == 'defunct' %>
- <%= _('Defunct.') %>
- <% end %>
- <% else %>
- <% if !@include_request_link_in_authority_listing.nil? %>
- <%= link_to _("Make your own request"), public_body_path(public_body) %>.
- <% end %>
- <% end %>
<br>
<span class="date_added">
<%= _("Added on {{date}}", :date => simple_date(public_body.created_at)) %>.
</span>
+ <br>
+ <% if public_body.special_not_requestable_reason? %>
+ <% if public_body.not_requestable_reason == 'not_apply' %>
+ <%= _('FOI law does not apply to this authority.')%>
+ <% elsif public_body.not_requestable_reason == 'defunct' %>
+ <%= _('Defunct.')%>
+ <% end %>
+ <% end %>
</span>
+
+ <% if request_link && !public_body.special_not_requestable_reason? %>
+ <div class="make-request-quick-button">
+ <%= link_to _("Make a request"), new_request_to_body_path(:url_name => public_body.url_name), :class => "link_button_green" %>
+ </div>
+ <% end %>
</div>
diff --git a/app/views/public_body/_search_ahead.html.erb b/app/views/public_body/_search_ahead.html.erb
index b5632bccd..b06ed5efa 100644
--- a/app/views/public_body/_search_ahead.html.erb
+++ b/app/views/public_body/_search_ahead.html.erb
@@ -7,7 +7,9 @@
<% end %>
<div id="authority_search_ahead_results">
<% for result in @xapian_requests.results %>
- <%= render :partial => 'public_body/body_listing_single', :locals => { :public_body => result[:model] } %>
+ <%= render :partial => 'public_body/body_listing_single',
+ :locals => { :public_body => result[:model],
+ :request_link => true } %>
<% end %>
</div>
<%= will_paginate WillPaginate::Collection.new(@page, @per_page, @xapian_requests.matches_estimated), :params => {:controller=>"request", :action => "select_authority"} %>
diff --git a/app/views/public_body/show.html.erb b/app/views/public_body/show.html.erb
index 403216c6c..e7c5fa2b6 100644
--- a/app/views/public_body/show.html.erb
+++ b/app/views/public_body/show.html.erb
@@ -39,36 +39,22 @@
<% end %>
</p>
- <% if @public_body.is_requestable? || @public_body.not_requestable_reason == 'bad_contact' %>
- <% if @public_body.has_notes? %>
- <p><%= @public_body.notes_as_html.html_safe %></p>
- <% end %>
- <% if @public_body.eir_only? %>
- <p><%= _('You can only request information about the environment from this authority.')%></p>
- <% end %>
- <% else %>
- <% if @public_body.not_requestable_reason == 'not_apply' %>
- <p><%= _('Freedom of Information law does not apply to this authority, so you cannot make
- a request to it.')%></p>
- <% elsif @public_body.not_requestable_reason == 'defunct' %>
- <p><%= _('This authority no longer exists, so you cannot make a request to it.')%></p>
- <% else %>
- <p><%= _('For an unknown reason, it is not possible to make a request to this authority.')%></p>
- <% end %>
- <% end %>
-
<div id="stepwise_make_request">
- <% if @public_body.is_requestable? || @public_body.not_requestable_reason == 'bad_contact' %>
- <%= link_to _("Make a request to this authority"), new_request_to_body_path(:url_name => @public_body.url_name), :class => "link_button_green" %>
- <% elsif @public_body.has_notes? %>
- <%= @public_body.notes_as_html.html_safe %>
- <% end %>
+ <% if @public_body.has_notes? %>
+ <%= @public_body.notes_as_html.html_safe %>
+ <% end %>
- <% if @public_body.override_request_email %>
- <p>
- <%= _("<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority.", :email => @public_body.override_request_email) %>
- </p>
+ <% if @public_body.is_requestable? %>
+ <% if @public_body.eir_only? %>
+ <p><%= _('You can only request information about the environment from this authority.')%></p>
<% end %>
+
+ <%= link_to _("Make a request to this authority"),
+ new_request_to_body_path(:url_name => @public_body.url_name),
+ :class => "link_button_green" %>
+ <% else %>
+ <p><%= public_body_not_requestable_reasons(@public_body).first %></p>
+ <% end %>
</div>
</div>
diff --git a/app/views/public_body/view_email.html.erb b/app/views/public_body/view_email.html.erb
index 5f4bc95f4..399caaa61 100644
--- a/app/views/public_body/view_email.html.erb
+++ b/app/views/public_body/view_email.html.erb
@@ -24,7 +24,7 @@
</p>
<p>
- <% if @public_body.is_requestable? || @public_body.not_requestable_reason != 'bad_contact' %>
+ <% if @public_body.has_request_email? %>
<%= raw(_('If the address is wrong, or you know a better address, please <a href="{{url}}">contact us</a>.', :url => help_contact_path.html_safe)) %>
<% else %>
<%= raw(_(' If you know the address to use, then please <a href="{{url}}">send it to us</a>.
diff --git a/app/views/request/_request_sent.html.erb b/app/views/request/_request_sent.html.erb
index 5ce6f5317..3525ba2be 100644
--- a/app/views/request/_request_sent.html.erb
+++ b/app/views/request/_request_sent.html.erb
@@ -1,19 +1,62 @@
-<div id="notice">
- <p>
- <%= _("Your {{law_used_full}} request has been <strong>sent on its way</strong>!",
- :law_used_full => @info_request.law_used_full) %>
- </p>
+<div id="content">
+ <div class="request-sent-message" id="notice">
+ <h1>
+ <%= _("Your {{law_used_full}} request has been sent",
+ :law_used_full => @info_request.law_used_full) %>
+ </h1>
+ <div class="request-sent-message__row">
+ <div class="request-sent-message__column-1">
+ <p class="subtitle">
+ <%= _("<strong>We will email you</strong> when there is a response, or after " \
+ "{{late_number_of_days}} working days if the authority still hasn't " \
+ "replied by then.",
+ :late_number_of_days => AlaveteliConfiguration.reply_late_after_days) %>
+ </p>
- <p>
- <%= _("<strong>We will email you</strong> when there is a response, or after " \
- "{{late_number_of_days}} working days if the authority still hasn't " \
- "replied by then.",
- :late_number_of_days => AlaveteliConfiguration.reply_late_after_days) %>
- </p>
+ <h2><%= _("Share your request") %></h2>
- <p>
- <%= _("If you write about this request (for example in a forum or a blog) " \
- "please link to this page, and add an annotation below telling people " \
- "about your writing.") %>
- </p>
+ <%= link_to image_tag("next-step-twitter.png",
+ :alt => _("Tweet it"),
+ :width => "120",
+ :height => "37"),
+ "https://twitter.com/intent/tweet?" << {
+ :url => request.url,
+ :via => AlaveteliConfiguration.twitter_username,
+ :text => "'#{ @info_request.title }'",
+ :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name)
+ }.to_query %>
+
+ <%= link_to image_tag("next-step-facebook.png",
+ :alt => _("Share on Facebook"),
+ :width => "120",
+ :height => "37"),
+ "https://www.facebook.com/sharer/sharer.php?" << {
+ :u => request.url
+ }.to_query %>
+
+ <h2><%= _("Keep your request up to date") %></h2>
+ <p>
+ <%= _('If you write about this request ' \
+ '(for example in a forum or a blog) ' \
+ 'please link to this page, and <a href="{{url}}">add an ' \
+ 'annotation</a> below telling people ' \
+ 'about your writing.', :url => new_comment_url(:url_title => @info_request.url_title).html_safe) %>
+ </p>
+ </div>
+ <div class="request-sent-message__column-2">
+ <div class="what-next">
+ <h2><%= _("What next?") %></h2>
+ <ul class="what-next__list">
+ <li>
+ <%= link_to _("View other requests to {{public_body}}", :public_body => @info_request.public_body.name), public_body_path(@info_request.public_body) %>
+ </li>
+ <li>
+ <%= link_to _("Help us classify requests that haven't " \
+ "been updated"), categorise_play_path %>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
diff --git a/app/views/request/new.html.erb b/app/views/request/new.html.erb
index 51224129e..688d9e87b 100644
--- a/app/views/request/new.html.erb
+++ b/app/views/request/new.html.erb
@@ -99,6 +99,12 @@
</div>
<% end %>
+ <% if @info_request.public_body.override_request_email %>
+ <div class="warning">
+ <%= _("<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority.", :email => @info_request.public_body.override_request_email) %>
+ </div>
+ <% end %>
+
<% if @info_request.public_body.eir_only? %>
<h3><%= _('Please ask for environmental information only') %></h3>
diff --git a/app/views/request/select_authority.html.erb b/app/views/request/select_authority.html.erb
index 134648264..9a5d565b6 100644
--- a/app/views/request/select_authority.html.erb
+++ b/app/views/request/select_authority.html.erb
@@ -18,9 +18,12 @@
<%= form_tag select_authority_path, { :id => 'search_form', :method => 'get' } do %>
<div>
<p>
- <%= _(%Q(First, type in the <strong>name of the UK public authority</strong> you'd
- like information from. <strong>By law, they have to respond</strong>
- (<a href="{{url}}">why?</a>).), :url => (help_about_path(:anchor => 'whybother_them')).html_safe) %>
+ <%= _(%Q(First, type in the <strong>name of the public authority</strong> you'd
+ like information from.)) %>
+ <% if AlaveteliConfiguration.authority_must_respond %>
+ <%= _(%Q(<strong>By law, they have to respond</strong> (<a href="{{url}}">why?</a>).),
+ :url => (help_about_path(:anchor => 'whybother_them')).html_safe) %>
+ <% end %>
</p>
<%= text_field_tag :query,
diff --git a/app/views/user/_signin.html.erb b/app/views/user/_signin.html.erb
index 7428082d3..f63c289df 100644
--- a/app/views/user/_signin.html.erb
+++ b/app/views/user/_signin.html.erb
@@ -22,9 +22,12 @@
</p>
<p class="form_checkbox">
- <%= check_box_tag 'remember_me', "1", false, :tabindex => 90 %>
- <label for="remember_me"><%= _('Remember me</label> (keeps you signed in longer;
- do not use on a public computer) ')%></p>
+ <%= check_box_tag 'remember_me', "1", false, :tabindex => 90 %>
+
+ <label for="remember_me">
+ <%= _('Remember me (keeps you signed in longer; do not use on a public computer)') %>
+ </label>
+ </p>
<div class="form_button">
<%= hidden_field_tag 'token', params[:token], {:id => 'signin_token' } %>