Change: you can ask for an internal review OR go to the information commissioner

<% @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 <%= site_name %> 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 will transfer your request to the correct authority for you.

If you've got a thorny case, please contact us for help.

Who can make a request? #

Any person, of any nationality, anywhere in the world, however young or old can make a request under Federal Australian Freedom of Information (FOI) law.

The Freedom of Information Act simply says that "every person has a legally enforceable right to obtain access in accordance with this Act". A "person" can also be a body corporate, such as a company.

See the Attorney General's department FOI Guidelines – Fundamental principles and procedures - section 3.2 for more.

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

At the moment we aim to cover all Australian Federal public authorities. We plan to add State and Local Government authorities soon.

Please 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 (new state or local government region etc.) 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?#

<%= site_name %> lets you make requests for information to a range of
organisations:

 Those formally subject to the FOI Act

 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.

The latest version of the FOI Act (s 3(4)) makes it clear that

… functions and powers given by this Act are to be performed and exercised, as far as possible, to facilitate and promote public access to information, promptly and at the lowest reasonable cost.

Sometimes an authority will refuse your request, saying that the cost
of handling it exceeds a level that would detriment their day to day work. 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
30 calendar days and must have sent you an acknowledgment within 14 calendar days.
If you had to clarify your request, or one or two other cases, then they may have more time
(full details).

<%= site_name %> 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.

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
    'I can see a request on <%= site_name %>, 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,
    or complain to the Information Commissioner about the authority, or both.
    Read our page '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 'Unhappy about the response you got?'.

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

Authorities often add legal boilerplate about the
Commonwealth Copyright Adminstration, which at first glance implies you may not
be able do anything with the information. This is likely to be incorrect as the latest Statement of IP Principles for Australian Government Agencies explictly encourages reuse.

Consistent with the need for free and open re-use and adaptation, public sector
information should be licensed by agencies under the Creative Commons BY standard
as the default.

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 our policy on copyright.

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

Have a look at the
Freedom of Information guidelines
pages on the Information Commissioner's website.

Can I request information about myself? #

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

If you see that somebody has included personal information, perhaps
unwittingly, in a request, please contact us
immediately so we can remove it.

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

<%= site_name %> 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 contact us.

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

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?#

<%= site_name %> 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 <%= site_name %>.

How do you moderate request annotations? #

Annotations on <%= site_name %> 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 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 <%= site_name %> 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 will transfer your request to the correct authority for you.

If you've got a thorny case, please contact us for help.

Who can make a request? #

Any person, of any nationality, anywhere in the world, however young or old can make a request under Federal Australian Freedom of Information (FOI) law.

The Freedom of Information Act simply says that "every person has a legally enforceable right to obtain access in accordance with this Act". A "person" can also be a body corporate, such as a company.

See the Attorney General's department FOI Guidelines – Fundamental principles and procedures - section 3.2 for more.

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

At the moment we aim to cover all Australian Federal public authorities. We plan to add State and Local Government authorities soon.

Please 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 (new state or local government region etc.) 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?#

<%= site_name %> lets you make requests for information to a range of
organisations:

 Those formally subject to the FOI Act

 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.

The latest version of the FOI Act (s 3(4)) makes it clear that

… functions and powers given by this Act are to be performed and exercised, as far as possible, to facilitate and promote public access to information, promptly and at the lowest reasonable cost.

Sometimes an authority will refuse your request, saying that the cost
of handling it exceeds a level that would detriment their day to day work. 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
30 calendar days and must have sent you an acknowledgment within 14 calendar days.
If you had to clarify your request, or one or two other cases, then they may have more time
(full details).

<%= site_name %> 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.

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
    'I can see a request on <%= site_name %>, 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 '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 'Unhappy about the response you got?'.

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

Authorities often add legal boilerplate about the
Commonwealth Copyright Adminstration, which at first glance implies you may not
be able do anything with the information. This is likely to be incorrect as the latest Statement of IP Principles for Australian Government Agencies explictly encourages reuse.

Consistent with the need for free and open re-use and adaptation, public sector
information should be licensed by agencies under the Creative Commons BY standard
as the default.

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 our policy on copyright.

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

Have a look at the
Freedom of Information guidelines
pages on the Information Commissioner's website.

Can I request information about myself? #

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

If you see that somebody has included personal information, perhaps
unwittingly, in a request, please contact us
immediately so we can remove it.

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

<%= site_name %> 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 contact us.

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

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?#

<%= site_name %> 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 <%= site_name %>.

How do you moderate request annotations? #

Annotations on <%= site_name %> 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 your privacy -->


[ClockingIT @ Allow access to edit project page with milestone persmission]

<%=_ 'Projects'%>

<%= link_to _('New'), :controller => "projects", :action => 'new' %>

          <%
             last_customer = 0
             for project in @projects
               if last_customer != project.customer_id && session[:user].option_externalclients.to_i > 0
                 if last_customer != 0
                 %>

                <% end %>

               <%
                  collapse = " <div id=\"indicator_#{project.customer_id}\" class=\""
                  collapse << ((session[:collapse_projects] && session[:collapse_projects][project.customer_id.to_s].to_i == 1) ? "collapse-indicator-closed" : "collapse-indicator-open")
                  collapse << "\"
 "
                  collapse << (project.customer.name == 'Internal' ? session[:user].company.name : project.customer.name)
                %>

<%= link_to_remote collapse,
                                              :url => { :action => 'toggle_display', :id => project.customer_id },
                                              :loading => "Element.show('loading');",
                                              :complete => "Element.hide('loading');"
               %>

<table width="100%" cellpadding="0" cellspacing="0" id="projects_customer_<%= project.customer_id %>" <%= "style=\"display:none;\"" if (session[:collapse_projects] && session[:collapse_projects][project.customer_id.to_s].to_i == 1) %>>

               <%
                  last_customer = project.customer_id
               end

               critical_count = Task.count(["project_id = ? AND (severity_id + priority)/2 > 0  AND completed_at IS NULL", project.id])
               normal_count = Task.count(["project_id = ? AND (severity_id + priority)/2 = 0 AND completed_at IS NULL", project.id])
               low_count = Task.count(["project_id = ? AND (severity_id + priority)/2 < 0 AND completed_at IS NULL", project.id])
               total_count = (critical_count + normal_count + low_count) * 1.0

               critical_percent = ((critical_count / total_count) * 100.0)
               normal_percent = ((normal_count / total_count) * 100.0)

               unless critical_percent.nan?
                 critical_percent = critical_percent.round
               end
               unless normal_percent.nan?
                 normal_percent = normal_percent.round
               end

               if normal_percent + critical_percent > 100
                  normal_percent = 100 - critical_percent
               end

               low_percent = 100.0 - critical_percent - normal_percent

          %>
    <tr class="milestone" id="project_<%=project.id%>" onMouseOver="javascript:Hover('project', '<%=project.id%>')" onMouseOut="javascript:ClearHover()">

          <% if session[:user].can?(project, 'grant') || session[:user].can?(project, 'milestone') %>
          <span id="edit_project_<%= project.id%>" style="display: none;">
            <%= link_to image_tag("application_form_edit.png", :border => 0, :title => _("Edit project %s", project.name), :class => "tooltip"),
            { :controller => 'projects', :action => 'edit', :id => project } -%>

          <% end %>

