Quick links to annotations

Quick links to annotations

<% @title = h(@display_user.name) + (@is_you ? " (you)" : "") %>

<% if (@same_name_users.size >= 1) %>

There is more than one person who uses this site and has this name.
    One of them is shown below, you may mean a different one: <% for @same_name_user in @same_name_users %>
        <%= user_link(@same_name_user) %>
    <% end %>
<% end%>

<% if @is_you && @undescribed_requests.size > 0 %>

Please go to the following requests, and let us
        know if there was information in the recent responses to them.

        <% for undescribed_request in @undescribed_requests %>

<%=request_link(undescribed_request)%>

        <% end %>

            Thanks very much - this will help others find useful stuff. We'll
            also, if you need it, give advice on what to do next about your
            requests.

<% end %>

Track this person

    <%= render :partial => 'track/tracking_links', :locals => { :track_thing => @track_thing, :own_request => false, :location => 'sidebar' } %>

On this page

    FOI requests by <%=h @display_user.name%>

Annotations by <%=h @display_user.name%>
    <% if @is_you %>

Your email subscriptions
    <% end %>

<%=@title%>

        Joined WhatDoTheyKnow in <%= year_from_date(@display_user.created_at) %>
        <% if !@user.nil? && @user.admin_page_links? %>
        (<%= link_to "admin", user_admin_url(@display_user) %>)
        <% end %>

        <%= link_to "Send message to " + h(@display_user.name), contact_user_url(:id => @display_user.id) %>
        <% if @is_you %>
            (just to see how it works)

<%= link_to "Change your password", signchange_url() %>
        <% end %>

    <% if not @is_you %>

            If you are <%=h @display_user.name %>, <%= link_to "sign in", signin_url(:r => request.request_uri) %> to change your password or alter your subscriptions.

    <% end %>

    <% if !@xapian_requests.nil? %>
        <% if @xapian_requests.results.empty? %>
            <% if @page == 1 %>

Freedom of Information requests made by <%= @is_you ? 'you' : 'this person' %>

<%= @is_you ? 'You have' : 'This person has' %>
                made no Freedom of Information requests using this site.

            <% end %>
        <% else %>

                <%= @is_you ? 'Your ' : "This person's " %>
                <%=pluralize(@display_user.info_requests.size, "Freedom of Information request") %>

                <%= @page_desc %>

            <% for result in @xapian_requests.results %>
                <%= render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
            <% end %>

            <%= will_paginate WillPaginate::Collection.new(@page, @per_page, @display_user.info_requests.size) %>
        <% end %>
    <% else %>

Freedom of Information requests made by <%= @is_you ? 'you' : 'this person' %>

The search index is currently offline, so we can't show the Freedom of Information requests this person has made.

    <% end %>

    <% if !@xapian_comments.nil? %>
        <% if @xapian_comments.results.empty? %>
            <% if @page == 1 %>

<%= @is_you ? 'Your' : 'This person\'s' %> annotations

None made.

            <% end %>
        <% else %>

                <%= @is_you ? 'Your ' : "This person's " %>
                <%=pluralize(@display_user.visible_comments.size, "annotation") %>

                <%= @page_desc %>

            <% for result in @xapian_comments.results %>
                <%= render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
            <% end %>

            <%= will_paginate WillPaginate::Collection.new(@page, @per_page, @display_user.visible_comments.size) %>
        <% end %>
    <% end %>

    <% if @is_you and not @track_things.empty? %>

            Your <%=pluralize(@track_things.size, "email subscription") %>
            <% if @track_things_grouped.size == 1 %>
                <% form_tag :controller => 'track', :action => 'delete_all_type' do %>

                        <%=TrackThing.track_type_description(@track_things[0].track_type)%>
                        <%= hidden_field_tag 'track_type', @track_things[0].track_type %>
                        <%= hidden_field_tag 'user', @display_user.id %>
                        <%= hidden_field_tag 'r', request.request_uri %>
                        <% if @track_things.size > 1 %>
                            <%= submit_tag "unsubscribe all" %>
                        <% end %>

                <% end %>
            <% end %>

        <% for track_type, track_things in @track_things_grouped %>
            <% if @track_things_grouped.size > 1 %>
                <% form_tag :controller => 'track', :action => 'delete_all_type' do %>

                        <%=TrackThing.track_type_description(track_type)%>
                        <%= hidden_field_tag 'track_type', track_type %>
                        <%= hidden_field_tag 'user', @display_user.id %>
                        <%= hidden_field_tag 'r', request.request_uri %>
                        <% if track_things.size > 1 %>
                            <%= submit_tag "unsubscribe all" %>
                        <% end %>

                <% end %>
            <% end %>

            <% for track_thing in track_things %>

                    <% form_tag :controller => 'track', :action => 'update', :track_id => track_thing.id do %>

                            <%= track_thing.params[:list_description] %>
                            <%= hidden_field_tag 'track_medium', "delete", { :id => 'track_medium_' + track_thing.id.to_s } %>
                            <%= hidden_field_tag 'r', request.request_uri, { :id => 'r_' + track_thing.id.to_s }  %>
                            <%= submit_tag "unsubscribe" %>

                    <% end %>

            <% end %>

        <% end %>
    <% end %>

<% @title = h(@display_user.name) + (@is_you ? " (you)" : "") %>

<% if (@same_name_users.size >= 1) %>

There is more than one person who uses this site and has this name.
    One of them is shown below, you may mean a different one: <% for @same_name_user in @same_name_users %>
        <%= user_link(@same_name_user) %>
    <% end %>
<% end%>

<% if @is_you && @undescribed_requests.size > 0 %>

Please go to the following requests, and let us
        know if there was information in the recent responses to them.

        <% for undescribed_request in @undescribed_requests %>

<%=request_link(undescribed_request)%>

        <% end %>

            Thanks very much - this will help others find useful stuff. We'll
            also, if you need it, give advice on what to do next about your
            requests.

<% end %>

Track this person

    <%= render :partial => 'track/tracking_links', :locals => { :track_thing => @track_thing, :own_request => false, :location => 'sidebar' } %>

<%=@title%>

        Joined WhatDoTheyKnow in <%= year_from_date(@display_user.created_at) %>
        <% if !@user.nil? && @user.admin_page_links? %>
        (<%= link_to "admin", user_admin_url(@display_user) %>)
        <% end %>

        <%= link_to "Send message to " + h(@display_user.name), contact_user_url(:id => @display_user.id) %>
        <% if @is_you %>
            (just to see how it works)

<%= link_to "Change your password", signchange_url() %>
        <% end %>

    <% if not @is_you %>

            If you are <%=h @display_user.name %>, <%= link_to "sign in", signin_url(:r => request.request_uri) %> to change your password or alter your subscriptions.

    <% end %>

    <% if !@xapian_requests.nil? %>
        <% if @xapian_requests.results.empty? %>
            <% if @page == 1 %>

Freedom of Information requests made by <%= @is_you ? 'you' : 'this person' %>

<%= @is_you ? 'You have' : 'This person has' %>
                made no Freedom of Information requests using this site.

            <% end %>
        <% else %>

                <%= @is_you ? 'Your ' : "This person's " %>
                <%=pluralize(@display_user.info_requests.size, "Freedom of Information request") %>

                <%= @page_desc %>

            <% for result in @xapian_requests.results %>
                <%= render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
            <% end %>

            <%= will_paginate WillPaginate::Collection.new(@page, @per_page, @display_user.info_requests.size) %>
        <% end %>
    <% else %>

