aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/images/status/classification.pngbin0 -> 1031 bytes
-rw-r--r--app/assets/images/status/classification@2x.pngbin0 -> 1031 bytes
-rw-r--r--app/assets/images/status/delayed.pngbin0 -> 1049 bytes
-rw-r--r--app/assets/images/status/delayed@2x.pngbin0 -> 1049 bytes
-rw-r--r--app/assets/images/status/delivery_error.pngbin0 -> 788 bytes
-rw-r--r--app/assets/images/status/delivery_error@2x.pngbin0 -> 788 bytes
-rw-r--r--app/assets/images/status/notheld.pngbin0 -> 917 bytes
-rw-r--r--app/assets/images/status/notheld@2x.pngbin0 -> 917 bytes
-rw-r--r--app/assets/images/status/overdue.pngbin0 -> 1049 bytes
-rw-r--r--app/assets/images/status/overdue@2x.pngbin0 -> 1049 bytes
-rw-r--r--app/assets/images/status/partiallysuccessful.pngbin0 -> 878 bytes
-rw-r--r--app/assets/images/status/partiallysuccessful@2x.pngbin0 -> 878 bytes
-rw-r--r--app/assets/images/status/postal.pngbin0 -> 882 bytes
-rw-r--r--app/assets/images/status/postal@2x.pngbin0 -> 882 bytes
-rw-r--r--app/assets/images/status/refused.pngbin0 -> 969 bytes
-rw-r--r--app/assets/images/status/refused@2x.pngbin0 -> 969 bytes
-rw-r--r--app/assets/images/status/reported.pngbin0 -> 917 bytes
-rw-r--r--app/assets/images/status/reported@2x.pngbin0 -> 917 bytes
-rw-r--r--app/assets/images/status/review.pngbin0 -> 965 bytes
-rw-r--r--app/assets/images/status/review@2x.pngbin0 -> 965 bytes
-rw-r--r--app/assets/images/status/successful.pngbin0 -> 878 bytes
-rw-r--r--app/assets/images/status/successful@2x.pngbin0 -> 878 bytes
-rw-r--r--app/assets/images/status/unusual.pngbin0 -> 1049 bytes
-rw-r--r--app/assets/images/status/unusual@2x.pngbin0 -> 1049 bytes
-rw-r--r--app/assets/images/status/waiting.pngbin0 -> 1031 bytes
-rw-r--r--app/assets/images/status/waiting@2x.pngbin0 -> 1031 bytes
-rw-r--r--app/assets/images/status/withdrawn.pngbin0 -> 891 bytes
-rw-r--r--app/assets/images/status/withdrawn@2x.pngbin0 -> 891 bytes
-rw-r--r--app/assets/stylesheets/responsive/_footer_layout.scss4
-rw-r--r--app/assets/stylesheets/responsive/_lists_style.scss128
-rw-r--r--app/controllers/general_controller.rb4
-rw-r--r--app/controllers/public_body_controller.rb48
-rw-r--r--app/controllers/request_controller.rb6
-rw-r--r--app/controllers/user_controller.rb2
-rw-r--r--app/views/admin_request/edit.html.erb8
-rw-r--r--app/views/general/_frontpage_bodies_list.html.erb5
-rw-r--r--app/views/general/_frontpage_requests_list.html.erb5
-rw-r--r--app/views/general/_frontpage_search_box.html.erb3
-rw-r--r--app/views/public_body/_list_sidebar_extra.html.erb5
-rw-r--r--app/views/public_body/show.html.erb5
-rw-r--r--app/views/public_body/statistics.html.erb6
-rw-r--r--app/views/request/upload_response.html.erb6
42 files changed, 175 insertions, 60 deletions
diff --git a/app/assets/images/status/classification.png b/app/assets/images/status/classification.png
new file mode 100644
index 000000000..dcf4009f3
--- /dev/null
+++ b/app/assets/images/status/classification.png
Binary files differ
diff --git a/app/assets/images/status/classification@2x.png b/app/assets/images/status/classification@2x.png
new file mode 100644
index 000000000..dcf4009f3
--- /dev/null
+++ b/app/assets/images/status/classification@2x.png
Binary files differ
diff --git a/app/assets/images/status/delayed.png b/app/assets/images/status/delayed.png
new file mode 100644
index 000000000..637fed8d9
--- /dev/null
+++ b/app/assets/images/status/delayed.png
Binary files differ
diff --git a/app/assets/images/status/delayed@2x.png b/app/assets/images/status/delayed@2x.png
new file mode 100644
index 000000000..637fed8d9
--- /dev/null
+++ b/app/assets/images/status/delayed@2x.png
Binary files differ
diff --git a/app/assets/images/status/delivery_error.png b/app/assets/images/status/delivery_error.png
new file mode 100644
index 000000000..5865dd1e1
--- /dev/null
+++ b/app/assets/images/status/delivery_error.png
Binary files differ
diff --git a/app/assets/images/status/delivery_error@2x.png b/app/assets/images/status/delivery_error@2x.png
new file mode 100644
index 000000000..5865dd1e1
--- /dev/null
+++ b/app/assets/images/status/delivery_error@2x.png
Binary files differ
diff --git a/app/assets/images/status/notheld.png b/app/assets/images/status/notheld.png
new file mode 100644
index 000000000..9d20ac2e7
--- /dev/null
+++ b/app/assets/images/status/notheld.png
Binary files differ
diff --git a/app/assets/images/status/notheld@2x.png b/app/assets/images/status/notheld@2x.png
new file mode 100644
index 000000000..9d20ac2e7
--- /dev/null
+++ b/app/assets/images/status/notheld@2x.png
Binary files differ
diff --git a/app/assets/images/status/overdue.png b/app/assets/images/status/overdue.png
new file mode 100644
index 000000000..637fed8d9
--- /dev/null
+++ b/app/assets/images/status/overdue.png
Binary files differ
diff --git a/app/assets/images/status/overdue@2x.png b/app/assets/images/status/overdue@2x.png
new file mode 100644
index 000000000..637fed8d9
--- /dev/null
+++ b/app/assets/images/status/overdue@2x.png
Binary files differ
diff --git a/app/assets/images/status/partiallysuccessful.png b/app/assets/images/status/partiallysuccessful.png
new file mode 100644
index 000000000..2ff49770a
--- /dev/null
+++ b/app/assets/images/status/partiallysuccessful.png
Binary files differ
diff --git a/app/assets/images/status/partiallysuccessful@2x.png b/app/assets/images/status/partiallysuccessful@2x.png
new file mode 100644
index 000000000..2ff49770a
--- /dev/null
+++ b/app/assets/images/status/partiallysuccessful@2x.png
Binary files differ
diff --git a/app/assets/images/status/postal.png b/app/assets/images/status/postal.png
new file mode 100644
index 000000000..00df771ac
--- /dev/null
+++ b/app/assets/images/status/postal.png
Binary files differ
diff --git a/app/assets/images/status/postal@2x.png b/app/assets/images/status/postal@2x.png
new file mode 100644
index 000000000..00df771ac
--- /dev/null
+++ b/app/assets/images/status/postal@2x.png
Binary files differ
diff --git a/app/assets/images/status/refused.png b/app/assets/images/status/refused.png
new file mode 100644
index 000000000..1f768af5e
--- /dev/null
+++ b/app/assets/images/status/refused.png
Binary files differ
diff --git a/app/assets/images/status/refused@2x.png b/app/assets/images/status/refused@2x.png
new file mode 100644
index 000000000..1f768af5e
--- /dev/null
+++ b/app/assets/images/status/refused@2x.png
Binary files differ
diff --git a/app/assets/images/status/reported.png b/app/assets/images/status/reported.png
new file mode 100644
index 000000000..9d20ac2e7
--- /dev/null
+++ b/app/assets/images/status/reported.png
Binary files differ
diff --git a/app/assets/images/status/reported@2x.png b/app/assets/images/status/reported@2x.png
new file mode 100644
index 000000000..9d20ac2e7
--- /dev/null
+++ b/app/assets/images/status/reported@2x.png
Binary files differ
diff --git a/app/assets/images/status/review.png b/app/assets/images/status/review.png
new file mode 100644
index 000000000..639f72797
--- /dev/null
+++ b/app/assets/images/status/review.png
Binary files differ
diff --git a/app/assets/images/status/review@2x.png b/app/assets/images/status/review@2x.png
new file mode 100644
index 000000000..639f72797
--- /dev/null
+++ b/app/assets/images/status/review@2x.png
Binary files differ
diff --git a/app/assets/images/status/successful.png b/app/assets/images/status/successful.png
new file mode 100644
index 000000000..2ff49770a
--- /dev/null
+++ b/app/assets/images/status/successful.png
Binary files differ
diff --git a/app/assets/images/status/successful@2x.png b/app/assets/images/status/successful@2x.png
new file mode 100644
index 000000000..2ff49770a
--- /dev/null
+++ b/app/assets/images/status/successful@2x.png
Binary files differ
diff --git a/app/assets/images/status/unusual.png b/app/assets/images/status/unusual.png
new file mode 100644
index 000000000..637fed8d9
--- /dev/null
+++ b/app/assets/images/status/unusual.png
Binary files differ
diff --git a/app/assets/images/status/unusual@2x.png b/app/assets/images/status/unusual@2x.png
new file mode 100644
index 000000000..637fed8d9
--- /dev/null
+++ b/app/assets/images/status/unusual@2x.png
Binary files differ
diff --git a/app/assets/images/status/waiting.png b/app/assets/images/status/waiting.png
new file mode 100644
index 000000000..dcf4009f3
--- /dev/null
+++ b/app/assets/images/status/waiting.png
Binary files differ
diff --git a/app/assets/images/status/waiting@2x.png b/app/assets/images/status/waiting@2x.png
new file mode 100644
index 000000000..dcf4009f3
--- /dev/null
+++ b/app/assets/images/status/waiting@2x.png
Binary files differ
diff --git a/app/assets/images/status/withdrawn.png b/app/assets/images/status/withdrawn.png
new file mode 100644
index 000000000..d56aa213f
--- /dev/null
+++ b/app/assets/images/status/withdrawn.png
Binary files differ
diff --git a/app/assets/images/status/withdrawn@2x.png b/app/assets/images/status/withdrawn@2x.png
new file mode 100644
index 000000000..d56aa213f
--- /dev/null
+++ b/app/assets/images/status/withdrawn@2x.png
Binary files differ
diff --git a/app/assets/stylesheets/responsive/_footer_layout.scss b/app/assets/stylesheets/responsive/_footer_layout.scss
index 2b0c956fa..55b6839c2 100644
--- a/app/assets/stylesheets/responsive/_footer_layout.scss
+++ b/app/assets/stylesheets/responsive/_footer_layout.scss
@@ -45,6 +45,10 @@
img {
display: inherit;
+ @include lte-ie7 {
+ display: block;
+ }
}
+
}
}
diff --git a/app/assets/stylesheets/responsive/_lists_style.scss b/app/assets/stylesheets/responsive/_lists_style.scss
index 762901a5f..9f18718f5 100644
--- a/app/assets/stylesheets/responsive/_lists_style.scss
+++ b/app/assets/stylesheets/responsive/_lists_style.scss
@@ -48,51 +48,135 @@
}
}
+$status-success: #69952F;
+$status-failure: #C1272D;
+$status-pending: #A68C2E;
+
/* Status lines and icons */
-.icon_waiting_response,.icon_waiting_classification,.icon_waiting_clarification {
- background-image:image-url('status-pending.png');
- color:#A68C2E;
+.icon_waiting_classification {
+ background-image:image-url('status/classification.png');
+ color: $status-pending;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/classification@2x.png');
+ }
+}
+
+.icon_waiting_response,.icon_waiting_clarification {
+ background-image:image-url('status/waiting.png');
+ color: $status-pending;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/waiting@2x.png');
+ }
+}
+
+.icon_attention_requested {
+ background-image:image-url('status/reported.png');
+ color: $status-pending;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/reported@2x.png');
+ }
+}
+
+.icon_not_held {
+ background-image:image-url('status/notheld.png');
+ color: $status-pending;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/notheld@2x.png');
+ }
+}
+
+.icon_successful {
+ background-image:image-url('status/successful.png');
+ color: $status-success;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/successful@2x.png');
+ }
}
+.icon_partially_successful {
+ background-image:image-url('status/partiallysuccessful.png');
+ color: $status-success;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/partiallysuccessful@2x.png');
+ }
+}
-.icon_not_held, .icon_attention_requested {
- background-image:image-url('status-not-held.png');
- color:#A68C2E;
+.icon_requires_admin {
+ background-image:image-url('status/unusual.png');
+ color: $status-failure;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/unusual@2x.png');
+ }
}
-.icon_successful,.icon_partially_successful {
- background-image:image-url('status-complete.png');
- color:#69952F;
+.icon_waiting_response_overdue {
+ background-image:image-url('status/delayed.png');
+ color: $status-failure;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/delayed@2x.png');
+ }
}
-.icon_requires_admin,.icon_waiting_response_overdue,.icon_waiting_response_very_overdue {
- background-image:image-url('status-overdue.png');
- color:#C1272D;
+.icon_waiting_response_very_overdue{
+ background-image:image-url('status/overdue.png');
+ color: $status-failure;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/overdue@2x.png');
+ }
}
.icon_gone_postal {
- background-image:image-url('status-gone-postal.png');
- color:#A68C2E;
+ background-image:image-url('status/postal.png');
+ color: $status-pending;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/postal@2x.png');
+ }
}
.icon_error_message {
- background-image:image-url('status-error.png');
- color:#C1272D;
+ background-image:image-url('status/delivery_error.png');
+ color: $status-failure;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/delivery_error@2x.png');
+ }
}
.icon_internal_review {
- background-image:image-url('status-internal-review.png');
- color:#A68C2E;
+ background-image:image-url('status/review.png');
+ color: $status-pending;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/review@2x.png');
+ }
}
.icon_user_withdrawn {
- background-image:image-url('status-withdrawn.png');
- color:#A68C2E;
+ background-image:image-url('status/withdrawn.png');
+ color: $status-pending;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/withdrawn@2x.png');
+ }
}
.icon_failed,.icon_rejected {
- background-image:image-url('status-denied.png');
- color:#C1272D;
+ background-image:image-url('status/refused.png');
+ color: $status-failure;
+ background-size: 22px 22px;
+ @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+ background-image:image-url('status/refused@2x.png');
+ }
}
#public_body_list {
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb
index 6f0d29889..e2a2190b0 100644
--- a/app/controllers/general_controller.rb
+++ b/app/controllers/general_controller.rb
@@ -178,7 +178,9 @@ class GeneralController < ApplicationController
format.json { render :json => {
:alaveteli_git_commit => alaveteli_git_commit,
:alaveteli_version => ALAVETELI_VERSION,
- :ruby_version => RUBY_VERSION
+ :ruby_version => RUBY_VERSION,
+ :visible_request_count => InfoRequest.visible.count,
+ :confirmed_user_count => User.where(:email_confirmed => true).count
}}
end
end
diff --git a/app/controllers/public_body_controller.rb b/app/controllers/public_body_controller.rb
index 862f4b318..96e69d333 100644
--- a/app/controllers/public_body_controller.rb
+++ b/app/controllers/public_body_controller.rb
@@ -109,17 +109,17 @@ class PublicBodyController < ApplicationController
# Restrict the public bodies shown according to the tag
# parameter supplied in the URL:
- if @tag.nil? or @tag == "all"
- @tag = "all"
+ if @tag.nil? || @tag == 'all'
+ @tag = 'all'
elsif @tag == 'other'
- category_list = PublicBodyCategories::get().tags().map{|c| "'"+c+"'"}.join(",")
+ category_list = PublicBodyCategories.get.tags.map{ |c| %Q('#{ c }') }.join(",")
where_condition += base_tag_condition + " AND has_tag_string_tags.name in (#{category_list})) = 0"
elsif @tag.scan(/./mu).size == 1
- @tag = Unicode.upcase @tag
+ @tag = Unicode.upcase(@tag)
# The first letter queries have to be done on
# translations, so just indicate to add that later:
first_letter = true
- elsif @tag.include?(":")
+ elsif @tag.include?(':')
name, value = HasTagString::HasTagStringTag.split_tag_into_name_value(@tag)
where_condition += base_tag_condition + " AND has_tag_string_tags.name = ? AND has_tag_string_tags.value = ?) > 0"
where_parameters.concat [name, value]
@@ -128,16 +128,16 @@ class PublicBodyController < ApplicationController
where_parameters.concat [@tag]
end
- if @tag == "all"
- @description = ""
+ if @tag == 'all'
+ @description = ''
elsif @tag.size == 1
- @description = _("beginning with ‘{{first_letter}}’", :first_letter=>@tag)
+ @description = _("beginning with ‘{{first_letter}}’", :first_letter => @tag)
else
- category_name = PublicBodyCategories::get().by_tag()[@tag]
+ category_name = PublicBodyCategories.get.by_tag[@tag]
if category_name.nil?
- @description = _("matching the tag ‘{{tag_name}}’", :tag_name=>@tag)
+ @description = _("matching the tag ‘{{tag_name}}’", :tag_name => @tag)
else
- @description = _("in the category ‘{{category_name}}’", :category_name=>category_name)
+ @description = _("in the category ‘{{category_name}}’", :category_name => category_name)
end
end
@@ -151,15 +151,15 @@ class PublicBodyController < ApplicationController
FROM public_bodies
LEFT OUTER JOIN public_body_translations as current_locale
ON (public_bodies.id = current_locale.public_body_id
- AND current_locale.locale = ? AND #{get_public_body_list_translated_condition 'current_locale', first_letter})
+ AND current_locale.locale = ? AND #{ get_public_body_list_translated_condition('current_locale', first_letter) })
LEFT OUTER JOIN public_body_translations as default_locale
ON (public_bodies.id = default_locale.public_body_id
- AND default_locale.locale = ? AND #{get_public_body_list_translated_condition 'default_locale', first_letter})
- WHERE #{where_condition} AND COALESCE(current_locale.name, default_locale.name) IS NOT NULL
+ AND default_locale.locale = ? AND #{ get_public_body_list_translated_condition('default_locale', first_letter) })
+ WHERE #{ where_condition } AND COALESCE(current_locale.name, default_locale.name) IS NOT NULL
ORDER BY display_name}
- sql = [query, underscore_locale, like_query, like_query]
+ sql = [query, underscore_locale, like_query, like_query, like_query]
sql.push @tag if first_letter
- sql += [underscore_default_locale, like_query, like_query]
+ sql += [underscore_default_locale, like_query, like_query, like_query]
sql.push @tag if first_letter
sql += where_parameters
@public_bodies = PublicBody.paginate_by_sql(
@@ -170,17 +170,17 @@ class PublicBodyController < ApplicationController
# The simpler case where we're just searching in the current locale:
where_condition = get_public_body_list_translated_condition('public_body_translations', first_letter, true) +
' AND ' + where_condition
- where_sql = [where_condition, like_query, like_query]
+ where_sql = [where_condition, like_query, like_query, like_query]
where_sql.push @tag if first_letter
where_sql += [underscore_locale] + where_parameters
- @public_bodies = PublicBody.where(where_sql) \
- .joins(:translations) \
- .order("public_body_translations.name") \
- .paginate(:page => params[:page], :per_page => 100)
+ @public_bodies = PublicBody.where(where_sql).
+ joins(:translations).
+ order("public_body_translations.name").
+ paginate(:page => params[:page], :per_page => 100)
end
respond_to do |format|
- format.html { render :template => "public_body/list" }
+ format.html { render :template => 'public_body/list' }
end
end
end
@@ -344,9 +344,11 @@ class PublicBodyController < ApplicationController
end
private
+
def get_public_body_list_translated_condition(table, first_letter=false, locale=nil)
result = "(upper(#{table}.name) LIKE upper(?)" \
- " OR upper(#{table}.notes) LIKE upper (?))"
+ " OR upper(#{table}.notes) LIKE upper(?)" \
+ " OR upper(#{table}.short_name) LIKE upper(?))"
if first_letter
result += " AND #{table}.first_letter = ?"
end
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index d66c28275..55a03e7b4 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -303,6 +303,12 @@ class RequestController < ApplicationController
return render_new_compose(batch=false)
end
+ # Check we have :public_body_id - spammers seem to be using :public_body
+ # erroneously instead
+ if params[:info_request][:public_body_id].blank?
+ redirect_to frontpage_path and return
+ end
+
# See if the exact same request has already been submitted
# XXX this check should theoretically be a validation rule in the
# model, except we really want to pass @existing_request to the view so
diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb
index 8d6522923..12207362b 100644
--- a/app/controllers/user_controller.rb
+++ b/app/controllers/user_controller.rb
@@ -288,7 +288,7 @@ class UserController < ApplicationController
:reason_params => {
:web => "",
:email => _("Then you can change your password on {{site_name}}",:site_name=>site_name),
- :email_subject => _("Change your password {{site_name}}",:site_name=>site_name)
+ :email_subject => _("Change your password on {{site_name}}",:site_name=>site_name)
},
:circumstance => "change_password" # special login that lets you change your password
)
diff --git a/app/views/admin_request/edit.html.erb b/app/views/admin_request/edit.html.erb
index 0e9c68aea..552b31bbb 100644
--- a/app/views/admin_request/edit.html.erb
+++ b/app/views/admin_request/edit.html.erb
@@ -33,7 +33,7 @@
<p><label for="info_request_tag_string"><strong>Tags</strong> <small>(space separated, can use key:value)</small></label><br/>
<%= text_field 'info_request', 'tag_string', :size => 60 %></p>
- <p><%= submit_tag 'Save changes', :accesskey => 's' %>
+ <p><%= submit_tag 'Save changes', :accesskey => 's', :class => 'btn btn-primary' %>
</p>
<p><strong>Note:</strong> To edit the actual request body text, click edit
@@ -49,13 +49,17 @@
<hr>
+<div class="well">
+
<%= form_tag admin_request_destroy_path(@info_request) do %>
<p>
- <strong>This is permanent and irreversible!</strong> <%= submit_tag 'Destroy request entirely' %>
+ <strong>This is permanent and irreversible!</strong> <%= submit_tag 'Destroy request entirely', :class => 'btn btn-danger' %>
<br>Use it mainly if someone posts private information, e.g. made a Data Protection request. It
destroys all responses and tracks as well.
</p>
<% end %>
+</div>
+
<hr>
diff --git a/app/views/general/_frontpage_bodies_list.html.erb b/app/views/general/_frontpage_bodies_list.html.erb
index 44321f14a..1c35c55ad 100644
--- a/app/views/general/_frontpage_bodies_list.html.erb
+++ b/app/views/general/_frontpage_bodies_list.html.erb
@@ -3,9 +3,10 @@
<div id="examples_0">
<h3><%= _("Who can I request information from?") %></h3>
<%= _("{{site_name}} covers requests to {{number_of_authorities}} authorities, including:",
- :site_name => site_name, :number_of_authorities => PublicBody.visible.count) %>
+ :site_name => site_name,
+ :number_of_authorities => number_with_delimiter(PublicBody.visible.count)) %>
<ul>
- <% for popular_body in popular_bodies %>
+ <% popular_bodies.each do |popular_body| %>
<li><%=public_body_link(popular_body)%>
<%= n_('{{count}} request', '{{count}} requests', popular_body.info_requests_count, :count => popular_body.info_requests_count) %>
</li>
diff --git a/app/views/general/_frontpage_requests_list.html.erb b/app/views/general/_frontpage_requests_list.html.erb
index d7d9184c4..39187f3f0 100644
--- a/app/views/general/_frontpage_requests_list.html.erb
+++ b/app/views/general/_frontpage_requests_list.html.erb
@@ -8,9 +8,10 @@
<% end %>
</h3>
<%= _("{{site_name}} users have made {{number_of_requests}} requests, including:",
- :site_name => site_name, :number_of_requests => InfoRequest.visible.count) %>
+ :site_name => site_name,
+ :number_of_requests => number_with_delimiter(InfoRequest.visible.count)) %>
<ul>
- <% for event in @request_events %>
+ <% @request_events.each do |event| %>
<li>
<% if @request_events_all_successful %>
<%= _("{{public_body_link}} answered a request about",
diff --git a/app/views/general/_frontpage_search_box.html.erb b/app/views/general/_frontpage_search_box.html.erb
index 890602416..f77bd97fc 100644
--- a/app/views/general/_frontpage_search_box.html.erb
+++ b/app/views/general/_frontpage_search_box.html.erb
@@ -2,7 +2,8 @@
<%= _("Search over<br/>
<strong>{{number_of_requests}} requests</strong> <span>and</span><br/>
<strong>{{number_of_authorities}} authorities</strong>",
- :number_of_requests => InfoRequest.visible.count, :number_of_authorities => PublicBody.visible.count) %>
+ :number_of_requests => number_with_delimiter(InfoRequest.visible.count),
+ :number_of_authorities => number_with_delimiter(PublicBody.visible.count)) %>
</h2>
<form id="search_form" method="post" action="<%= search_redirect_path %>">
<div>
diff --git a/app/views/public_body/_list_sidebar_extra.html.erb b/app/views/public_body/_list_sidebar_extra.html.erb
index 290593d6a..6e683d7a1 100644
--- a/app/views/public_body/_list_sidebar_extra.html.erb
+++ b/app/views/public_body/_list_sidebar_extra.html.erb
@@ -1,3 +1,8 @@
+<% if AlaveteliConfiguration::public_body_statistics_page %>
+ <p>
+ <%= link_to _('Public authority statistics'), public_bodies_statistics_path %>
+ </p>
+<% end %>
<p>
<%= link_to _('Are we missing a public authority?'), help_requesting_path + '#missing_body' %>
</p>
diff --git a/app/views/public_body/show.html.erb b/app/views/public_body/show.html.erb
index a9c50e657..9352747ea 100644
--- a/app/views/public_body/show.html.erb
+++ b/app/views/public_body/show.html.erb
@@ -127,7 +127,10 @@
<% if @xapian_requests.results.empty? %>
<p><% _('There were no requests matching your query.') %></p>
<% else %>
- <p> <%= _('Only requests made using {{site_name}} are shown.', :site_name => site_name) %></p>
+ <p>
+ <%= _('Only requests made using {{site_name}} are shown.', :site_name => site_name) %>
+ <%= link_to _('?'), help_about_path %>
+ </p>
<% end %>
<% else %>
diff --git a/app/views/public_body/statistics.html.erb b/app/views/public_body/statistics.html.erb
index d935a9e47..0e7e7424e 100644
--- a/app/views/public_body/statistics.html.erb
+++ b/app/views/public_body/statistics.html.erb
@@ -1,6 +1,6 @@
<% @title = _("Public Body Statistics") %>
<div id="main_content">
- <h1>Public Body Statistics</h1>
+ <h1><%= @title %></h1>
<p><%= _("This page of public body statistics is currently \
experimental, so there are some caveats that should be borne \
@@ -33,6 +33,8 @@ requests to the authority through this site, rather than, \
say, all requests that have been made to the public body by \
any means.") %></li>
+ <li><%= _("Unclassified or hidden requests are not counted.") %></li>
+
</ul>
<p><%= _("These graphs were partly inspired by \
@@ -47,7 +49,7 @@ are due to him.") %></p>
<table border=0>
<thead>
<tr>
- <th>Public Body</th>
+ <th><%= _('Public Body') %></th>
<th><%= graph_data['y_axis'] %></th>
</tr>
</thead>
diff --git a/app/views/request/upload_response.html.erb b/app/views/request/upload_response.html.erb
index f5fd6f000..f07af34d5 100644
--- a/app/views/request/upload_response.html.erb
+++ b/app/views/request/upload_response.html.erb
@@ -9,7 +9,9 @@
<%= foi_error_messages_for :comment %>
- <h1><%= _('Respond to the FOI request')%> '<%=request_link(@info_request)%>'<% _(' made by ')%><%=user_link(@info_request.user) %></h1>
+ <h1><%= _("Respond to the FOI request '{{request}}' made by {{user}}",
+ :request => request_link(@info_request),
+ :user => user_link(@info_request.user)) %></h1>
<p>
<%= raw(_('Your response will <strong>appear on the Internet</strong>, <a href="{{url}}">read why</a> and answers to other questions.', :url => help_officers_path.html_safe)) %>
@@ -48,5 +50,3 @@
</p>
<% end %>
<% end %>
-
-