<%= link_to project.name, { :controller => 'views', :action => 'select_project', :id => project.id} %>

                  <div class="prog-bar-high tooltip" style="width: <%= number_to_percentage( critical_percent, :precision => 0)  %>;" title="<%= number_to_percentage( critical_percent, :precision => 0) + " (#{critical_count}/#{total_count.to_i})" %>  High Priority">

                  <div class="prog-bar-medium tooltip" style="width: <%= number_to_percentage( normal_percent, :precision => 0)  %>;" title="<%= number_to_percentage( normal_percent, :precision => 0) + " (#{normal_count}/#{total_count.to_i})"%>  Normal">

                  <div class="prog-bar-low tooltip" style="width: <%= number_to_percentage( low_percent, :precision => 0)  %>;" title="<%= number_to_percentage( low_percent, :precision => 0) + " (#{low_count}/#{total_count.to_i})" %>  Low Priority ">

          <%
               total_count = Task.count(["project_id = ?", project.id]) * 1.0
             if total_count >= 1.0
               done_count = Task.count(["project_id = ? AND completed_at IS NOT NULL", project.id])
               done_percent = (done_count/total_count) * 100.0
          %>

<%=_ 'Overall Progress'%>

                  <div class="prog-bar-medium tooltip " style="width: <%= number_to_percentage( done_percent, :precision => 0)  %>;" title="<%= number_to_percentage( done_percent, :precision => 0) %> (<%= "#{done_count.to_i} / #{total_count.to_i}"%>)  Complete">

                  <div class="prog-bar-low tooltip" style="width: <%= number_to_percentage( 100-done_percent, :precision => 0)  %>;" title="<%= number_to_percentage( 100-done_percent, :precision => 0) %> (<%= "#{total_count.to_i - done_count.to_i} / #{total_count.to_i}"%>) Remaining">

          <% end

               for milestone in project.milestones.find(:all, :conditions => ["completed_at IS NULL"], :order => "due_at, milestones.name", :include => [:user])
          %>
              <%= render :partial => "activities/milestone_row", :locals => { :milestone => milestone } %>
          <% end %>
  <% @completed_milestones = Milestone.count(["project_id = ? AND completed_at IS NOT NULL", project.id])
     if @completed_milestones > 0
  %>

<%= link_to _('%d completed milestone', @completed_milestones), :controller => 'milestones', :action => 'list_completed', :id => project %>

  <% end %>

  <% end %>

  <% if @completed_projects > 0 %>

<%= link_to _('%d completed project', @completed_projects), :controller => 'projects', :action => 'list_completed' %>

  <% end %>

<%=_ 'Projects'%>

<%= link_to _('New'), :controller => "projects", :action => 'new' %>

          <%
             last_customer = 0
             for project in @projects
               if last_customer != project.customer_id && session[:user].option_externalclients.to_i > 0
                 if last_customer != 0
                 %>

                <% end %>

               <%
                  collapse = " <div id=\"indicator_#{project.customer_id}\" class=\""
                  collapse << ((session[:collapse_projects] && session[:collapse_projects][project.customer_id.to_s].to_i == 1) ? "collapse-indicator-closed" : "collapse-indicator-open")
                  collapse << "\"
 "
                  collapse << (project.customer.name == 'Internal' ? session[:user].company.name : project.customer.name)
                %>

<%= link_to_remote collapse,
                                              :url => { :action => 'toggle_display', :id => project.customer_id },
                                              :loading => "Element.show('loading');",
                                              :complete => "Element.hide('loading');"
               %>

<table width="100%" cellpadding="0" cellspacing="0" id="projects_customer_<%= project.customer_id %>" <%= "style=\"display:none;\"" if (session[:collapse_projects] && session[:collapse_projects][project.customer_id.to_s].to_i == 1) %>>

               <%
                  last_customer = project.customer_id
               end

               critical_count = Task.count(["project_id = ? AND (severity_id + priority)/2 > 0  AND completed_at IS NULL", project.id])
               normal_count = Task.count(["project_id = ? AND (severity_id + priority)/2 = 0 AND completed_at IS NULL", project.id])
               low_count = Task.count(["project_id = ? AND (severity_id + priority)/2 < 0 AND completed_at IS NULL", project.id])
               total_count = (critical_count + normal_count + low_count) * 1.0

               critical_percent = ((critical_count / total_count) * 100.0)
               normal_percent = ((normal_count / total_count) * 100.0)

               unless critical_percent.nan?
                 critical_percent = critical_percent.round
               end
               unless normal_percent.nan?
                 normal_percent = normal_percent.round
               end

               if normal_percent + critical_percent > 100
                  normal_percent = 100 - critical_percent
               end

               low_percent = 100.0 - critical_percent - normal_percent

          %>
    <tr class="milestone" id="project_<%=project.id%>" onMouseOver="javascript:Hover('project', '<%=project.id%>')" onMouseOut="javascript:ClearHover()">

          <% if session[:user].can?(project, 'grant') %>
          <span id="edit_project_<%= project.id%>" style="display: none;">
            <%= link_to image_tag("application_form_edit.png", :border => 0, :title => _("Edit project %s", project.name), :class => "tooltip"),
            { :controller => 'projects', :action => 'edit', :id => project } -%>

          <% end %>

<%= link_to project.name, { :controller => 'views', :action => 'select_project', :id => project.id} %>

                  <div class="prog-bar-high tooltip" style="width: <%= number_to_percentage( critical_percent, :precision => 0)  %>;" title="<%= number_to_percentage( critical_percent, :precision => 0) + " (#{critical_count}/#{total_count.to_i})" %>  High Priority">

                  <div class="prog-bar-medium tooltip" style="width: <%= number_to_percentage( normal_percent, :precision => 0)  %>;" title="<%= number_to_percentage( normal_percent, :precision => 0) + " (#{normal_count}/#{total_count.to_i})"%>  Normal">

                  <div class="prog-bar-low tooltip" style="width: <%= number_to_percentage( low_percent, :precision => 0)  %>;" title="<%= number_to_percentage( low_percent, :precision => 0) + " (#{low_count}/#{total_count.to_i})" %>  Low Priority ">

          <%
               total_count = Task.count(["project_id = ?", project.id]) * 1.0
             if total_count >= 1.0
               done_count = Task.count(["project_id = ? AND completed_at IS NOT NULL", project.id])
               done_percent = (done_count/total_count) * 100.0
          %>

<%=_ 'Overall Progress'%>

                  <div class="prog-bar-medium tooltip " style="width: <%= number_to_percentage( done_percent, :precision => 0)  %>;" title="<%= number_to_percentage( done_percent, :precision => 0) %> (<%= "#{done_count.to_i} / #{total_count.to_i}"%>)  Complete">

                  <div class="prog-bar-low tooltip" style="width: <%= number_to_percentage( 100-done_percent, :precision => 0)  %>;" title="<%= number_to_percentage( 100-done_percent, :precision => 0) %> (<%= "#{total_count.to_i - done_count.to_i} / #{total_count.to_i}"%>) Remaining">

          <% end

               for milestone in project.milestones.find(:all, :conditions => ["completed_at IS NULL"], :order => "due_at, milestones.name", :include => [:user])
          %>
              <%= render :partial => "activities/milestone_row", :locals => { :milestone => milestone } %>
          <% end %>
  <% @completed_milestones = Milestone.count(["project_id = ? AND completed_at IS NOT NULL", project.id])
     if @completed_milestones > 0
  %>

<%= link_to _('%d completed milestone', @completed_milestones), :controller => 'milestones', :action => 'list_completed', :id => project %>

  <% end %>

  <% end %>

  <% if @completed_projects > 0 %>

<%= link_to _('%d completed project', @completed_projects), :controller => 'projects', :action => 'list_completed' %>

  <% end %>


Forgot that /history can also be called without a bbox (if one can't be found)

I think the best thing to do here is to simply remove the RSS link, if
someone wants a RSS feed without a bbox they can click the Recent
Changes link and get a feed there.

<%= t'changeset.list_bbox.history' %>

<%
if @bbox!=nil
	minlon = @bbox[0]
	minlat = @bbox[1]
	maxlon = @bbox[2]
	maxlat = @bbox[3]

	%>

<%= t'changeset.list_bbox.changesets_within_the_area' %>
      (<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='<%= t'changeset.list_bbox.show_area_box' %>'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%>)

<%	if @edits.nil? or @edits.empty? %>

<%= t'changeset.list_bbox.no_changesets' %>

<%	else %>

<%= render :partial => 'changeset_paging_nav' %>
<%= render :partial => 'changesets' %>
<%= render :partial => 'changeset_paging_nav' %>

<%= t'changeset.list_bbox.all_changes_everywhere' , :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %>

<%
	end

else
	#bbox is nil. happens if the user surfs to this page directly.
%>

<%= t'changeset.list_bbox.no_area_specified' %>

<%= t'changeset.list_bbox.first_use_view', :view_tab_link => '' + t('changeset.list_bbox.view_tab') + '' %>

<%= t'changeset.list_bbox.alternatively_view', :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %>

<%
end
%>

<% if @bbox %>
  <%= rss_link_to :action => 'list_bbox_rss', :bbox => @bbox.join(",") %>
<% end %>

<% if @bbox %>
  <% content_for :head do %>
    <%= auto_discovery_link_tag :atom, :controller => 'changeset', :action => 'list_bbox_rss', :bbox => @bbox.join(",") %>
  <% end %>
<% end %>

<%= t'changeset.list_bbox.history' %>

<%
if @bbox!=nil
	minlon = @bbox[0]
	minlat = @bbox[1]
	maxlon = @bbox[2]
	maxlat = @bbox[3]

	%>

<%= t'changeset.list_bbox.changesets_within_the_area' %>
      (<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='<%= t'changeset.list_bbox.show_area_box' %>'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%>)

<%	if @edits.nil? or @edits.empty? %>

<%= t'changeset.list_bbox.no_changesets' %>

<%	else %>

<%= render :partial => 'changeset_paging_nav' %>
<%= render :partial => 'changesets' %>
<%= render :partial => 'changeset_paging_nav' %>

<%= t'changeset.list_bbox.all_changes_everywhere' , :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %>

<%
	end

else
	#bbox is nil. happens if the user surfs to this page directly.
%>

<%= t'changeset.list_bbox.no_area_specified' %>

<%= t'changeset.list_bbox.first_use_view', :view_tab_link => '' + t('changeset.list_bbox.view_tab') + '' %>

<%= t'changeset.list_bbox.alternatively_view', :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %>

<%
end
%>

<%= rss_link_to :action => 'list_bbox_rss', :bbox => @bbox.join(",") %>

<% content_for :head do %>
<%= auto_discovery_link_tag :atom, :controller => 'changeset', :action => 'list_bbox_rss', :bbox => @bbox.join(",") %>
<% end %>


ActionItem85: fixing the focus on first field to skip search_box_form

git-svn-id: 43659daf80e124e0b603d67096418e58e4f21099@602 3f533792-8f58-4932-b0fe-aaf55b0a4547

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <%= javascript_include_tag 'prototype' %>
    <%= javascript_include_tag 'tiny_mce/tiny_mce.js' %>
    <%= javascript_include_tag 'scriptaculous' %>
    <%= javascript_include_tag 'dragdrop' %>
    <%= javascript_include_tag 'effects' %>
    <%= javascript_include_tag 'noosfero_tiny_mce.js' %>

    <%= design_all_header_tags %>
    <%= javascript_include_tag 'cms' %>
    <% if params[:controller] == 'cms' %>
      <%= stylesheet_link_tag 'cms' %>
    <% end %>
    <%= stylesheet_link_tag 'common' %>

    <%= stylesheet_link_tag 'menu' %>
    <%= javascript_include_tag 'menu' %>

    <% unless flash[:notice].nil? %>

        <%= flash[:notice] %>
        <%= javascript_tag(visual_effect(:fade, "notice", :duration => 2.0)) %>

    <% end %>

    <%= image_tag 'loading.gif', :id => 'spinner', :style => "display:none; float:right;", :alt => _('Image for Loading...') %>

    <div id="wrap" class='category<%= category_color %>'>
      <div id='noosfero_bar' class='category<%= category_color %>'>

          Acessibilidade
          Central de Buscas
          Ir para conteúdo

          <%= render :file => 'shared/categories_menu' %>

          <form id='search_box_form' action="" method="GET">
            <input type='text' name='q' value='<%= _('Your search here ...')%>'>
            <input type='submit' value='Buscar'>
          </form>

          <%= header %>

        <% if @category %>

            <%= @category.full_name %>

        <% end %>

        <% if params[:controller] == 'cms' %>

            <%= yield %>

        <% else %>
          <%= design_display(yield) %>
        <% end %>

        <%= footer %>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <%= javascript_include_tag 'prototype' %>
    <%= javascript_include_tag 'tiny_mce/tiny_mce.js' %>
    <%= javascript_include_tag 'scriptaculous' %>
    <%= javascript_include_tag 'dragdrop' %>
    <%= javascript_include_tag 'effects' %>
    <%= javascript_include_tag 'noosfero_tiny_mce.js' %>

    <%= design_all_header_tags %>
    <%= javascript_include_tag 'cms' %>
    <% if params[:controller] == 'cms' %>
      <%= stylesheet_link_tag 'cms' %>
    <% end %>
    <%= stylesheet_link_tag 'common' %>

    <%= stylesheet_link_tag 'menu' %>
    <%= javascript_include_tag 'menu' %>

    <% unless flash[:notice].nil? %>

        <%= flash[:notice] %>
        <%= javascript_tag(visual_effect(:fade, "notice", :duration => 2.0)) %>

    <% end %>

    <%= image_tag 'loading.gif', :id => 'spinner', :style => "display:none; float:right;", :alt => _('Image for Loading...') %>

    <div id="wrap" class='category<%= category_color %>'>
      <div id='noosfero_bar' class='category<%= category_color %>'>

          Acessibilidade
          Central de Buscas
          Ir para conteúdo

          <%= render :file => 'shared/categories_menu' %>

          <form action="" method="GET">
            <input type='text' name='q' value='sua busca aqui ...'>
            <input type='submit' value='Buscar'>
          </form>

          <%= header %>

        <% if @category %>

            <%= @category.full_name %>

        <% end %>

        <% if params[:controller] == 'cms' %>

            <%= yield %>

        <% else %>
          <%= design_display(yield) %>
        <% end %>

        <%= footer %>


make menus work again

make menus work again

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<% if RAILS_ENV == "development" %>
  <% flash[:error] ||= "You are on our development site -- you should NOT be filling in your app or reference here.  Remove the 'dev.' from your url, and email #{$tech_email_only} with how you got here"
  %>

<% end %>

  <%
=begin
  flash[:error] = %|
  There will be a short, approximately 10-20 minutes, scheduled outage between 12pm-2pm PST

  -CIM team, Wed May 7
  |
=end
  %>

    <title>Project Application Tool</title>
    <%= stylesheet_link_tag 'main2', 'connexion_default' %>
    <%= render :partial => "externs/sortable_tables" %>
    <%= javascript_include_tag "prototype", "effects" %>
    <%= render :partial => "externs/load_extern" %>

    <%= connexion_bar if @user && session[:login_source] == 'gcx' %>

    <% if RAILS_ENV == 'development' && @debug -%>

debug: <%= @debug -%>

    <% end -%>

      Loading <%=image_tag('spinner.gif')%>

      Saving <%=image_tag('spinner.gif')%>

        <% if @user %>

user:
            <%= @user.viewer.name %>
            <% unless session[:login_source] == 'gcx' -%>
               - <%= link_to "logout", :action => :logout, :controller => :security %>
            <% end %>

        <% end %>

        <% if @eg %>

group:
            <%= @eg.to_s_with_eg_path %>
            <%= link_to 'change', scope_event_groups_url %>

        <% end %>

      <% if session[:logo_url] -%>
          <%= image_tag session[:logo_url], :class => 'branding_logo' %>
          Project Application Tool
      <% else %>

Project Application Tool

      <% end -%>

    <% if @user %>

          <%= new_item "Your Apps", "your_apps", :list %>
          <% if @show_your_project %>
            <%= new_item "Your Projects", "main", :your_projects %>
          <% end %>
          <% unless @user.is_student? %>
            <%= new_item "App Processing", "main", :your_applications %>
            <% if @eg && @eg.has_your_campuses %>
              <%= new_item "Your Campuses", "main", :your_campuses %>
	          <% end %>
            <% if @user.is_eventgroup_coordinator? %>
              <%= new_item "Tools", "tools", :index %>
              <%= new_item "Manage Forms", "forms" %>
              <%= new_item "Manage Groups", "event_groups" %>
            <% end %>
            <%= new_item "Manage Projects", "manage_projects", :list %>
            <%= new_item "Reports", "reports", :index %>
          <% end %>
          <%= new_item "Profiles", "profiles", :index%>

    <% end %>

    <% flash.each do |key, msg| -%>
      <% full_msg = msg %>
      <%= content_tag :div, full_msg, :id => "flash_#{key}", :class => 'error flash' %>
    <% end -%>
    <% flash.discard -%>

    <% @notifications.each do |n| -%>
      <% full_msg = n.message
         full_msg = h(full_msg) unless n.allow_html
         full_msg += "
"

         unless n.no_hide_button || @user.nil?
           full_msg += link_to_remote('Hide',
            :url => { :controller => 'notification_acknowledgments',
                      :action => 'create', :notification_id => n.id },
            :success => "$(\"notification_#{n.id}\").fade()"
           )
         end
        %>
      <%= content_tag :div, full_msg, :id => "notification_#{n.id}", :class => 'error flash' %>
    <% end -%>

     <% if @user && !@user.is_student? && !@eg.nil? %>

        <%= form_remote_tag :url => { :controller => 'main', :action => :find_people },	:before => "Element.show('loading');", :complete  => "Element.hide('loading');" %>
          Search People:
          <%= text_field 'viewer', 'name', :size => 20%>
          <%= submit_tag "Search" %>
        </form>

    <% end %>

    <% if @title %>

<%=@title%>

    <% end %>

    <%= render_if_possible(controller.controller_name + "/menu") ||
           (@submenu && render_if_possible(@submenu + "/menu"))
    %>

    <% submenu_items_html = yield :submenu %>
    <% if submenu_items_html && !@eg.nil? %>

          <%= submenu_items_html %>

    <% end %>

        <% if @form && params[:controller] != 'forms' %>
          <%= render "qe_forms/form_#{@form}" %>
        <% else %>
          <%= yield %>
        <% end %>

    <% if @eg || @show_contact_emails_override %>

        Questions?

				Campus for Christ - projects@campusforchrist.org

				LeaderImpact Group - vip@leaderimpactgroup.com

				Athletes in Action - morgank@athletesinaction.com

			General Inquiries:help.pat@powertochange.org

			Online help can be found here.

    <% end %>

    <%= initialize_sortable_tables %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<% if RAILS_ENV == "development" %>
  <% flash[:error] ||= "You are on our development site -- you should NOT be filling in your app or reference here.  Remove the 'dev.' from your url, and email #{$tech_email_only} with how you got here"
  %>

<% end %>

  <%
=begin
  flash[:error] = %|
  There will be a short, approximately 10-20 minutes, scheduled outage between 12pm-2pm PST

  -CIM team, Wed May 7
  |
=end
  %>

    <title>Project Application Tool</title>
    <%= stylesheet_link_tag 'main2', 'connexion_default' %>
    <%= render :partial => "externs/sortable_tables" %>
    <%= javascript_include_tag "prototype", "effects" %>
    <%= render :partial => "externs/load_extern" %>

    <%= connexion_bar if @user && session[:login_source] == 'gcx' %>

    <% if RAILS_ENV == 'development' && @debug -%>

debug: <%= @debug -%>

    <% end -%>

      Loading <%=image_tag('spinner.gif')%>

      Saving <%=image_tag('spinner.gif')%>

        <% if @user %>

user:
            <%= @user.viewer.name %>
            <% unless session[:login_source] == 'gcx' -%>
               - <%= link_to "logout", :action => :logout, :controller => :security %>
            <% end %>

        <% end %>

        <% if @eg %>

group:
            <%= @eg.to_s_with_eg_path %>
            <%= link_to 'change', scope_event_groups_url %>

        <% end %>

      <% if session[:logo_url] -%>
          <%= image_tag session[:logo_url], :class => 'branding_logo' %>
          Project Application Tool
      <% else %>

Project Application Tool

      <% end -%>

    <% if @user %>

          <%= new_item "Your Apps", "your_apps", :list %>
          <% if @show_your_project %>
            <%= new_item "Your Projects", "main", :your_projects %>
          <% end %>
          <% unless @user.is_student? %>
            <%= new_item "App Processing", "main", :your_applications %>
            <% if @eg && @eg.has_your_campuses %>
              <%= new_item "Your Campuses", "main", :your_campuses %>
	          <% end %>
            <% if @user.is_eventgroup_coordinator? %>
              <%= new_item "Tools", "tools", :index %>
              <%= new_item "Manage Forms", "forms" %>
              <%= new_item "Manage Groups", "event_groups" %>
            <% end %>
            <%= new_item "Manage Projects", "manage_projects", :list %>
            <%= new_item "Reports", "reports", :index %>
          <% end %>
          <%= new_item "Profiles", "profiles", :index%>

    <% end %>

    <% flash.each do |key, msg| -%>
      <% full_msg = msg %>
      <%= content_tag :div, full_msg, :id => "flash_#{key}", :class => 'error flash' %>
    <% end -%>
    <% flash.discard -%>

    <% @notifications.each do |n| -%>
      <% full_msg = n.message
         full_msg = h(full_msg) unless n.allow_html
         full_msg += "
"

         unless n.no_hide_button || @user.nil?
           full_msg += link_to_remote('Hide',
            :url => { :controller => 'notification_acknowledgments',
                      :action => 'create', :notification_id => n.id },
            :success => "$(\"notification_#{n.id}\").fade()"
           )
         end
        %>
      <%= content_tag :div, full_msg, :id => "notification_#{n.id}", :class => 'error flash' %>
    <% end -%>

     <% if @user && !@user.is_student? && !@eg.nil? %>

        <%= form_remote_tag :url => { :controller => 'main', :action => :find_people },	:before => "Element.show('loading');", :complete  => "Element.hide('loading');" %>
          Search People:
          <%= text_field 'viewer', 'name', :size => 20%>
          <%= submit_tag "Search" %>
        </form>

    <% end %>

    <% if @title %>

<%=@title%>

    <% end %>

    <%= render_if_possible(controller.controller_name + "/_menu") ||
           (@submenu && render_if_possible(@submenu + "/_menu"))
    %>

    <% submenu_items_html = yield :submenu %>
    <% if submenu_items_html && !@eg.nil? %>

          <%= submenu_items_html %>

    <% end %>

        <% if @form && params[:controller] != 'forms' %>
          <%= render "qe_forms/form_#{@form}" %>
        <% else %>
          <%= yield %>
        <% end %>

    <% if @eg || @show_contact_emails_override %>

        Questions?

				Campus for Christ - projects@campusforchrist.org

				LeaderImpact Group - vip@leaderimpactgroup.com

				Athletes in Action - morgank@athletesinaction.com

			General Inquiries:help.pat@powertochange.org

			Online help can be found here.

    <% end %>

    <%= initialize_sortable_tables %>


add users count in admin page

add users count in admin page

API Users

        Sign out

    <% ApiUser.order(active: :desc, email: :asc).all.each do |api_user| %>

          <% if api_user.active %>

          <% else %>

          <% end %>

          <%= api_user.email %>

 Token: <%= api_user.token %>

                  Name: <%= api_user.full_name %>

                  Email: <%= api_user.email %>

                  Company: <%= api_user.company %>

                  Reason for using the api: <%= api_user.reason %>

          <form method="POST" action="/admin/api_users/<%= api_user.id %>">
            <%= Rack::Csrf.csrf_tag(env) %>

              Enabled
              <input name="api_user[active]" type="checkbox" value="1" <%= api_user.active ? "checked" : nil %>>

Permissions

              <% $api_objects.each do |api_object| %>

<%= api_object.name %>

                    <% api_object.api_attributes.each do |attribute| %>

                        <%= attribute %>
                        <input
                            name="api_user[permissions][<%= api_object.name %>][<%= attribute %>]"
                            type="checkbox"
                            value="1"
                            <%= api_user.access_to?(api_object, attribute) ? "checked" : nil %>
                        >

                    <% end %>

              <% end %>

            <button name="save" class="big-button" type="submit">
              Save
            </button>
            <button onclick="return confirm('Are you sure?');" name="destroy" class="big-button--danger big-button" type="submit">
              Destroy user
            </button>

          </form>

    <% end%>

    <%= ApiUser.count %> API users, <%= ApiUser.where(active: true).count %> of which active


Improve layout for new request form

Improve layout for new request form

@import url(http://fonts.googleapis.com/css?family=Open+Sans:600,700);

/** LAYOUT **/
body {
    font-family: Verdana, Helvetica, Arial;
    font-size: 12px;
    line-height: 1.5;
}
    body.front {
        background: none;
    }

#content {
    width: 840px;
    padding: 0px 60px;
    margin: auto;
}

#wrapper {
    padding-top: 10px;
    margin-bottom: 50px;
    width: 960px;
}

#header_right {
    width: 180px;
    float: left;
    margin-top: 30px;
}

#header_left {
    width: 600px;
    float: right;
    padding: 20px 30px;
}

/** HEADER **/
#banner {
    background: #EAF5F6;
    border: none;
    height: 150px;
    position: relative;
}

#banner_inner {
    width: 960px;
    height: 150px;
}
    #banner_inner a:hover {
        text-decoration: underline;
    }

#logo {
    position: absolute;
    top: 20px;
}