Freedom of Information requests made by <%= @is_you ? 'you' : 'this person' %>

The search index is currently offline, so we can't show the Freedom of Information requests this person has made.

    <% end %>

    <% if !@xapian_comments.nil? %>
        <% if @xapian_comments.results.empty? %>
            <% if @page == 1 %>

<%= @is_you ? 'Your' : 'This person\'s' %> annotations

None made.

            <% end %>
        <% else %>

                <%= @is_you ? 'Your ' : "This person's " %>
                <%=pluralize(@display_user.visible_comments.size, "annotation") %>

                <%= @page_desc %>

            <% for result in @xapian_comments.results %>
                <%= render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
            <% end %>

            <%= will_paginate WillPaginate::Collection.new(@page, @per_page, @display_user.visible_comments.size) %>
        <% end %>
    <% end %>

    <% if @is_you and not @track_things.empty? %>

            Your <%=pluralize(@track_things.size, "email subscription") %>
            <% if @track_things_grouped.size == 1 %>
                <% form_tag :controller => 'track', :action => 'delete_all_type' do %>

                        <%=TrackThing.track_type_description(@track_things[0].track_type)%>
                        <%= hidden_field_tag 'track_type', @track_things[0].track_type %>
                        <%= hidden_field_tag 'user', @display_user.id %>
                        <%= hidden_field_tag 'r', request.request_uri %>
                        <% if @track_things.size > 1 %>
                            <%= submit_tag "unsubscribe all" %>
                        <% end %>

                <% end %>
            <% end %>

        <% for track_type, track_things in @track_things_grouped %>
            <% if @track_things_grouped.size > 1 %>
                <% form_tag :controller => 'track', :action => 'delete_all_type' do %>

                        <%=TrackThing.track_type_description(track_type)%>
                        <%= hidden_field_tag 'track_type', track_type %>
                        <%= hidden_field_tag 'user', @display_user.id %>
                        <%= hidden_field_tag 'r', request.request_uri %>
                        <% if track_things.size > 1 %>
                            <%= submit_tag "unsubscribe all" %>
                        <% end %>

                <% end %>
            <% end %>

            <% for track_thing in track_things %>

                    <% form_tag :controller => 'track', :action => 'update', :track_id => track_thing.id do %>

                            <%= track_thing.params[:list_description] %>
                            <%= hidden_field_tag 'track_medium', "delete", { :id => 'track_medium_' + track_thing.id.to_s } %>
                            <%= hidden_field_tag 'r', request.request_uri, { :id => 'r_' + track_thing.id.to_s }  %>
                            <%= submit_tag "unsubscribe" %>

                    <% end %>

            <% end %>

        <% end %>
    <% end %>


Include public body name in page title for SEO reasons.  Closes #98.

<% @title = "#{h(@info_request.title)} - a Freedom of Information request to #{h(@info_request.public_body.name)}" %>