#navigation_search {
    top: 50px;
    visibility: hidden;
}

div.lang {
    top: 23px;
    color: #00aaa6;
    font-size: 12px;
    text-transform: capitalize;
}
    div.lang a {
        color: #00aaa6;
        text-decoration: none;
    }

#logged_in_bar {
    top: 24px;
    font-weight: bold;
    font-size: 12px;
    padding: 3px 8px 1px 8px;
    height: 19px;
    background: #009a9d;
    border-radius: 5px;
}
    #logged_in_bar, #logged_in_bar a, #logged_in_bar a:visited {
        color: #FFF;
        text-decoration: none;
    }

/** NAVIGATION BAR **/
#topnav {
    font-family: Helvetica, Arial;
    font-size: 14px;
    font-weight: bold;
    float: right;
}
    #topnav ul li {
        padding-left: 8px;
        padding-right: 8px;
        margin-right: 8px;

        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }
    #topnav ul li a {
        color: #00aaa6 !important;
    }

/** MAIN SITE **/
h1, h1 a {
    font-family: 'Open Sans', Helvetica, Arial;
    color: #009a9d;
    font-size: 28px;
    font-weight: 600;
    margin-top: 30px;
    text-decoration: none;
}

h2, h2 a {
    font-family: 'Open Sans', Helvetica, Arial;
    color: #7bbb58;
    font-size: 18px;
    font-weight: 700;
}

h3, h3 a {
    font-family: Helvetica, Arial;
    color: #00aaa6;
    font-size: 14px;
    font-weight: bold;
}

/** HELP **/
#left_column_flip {
    margin-top: 10px;
    padding-left: 30px;
    margin-right: 30px;
    width: 600px;
}

#right_column_flip {
    text-align: left;
    width: 180px;
    margin-top: 32px;
}
    #right_column_flip h3 {
        margin-bottom: 0px;
    }
    #right_column_flip ul {
        margin-top: 0px;
        list-style: none outside none;
    }

.controller_help {
    font-size: 12px;
    line-height: 1.5;
    text-align: justify;
}
    .controller_help a {
        color: #009a9d;
        text-decoration: none;
    }
    .controller_help a:hover {
        text-decoration: underline;
    }

.XXX {  /* TODO stuff */
    color: red;
    font-weight: bold;
    background-color: yellow;
}

/** FRONTPAGE **/
.front #wrapper, .front #content {
    width: 100%;
    padding: 0px;
    margin: 0px;
}

#frontpage-intro {
    width: 960px;
    margin: auto;
    position: relative;
}

#frontpage-lead {
    font-family: 'Open Sans', Helvetica, Arial;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    color: #73c167;
}

#frontpage-left-balloon {
    float: left;
    width: 196px;
    height: 184px;
    background: url(/asktheeu-theme/images/yellow_balloon.gif);
    padding: 10px 30px 20px 50px;
    margin: 37px 8px 60px 0px;
    text-align: center;
}
    #frontpage-left-balloon h2 {
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 24px;
        font-weight: 700;
        color: #fff;
        padding-right: 20px;
        margin-bottom: 5px;
    }
    #frontpage-left-balloon p {
        padding-right: 20px;
    }
    #frontpage-left-balloon .frontpage-button-link {
        margin-left: 38px;
    }

#frontpage-middle-balloon {
    float: left;
    width: 314px;
    height: 283px;
    background: url(/asktheeu-theme/images/blue_balloon.gif);
    padding: 0px 30px 0px 30px;
    text-align: center;
}
    #frontpage-middle-balloon h1 {
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 42px;
        font-weight: 700;
        color: #fff;
        padding-right: 10px;
        margin-bottom: 5px;
    }
    #frontpage-middle-balloon p {
        margin-left: 15px;
        padding-right: 20px;
    }
    #frontpage-middle-balloon .frontpage-button-link {
        margin-left: 102px;
    }

#frontpage-right-balloon {
    float: left;
    width: 218px;
    height: 174px;
    background: url(/asktheeu-theme/images/green_balloon.gif);
    padding: 5px 20px 20px 50px;
    margin: 42px 0px 60px 4px;
    text-align: center;
}
    #frontpage-right-balloon h2 {
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 24px;
        font-weight: 700;
        color: #fff;
        padding-right: 30px;
        margin-bottom: 5px;
    }
    #frontpage-right-balloon p {
        padding-right: 30px;
    }
    #frontpage-right-balloon .frontpage-button-link {
        margin-left: 43px;
    }

#frontpage-left-balloon p,
#frontpage-right-balloon p,
#frontpage-middle-balloon p {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    margin-top: 0px;
}

#frontpage-intro a {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
}
    #frontpage-intro a:hover {
        text-decoration: underline;
    }

.frontpage-button-link {
    height: 24px;
    width: 100px;
    background: url(/asktheeu-theme/images/button_gradient.gif);
    border-radius: 5px;
    text-align: center;
    padding-top: 3px;
    padding-bottom: 3px;
}

#frontpage-content {
    background: #EAF5F6;
    border-top: 1px solid #b2dcde;
}

#frontpage-inner-content {
    width: 960px;
    margin: auto;
    position: relative;
    padding-bottom: 20px;
}

#left-column {
    float: left;
    background: #EAF5F6;
    width: 450px;
}