<% if @info_request.prominence == 'hidden' %>

    <%= _('This request has prominence \'hidden\'. You can only see it because you are logged
    in as a super user.') %>

<% end %>
<% if @info_request.prominence == 'requester_only' %>

    <%= _('This request is hidden, so that only you the requester can see it. Please
    contact us if you are not sure why.') % [help_requesting_path] %>

<% end %>

<% if @update_status || @info_request.awaiting_description %>

    <%= render :partial => 'describe_state', :locals => { :id_suffix => "1" } %>

<% end %>

<%= render :partial => 'sidebar' %>

<%=h(@info_request.title)%>

    <% if @info_request.user.profile_photo %>

            <img src="<%= get_profile_photo_url(:url_name => @info_request.user.url_name) %>" alt="">

    <% end %>

        <% if !@user.nil? && @user.admin_page_links? %>
            <%= _('{{user}} (admin) made this {{law_used_full}} request (admin) to {{public_body_link}} (admin)',
                    :user => user_link(@info_request.user),
                    :law_used_full => h(@info_request.law_used_full),
                    :user_admin_url => user_admin_url(@info_request.user),
                    :request_admin_url => request_admin_url(@info_request),
                    :public_body_link => public_body_link(@info_request.public_body),
                    :public_body_admin_url => public_body_admin_url(@info_request.public_body)) %>
        <% else %>
            <%= _('{{user}} made this {{law_used_full}} request',:user=>user_link(@info_request.user), :law_used_full=>h(@info_request.law_used_full)) %>
            <%= _('to {{public_body}}',:public_body=>public_body_link(@info_request.public_body)) %>
        <% end %>

    <p id="request_status" class="request_icon_line icon_<%= @info_request.calculate_status %>">
    <% if @info_request.awaiting_description %>
        <% if @is_owning_user %>
            <%= _('Please answer the question above so we know whether the ')%>
            <%= MySociety::Format.fancy_pluralize(@new_responses_count, 'recent response contains', 'recent responses contain') %> <%= _('useful information.') %>
        <% else %>
            <%= _('This request has an unknown status.') %>
            <% if @old_unclassified %>
              <%= _('We\'re waiting for someone to read') %>
              <%= MySociety::Format.fancy_pluralize(@new_responses_count, 'a recent response', 'recent responses') %>
              <%= _('and update the status accordingly. Perhaps you might like to help out by doing that?') %>
            <% else %>
            <%=  _('We\'re waiting for') %>
              <%= user_link(@info_request.user) %> <%= _('to read') %>
              <%= MySociety::Format.fancy_pluralize(@new_responses_count, 'a recent response', 'recent responses') %>
              <%= _('and update the status.') %>
            <% end %>
        <% end %>
    <% elsif @status == 'waiting_response' %>
		<%= _('Currently waiting for a response from {{public_body_link}}, they must respond promptly and', :public_body_link=> public_body_link(@info_request.public_body)) %>
        <% if @info_request.public_body.is_school? %>
        <%= _('in term time') %>
        <% else %>
        <%= _('normally') %>
        <% end %>
        <%= _('no later than') %> <%= simple_date(@info_request.date_response_required_by) %>
        (<%= link_to "details", "/help/requesting#quickly_response" %>).
    <% elsif @status == 'waiting_response_overdue' %>
        <%= _('Response to this request is delayed.') %>
		<%= _('By law, {{public_body_link}} should normally have responded promptly and',:public_body_link=>public_body_link(@info_request.public_body)) %>
            <% if @info_request.public_body.is_school? %>
            <%= _('in term time') %>
            <% end %>
            <%= _('by') %> <%= simple_date(@info_request.date_response_required_by) %>
		(<%= _('details') % [help_requesting_path + '#quickly_response'] %>)
    <% elsif @status == 'waiting_response_very_overdue' %>
        <%= _('Response to this request is long overdue.') %>
		<%= _('By law, under all circumstances, {{public_body_link}} should have responded by now',:public_body_link => public_body_link(@info_request.public_body)) %>
        (<%= _('details') % [help_requesting_path + '#quickly_response'] %>).
        <%= _('You can complain by') %>
        <%= link_to _("requesting an internal review"), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup" %>.
    <% elsif @status == 'not_held' %>
        <%= public_body_link(@info_request.public_body) %> <%= _('did not have the information requested.') %>
    <% elsif @status == 'rejected' %>
        <%= _('The request was refused by') %> <%= public_body_link(@info_request.public_body) %>.
    <% elsif @status == 'successful' %>
        <%= _('The request was successful.') %>
    <% elsif @status == 'partially_successful' %>
        <%= _('The request was partially successful.') %>
    <% elsif @status == 'waiting_clarification' %>
        <% if @is_owning_user %>
            <%=h @info_request.public_body.name %> <%= _('is waiting for your clarification.') %>
            <%= _('Please') %>
              <%= link_to _("send a follow up message"), respond_to_last_url(@info_request) + '#followup' %>.
        <% else %>
            <%= _('The request is waiting for clarification.') %>
			<%= _('If you are {{user_link}}, please',:user_link=>user_link(@info_request.user)) %>
            <%= link_to _("sign in"), signin_url(:r => request.request_uri) %> <%= _('to send a follow up message.') %>
        <% end %>
    <% elsif @status == 'gone_postal' %>
        <%= _('The authority would like to / has responded by post to this request.') %>
    <% elsif @status == 'internal_review' %>
		<%= _('Waiting for an internal review by {{public_body_link}} of their handling of this request.',:public_body_link=>public_body_link(@info_request.public_body)) %>
    <% elsif @status == 'error_message' %>
        <%= _('There was a delivery error or similar, which needs fixing by the WhatDoTheyKnow team.') %>
    <% elsif @status == 'requires_admin' %>
        <%= _('This request has had an unusual response, and requires attention from the WhatDoTheyKnow team.') %>
    <% elsif @status == 'user_withdrawn' %>
        <%= _('This request has been withdrawn by the person who made it.
        	   There may be an explanation in the correspondence below.') %>
    <% else %>
        <%= render :partial => 'general/custom_state_descriptions', :locals => { :status => @status } %>
    <% end %>

    <% for info_request_event in @info_request_events %>
        <% if info_request_event.visible %>
            <%= render :partial => 'correspondence', :locals => { :info_request_event => info_request_event } %>
        <% end %>
    <% end %>

    <% if @info_request.awaiting_description %>

        <%= render :partial => 'describe_state', :locals => { :id_suffix => "2" } %>

    <% end %>

    <%= render :partial => 'after_actions' %>

<% @title = h(@info_request.title) %>

<% if @info_request.prominence == 'hidden' %>

    <%= _('This request has prominence \'hidden\'. You can only see it because you are logged
    in as a super user.') %>

<% end %>
<% if @info_request.prominence == 'requester_only' %>

    <%= _('This request is hidden, so that only you the requester can see it. Please
    contact us if you are not sure why.') % [help_requesting_path] %>

<% end %>

<% if @update_status || @info_request.awaiting_description %>

    <%= render :partial => 'describe_state', :locals => { :id_suffix => "1" } %>

<% end %>

<%= render :partial => 'sidebar' %>

<%=@title%>

    <% if @info_request.user.profile_photo %>

            <img src="<%= get_profile_photo_url(:url_name => @info_request.user.url_name) %>" alt="">

    <% end %>

        <% if !@user.nil? && @user.admin_page_links? %>
            <%= _('{{user}} (admin) made this {{law_used_full}} request (admin) to {{public_body_link}} (admin)',
                    :user => user_link(@info_request.user),
                    :law_used_full => h(@info_request.law_used_full),
                    :user_admin_url => user_admin_url(@info_request.user),
                    :request_admin_url => request_admin_url(@info_request),
                    :public_body_link => public_body_link(@info_request.public_body),
                    :public_body_admin_url => public_body_admin_url(@info_request.public_body)) %>
        <% else %>
            <%= _('{{user}} made this {{law_used_full}} request',:user=>user_link(@info_request.user), :law_used_full=>h(@info_request.law_used_full)) %>
            <%= _('to {{public_body}}',:public_body=>public_body_link(@info_request.public_body)) %>
        <% end %>

    <p id="request_status" class="request_icon_line icon_<%= @info_request.calculate_status %>">
    <% if @info_request.awaiting_description %>
        <% if @is_owning_user %>
            <%= _('Please answer the question above so we know whether the ')%>
            <%= MySociety::Format.fancy_pluralize(@new_responses_count, 'recent response contains', 'recent responses contain') %> <%= _('useful information.') %>
        <% else %>
            <%= _('This request has an unknown status.') %>
            <% if @old_unclassified %>
              <%= _('We\'re waiting for someone to read') %>
              <%= MySociety::Format.fancy_pluralize(@new_responses_count, 'a recent response', 'recent responses') %>
              <%= _('and update the status accordingly. Perhaps you might like to help out by doing that?') %>
            <% else %>
            <%=  _('We\'re waiting for') %>
              <%= user_link(@info_request.user) %> <%= _('to read') %>
              <%= MySociety::Format.fancy_pluralize(@new_responses_count, 'a recent response', 'recent responses') %>
              <%= _('and update the status.') %>
            <% end %>
        <% end %>
    <% elsif @status == 'waiting_response' %>
		<%= _('Currently waiting for a response from {{public_body_link}}, they must respond promptly and', :public_body_link=> public_body_link(@info_request.public_body)) %>
        <% if @info_request.public_body.is_school? %>
        <%= _('in term time') %>
        <% else %>
        <%= _('normally') %>
        <% end %>
        <%= _('no later than') %> <%= simple_date(@info_request.date_response_required_by) %>
        (<%= link_to "details", "/help/requesting#quickly_response" %>).
    <% elsif @status == 'waiting_response_overdue' %>
        <%= _('Response to this request is delayed.') %>
		<%= _('By law, {{public_body_link}} should normally have responded promptly and',:public_body_link=>public_body_link(@info_request.public_body)) %>
            <% if @info_request.public_body.is_school? %>
            <%= _('in term time') %>
            <% end %>
            <%= _('by') %> <%= simple_date(@info_request.date_response_required_by) %>
		(<%= _('details') % [help_requesting_path + '#quickly_response'] %>)
    <% elsif @status == 'waiting_response_very_overdue' %>
        <%= _('Response to this request is long overdue.') %>
		<%= _('By law, under all circumstances, {{public_body_link}} should have responded by now',:public_body_link => public_body_link(@info_request.public_body)) %>
        (<%= _('details') % [help_requesting_path + '#quickly_response'] %>).
        <%= _('You can complain by') %>
        <%= link_to _("requesting an internal review"), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup" %>.
    <% elsif @status == 'not_held' %>
        <%= public_body_link(@info_request.public_body) %> <%= _('did not have the information requested.') %>
    <% elsif @status == 'rejected' %>
        <%= _('The request was refused by') %> <%= public_body_link(@info_request.public_body) %>.
    <% elsif @status == 'successful' %>
        <%= _('The request was successful.') %>
    <% elsif @status == 'partially_successful' %>
        <%= _('The request was partially successful.') %>
    <% elsif @status == 'waiting_clarification' %>
        <% if @is_owning_user %>
            <%=h @info_request.public_body.name %> <%= _('is waiting for your clarification.') %>
            <%= _('Please') %>
              <%= link_to _("send a follow up message"), respond_to_last_url(@info_request) + '#followup' %>.
        <% else %>
            <%= _('The request is waiting for clarification.') %>
			<%= _('If you are {{user_link}}, please',:user_link=>user_link(@info_request.user)) %>
            <%= link_to _("sign in"), signin_url(:r => request.request_uri) %> <%= _('to send a follow up message.') %>
        <% end %>
    <% elsif @status == 'gone_postal' %>
        <%= _('The authority would like to / has responded by post to this request.') %>
    <% elsif @status == 'internal_review' %>
		<%= _('Waiting for an internal review by {{public_body_link}} of their handling of this request.',:public_body_link=>public_body_link(@info_request.public_body)) %>
    <% elsif @status == 'error_message' %>
        <%= _('There was a delivery error or similar, which needs fixing by the WhatDoTheyKnow team.') %>
    <% elsif @status == 'requires_admin' %>
        <%= _('This request has had an unusual response, and requires attention from the WhatDoTheyKnow team.') %>
    <% elsif @status == 'user_withdrawn' %>
        <%= _('This request has been withdrawn by the person who made it.
        	   There may be an explanation in the correspondence below.') %>
    <% else %>
        <%= render :partial => 'general/custom_state_descriptions', :locals => { :status => @status } %>
    <% end %>

    <% for info_request_event in @info_request_events %>
        <% if info_request_event.visible %>
            <%= render :partial => 'correspondence', :locals => { :info_request_event => info_request_event } %>
        <% end %>
    <% end %>

    <% if @info_request.awaiting_description %>

        <%= render :partial => 'describe_state', :locals => { :id_suffix => "2" } %>

    <% end %>

    <%= render :partial => 'after_actions' %>


Oops. accidently deleted file in last commit

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/4bic/alaveteli.git/'


Also disable paging for type-ahead search results

Same problem as previous commit to this (wdtk) branch.

 <% if !@xapian_requests.nil? %>
  <% if @xapian_requests.results.size > 0 %>

<%= _('Top search results:') %>

      <%= _('Select one to see more information about the authority.')%>

  <% else %>

<%= _('No results found.') %>

  <% end %>

    <% for result in @xapian_requests.results %>
      <%= render :partial => 'body_listing_single', :locals => { :public_body => result[:model] } %>
    <% end %>

 <% end %>

 <% if !@xapian_requests.nil? %>
  <% if @xapian_requests.results.size > 0 %>

<%= _('Top search results:') %>

      <%= _('Select one to see more information about the authority.')%>

  <% else %>

<%= _('No results found.') %>

  <% end %>

    <% for result in @xapian_requests.results %>
      <%= render :partial => 'body_listing_single', :locals => { :public_body => result[:model] } %>
    <% end %>

  <%= will_paginate WillPaginate::Collection.new(@page, 10, @xapian_requests.matches_estimated) %>
 <% end %>


Copy across outgoing email footer from main project

<%= _('Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:')%>
<%= help_officers_url %>

<%= _('If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation\'s FOI page.')%>

error: pathspec 'lib/views/outgoing_mailer/_followup_footer.rhtml' did not match any file(s) known to git


Forgot to add the test template for the new auto-completer.

git-svn-id: 3ebd8a4fd9006ff03462623fffc479a1d4750d42@1055 7a65b82a-1d14-0410-b525-e2835e71a0b4

<form>

    Name: <input type="text_field" size="40" id="tester"/>

</form>

error: pathspec 'app/views/observer/test.rhtml' did not match any file(s) known to git


Use relative url.

Use relative url.

<% include_destroy = include_destroy || false %>
<% if track_things.empty? %>

      <%=_("No tracked things found.")%>

<% else %>

    <% for track_thing in track_things %>

          <a href="#track_<%=track_thing.id%>" data-toggle="collapse" data-parent="requests">
          <%=track_thing.id%>:
          <% if track_thing.public_body_id %>
            <%= link_to "#{h track_thing.track_query}".html_safe, public_body_path(track_thing.public_body) %>
          <% elsif track_thing.info_request_id %>
            <%= link_to "#{h track_thing.track_query}".html_safe, request_path(track_thing.info_request) %>
          <% elsif track_thing.tracked_user_id %>
            <%= link_to "#{h track_thing.track_query}".html_safe, user_path(track_thing.tracked_user) %>
          <% else %>
            <%=h track_thing.track_query%>
          <% end %>
          <% if @admin_user.nil? %>
            <%# Do not show this on the list of tracks on the user page, because it’s rather repetitive there %>
            tracked by <%=link_to ''.html_safe, admin_user_show_path(track_thing.tracking_user) %> <%=link_to h(track_thing.tracking_user.name), user_path(track_thing.tracking_user) %>
          <% end %>

        <div id="track_<%=track_thing.id%>" class="accordion-body collapse">

              <% if include_destroy %>

                    <% form_tag '../../user/destroy_track', :class => "form form-inline admin-table-form" do %>

                        <%= hidden_field_tag 'track_id', track_thing.id %>
                        <%= submit_tag "Destroy track", :class => "btn btn-warning" %>

                    <% end %>

              <% end %>
              <% TrackThing.content_columns.each do |column| %>

                  <%=column.human_name%>

                  <% if column.type.to_s == 'datetime' %>
                    <%= I18n.l(track_thing.send(column.name), :format => "%e %B %Y %H:%M:%S") %>
                    (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(track_thing.send(column.name))) %>)
                  <% elsif column.name == 'track_medium' and track_thing.track_medium == 'feed' %>
                    <%= link_to track_thing.track_medium, atom_feed_url(:track_id => track_thing.id) %>
                  <% else %>
                    <%= h track_thing.send(column.name)%>
                  <% end %>

              <% end %>

                <%=_("Items sent in last month")%>
                <%= track_thing.track_things_sent_emails.size %>

    <% end %>

<% end %>

<% include_destroy = include_destroy || false %>
<% if track_things.empty? %>

      <%=_("No tracked things found.")%>

<% else %>

    <% for track_thing in track_things %>

          <a href="#track_<%=track_thing.id%>" data-toggle="collapse" data-parent="requests">
          <%=track_thing.id%>:
          <% if track_thing.public_body_id %>
            <%= link_to "#{h track_thing.track_query}".html_safe, public_body_path(track_thing.public_body) %>
          <% elsif track_thing.info_request_id %>
            <%= link_to "#{h track_thing.track_query}".html_safe, request_path(track_thing.info_request) %>
          <% elsif track_thing.tracked_user_id %>
            <%= link_to "#{h track_thing.track_query}".html_safe, user_path(track_thing.tracked_user) %>
          <% else %>
            <%=h track_thing.track_query%>
          <% end %>
          <% if @admin_user.nil? %>
            <%# Do not show this on the list of tracks on the user page, because it’s rather repetitive there %>
            tracked by <%=link_to ''.html_safe, admin_user_show_url(track_thing.tracking_user) %> <%=link_to h(track_thing.tracking_user.name), user_path(track_thing.tracking_user) %>
          <% end %>

        <div id="track_<%=track_thing.id%>" class="accordion-body collapse">

              <% if include_destroy %>

                    <% form_tag '../../user/destroy_track', :class => "form form-inline admin-table-form" do %>

                        <%= hidden_field_tag 'track_id', track_thing.id %>
                        <%= submit_tag "Destroy track", :class => "btn btn-warning" %>

                    <% end %>

              <% end %>
              <% TrackThing.content_columns.each do |column| %>

                  <%=column.human_name%>

                  <% if column.type.to_s == 'datetime' %>
                    <%= I18n.l(track_thing.send(column.name), :format => "%e %B %Y %H:%M:%S") %>
                    (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(track_thing.send(column.name))) %>)
                  <% elsif column.name == 'track_medium' and track_thing.track_medium == 'feed' %>
                    <%= link_to track_thing.track_medium, atom_feed_url(:track_id => track_thing.id) %>
                  <% else %>
                    <%= h track_thing.send(column.name)%>
                  <% end %>

              <% end %>

                <%=_("Items sent in last month")%>
                <%= track_thing.track_things_sent_emails.size %>

    <% end %>

<% end %>


Replaced one more .has_extended? call by .extended? (fixes #153)

git-svn-id: 70ab0960c3db1cbf656efd6df54a8f3de72dc710@327 820eb932-12ee-0310-9ca8-eeb645f39767

<% if @articles.to_a.empty? -%>

No articles found...

<% else -%>

<% for article in @articles -%>
  <%= render_partial "article", article %>
  <%= article_link "Read more...", article if article.extended?%>
<% end -%>

<% end -%>

<% if @articles.to_a.empty? -%>

No articles found...

<% else -%>

<% for article in @articles -%>
  <%= render_partial "article", article %>
  <%= article_link "Read more...", article if article.has_extended?%>
<% end -%>

<% end -%>


forgot user mailer stuff

forgot user mailer stuff

git-svn-id: 4158f9403e16ea83fe8a6e07a45f1f3b56a747ab@2192 567b1171-46fb-0310-a4c9-b4bef9110e78

Please visit the link below to reset your password.

<%= @url %>

error: pathspec 'app/views/user_mailer/forgot_password.rhtml' did not match any file(s) known to git


Fix display of tags for venues

Fix display of tags for venues

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/graysky/tourbus.git/'


fix adding a show as a band

fix adding a show as a band


task list partial DRY

task list partial DRY

<% task = task_list %>

    <%= task.title %>

      <% for user in task.users %>
      <%= user.name %>

      <% end %>

      <%= task.repeat == 0 ? "Daily" : '' %>
      <%= task.repeat == 1 ? "Every Sunday" : '' %>
      <%= task.repeat == 2 ? "Every Monday" : '' %>
      <%= task.repeat == 3 ? "Every Tuesday" : '' %>
      <%= task.repeat == 4 ? "Every Wednesday" : '' %>
      <%= task.repeat == 5 ? "Every Thursday" : '' %>
      <%= task.repeat == 6 ? "Every Friday" : '' %>
      <%= task.repeat == 7 ? "Every Saturday" : '' %>

    <%= nice_date task.last_done_date %>
    <%= link_to 'Show', :action => 'show', :id => task %>
    <%= link_to 'Edit', :action => 'edit', :id => task %>
    <%= link_to 'Destroy', { :action => 'destroy', :id => task }, :confirm => 'Are you sure?', :post => true %>

error: pathspec 'batkeeping/app/views/tasks/_task_list.rhtml' did not match any file(s) known to git


quick experiment with PNG hack placement.


changed link to blog.

changed link to blog.


Don't escape text emails

Don't escape text emails

<%
    # Construct the main text of the mail
    main_text = ''
    for track_thing, alert_results, xapian_object in @email_about_things
        main_text += track_thing.params[:title_in_email] + "\n"
        main_text += ("=" * track_thing.params[:title_in_email].size) + "\n\n"
        @highlight_words = xapian_object.words_to_highlight
        for result in alert_results.reverse
            if result[:model].class.to_s == "InfoRequestEvent"
                event = result[:model]

                # Request title - only add title if we're not tracking a request.
                # e.g. -- Address and opening times of Post Office branches --
                if track_thing.info_request.nil?
                    main_text += "-- " + highlight_words(event.info_request.title, @highlight_words, false) + " --\n"
                end

                # e.g. Julian Burgess sent a request to Royal Mail Group (15 May 2008)
                if event.event_type == 'response'
                    url = main_url(incoming_message_url(event.incoming_message))
                    main_text += _("{{public_body}} sent a response to {{user_name}}", :public_body => event.info_request.public_body.name, :user_name => event.info_request.user_name)
                elsif event.event_type == 'followup_sent'
                    url = main_url(outgoing_message_url(event.outgoing_message))
                    main_text += _("{{user_name}} sent a follow up message to {{public_body}}", :user_name => event.info_request.user_name, :public_body => event.info_request.public_body.name)
                elsif event.event_type == 'sent'
                    # this is unlikely to happen in real life, but happens in the test code
                    url = main_url(outgoing_message_url(event.outgoing_message))
                    main_text += _("{{user_name}} sent a request to {{public_body}}", :user_name => event.info_request.user_name, :public_body => event.info_request.public_body.name)
                elsif event.event_type == 'comment'
                    url = main_url(comment_url(event.comment))
                    main_text += _("{{user_name}} added an annotation", :user_name => event.comment.user.name)
                else
                    raise "unknown type in event_digest " + event.event_type
                end
                main_text += " (" + simple_date(event.created_at) + ")\n"

                # Main text, wrapped, words highlighted with * and indented.
                if event.is_outgoing_message?
                    extract = highlight_and_excerpt(event.outgoing_message.get_text_for_indexing, @highlight_words, 150, false)
                elsif event.is_incoming_message?
                    extract = highlight_and_excerpt(event.incoming_message.get_text_for_indexing_clipped, @highlight_words, 150, false)
                elsif event.is_comment?
                    extract = highlight_and_excerpt(event.comment.body, @highlight_words, 150, false)
                else
                    extract = highlight_and_excerpt(info_request.initial_request_text, @highlight_words, 150, false)
                end
                extract = extract.gsub(/\s+/, ' ')
                main_text += MySociety::Format.wrap_email_body_by_lines('"' + extract + '"').gsub(/\n+$/, "") + "\n"

                # Link to the request/response
                main_text += url + "\n"
                main_text += "\n"
            else
                raise "need to add other types to TrackMailer.event_digest"
            end
        end
        main_text += "\n"
    end

%><%=raw main_text%><%= _("Alter your subscription")%>
=======================

<% _("Please click on the link below to cancel or alter these emails.") %>
<%=@unsubscribe_url%>

-- <%= _('the {{site_name}} team', :site_name=>site_name) %>

<%
    # Construct the main text of the mail
    main_text = ''
    for track_thing, alert_results, xapian_object in @email_about_things
        main_text += track_thing.params[:title_in_email] + "\n"
        main_text += ("=" * track_thing.params[:title_in_email].size) + "\n\n"
        @highlight_words = xapian_object.words_to_highlight
        for result in alert_results.reverse
            if result[:model].class.to_s == "InfoRequestEvent"
                event = result[:model]

                # Request title - only add title if we're not tracking a request.
                # e.g. -- Address and opening times of Post Office branches --
                if track_thing.info_request.nil?
                    main_text += "-- " + highlight_words(event.info_request.title, @highlight_words, false) + " --\n"
                end

                # e.g. Julian Burgess sent a request to Royal Mail Group (15 May 2008)
                if event.event_type == 'response'
                    url = main_url(incoming_message_url(event.incoming_message))
                    main_text += _("{{public_body}} sent a response to {{user_name}}", :public_body => event.info_request.public_body.name, :user_name => event.info_request.user_name)
                elsif event.event_type == 'followup_sent'
                    url = main_url(outgoing_message_url(event.outgoing_message))
                    main_text += _("{{user_name}} sent a follow up message to {{public_body}}", :user_name => event.info_request.user_name, :public_body => event.info_request.public_body.name)
                elsif event.event_type == 'sent'
                    # this is unlikely to happen in real life, but happens in the test code
                    url = main_url(outgoing_message_url(event.outgoing_message))
                    main_text += _("{{user_name}} sent a request to {{public_body}}", :user_name => event.info_request.user_name, :public_body => event.info_request.public_body.name)
                elsif event.event_type == 'comment'
                    url = main_url(comment_url(event.comment))
                    main_text += _("{{user_name}} added an annotation", :user_name => event.comment.user.name)
                else
                    raise "unknown type in event_digest " + event.event_type
                end
                main_text += " (" + simple_date(event.created_at) + ")\n"

                # Main text, wrapped, words highlighted with * and indented.
                if event.is_outgoing_message?
                    extract = highlight_and_excerpt(event.outgoing_message.get_text_for_indexing, @highlight_words, 150, false)
                elsif event.is_incoming_message?
                    extract = highlight_and_excerpt(event.incoming_message.get_text_for_indexing_clipped, @highlight_words, 150, false)
                elsif event.is_comment?
                    extract = highlight_and_excerpt(event.comment.body, @highlight_words, 150, false)
                else
                    extract = highlight_and_excerpt(info_request.initial_request_text, @highlight_words, 150, false)
                end
                extract = extract.gsub(/\s+/, ' ')
                main_text += MySociety::Format.wrap_email_body_by_lines('"' + extract + '"').gsub(/\n+$/, "") + "\n"

                # Link to the request/response
                main_text += url + "\n"
                main_text += "\n"
            else
                raise "need to add other types to TrackMailer.event_digest"
            end
        end
        main_text += "\n"
    end

%><%=main_text%><%= _("Alter your subscription")%>
=======================

<% _("Please click on the link below to cancel or alter these emails.") %>
<%=@unsubscribe_url%>

-- <%= _('the {{site_name}} team', :site_name=>site_name) %>


Update CSV import description in view to cover tags (issue #60)

<% @title = "Upload CSV of public authorities" %>

<%=@title%>

<% if not @notes.empty? %>

<%=@notes %>

<% end %>
<% if not @errors.empty? %>

<%=@errors %>

<% end %>

<% form_tag 'import_csv', :multipart => true do %>

    CSV file:
    <%= file_field_tag :csv_file, :size => 40 %>

    Optional: Tag to add entries to / alter entries for:
    <%= text_field_tag 'tag', params[:tag] %>

CSV file format: A first row with the list of fields,
    starting with '#', is optional but highly recommended. The fields 'name'
    and 'request_email' are required; additionaly, translated values are supported by
    adding the locale name to the field name, e.g. 'name.es', 'name.de'... Example:

        #id,name,request_email,name.es,tag_string

        1,An Authority,a@example.com,Un organismo,a_tag another_tag

        2,Another One,another@example.com,Otro organismo,a_tag

Supported fields: name (i18n), short_name (i18n), request_email (i18n), notes (i18n),
    publication_scheme (i18n), home_page, tag_string (tags separated by spaces).

Note: Choose dry run to test, without
    actually altering the database. Choose upload to actually
    make the changes. In either case, you will be shown any errors, or details
    of the changes.  When uploading, any changes since last import will be
    overwritten - e.g.  email addresses changed back.

<%= submit_tag 'Dry run' %> <%= submit_tag 'Upload' %>

<% end %>

Standard tags:
    <% for category, description in PublicBodyCategories::CATEGORIES_BY_TAG %>
        <% if category != "other" %>
            <%= category %>=<%= description %>;
        <% end %>
    <% end %>

<% @title = "Upload CSV of public authorities" %>

<%=@title%>

<% if not @notes.empty? %>

<%=@notes %>

<% end %>
<% if not @errors.empty? %>

<%=@errors %>

<% end %>

<% form_tag 'import_csv', :multipart => true do %>

    CSV file:
    <%= file_field_tag :csv_file, :size => 40 %>

    Optional: Tag to add entries to / alter entries for:
    <%= text_field_tag 'tag', params[:tag] %>

CSV file format: A first row with the list of fields,
    starting with '#', is optional but highly recommended. The fields 'name'
    and 'request_email' are required; additionaly, translated values are supported by
    adding the locale name to the field name, e.g. 'name.es', 'name.de'... Example:

        #id,name,request_email,name.es

        1,An Authority,a@example.com,Un organismo

        2,Another One,another@example.com,Otro organismo

Supported files: name (i18n), short_name (i18n), request_email (i18n), notes (i18n),
    publication_scheme (i18n), home_page.

Note: Choose dry run to test, without
    actually altering the database. Choose upload to actually
    make the changes. In either case, you will be shown any errors, or details
    of the changes.  When uploading, any changes since last import will be
    overwritten - e.g.  email addresses changed back.

<%= submit_tag 'Dry run' %> <%= submit_tag 'Upload' %>

<% end %>

Standard tags:
    <% for category, description in PublicBodyCategories::CATEGORIES_BY_TAG %>
        <% if category != "other" %>
            <%= category %>=<%= description %>;
        <% end %>
    <% end %>


Update index.rhtml

Update index.rhtml

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/gamegenius/ggmc.git/'


Correct help unhappy path.

Correct help unhappy path.

<% @title = "Making requests" %>

<%= render :partial => 'sidebar' %>

<%= @title %>

I'm not sure which authority to make my request to, how can I find out? #

It can be hard to untangle government's complicated structured, and work out
  who knows the information that you want. Here are a few tips:

Browse or search WhatDoTheyKnow looking for similar requests to yours.

When you've found an authority you think might have the information, use
  the "home page" link on the right hand side of their page to check what they do
  on their website.

Contact the authority by phone or email to ask if they hold the kind of
  information you're after.

Don't worry excessively about getting the right authority. If you get it
  wrong, they ought to advise you who to make the request to instead.

If you've got a thorny case, please <a href="<%= help_contact_path %>">contact us for help.

You're missing the public authority that I want to request from! #

Please <a href="<%= help_contact_path %>">contact us with the name of the public authority and,
  if you can find it, their contact email address for Freedom of Information requests.

If you'd like to help add a whole category of public authority to the site, we'd love
  to hear from you too.

Why do you include some authorities that aren't formally subject to FOI?#

WhatDoTheyKnow lets you make requests for information to a range of
  organisations:

 Those formally subject to the FOI Act

 Those formally subject to the Environmental Regulations (a less well
    defined group)

 Those which voluntarily comply with the FOI Act

 Those which aren't subject to the Act but we think should be, on grounds
    such as them having significant public responsibilities.

In the last case, we're using the site to lobby for expansion of the
  scope of the FOI Act. Even if an organisation is not legally obliged to respond
  to an FOI request, they can still do so voluntarily.

Why must I keep my request focused?#

  Please put in your request only what is needed so that someone can
  easily identify what information you are asking for. Please do
  not include any of the following:

arguments about your cause

statements that could defame or insult others

  If you do, we may have to remove your request to avoid problems with
  libel law, which is a pain for both you and us. Short, succinct messages
  make it easier for authorities to be clear what information you are
  requesting, which means you will get a reply more quickly.

  If you want information to support an argument or campaign, Freedom of
  Information is a powerful tool. Although you may not use this site to
  run your campaign, we encourage you to use it to get the information you
  need. We also encourage to run your campaign elsewhere - one effective
  and very easy way is to <%= link_to 'start your own blog',
  "http://wordpress.com/"%>. You are welcome to link to your campaign
  from this site in an annotation to your request (you can make
  annotations after submitting the request).

Does it cost me anything to make a request?#

Making an FOI request is nearly always free.

Authorities often include unnecessary, scary, boilerplate in
  acknowledgement messages saying they "may" charge a fee. Ignore such notices.
  They hardly ever will actually charge a fee.  If they do, they can only charge you if
  you have specifically agreed in advance to pay.  More
      details from the Information Commissioner.

Sometimes an authority will refuse your request, saying that the cost
  of handling it exceeds £600 (for central government) or £450 (for all other
  public authorities). At this point you can refine your
  request. e.g. it would be much cheaper for an authority to tell you the amount
  spent on marshmallows in the past year than in the past ten years.

How quickly will I get a response? #

By law, public authorities must respond promptly to
  requests.

Even if they are not prompt, in nearly all cases they must respond within
  20 working days. If you had to clarify your request, or they are a school,
  or one or two other cases, then they may have more time
  (<a href="<%= help_officers_path(:anchor => 'days') %>">full details).

WhatDoTheyKnow will email you if you don't get a timely response.  You can
  then send the public authority a message to remind them, and tell them if they
  are breaking the law.

Deadline extended #

By law, public authorities must needs more time for request ... (TO DO)

What if I never get a response?#

There are several things you can do if you never get a response.

Sometimes there has been a genuine problem and the authority never
      received the request. It is worth telephoning the authority and politely
      checking that they received the request. It was sent to them by email.

If they have not received it, the problem is most likely due to
      "spam filters". Refer the authority to the measures in the answer
      '<a href="<%= help_officers_path(:anchor => 'spam_problems') %>">I can see a request on WhatDoTheyKnow, but we never got it by email!'
      in the FOI officers section of this help.

If you're still having no luck, then you can ask for an internal review,
      and then complain to the Information Commissioner about the authority.
      Read our page '<a href="<%= help_general_path(:action => 'unhappy') %>">Unhappy about the response you got?'.

What if I'm not satisfied with the response? #

If you didn't get the information you asked for, or you didn't get it in time,
  then read our page '<a href="<%= help_general_path(:action => 'unhappy') %>">Unhappy about the response you got?'.

It says I can't re-use the information I got!#

Authorities often add legal boilerplate about the
  "Re-Use of Public Sector
  Information Regulations 2005", which at first glance implies you may not
  be able do anything with the information.

You can, of course, write articles about the information or summarise it, or
  quote parts of it. We also think you should feel free to republish the
  information in full, just as we do, even though in theory you might not be
  allowed to do so.  See <a href="<%= help_officers_path(:anchor => 'copyright') %>">our policy on copyright.

Can you tell me more of the nitty gritty about the process of making requests? #

Have a look at the
  access to official information
  pages on the Information Commissioner's website.

If you're requesting information from a Scottish public authority,
  the process is very similar. There are differences around time
  limits for compliance.
  See the Scottish
  Information Commissioner's guidance for details.

Can I request information about myself? #

No. Requests made using WhatDoTheyKnow are public, made under the Freedom of
  Information Act, and cannot help you find information about a private
  individual.

If you would like to know what information a public
  authority holds about yourself, you should make a "Subject Access Request" in
  private using Data Protection law.  The leaflet "How to access your information" (on the Information Commissioner's
  website) explains how to do this.

If you see that somebody has included personal information, perhaps
  unwittingly, in a request, please <a href="<%= help_contact_path %>">contact us
  immediately so we can remove it.

I'd like to keep my request secret! (At least until I publish my story) #

WhatDoTheyKnow is currently only designed for public requests. All
  responses that we receive are automatically published on the website for anyone
  to read.

You should contact the public authority directly if you would like to
  make a request in private.  If you're interested in buying a system which helps
  you manage FOI requests in secret, then <a href="<%= help_contact_path %>">contact us.

Why can I only request information about the environment from some authorities? #

Some public authorities, such as South East Water,
  don't come under the Freedom of Information Act, but do come under another law called
  the Environmental Information Regulations (EIR).

It's a very similar law, so you make a request
  to them using WhatDoTheyKnow in just the same way as an FOI request. The only
  difference is that on the page where your write you request, it reminds you
  that you can only request "environmental information" and tells you what that
  means. It is quite broad.

You can, of course, request environmental information from other
  authorities. Just make a Freedom of Information (FOI) request as normal. The
  authority has a duty to work out if the Environmental Information Regulations
  (EIR) is the more appropriate legislation to reply under.

Can I make the same to request to lots of authorities, e.g. all councils? #

We ask you to first send a test version of your request to a few
  authorities. Their responses will help you improve the wording of your request,
  so that you get the best information when you send the request to all of
  the authorities. There is currently no automated system for sending the request
  to the other authorities, you must copy and paste it by hand.

I made a request off the site, how do I upload it to the archive?#

WhatDoTheyKnow is an archive of requests made through the site,
  and does not try to be an archive of all FOI requests. We'll never support uploading
  other requests. For one thing, we wouldn't be able to verify that other
  responses actually came from the authority. If this really matters to you,
  you can always make the same request again via WhatDoTheyKnow.

How do you moderate request annotations? #

Annotations on WhatDoTheyKnow are to help
  people get the information they want, or to give them pointers to places they
  can go to help them act on it. We reserve the right to remove anything else.

Endless, political discussions are not allowed.
  Post a link to a suitable forum or campaign site elsewhere.

Next, read about <a href="<%= help_privacy_path %>">your privacy -->

<% @title = "Making requests" %>

<%= render :partial => 'sidebar' %>

<%= @title %>

I'm not sure which authority to make my request to, how can I find out? #

It can be hard to untangle government's complicated structured, and work out
  who knows the information that you want. Here are a few tips:

Browse or search WhatDoTheyKnow looking for similar requests to yours.

When you've found an authority you think might have the information, use
  the "home page" link on the right hand side of their page to check what they do
  on their website.

Contact the authority by phone or email to ask if they hold the kind of
  information you're after.

Don't worry excessively about getting the right authority. If you get it
  wrong, they ought to advise you who to make the request to instead.

If you've got a thorny case, please <a href="<%= help_contact_path %>">contact us for help.

You're missing the public authority that I want to request from! #

Please <a href="<%= help_contact_path %>">contact us with the name of the public authority and,
  if you can find it, their contact email address for Freedom of Information requests.

If you'd like to help add a whole category of public authority to the site, we'd love
  to hear from you too.

Why do you include some authorities that aren't formally subject to FOI?#

WhatDoTheyKnow lets you make requests for information to a range of
  organisations:

 Those formally subject to the FOI Act

 Those formally subject to the Environmental Regulations (a less well
    defined group)

 Those which voluntarily comply with the FOI Act

 Those which aren't subject to the Act but we think should be, on grounds
    such as them having significant public responsibilities.

In the last case, we're using the site to lobby for expansion of the
  scope of the FOI Act. Even if an organisation is not legally obliged to respond
  to an FOI request, they can still do so voluntarily.

Why must I keep my request focused?#

  Please put in your request only what is needed so that someone can
  easily identify what information you are asking for. Please do
  not include any of the following:

arguments about your cause

statements that could defame or insult others

  If you do, we may have to remove your request to avoid problems with
  libel law, which is a pain for both you and us. Short, succinct messages
  make it easier for authorities to be clear what information you are
  requesting, which means you will get a reply more quickly.

  If you want information to support an argument or campaign, Freedom of
  Information is a powerful tool. Although you may not use this site to
  run your campaign, we encourage you to use it to get the information you
  need. We also encourage to run your campaign elsewhere - one effective
  and very easy way is to <%= link_to 'start your own blog',
  "http://wordpress.com/"%>. You are welcome to link to your campaign
  from this site in an annotation to your request (you can make
  annotations after submitting the request).

Does it cost me anything to make a request?#

Making an FOI request is nearly always free.

Authorities often include unnecessary, scary, boilerplate in
  acknowledgement messages saying they "may" charge a fee. Ignore such notices.
  They hardly ever will actually charge a fee.  If they do, they can only charge you if
  you have specifically agreed in advance to pay.  More
      details from the Information Commissioner.

Sometimes an authority will refuse your request, saying that the cost
  of handling it exceeds £600 (for central government) or £450 (for all other
  public authorities). At this point you can refine your
  request. e.g. it would be much cheaper for an authority to tell you the amount
  spent on marshmallows in the past year than in the past ten years.

How quickly will I get a response? #

By law, public authorities must respond promptly to
  requests.

Even if they are not prompt, in nearly all cases they must respond within
  20 working days. If you had to clarify your request, or they are a school,
  or one or two other cases, then they may have more time
  (<a href="<%= help_officers_path(:anchor => 'days') %>">full details).

WhatDoTheyKnow will email you if you don't get a timely response.  You can
  then send the public authority a message to remind them, and tell them if they
  are breaking the law.

Deadline extended #

By law, public authorities must needs more time for request ... (TO DO)

What if I never get a response?#

There are several things you can do if you never get a response.

Sometimes there has been a genuine problem and the authority never
      received the request. It is worth telephoning the authority and politely
      checking that they received the request. It was sent to them by email.

If they have not received it, the problem is most likely due to
      "spam filters". Refer the authority to the measures in the answer
      '<a href="<%= help_officers_path(:anchor => 'spam_problems') %>">I can see a request on WhatDoTheyKnow, but we never got it by email!'
      in the FOI officers section of this help.

If you're still having no luck, then you can ask for an internal review,
      and then complain to the Information Commissioner about the authority.
      Read our page '<a href="<%= help_unhappy_path %>">Unhappy about the response you got?'.

What if I'm not satisfied with the response? #

If you didn't get the information you asked for, or you didn't get it in time,
  then read our page '<a href="<%= help_unhappy_path %>">Unhappy about the response you got?'.

It says I can't re-use the information I got!#

Authorities often add legal boilerplate about the
  "Re-Use of Public Sector
  Information Regulations 2005", which at first glance implies you may not
  be able do anything with the information.

You can, of course, write articles about the information or summarise it, or
  quote parts of it. We also think you should feel free to republish the
  information in full, just as we do, even though in theory you might not be
  allowed to do so.  See <a href="<%= help_officers_path(:anchor => 'copyright') %>">our policy on copyright.

Can you tell me more of the nitty gritty about the process of making requests? #

Have a look at the
  access to official information
  pages on the Information Commissioner's website.

If you're requesting information from a Scottish public authority,
  the process is very similar. There are differences around time
  limits for compliance.
  See the Scottish
  Information Commissioner's guidance for details.

Can I request information about myself? #

No. Requests made using WhatDoTheyKnow are public, made under the Freedom of
  Information Act, and cannot help you find information about a private
  individual.

If you would like to know what information a public
  authority holds about yourself, you should make a "Subject Access Request" in
  private using Data Protection law.  The leaflet "How to access your information" (on the Information Commissioner's
  website) explains how to do this.

If you see that somebody has included personal information, perhaps
  unwittingly, in a request, please <a href="<%= help_contact_path %>">contact us
  immediately so we can remove it.

I'd like to keep my request secret! (At least until I publish my story) #

WhatDoTheyKnow is currently only designed for public requests. All
  responses that we receive are automatically published on the website for anyone
  to read.

You should contact the public authority directly if you would like to
  make a request in private.  If you're interested in buying a system which helps
  you manage FOI requests in secret, then <a href="<%= help_contact_path %>">contact us.

Why can I only request information about the environment from some authorities? #

Some public authorities, such as South East Water,
  don't come under the Freedom of Information Act, but do come under another law called
  the Environmental Information Regulations (EIR).

It's a very similar law, so you make a request
  to them using WhatDoTheyKnow in just the same way as an FOI request. The only
  difference is that on the page where your write you request, it reminds you
  that you can only request "environmental information" and tells you what that
  means. It is quite broad.

You can, of course, request environmental information from other
  authorities. Just make a Freedom of Information (FOI) request as normal. The
  authority has a duty to work out if the Environmental Information Regulations
  (EIR) is the more appropriate legislation to reply under.

Can I make the same to request to lots of authorities, e.g. all councils? #

We ask you to first send a test version of your request to a few
  authorities. Their responses will help you improve the wording of your request,
  so that you get the best information when you send the request to all of
  the authorities. There is currently no automated system for sending the request
  to the other authorities, you must copy and paste it by hand.

I made a request off the site, how do I upload it to the archive?#

WhatDoTheyKnow is an archive of requests made through the site,
  and does not try to be an archive of all FOI requests. We'll never support uploading
  other requests. For one thing, we wouldn't be able to verify that other
  responses actually came from the authority. If this really matters to you,
  you can always make the same request again via WhatDoTheyKnow.

How do you moderate request annotations? #

Annotations on WhatDoTheyKnow are to help
  people get the information they want, or to give them pointers to places they
  can go to help them act on it. We reserve the right to remove anything else.

Endless, political discussions are not allowed.
  Post a link to a suitable forum or campaign site elsewhere.

Next, read about <a href="<%= help_privacy_path %>">your privacy -->


minor band login UI change

minor band login UI change


oops forgot this menu #1562

oops forgot this menu #1562

error: pathspec 'app/views/mass_emails/_menu.rhtml' did not match any file(s) known to git


fixed JS string termination error

fixed JS string termination error


Improve wording regarding pseudonyms on signup form.

<% form_tag({:action => "signup"}, {:id => "signup_form"}) do %>
    <%= foi_error_messages_for :user_signup %>

If you're new to WhatDoTheyKnow

        Your e-mail:
        <%= text_field 'user_signup', 'email', { :size => 20 } %>

        We will not reveal your email address to anybody unless you or
        the law tell us to
        (details).

        Your name:
        <%= text_field 'user_signup', 'name', { :size => 20 } %>

        Your name will appear publically
        (why?)
        on this website and in search engines. We encourage you
        to use your real name, but you may use a
        pseudonym if you read this first.

        Password:
        <%= password_field 'user_signup', 'password', { :size => 15 } %>

        Password: (again)
        <%= password_field 'user_signup', 'password_confirmation', { :size => 15 } %>

        <%= hidden_field_tag 'token', params[:token], { :id => 'signup_token' } %>
        <%= submit_tag "Sign up" %>

<% end %>

<% form_tag({:action => "signup"}, {:id => "signup_form"}) do %>
    <%= foi_error_messages_for :user_signup %>

If you're new to WhatDoTheyKnow

    Your e-mail:
    <%= text_field 'user_signup', 'email', { :size => 20 } %>

    We will not reveal your email address to anybody unless you or
    the law tell us to
    (details).

    Your name:
    <%= text_field 'user_signup', 'name', { :size => 20 } %>

Your name will appear
    publically
    (details)
    on this website and in search engines. We encourage you
    to use your real name, but you may use a pseudonym if you would like to be
    anonymous.

    Password:
    <%= password_field 'user_signup', 'password', { :size => 15 } %>

    Password: (again)
    <%= password_field 'user_signup', 'password_confirmation', { :size => 15 } %>

    <%= hidden_field_tag 'token', params[:token], { :id => 'signup_token' } %>
    <%= submit_tag "Sign up" %>

<% end %>