#right-column {
    float: right;
    width: 450px;
}

#frontpage-content p {
    color: #6f6f6e;
    font-size: 12px;
    line-height: 1.5;
}

#frontpage-content p a {
    color: #009a9d;
    font-size: 12px;
    text-decoration: none;
}
    #frontpage-content a:hover {
        text-decoration: underline;
    }

.picture-frame {
    width: 450px;
    height: 270px;
    background: #FFF;
    border-radius: 15px;
    margin-bottom: 30px;
}
    .picture-frame img,
    .picture-frame iframe {
        width: 420px;
        height: 240px;
        margin: 15px;
    }

#follow-us-frame {
    width: 390px;
    height: 60px;
    background: #FFF;
    border-radius: 15px;
    margin-bottom: 30px;
    margin-top: 50px;
    padding: 20px 30px 20px 30px;
}
    #follow-us-frame p {
        float: left;
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 18px;
        color: #009a9d;
    }
    #follow-us-frame span {
        float: left;
        margin-top: 12px;
        margin-left: 20px;
    }

.link-arrow {
    background: no-repeat url(/asktheeu-theme/images/arrow_icon.gif) ;
    padding-top: 6px;
    padding-left: 35px;
    height: 30px;
}
    .link-arrow a {
        font-family: Helvetica, Arial;
        color: #00aaa6;
        font-size: 14px;
        font-weight: bold;
        text-decoration: none;
    }

/** GENERAL **/
.request_listing span.head a,
.user_listing span.head a,
.body_listing span.head a {
    font-family: 'Open Sans', Helvetica, Arial;
    font-size: 16px;
    color: #009A9D;
}

a,
.request_listing a,
.body_listing a,
.user_listing a {
    color: #009A9D;
    text-decoration: none !important;
}
    a:hover,
    .request_listing a:hover,
    .body_listing a:hover,
    .user_listing a:hover {
        text-decoration: underline !important;
    }

#header_left p,
#header_left ul,
#header_left ol {
    padding-right: 120px;
}

.request_left {
    width: 600px;
}

.request_right {
    width: 240px;
}

/** REQUEST **/
p.subtitle {
    font-family: Verdana, Helvetica, Arial;
    font-size: 15px;
    color: #444444; /* XXX */
}

p.public-body-name-prefix {
    font-family: Verdana, Helvetica, Arial;
    font-size: 14px;
    margin-top: 0px;
    margin-bottom: -20px;
    color: #444444; /* XXX */
}

#stepwise_make_request {
    background: none;
    width: 480px;
    margin-bottom: 10px;

    font-family: Verdana, Helvetica, Arial;
    font-size: 16px;
    color: #444444; /* XXX */
}
    #stepwise_make_request strong {
        color: #009A9D;
    }

h2.foi_results {
    width: 480px;
    padding-bottom: 0px;
}

#foi_results_section,
.results_section {
    float: right;
    padding-left: 0px;
    padding-right: 150px;
    width: 480px;
}

.request_listing {
    margin-right: -210px;
}
    .request_left {
        width: 480px;
    }
    .request_right {
        width: 210px;
    }
    .request_listing span.desc {
        background: none;
    }

.date_added {
    display: none;
}

#request_header {
    background: none;
    width: 630px;
}
    #request_header_body h3,
    #request_header_body .form_item_note {
        display: none;
    }
    #request_header_body #request_header_text {
        font-size: 1em;
    }

#request_search_ahead_results {
    font-size: 1em;
    margin-left: 110px;
    margin-top: 10px;
}

#request_header input,
#request_form textarea {
    width: 500px;
}

#request_advice {
    margin-right: -30px;
}

/** MODAL SIGN-IN **/
#signin-successful,
#signin-successful a {
    font-family: Helvetica, Arial;
    color: #00aaa6;
    font-size: 14px;
    font-weight: bold;
    padding-top: 50px;
}

#sign_together h1 {
    margin-top: 10px;
}

#sign_together .errorExplanation {
    width: 360px;
    text-align: left;
}

/** FOOTER **/
#footer {
    height: 90px;
    margin: 0px;
    border-top-width: 1px;
}

#footer-inner {
    width: 960px;
    margin: auto;
    position: relative;
}

#access-info-logo {
    position: absolute;
    left: 0px;
    top: 10px;
}

#footer-links {
    margin-left: 90px;
    margin-top: 10px;
    float: left;

    font-family: 'Open Sans', Helvetica, Arial;
    font-size: 18px;
}
    #footer-links ul {
        list-style: none outside none;
    }
    #footer-links ul li {
        float: left;
        margin-right: 25px;
    }
    #footer-links ul a {
        text-decoration: none;
        color: #009a9d;
    }
    #footer-links ul a:hover {
        text-decoration: underline;
    }

#credits {
    float: right;
    margin-top: 13px;
    margin-right: 95px;
    width: 340px;

    font-family: Verdana, Helvetica, Arial;
    font-size: 11px;
    text-align: right;
}
    #credits a {
        text-decoration: none;
        color: #00aaa6;
    }

#creative-commons-logo {
    position: absolute;
    right: 0px;
    top: 30px;
}

@import url(http://fonts.googleapis.com/css?family=Open+Sans:600,700);

/** LAYOUT **/
body {
    font-family: Verdana, Helvetica, Arial;
    font-size: 12px;
    line-height: 1.5;
}
    body.front {
        background: none;
    }

#content {
    width: 840px;
    padding: 0px 60px;
    margin: auto;
}

#wrapper {
    padding-top: 10px;
    margin-bottom: 50px;
    width: 960px;
}

#header_right {
    width: 180px;
    float: left;
    margin-top: 30px;
}

#header_left {
    width: 600px;
    float: right;
    padding: 20px 30px;
}

/** HEADER **/
#banner {
    background: #EAF5F6;
    border: none;
    height: 150px;
    position: relative;
}

#banner_inner {
    width: 960px;
    height: 150px;
}
    #banner_inner a:hover {
        text-decoration: underline;
    }

#logo {
    position: absolute;
    top: 20px;
}

#navigation_search {
    top: 50px;
    visibility: hidden;
}

div.lang {
    top: 23px;
    color: #00aaa6;
    font-size: 12px;
    text-transform: capitalize;
}
    div.lang a {
        color: #00aaa6;
        text-decoration: none;
    }

#logged_in_bar {
    top: 24px;
    font-weight: bold;
    font-size: 12px;
    padding: 3px 8px 1px 8px;
    height: 19px;
    background: #009a9d;
    border-radius: 5px;
}
    #logged_in_bar, #logged_in_bar a, #logged_in_bar a:visited {
        color: #FFF;
        text-decoration: none;
    }

/** NAVIGATION BAR **/
#topnav {
    font-family: Helvetica, Arial;
    font-size: 14px;
    font-weight: bold;
    float: right;
}
    #topnav ul li {
        padding-left: 8px;
        padding-right: 8px;
        margin-right: 8px;

        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }
    #topnav ul li a {
        color: #00aaa6 !important;
    }

/** MAIN SITE **/
h1, h1 a {
    font-family: 'Open Sans', Helvetica, Arial;
    color: #009a9d;
    font-size: 28px;
    font-weight: 600;
    margin-top: 30px;
    text-decoration: none;
}

h2, h2 a {
    font-family: 'Open Sans', Helvetica, Arial;
    color: #7bbb58;
    font-size: 18px;
    font-weight: 700;
}

h3, h3 a {
    font-family: Helvetica, Arial;
    color: #00aaa6;
    font-size: 14px;
    font-weight: bold;
}

/** HELP **/
#left_column_flip {
    margin-top: 10px;
    padding-left: 30px;
    margin-right: 30px;
    width: 600px;
}

#right_column_flip {
    text-align: left;
    width: 180px;
    margin-top: 32px;
}
    #right_column_flip h3 {
        margin-bottom: 0px;
    }
    #right_column_flip ul {
        margin-top: 0px;
        list-style: none outside none;
    }

.controller_help {
    font-size: 12px;
    line-height: 1.5;
    text-align: justify;
}
    .controller_help a {
        color: #009a9d;
        text-decoration: none;
    }
    .controller_help a:hover {
        text-decoration: underline;
    }

.XXX {  /* TODO stuff */
    color: red;
    font-weight: bold;
    background-color: yellow;
}

/** FRONTPAGE **/
.front #wrapper, .front #content {
    width: 100%;
    padding: 0px;
    margin: 0px;
}

#frontpage-intro {
    width: 960px;
    margin: auto;
    position: relative;
}

#frontpage-lead {
    font-family: 'Open Sans', Helvetica, Arial;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    color: #73c167;
}

#frontpage-left-balloon {
    float: left;
    width: 196px;
    height: 184px;
    background: url(/asktheeu-theme/images/yellow_balloon.gif);
    padding: 10px 30px 20px 50px;
    margin: 37px 8px 60px 0px;
    text-align: center;
}
    #frontpage-left-balloon h2 {
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 24px;
        font-weight: 700;
        color: #fff;
        padding-right: 20px;
        margin-bottom: 5px;
    }
    #frontpage-left-balloon p {
        padding-right: 20px;
    }
    #frontpage-left-balloon .frontpage-button-link {
        margin-left: 38px;
    }

#frontpage-middle-balloon {
    float: left;
    width: 314px;
    height: 283px;
    background: url(/asktheeu-theme/images/blue_balloon.gif);
    padding: 0px 30px 0px 30px;
    text-align: center;
}
    #frontpage-middle-balloon h1 {
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 42px;
        font-weight: 700;
        color: #fff;
        padding-right: 10px;
        margin-bottom: 5px;
    }
    #frontpage-middle-balloon p {
        margin-left: 15px;
        padding-right: 20px;
    }
    #frontpage-middle-balloon .frontpage-button-link {
        margin-left: 102px;
    }

#frontpage-right-balloon {
    float: left;
    width: 218px;
    height: 174px;
    background: url(/asktheeu-theme/images/green_balloon.gif);
    padding: 5px 20px 20px 50px;
    margin: 42px 0px 60px 4px;
    text-align: center;
}
    #frontpage-right-balloon h2 {
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 24px;
        font-weight: 700;
        color: #fff;
        padding-right: 30px;
        margin-bottom: 5px;
    }
    #frontpage-right-balloon p {
        padding-right: 30px;
    }
    #frontpage-right-balloon .frontpage-button-link {
        margin-left: 43px;
    }

#frontpage-left-balloon p,
#frontpage-right-balloon p,
#frontpage-middle-balloon p {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    margin-top: 0px;
}

#frontpage-intro a {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
}
    #frontpage-intro a:hover {
        text-decoration: underline;
    }

.frontpage-button-link {
    height: 24px;
    width: 100px;
    background: url(/asktheeu-theme/images/button_gradient.gif);
    border-radius: 5px;
    text-align: center;
    padding-top: 3px;
    padding-bottom: 3px;
}

#frontpage-content {
    background: #EAF5F6;
    border-top: 1px solid #b2dcde;
}

#frontpage-inner-content {
    width: 960px;
    margin: auto;
    position: relative;
    padding-bottom: 20px;
}

#left-column {
    float: left;
    background: #EAF5F6;
    width: 450px;
}

#right-column {
    float: right;
    width: 450px;
}

#frontpage-content p {
    color: #6f6f6e;
    font-size: 12px;
    line-height: 1.5;
}

#frontpage-content p a {
    color: #009a9d;
    font-size: 12px;
    text-decoration: none;
}
    #frontpage-content a:hover {
        text-decoration: underline;
    }

.picture-frame {
    width: 450px;
    height: 270px;
    background: #FFF;
    border-radius: 15px;
    margin-bottom: 30px;
}
    .picture-frame img,
    .picture-frame iframe {
        width: 420px;
        height: 240px;
        margin: 15px;
    }

#follow-us-frame {
    width: 390px;
    height: 60px;
    background: #FFF;
    border-radius: 15px;
    margin-bottom: 30px;
    margin-top: 50px;
    padding: 20px 30px 20px 30px;
}
    #follow-us-frame p {
        float: left;
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 18px;
        color: #009a9d;
    }
    #follow-us-frame span {
        float: left;
        margin-top: 12px;
        margin-left: 20px;
    }

.link-arrow {
    background: no-repeat url(/asktheeu-theme/images/arrow_icon.gif) ;
    padding-top: 6px;
    padding-left: 35px;
    height: 30px;
}
    .link-arrow a {
        font-family: Helvetica, Arial;
        color: #00aaa6;
        font-size: 14px;
        font-weight: bold;
        text-decoration: none;
    }

/** GENERAL **/
.request_listing span.head a,
.user_listing span.head a,
.body_listing span.head a {
    font-family: 'Open Sans', Helvetica, Arial;
    font-size: 16px;
    color: #009A9D;
}

a,
.request_listing a,
.body_listing a,
.user_listing a {
    color: #009A9D;
    text-decoration: none !important;
}
    a:hover,
    .request_listing a:hover,
    .body_listing a:hover,
    .user_listing a:hover {
        text-decoration: underline !important;
    }

#header_left p,
#header_left ul,
#header_left ol {
    padding-right: 120px;
}

.request_left {
    width: 600px;
}

.request_right {
    width: 240px;
}

/** REQUEST **/
p.subtitle {
    font-family: Verdana, Helvetica, Arial;
    font-size: 15px;
    color: #444444; /* XXX */
}

p.public-body-name-prefix {
    font-family: Verdana, Helvetica, Arial;
    font-size: 14px;
    margin-top: 0px;
    margin-bottom: -20px;
    color: #444444; /* XXX */
}

#stepwise_make_request {
    background: none;
    width: 480px;
    margin-bottom: 10px;

    font-family: Verdana, Helvetica, Arial;
    font-size: 16px;
    color: #444444; /* XXX */
}
    #stepwise_make_request strong {
        color: #009A9D;
    }

h2.foi_results {
    width: 480px;
    padding-bottom: 0px;
}

#foi_results_section,
.results_section {
    float: right;
    padding-left: 0px;
    padding-right: 150px;
    width: 480px;
}

.request_listing {
    margin-right: -210px;
}

    .request_left {
        width: 480px;
    }
    .request_right {
        width: 210px;
    }
    .request_listing span.desc {
        background: none;
    }

.date_added {
    display: none;
}

#request_header {
    background: none;
}
    #request_header_body h3,
    #request_header_body .form_item_note {
        display: none;
    }
    #request_header_body #request_header_text {
        font-size: 1em;
    }

#request_search_ahead_results {
    font-size: 1em;
    margin-left: 110px;
    margin-top: 10px;
}

#request_header input,
#request_form textarea {
    width: 500px;
}

/** MODAL SIGN-IN **/
#signin-successful,
#signin-successful a {
    font-family: Helvetica, Arial;
    color: #00aaa6;
    font-size: 14px;
    font-weight: bold;
    padding-top: 50px;
}

#sign_together h1 {
    margin-top: 10px;
}

#sign_together .errorExplanation {
    width: 360px;
    text-align: left;
}

/** FOOTER **/
#footer {
    height: 90px;
    margin: 0px;
    border-top-width: 1px;
}

#footer-inner {
    width: 960px;
    margin: auto;
    position: relative;
}

#access-info-logo {
    position: absolute;
    left: 0px;
    top: 10px;
}

#footer-links {
    margin-left: 90px;
    margin-top: 10px;
    float: left;

    font-family: 'Open Sans', Helvetica, Arial;
    font-size: 18px;
}
    #footer-links ul {
        list-style: none outside none;
    }
    #footer-links ul li {
        float: left;
        margin-right: 25px;
    }
    #footer-links ul a {
        text-decoration: none;
        color: #009a9d;
    }
    #footer-links ul a:hover {
        text-decoration: underline;
    }

#credits {
    float: right;
    margin-top: 13px;
    margin-right: 95px;
    width: 340px;

    font-family: Verdana, Helvetica, Arial;
    font-size: 11px;
    text-align: right;
}
    #credits a {
        text-decoration: none;
        color: #00aaa6;
    }

#creative-commons-logo {
    position: absolute;
    right: 0px;
    top: 30px;
}


Put date on each piece of correspondence.

<%
@last_email = nil
if !info_request_event.nil? && info_request_event.event_type == 'response'
    incoming_message = info_request_event.incoming_message
end

if not incoming_message.nil?
%>
    <div class="correspondence" id="incoming-<%=incoming_message.id.to_s%>">

<%= simple_date(incoming_message.sent_at) %>

        <%= render :partial => 'bubble', :locals => { :incoming_message => incoming_message, :body => incoming_message.get_body_for_html_display(@collapse_quotes), :attachments => incoming_message.get_attachments_for_display }  %>

            <% if !incoming_message.safe_mail_from.nil? %>
                <%= incoming_message.safe_mail_from %> of
            <% end %>
            <%= public_body_link(@info_request.public_body) %> replied
            (<%= link_to "link to this", show_response_url(:id => incoming_message.info_request.id, :incoming_message_id => incoming_message.id) %>,
            <%= link_to "reply", show_response_url(:id => incoming_message.info_request.id, :incoming_message_id => incoming_message.id) + "#show_response_followup" %>)

<%
elsif info_request_event.event_type == 'sent' || info_request_event.event_type == 'followup_sent'
    outgoing_message = info_request_event.outgoing_message
    %>
    <div class="correspondence" id="outgoing-<%=outgoing_message.id.to_s%>">

<%= simple_date(info_request_event.created_at) %>

        <%= render :partial => 'bubble', :locals => { :body => outgoing_message.get_body_for_html_display(), :attachments => nil }  %>

            <%= user_link(@info_request.user) %>
            <% if outgoing_message.message_type == 'initial_request' %>
                <% if outgoing_message.status == 'sent' %>
                    sent the initial request
                    to <%= public_body_link(@info_request.public_body) %>
                <% elsif outgoing_message.status == 'ready' %>
                     wrote the initial request, but it has not yet been sent
                <% else raise "unknown outgoing_message.status" %>
                <% end %>
            <% elsif outgoing_message.message_type == 'followup' %>
                <% if outgoing_message.status == 'sent' %>
                    wrote to
                    <% if !outgoing_message.incoming_message_followup.nil? && !outgoing_message.incoming_message_followup.safe_mail_from.nil? %>
                        <%= outgoing_message.incoming_message_followup.safe_mail_from %> of
                    <% end %>
                    <%= public_body_link(@info_request.public_body) %>
                <% elsif outgoing_message.status == 'ready' %>
                     wrote a follow up message, but it has not yet been sent
                <% else raise "unknown outgoing_message.status" %>
                <% end %>
            <% else raise "unknown outgoing_message.message_type" %>
            <% end %>
            (<%= link_to "send follow up", show_response_no_followup_url(:id => outgoing_message.info_request.id, :incoming_message_id => nil) + "#show_response_followup" %>)

<% elsif info_request_event.event_type == 'resent' %>

            Sent to <%= public_body_link(@info_request.public_body) %>
            again (perhaps to a new contact address)

<%
end

if !info_request_event.nil?
    if ['sent', 'resent'].include?(info_request_event.event_type)
         @last_email = info_request_event.params[:email]
    end
end
%>

<%
@last_email = nil
if !info_request_event.nil? && info_request_event.event_type == 'response'
    incoming_message = info_request_event.incoming_message
end

if not incoming_message.nil?
%>
    <div class="correspondence" id="incoming-<%=incoming_message.id.to_s%>">
        <% if @previous_date.nil? or (@previous_date != incoming_message.sent_at.to_date) %>

<%= simple_date(incoming_message.sent_at) %>

        <% end
        @previous_date = incoming_message.sent_at.to_date %>

        <%= render :partial => 'bubble', :locals => { :incoming_message => incoming_message, :body => incoming_message.get_body_for_html_display(@collapse_quotes), :attachments => incoming_message.get_attachments_for_display }  %>

            <% if !incoming_message.safe_mail_from.nil? %>
                <%= incoming_message.safe_mail_from %> of
            <% end %>
            <%= public_body_link(@info_request.public_body) %> replied
            (<%= link_to "link to this", show_response_url(:id => incoming_message.info_request.id, :incoming_message_id => incoming_message.id) %>,
            <%= link_to "reply", show_response_url(:id => incoming_message.info_request.id, :incoming_message_id => incoming_message.id) + "#show_response_followup" %>)

<%
elsif info_request_event.event_type == 'sent' || info_request_event.event_type == 'followup_sent'
    outgoing_message = info_request_event.outgoing_message
    %>
    <div class="correspondence" id="outgoing-<%=outgoing_message.id.to_s%>">
        <% if @previous_date.nil? or (@previous_date != info_request_event.created_at.to_date) %>

<%= simple_date(info_request_event.created_at) %>

        <% end
        @previous_date = info_request_event.created_at.to_date %>

        <%= render :partial => 'bubble', :locals => { :body => outgoing_message.get_body_for_html_display(), :attachments => nil }  %>

            <%= user_link(@info_request.user) %>
            <% if outgoing_message.message_type == 'initial_request' %>
                <% if outgoing_message.status == 'sent' %>
                    sent the initial request
                    to <%= public_body_link(@info_request.public_body) %>
                <% elsif outgoing_message.status == 'ready' %>
                     wrote the initial request, but it has not yet been sent
                <% else raise "unknown outgoing_message.status" %>
                <% end %>
            <% elsif outgoing_message.message_type == 'followup' %>
                <% if outgoing_message.status == 'sent' %>
                    wrote to
                    <% if !outgoing_message.incoming_message_followup.nil? && !outgoing_message.incoming_message_followup.safe_mail_from.nil? %>
                        <%= outgoing_message.incoming_message_followup.safe_mail_from %> of
                    <% end %>
                    <%= public_body_link(@info_request.public_body) %>
                <% elsif outgoing_message.status == 'ready' %>
                     wrote a follow up message, but it has not yet been sent
                <% else raise "unknown outgoing_message.status" %>
                <% end %>
            <% else raise "unknown outgoing_message.message_type" %>
            <% end %>
            (<%= link_to "send follow up", show_response_no_followup_url(:id => outgoing_message.info_request.id, :incoming_message_id => nil) + "#show_response_followup" %>)

<% elsif info_request_event.event_type == 'resent' %>

            Sent to <%= public_body_link(@info_request.public_body) %>
            again (perhaps to a new contact address)

<%
end

if !info_request_event.nil?
    if ['sent', 'resent'].include?(info_request_event.event_type)
         @last_email = info_request_event.params[:email]
    end
end
%>


Correct form post URL

Correct form post URL

Edit basic details of request

<%= error_messages_for 'info_request' %>

<% form_tag '../update/' + @info_request.id.to_s do %>

Title (warning: editing this will break URLs right now)

   <%= text_field 'info_request', 'title', :size => 50  %>

Prominence
   <%= select( 'info_request', "prominence", [ "normal", "backpage", "requester_only", "hidden" ]) %>
   (backpage means hidden from lists/search; hidden means completely hidden; super users can see anything)

   Allow new responses from
   <%= select( 'info_request', "allow_new_responses_from", [ "anybody", "authority_only", "nobody" ] ) %>;
   Handle rejected responses with
   <%= select( 'info_request', "handle_rejected_responses", [ "bounce", "holding_pen", "blackhole" ] ) %>

   ('authority_only' means email From: domain of authority request email or any domain that has previously sent a response; 'nobody' also stops requester making followups; take care when using 'blackhole' which just drops mail)

Described state
   <%= select( 'info_request', "described_state",
       [
        'waiting_response',
        'waiting_clarification',
        'gone_postal',
        'not_held',
        'rejected',
        'successful',
        'partially_successful',
        'internal_review',
        'error_message',
        'requires_admin',
        'user_withdrawn'
    ]) %>;
    Awaiting description
   <%= select('info_request', "awaiting_description", [["Yes - needs state updating",true],["No - state is up to date",false]]) %>

(don't forget to change 'awaiting description' when you set described state)

Tags (space separated, can use key:value)

   <%= text_field 'info_request', 'tag_string', :size => 60  %>

<%= submit_tag 'Save changes', :accesskey => 's' %>

Note: To edit the actual request body text, click edit
  next to the specific outgoing message.

<% end %>

<%= link_to 'Show', '../show/' + @info_request.id.to_s %> |
<%= link_to 'List all', '../list' %>

<% form_tag '../destroy/' + @info_request.id.to_s do %>

    This is permanent and irreversible! <%= submit_tag 'Destory request entirely' %>

Use it mainly if someone posts private information, e.g. made a Data Protection request. It
    destroys all responses and tracks as well.

<% end %>

Edit basic details of request

<%= error_messages_for 'info_request' %>

<% form_tag '../update/' + @info_request.id.to_s do %>

Title (warning: editing this will break URLs right now)

   <%= text_field 'info_request', 'title', :size => 50  %>

Prominence
   <%= select( 'info_request', "prominence", [ "normal", "backpage", "requester_only", "hidden" ]) %>
   (backpage means hidden from lists/search; hidden means completely hidden; super users can see anything)

   Allow new responses from
   <%= select( 'info_request', "allow_new_responses_from", [ "anybody", "authority_only", "nobody" ] ) %>;
   Handle rejected responses with
   <%= select( 'info_request', "handle_rejected_responses", [ "bounce", "holding_pen", "blackhole" ] ) %>

   ('authority_only' means email From: domain of authority request email or any domain that has previously sent a response; 'nobody' also stops requester making followups; take care when using 'blackhole' which just drops mail)

Described state
   <%= select( 'info_request', "described_state",
       [
        'waiting_response',
        'waiting_clarification',
        'gone_postal',
        'not_held',
        'rejected',
        'successful',
        'partially_successful',
        'internal_review',
        'error_message',
        'requires_admin',
        'user_withdrawn'
    ]) %>;
    Awaiting description
   <%= select('info_request', "awaiting_description", [["Yes - needs state updating",true],["No - state is up to date",false]]) %>

(don't forget to change 'awaiting description' when you set described state)

Tags (space separated, can use key:value)

   <%= text_field 'info_request', 'tag_string', :size => 60  %>

<%= submit_tag 'Save changes', :accesskey => 's' %>

Note: To edit the actual request body text, click edit
  next to the specific outgoing message.

<% end %>

<%= link_to 'Show', '../show/' + @info_request.id.to_s %> |
<%= link_to 'List all', '../list' %>

<% form_tag '../fully_destroy/' + @info_request.id.to_s do %>

    This is permanent and irreversible! <%= submit_tag 'Destory request entirely' %>

Use it mainly if someone posts private information, e.g. made a Data Protection request. It
    destroys all responses and tracks as well.

<% end %>


put staff's name in the link to dashboard on your projects

<% @project ||= @show_projects.first -%>

<%= your_project.title %>

<% if profile = @viewer.profiles.find_by_project_id(@project.id) %>
  (<%= link_to("View #{@viewer.person.full_name} Dashboard", profile_path(profile)) %>)
<% end %>

<%= render :remote, :controller => 'reports', :action => :project_stats, :project_id => your_project.id %>

<%
@viewer.set_project(your_project)

title = ""
if @viewer.is_eventgroup_coordinator?(@eg)
    title += ", Projects Coordinator"
end
if @viewer.is_project_director?
    title += ", Project Director"
end
if @viewer.is_project_administrator?
    title += ", Project Administrator"
end
if @viewer.is_support_coach?
    title += ", Support Coach"
end
if @viewer.is_project_staff?
    title += ", Project Staff"
end
if @viewer.is_processor?
    title += ", Processor"
end

%>

<%= "#{@viewer.name}#{title}" %>

<% if @viewer.is_support_coach? || @viewer.is_atleast_project_staff(your_project) %>
    <%= render :partial => "support_coach_list", :locals => { :project => your_project } %>
<% end %>

<% if !@viewer.is_student?(@eg) %>
  <%
    cache(:controller => 'main', :action => 'your_projects', :section => 'Acceptance',
          :project_id => your_project.id, :role => @viewer.roles_wrt_project(your_project)) do
  %>

      <%= link_to 'Assign tasks', :action => 'assign_individual_tasks', :project_id => your_project.id %>

Accepted pile:

	      <%= render :partial => "accepted_pile", :locals => { :project => your_project } %>

  <% end %>

    <% @can_evaluate = @viewer.is_eventgroup_coordinator?(@eg) || @viewer.is_processor? %>
    <% appln_includes = [ :references, { :viewer => { :persons => :campuses } }, :preference1, :profiles ]
       @processor_list = Applying.find_all_by_project_id your_project.id
    %>
    <% @refs_for_questionnaire = Hash[*(@processor_list.collect{ |applying|
           applying.appln.form.questionnaire.id
         }.uniq.inject([]) { |arr,qid|
           arr << qid << Questionnaire.find(qid).references
         })]
    %>

Processor's pile:

    <%= render :partial => "processor_pile", :locals => { :project => your_project } %>

Staff:

      <%= render :partial => "staff_pile", :locals => { :project => your_project } %>

  <% if @viewer.is_eventgroup_coordinator?(@eg) || @viewer.is_processor? %>

Withdrawn pile:

      <%= render :partial => "withdrawn_pile", :locals => {:project => your_project }%>

  <% end %>
<% end %>

<% @project ||= @show_projects.first -%>

<%= your_project.title %>

<% if profile = @viewer.profiles.find_by_project_id(@project.id) %>
  (<%= link_to("Dashboard", profile_path(profile)) %>)
<% end %>

<%= render :remote, :controller => 'reports', :action => :project_stats, :project_id => your_project.id %>

<%
@viewer.set_project(your_project)

title = ""
if @viewer.is_eventgroup_coordinator?(@eg)
    title += ", Projects Coordinator"
end
if @viewer.is_project_director?
    title += ", Project Director"
end
if @viewer.is_project_administrator?
    title += ", Project Administrator"
end
if @viewer.is_support_coach?
    title += ", Support Coach"
end
if @viewer.is_project_staff?
    title += ", Project Staff"
end
if @viewer.is_processor?
    title += ", Processor"
end

%>

<%= "#{@viewer.name}#{title}" %>

<% if @viewer.is_support_coach? || @viewer.is_atleast_project_staff(your_project) %>
    <%= render :partial => "support_coach_list", :locals => { :project => your_project } %>
<% end %>

<% if !@viewer.is_student?(@eg) %>
  <%
    cache(:controller => 'main', :action => 'your_projects', :section => 'Acceptance',
          :project_id => your_project.id, :role => @viewer.roles_wrt_project(your_project)) do
  %>

      <%= link_to 'Assign tasks', :action => 'assign_individual_tasks', :project_id => your_project.id %>

Accepted pile:

	      <%= render :partial => "accepted_pile", :locals => { :project => your_project } %>

  <% end %>

    <% @can_evaluate = @viewer.is_eventgroup_coordinator?(@eg) || @viewer.is_processor? %>
    <% appln_includes = [ :references, { :viewer => { :persons => :campuses } }, :preference1, :profiles ]
       @processor_list = Applying.find_all_by_project_id your_project.id
    %>
    <% @refs_for_questionnaire = Hash[*(@processor_list.collect{ |applying|
           applying.appln.form.questionnaire.id
         }.uniq.inject([]) { |arr,qid|
           arr << qid << Questionnaire.find(qid).references
         })]
    %>

Processor's pile:

    <%= render :partial => "processor_pile", :locals => { :project => your_project } %>

Staff:

      <%= render :partial => "staff_pile", :locals => { :project => your_project } %>

  <% if @viewer.is_eventgroup_coordinator?(@eg) || @viewer.is_processor? %>

Withdrawn pile:

      <%= render :partial => "withdrawn_pile", :locals => {:project => your_project }%>

  <% end %>
<% end %>


remove the 'Take' button when you already have the ticket assigned to you

git-svn-id: 37079cf3b62e462fadb70604a1f12517db1b00ce@363 3db89d08-1e44-db11-a2a8-0014220fd31b

  Ticket <%= @ticket.id %> (<%= h(@ticket.state_title) %>)

  <% if @ticket.open? and current_user.can_edit_tickets?(@project) %>
    <%= link_to_ticket_attr_editor(@ticket) %>
  <% end %>

  <% if current_user.can_edit_tickets?(@project) %>

        <% if @ticket.open? %>
          <% render_rounded_line do %>
            <% if @ticket.assigned_to != current_user %>
              <%= link_to_remote('Take',
                :url => {:action => 'take', :id => @ticket, :project => @project},
                :confirm => "Are you sure you want to be assigned to ticket #{@ticket.id}?") %> |
            <% end %>

            <%= link_to_function('Duplicate') {|p| p.visual_effect(:toggle_slide, :duplicate_ticket)} %> |

            <%= link_to_remote('Invalid',
              :url => {:action => 'change_state', :id => @ticket, :project => @project, :state => 'invalid'},
              :confirm => "Mark ticket #{@ticket.id} as invalid?") %> |

            <%= link_to_remote('Resolved',
              :url => {:action => 'change_state', :id => @ticket, :project => @project, :state => 'resolved'},
              :confirm => "Mark ticket #{@ticket.id} as resolved?") %>
          <% end %>

          <%= generate_fast_form(:id => 'duplicate_ticket', :name => 'duplicate_id', :label => 'Ticket ID:',
            :url => {:action => 'mark_duplicate', :id => @ticket, :project => @project}) %>

        <% else %>
          <% render_rounded_line do %>
            <%= link_to_remote('Resurrect Ticket',
              :url => {:action => 'change_state', :id => @ticket, :project => @project, :state => 'reopen'},
              :confirm => "Resurrect ticket #{@ticket.id}?") %>
          <% end %>
        <% end %>

  <% end %>

  <% if @attributes_error_message %>

      <%= h(@attributes_error_message) %>

  <% end %>

    Created:
    by <%= h(@ticket.creator.name) %> <%= h(time_ago_in_words(@ticket.created_on)) %> ago

  <% if @ticket.has_been_updated? %>

      Updated:
      by <%= h(@ticket.histories.last.user.name) %> <%= h(time_ago_in_words(@ticket.updated_on)) %> ago

      History:

        <%= pluralize(@ticket.histories.count, 'change') %> by
        <%= pluralize(@ticket.change_users.size, 'user') %> <%# FIXME bug in ActiveRecord, see ticket.rb %>

  <% end %>

    Severity:
    <%= @ticket.severity.title %> (<%= @ticket.severity.position %> of <%= Severity.count %>)

    Priority:
    <%= @ticket.priority.title %> (<%= @ticket.priority.position %> of <%= Priority.count %>)

  <% if @ticket.has_duplicates? %>

      Duplicates:
      <%= @ticket.duplicates.map {|d| link_to_ticket(d.id, d)}.to_sentence %>

  <% end %>

  <% unless @ticket.duplicate_of_id.nil? %>

      Duplicate:
      of <%= link_to_ticket("ticket #{@ticket.duplicate_of_id}", @ticket.duplicate_of) %>

  <% end %>

    Assigned:

      <% if @ticket.assigned_to.blank? %>
        to no one
      <% else %>
        to <%= @ticket.assigned_to.name %>
      <% end %>

  Ticket <%= @ticket.id %> (<%= h(@ticket.state_title) %>)

  <% if @ticket.open? and current_user.can_edit_tickets?(@project) %>
    <%= link_to_ticket_attr_editor(@ticket) %>
  <% end %>

  <% if current_user.can_edit_tickets?(@project) %>

        <% if @ticket.open? %>
          <% render_rounded_line do %>
            <%= link_to_remote('Take',
              :url => {:action => 'take', :id => @ticket, :project => @project},
              :confirm => "Are you sure you want to be assigned to ticket #{@ticket.id}?") %> |
            <%= link_to_function('Duplicate') {|p| p.visual_effect(:toggle_slide, :duplicate_ticket)} %> |
            <%= link_to_remote('Invalid',
              :url => {:action => 'change_state', :id => @ticket, :project => @project, :state => 'invalid'},
              :confirm => "Mark ticket #{@ticket.id} as invalid?") %> |
            <%= link_to_remote('Resolved',
              :url => {:action => 'change_state', :id => @ticket, :project => @project, :state => 'resolved'},
              :confirm => "Mark ticket #{@ticket.id} as resolved?") %>
          <% end %>

          <%= generate_fast_form(:id => 'duplicate_ticket', :name => 'duplicate_id', :label => 'Ticket ID:',
            :url => {:action => 'mark_duplicate', :id => @ticket, :project => @project}) %>

        <% else %>
          <% render_rounded_line do %>
            <%= link_to_remote('Resurrect Ticket',
              :url => {:action => 'change_state', :id => @ticket, :project => @project, :state => 'reopen'},
              :confirm => "Resurrect ticket #{@ticket.id}?") %>
          <% end %>
        <% end %>

  <% end %>

  <% if @attributes_error_message %>

      <%= h(@attributes_error_message) %>

  <% end %>

    Created:
    by <%= h(@ticket.creator.name) %> <%= h(time_ago_in_words(@ticket.created_on)) %> ago

  <% if @ticket.has_been_updated? %>

      Updated:
      by <%= h(@ticket.histories.last.user.name) %> <%= h(time_ago_in_words(@ticket.updated_on)) %> ago

      History:

        <%= pluralize(@ticket.histories.count, 'change') %> by
        <%= pluralize(@ticket.change_users.size, 'user') %> <%# FIXME bug in ActiveRecord, see ticket.rb %>

  <% end %>

    Severity:
    <%= @ticket.severity.title %> (<%= @ticket.severity.position %> of <%= Severity.count %>)

    Priority:
    <%= @ticket.priority.title %> (<%= @ticket.priority.position %> of <%= Priority.count %>)

  <% if @ticket.has_duplicates? %>

      Duplicates:
      <%= @ticket.duplicates.map {|d| link_to_ticket(d.id, d)}.to_sentence %>

  <% end %>

  <% unless @ticket.duplicate_of_id.nil? %>

      Duplicate:
      of <%= link_to_ticket("ticket #{@ticket.duplicate_of_id}", @ticket.duplicate_of) %>

  <% end %>

    Assigned:

      <% if @ticket.assigned_to.blank? %>
        to no one
      <% else %>
        to <%= @ticket.assigned_to.name %>
      <% end %>