Fix twitter handle

Fix twitter handle

<% @title = "Credit where credit's due" %>

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

<%= @title%>

What made FYI possible? #

Nothing would have happened without Open New Zealand, which funds the servers FYI runs on.

The encouragement of Nat Torkington, Ed Corkery, and the technical assistance of Rob Coup turned this from an idea to something real.

Design work from Greer Mitchell and advice from Andrew Ecclestone was gratefully accepted.

The Alaveteli software from MySociety.

And me, Rowan Crawford, standing on the shoulders of giants.

Can I help out? #

Yes please! We're built out of our supporters and volunteers.

You can make a donation:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="encrypted" value="<%=MySociety::Config.get('PAYPAL_CODE')%>">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">

</form>

Help people find successful requests, and monitor performance of authorities, by
        playing the categorisation game.

Find out OIA email addresses of authorities that we're missing.

Write a blog post about either FYI or an interesting request that you've
        found. Post about it on a forum that you frequent. Tell friends about it.

If you're
        a programmer, get the source code for our parent project, Alaveteli
        and tell us about patches we can pull. It's made in Ruby on Rails.

Get involved with the Open Government Ninjas.


Re-order sections.

Re-order sections.

<% @title = "Your privacy" %>

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

<%= @title %> #

Who gets to see my email address? #

We will not disclose your email address to anyone unless we are obliged to by law,
or you ask us to. This includes the public authority that you are sending a
request to.  They only get to see an email address
@whatdotheyknow.com which is specific to that request.

If you send a message to another user on the site, then it will reveal your
email address to them. You will be told that this is going to happen.

Will you send nasty, brutish spam to my email address? #

Nope. After you sign up to WhatDoTheyKnow we will only send you emails
relating to a request you made, an email alert that you have signed up for,
or for other reasons that you specifically authorise. We will never give or
sell your email addresses to anyone else, unless we are obliged to by law, or
you ask us to.

Why will my name and my request appear publicly on the site? #

We publish your request on the Internet so that anybody can read it and
make use of the information that you have found. We do not normally delete
requests (more details).

Your name is tangled up with your request, so has to be published as well.
It is only fair, as we're going to publish the name of the civil servant who
writes the response to your request.  Using your real name also helps people
get in touch with you to assist you with your research or to campaign with you.

By law, you must use your real name for the request to be a valid Freedom of
Information request. See the next question for alternatives if you do not want
to publish your full name.

Can I make an FOI request using a pseudonym? #

Technically, you must use your real name for your request to be a valid Freedom of Information request in law. See this
guidance from the Information Commissioner (January 2009).

However, the same guidance also says it is good practice for the public
authority to still consider a request made using an obvious pseudonym.
You should refer to this if a public authority refuses a request because you
used a pseudonym.

Be careful though, even if the authority follows this good practice, the
pseudonym will probably make it impossible for you to complain to the
Information Commissioner later about the handling of your request.

There are several good alternatives to using a pseudonym.

Use a different form of your name. The guidance says
that "Mr Arthur Thomas Roberts" can make a valid request as "Arthur Roberts",
"A. T. Roberts", or "Mr Roberts", but not as "Arthur" or "A.T.R.".

Women may use their maiden name.

In most cases, you may use any name by which you are "widely known and/or
is regularly used".

Use the name of an organisation, the name of a company, the trading name of
a company, or the trading name of a sole trader.

Ask someone else to make the request on your behalf.

You may, if you are really stuck, ask us to make the request on
your behalf. Please contact us with
a good reason why you cannot make the request yourself and cannot
ask a friend to. We don't have the resources to do this for everyone.

Please do not try to impersonate someone else.

They've asked for my postal address! #

If a public authority asks you for your full, physical address, reply to them saying
that section 8.1.b of the FOI Act asks for an "address for correspondence",
and that the email address you are using is sufficient.

The Ministry of Justice has guidance
on this –
"As well as hard copy written correspondence, requests that are
transmitted electronically (for example, in emails) are acceptable
... If a request is received by email and no postal address is given, the email
address should be treated as the return address."

As if that isn't enough, the Information Commissioner's
Hints for Practitioners say
"Any correspondence could include a request for information. If it is written (this includes e-mail), legible, gives the name of the applicant, an address for reply (which could be electronic), and includes a description of the information required, then it will fall within the scope of the legislation."

No no, they need a postal address to send a paper response! #

If an authority only has a paper copy of the information that you want,
they may ask you for a postal address. To start with, try persuading them
to scan in the documents for you. You can even offer to gift them a scanner, which in that particular case
embarrassed the authority into finding one they had already.

If that doesn't work, and you want to provide your postal address privately
in order to receive the documents, mark your request as "They are going to reply by post", and it will
give you an email address to use for that purpose.

What about cookies and third party services? #

Our use of cookies and external services: what you should know, and how to opt out if you want to.

Summary: We care a lot about our users’ privacy. We provide details below, and we try our hardest to look after the private data that we hold. Like many other websites, we sometimes use cookies and Google Analytics to help us make our websites better. These tools are very common and used by many other sites, but they do have privacy implications, and as a charity concerned with socially positive uses of the internet, we think it’s important to explain them in full. If you don’t want to share your browsing activities on mySociety’s sites with other companies, you can adjust your usage or install opt-out browser plugins.

Cookies

To make our service easier or more useful, we sometimes place small data files on your computer or mobile phone, known as cookies; many websites do this. We use this information to, for example, remember you have logged in so you don't need to do that on every page, or to measure how people use the website so we can improve it and make sure it works properly. Below, we list the cookies and services that this site can use.

Name	Typical Content	Expires

_wdtk_cookie_session	A random unique identifier	When web browser is closed, or 1 month if 'Remember me' is used

seen_foi2	The number 1 if you have seen a notice	7 days

last_request_id	A number, identifying the last FOI request you looked at on the site	When web browser is closed

last_body_id	A number, identifying the last public authority you looked at on the site	When web browser is closed

Measuring website usage (Google Analytics)

  We use Google Analytics to collect information about how people use this site. We do this to make sure it’s meeting its users’ needs and to understand how we could do it better. Google Analytics stores information such as what pages you visit, how long you are on the site, how you got here, what you click on, and information about your web browser. IP addresses are masked (only a portion is stored) and personal information is only reported in aggregate. We do not allow Google to use or share our analytics data for any purpose besides providing us with analytics information, and we recommend that any user of Google Analytics does the same.

If you’re unhappy with data about your visit to be used in this way, you can install the official browser plugin for blocking Google Analytics.

The cookies set by Google Analytics are as follows:

Name	Typical Content	Expires

__utma	Unique anonymous visitor ID	2 years

__utmb	Unique anonymous session ID	30 minutes

__utmz	Information on how the site was reached (e.g. direct or via a link/search/advertisement)	6 months

__utmx	Which variation of a page you are seeing if we are testing different versions to see which is best	2 years

Google’s Official Statement about Analytics Data

“This website uses Google Analytics, a web analytics service provided by Google, Inc. (“Google”).  Google Analytics uses “cookies”, which are text files placed on your computer, to help the website analyze how users use the site. The information generated by the cookie about your use of the website (including your IP address) will be transmitted to and stored by Google on servers in the United States . Google will use this information for the purpose of evaluating your use of the website, compiling reports on website activity for website operators and providing other services relating to website activity and internet usage.  Google may also transfer this information to third parties where required to do so by law, or where such third parties process the information on Google’s behalf. Google will not associate your IP address with any other data held by Google.  You may refuse the use of cookies by selecting the appropriate settings on your browser, however please note that if you do this you may not be able to use the full functionality of this website.  By using this website, you consent to the processing of data about you by Google in the manner and for the purposes set out above.”

More general information on how third party services work

Credits

Bits of wording taken from the gov.uk cookies page (under the Open Government Licence).

Can you delete my requests, or alter my name?  #

WhatDoTheyKnow is a permanent, public archive of Freedom of
Information requests. Even though you may not find the response to
a request useful any more, it may be of interest to others. For this
reason, we will not delete requests.

Under exceptional circumstances we may remove or change your name
on the website, see the next question.
Similarly, we may also remove other personal information.

If you're worried about this before you make your request,
see the section on pseudonyms.

Can you take down personal information about me? #

If you see any personal information about you on the site which you'd like
us to remove or hide, then please let us know.
Specify exactly what information you believe to be problematic and why, and
where it appears on the site.

If it is sensitive personal information that has been accidentally
posted, then we will usually remove it. Normally we will only consider
requests to remove personal information which come from the individual
concerned, but for sensitive information we would appreciate anyone
pointing out anything they see.

We consider that there is a strong public interest in
retaining the names of officers or servants of public authorities. We will only
remove such names in exceptional circumstances, such as where the disclosure of
a name and position of employment would substantially risk an individual's
safety. If you are such an official and you wish to have your name removed for
such an urgent reason, you must supply us with a request to do so from your
line manager. This request must demonstrate that a risk has been perceived
which outweighs the public interest, and must demonstrate that efforts have
been made to conceal the name on the organisation's own website.

For all other requests we apply a public interest test to decide
whether information should be removed.
 Section 32
of the Data Protection Act 1998 permits us to do this, as the material we
publish is journalistic. We cannot easily edit many types of attachments (such
as PDFs, or Microsoft Word or Excel files), so we will usually ask
that authorities resend these with the personal information removed.

Learn more from the help for FOI officers -->

<% @title = "Your privacy" %>

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

<%= @title %> #

Who gets to see my email address? #

We will not disclose your email address to anyone unless we are obliged to by law,
or you ask us to. This includes the public authority that you are sending a
request to.  They only get to see an email address
@whatdotheyknow.com which is specific to that request.

If you send a message to another user on the site, then it will reveal your
email address to them. You will be told that this is going to happen.

Will you send nasty, brutish spam to my email address? #

Nope. After you sign up to WhatDoTheyKnow we will only send you emails
relating to a request you made, an email alert that you have signed up for,
or for other reasons that you specifically authorise. We will never give or
sell your email addresses to anyone else, unless we are obliged to by law, or
you ask us to.

Why will my name and my request appear publicly on the site? #

We publish your request on the Internet so that anybody can read it and
make use of the information that you have found. We do not normally delete
requests (more details).

Your name is tangled up with your request, so has to be published as well.
It is only fair, as we're going to publish the name of the civil servant who
writes the response to your request.  Using your real name also helps people
get in touch with you to assist you with your research or to campaign with you.

By law, you must use your real name for the request to be a valid Freedom of
Information request. See the next question for alternatives if you do not want
to publish your full name.

Can I make an FOI request using a pseudonym? #

Technically, you must use your real name for your request to be a valid Freedom of Information request in law. See this
guidance from the Information Commissioner (January 2009).

However, the same guidance also says it is good practice for the public
authority to still consider a request made using an obvious pseudonym.
You should refer to this if a public authority refuses a request because you
used a pseudonym.

Be careful though, even if the authority follows this good practice, the
pseudonym will probably make it impossible for you to complain to the
Information Commissioner later about the handling of your request.

There are several good alternatives to using a pseudonym.

Use a different form of your name. The guidance says
that "Mr Arthur Thomas Roberts" can make a valid request as "Arthur Roberts",
"A. T. Roberts", or "Mr Roberts", but not as "Arthur" or "A.T.R.".

Women may use their maiden name.

In most cases, you may use any name by which you are "widely known and/or
is regularly used".

Use the name of an organisation, the name of a company, the trading name of
a company, or the trading name of a sole trader.

Ask someone else to make the request on your behalf.

You may, if you are really stuck, ask us to make the request on
your behalf. Please contact us with
a good reason why you cannot make the request yourself and cannot
ask a friend to. We don't have the resources to do this for everyone.

Please do not try to impersonate someone else.

They've asked for my postal address! #

If a public authority asks you for your full, physical address, reply to them saying
that section 8.1.b of the FOI Act asks for an "address for correspondence",
and that the email address you are using is sufficient.

The Ministry of Justice has guidance
on this –
"As well as hard copy written correspondence, requests that are
transmitted electronically (for example, in emails) are acceptable
... If a request is received by email and no postal address is given, the email
address should be treated as the return address."

As if that isn't enough, the Information Commissioner's
Hints for Practitioners say
"Any correspondence could include a request for information. If it is written (this includes e-mail), legible, gives the name of the applicant, an address for reply (which could be electronic), and includes a description of the information required, then it will fall within the scope of the legislation."

No no, they need a postal address to send a paper response! #

If an authority only has a paper copy of the information that you want,
they may ask you for a postal address. To start with, try persuading them
to scan in the documents for you. You can even offer to gift them a scanner, which in that particular case
embarrassed the authority into finding one they had already.

If that doesn't work, and you want to provide your postal address privately
in order to receive the documents, mark your request as "They are going to reply by post", and it will
give you an email address to use for that purpose.

Can you delete my requests, or alter my name?  #

WhatDoTheyKnow is a permanent, public archive of Freedom of
Information requests. Even though you may not find the response to
a request useful any more, it may be of interest to others. For this
reason, we will not delete requests.

Under exceptional circumstances we may remove or change your name
on the website, see the next question.
Similarly, we may also remove other personal information.

If you're worried about this before you make your request,
see the section on pseudonyms.

Can you take down personal information about me? #

If you see any personal information about you on the site which you'd like
us to remove or hide, then please let us know.
Specify exactly what information you believe to be problematic and why, and
where it appears on the site.

If it is sensitive personal information that has been accidentally
posted, then we will usually remove it. Normally we will only consider
requests to remove personal information which come from the individual
concerned, but for sensitive information we would appreciate anyone
pointing out anything they see.

We consider that there is a strong public interest in
retaining the names of officers or servants of public authorities. We will only
remove such names in exceptional circumstances, such as where the disclosure of
a name and position of employment would substantially risk an individual's
safety. If you are such an official and you wish to have your name removed for
such an urgent reason, you must supply us with a request to do so from your
line manager. This request must demonstrate that a risk has been perceived
which outweighs the public interest, and must demonstrate that efforts have
been made to conceal the name on the organisation's own website.

For all other requests we apply a public interest test to decide
whether information should be removed.
 Section 32
of the Data Protection Act 1998 permits us to do this, as the material we
publish is journalistic. We cannot easily edit many types of attachments (such
as PDFs, or Microsoft Word or Excel files), so we will usually ask
that authorities resend these with the personal information removed.

What about cookies and third party services? #

Our use of cookies and external services: what you should know, and how to opt out if you want to.

Summary: We care a lot about our users’ privacy. We provide details below, and we try our hardest to look after the private data that we hold. Like many other websites, we sometimes use cookies and Google Analytics to help us make our websites better. These tools are very common and used by many other sites, but they do have privacy implications, and as a charity concerned with socially positive uses of the internet, we think it’s important to explain them in full. If you don’t want to share your browsing activities on mySociety’s sites with other companies, you can adjust your usage or install opt-out browser plugins.

Cookies

To make our service easier or more useful, we sometimes place small data files on your computer or mobile phone, known as cookies; many websites do this. We use this information to, for example, remember you have logged in so you don't need to do that on every page, or to measure how people use the website so we can improve it and make sure it works properly. Below, we list the cookies and services that this site can use.

Name	Typical Content	Expires

_wdtk_cookie_session	A random unique identifier	When web browser is closed, or 1 month if 'Remember me' is used

seen_foi2	The number 1 if you have seen a notice	7 days

last_request_id	A number, identifying the last FOI request you looked at on the site	When web browser is closed

last_body_id	A number, identifying the last public authority you looked at on the site	When web browser is closed

Measuring website usage (Google Analytics)

  We use Google Analytics to collect information about how people use this site. We do this to make sure it’s meeting its users’ needs and to understand how we could do it better. Google Analytics stores information such as what pages you visit, how long you are on the site, how you got here, what you click on, and information about your web browser. IP addresses are masked (only a portion is stored) and personal information is only reported in aggregate. We do not allow Google to use or share our analytics data for any purpose besides providing us with analytics information, and we recommend that any user of Google Analytics does the same.

If you’re unhappy with data about your visit to be used in this way, you can install the official browser plugin for blocking Google Analytics.

The cookies set by Google Analytics are as follows:

Name	Typical Content	Expires

__utma	Unique anonymous visitor ID	2 years

__utmb	Unique anonymous session ID	30 minutes

__utmz	Information on how the site was reached (e.g. direct or via a link/search/advertisement)	6 months

__utmx	Which variation of a page you are seeing if we are testing different versions to see which is best	2 years

Google’s Official Statement about Analytics Data

“This website uses Google Analytics, a web analytics service provided by Google, Inc. (“Google”).  Google Analytics uses “cookies”, which are text files placed on your computer, to help the website analyze how users use the site. The information generated by the cookie about your use of the website (including your IP address) will be transmitted to and stored by Google on servers in the United States . Google will use this information for the purpose of evaluating your use of the website, compiling reports on website activity for website operators and providing other services relating to website activity and internet usage.  Google may also transfer this information to third parties where required to do so by law, or where such third parties process the information on Google’s behalf. Google will not associate your IP address with any other data held by Google.  You may refuse the use of cookies by selecting the appropriate settings on your browser, however please note that if you do this you may not be able to use the full functionality of this website.  By using this website, you consent to the processing of data about you by Google in the manner and for the purposes set out above.”

More general information on how third party services work

Credits

Bits of wording taken from the gov.uk cookies page (under the Open Government Licence).

Learn more from the help for FOI officers -->


Clean up whitespace & indentation

Clean up whitespace & indentation

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="<%= I18n.locale %>">

        <title>
        <% if @title %>
            <%=@title%> - <%= site_name %>
        <% else %>
            <%= site_name %> - <%= _('Make and browse Freedom of Information (FOI) requests') %>
        <% end %>
        </title>

        <link rel="shortcut icon" href="/favicon.ico">
        <%= stylesheet_link_tag 'main', :title => "Main", :rel => "stylesheet", :media => "all" %>
        <%= stylesheet_link_tag 'fonts', :rel => "stylesheet", :media => "all"  %>
        <%= stylesheet_link_tag 'print', :rel => "stylesheet", :media => "print"  %>
        <% if !params[:print_stylesheet].nil? %>
         <%= stylesheet_link_tag 'print', :rel => "stylesheet", :media => "all"  %>
        <% end %>
        <%= javascript_include_tag 'jquery.js', 'jquery-ui.min','jquery.cookie.js', 'general.js' %>

        <% if @profile_photo_javascript %>

            <link rel="stylesheet" href="/stylesheets/jquery.Jcrop.css" type="text/css" >
        <% end %>

        <%= stylesheet_link_tag 'admin-theme/jquery-ui-1.8.15.custom.css', :rel => 'stylesheet'%>

        <%= stylesheet_link_tag 'custom', :title => "Main", :rel => "stylesheet"  %>
        <% if force_registration_on_new_request %>
        <%= stylesheet_link_tag 'jquery.fancybox-1.3.4', :rel => "stylesheet"  %>
        <% end %>

        <% if @feed_autodetect %>
            <% for feed in @feed_autodetect %>
                <link rel="alternate" type="application/atom+xml" title="<%=h feed[:title] %>" href="<%=h feed[:url]%>">
                <% if feed[:has_json] %>
                    <link rel="alternate" type="application/json" title="JSON version of <%=h feed[:title] %>" href="<%=h feed[:url]%>.json">
                <% end %>
            <% end %>
        <% end %>
        <% if @has_json %>
            <link rel="alternate" type="application/json" title="JSON version of this page" href="<%=h main_url(request.request_uri, '.json') %>">
        <% end %>

        <% if @no_crawl %>
            <meta name="robots" content="noindex, nofollow">
        <% end %>

        <%= render :partial => 'general/before_head_end' %>

    <body <%= "class='front'" if params[:action] == 'frontpage' %>>

    <% if force_registration_on_new_request && !@user %>
    <%= javascript_include_tag 'jquery.fancybox-1.3.4.pack' %>

    <% end %>

<% # code for popup advert for a campaign etc.
=begin

Close

    [ message goes here ]

Close

=end
%>

<%= render :partial => 'general/locale_switcher' %>

        <% if not (controller.action_name == 'signin' or controller.action_name == 'signup') %>

          <% if @user %>
              <%= _('Hello, {{username}}!', :username => h(@user.name))%>

                <% if @user %>
                    <%=link_to _("My requests"), show_user_requests_path(:url_name => @user.url_name) %>
                    <%=link_to _("My profile"), show_user_profile_path(:url_name => @user.url_name) %>
                <% end %>

              <%= link_to _("Sign out"), signout_url(:r => request.request_uri) %>
          <% else %>
              <%= link_to _("Sign in or sign up"), signin_url(:r => request.request_uri) %>
          <% end %>

        <% end %>

            <% form_tag({:controller => "general", :action => "search_redirect"}, {:id => "navigation_search_form"}) do %>

                   <%= text_field_tag 'query', params[:query], { :size => 40, :id => "navigation_search_query" } %>
                   <%= image_submit_tag('search-button.png') %>

            <% end %>

        <%= render :partial => 'general/orglink' %>

        <%= render :partial => 'general/topnav' %>

            <% if flash[:notice] %>

<%= flash[:notice] %>

            <% end %>
            <% if flash[:error] %>

<%= flash[:error] %>

            <% end %>

            <div id="<%= controller.controller_name + "_" + controller.action_name %>" class="controller_<%= controller.controller_name %>">
            <%= yield :layout %>

    <%= render :partial => 'general/footer' %>

    <%= render :partial => 'general/before_body_end' %>

X
<%= _("Paste this link into emails, tweets, and anywhere else:") %>

<input type="text">


Changed title for Product search view

Changed title for Product search view

* The default method doesn't work for unknown reasons

<%= _('Products and Services') %>

  <% if !@empty_query %>
    <% button_bar do %>
      <%= display_map_list_button %>
    <% end %>
    <%= facets_menu(:products, @facets) %>
  <% end %>

  <%= render :partial => 'search_form', :locals => { :hint => _('Type the product, service, city or qualifier desired') } %>
  <%= render :partial => 'results_header' %>

  <%= display_results(true) %>
  <% if params[:display] != 'map' %>
    <%= pagination_links @results[:products] %>
  <% end %>

<%= search_page_title( @titles[:products], @category ) %>

  <% if !@empty_query %>
    <% button_bar do %>
      <%= display_map_list_button %>
    <% end %>
    <%= facets_menu(:products, @facets) %>
  <% end %>

  <%= render :partial => 'search_form', :locals => { :hint => _('Type the product, service, city or qualifier desired') } %>
  <%= render :partial => 'results_header' %>

  <%= display_results(true) %>
  <% if params[:display] != 'map' %>
    <%= pagination_links @results[:products] %>
  <% end %>


trying to get avatars/headers uploads to work (x20)

git-svn-id: 295275ead0c997ff8920a9abe88dec0903829be9@220 9c008b19-a030-0410-9975-d76d301b4276

<%= error_messages_for :header %>

<div class="box" id="action"<% if current_action == 'index' %> style="display:none;"<% end %>>
	<% form_for(:header, :url => headers_path) do |f| -%>

New Header

<%= f.file_field :uploaded_data %>

Headers should be sized 760x200px.

		<%= submit_tag "Upload", :disable_with => "Upload" %> or
		<% if current_action == 'index' %>
			<%= link_to_function 'Cancel', "$('action').toggle()" %>
		<% else %>
			<%= link_to 'Cancel', headers_path %>
		<% end %>

	<% end %>

<div class="info-left"<% if current_action == 'index' %> style="display:none;"<% end %>>
	<%= link_to 'Home', home_path %> » <%= link_to 'Headers', headers_path %> » New Header

<%= error_messages_for :header %>

<div class="box" id="action"<% if current_action == 'index' %> style="display:none;"<% end %>>
	<% form_for(:header, :url => headers_path, :html => { :multipart => true }) do |f| -%>

New Header

<%= f.file_field :uploaded_data %>

Headers should be sized 760x200px.

		<%= submit_tag "Upload", :disable_with => "Upload" %> or
		<% if current_action == 'index' %>
			<%= link_to_function 'Cancel', "$('action').toggle()" %>
		<% else %>
			<%= link_to 'Cancel', headers_path %>
		<% end %>

	<% end %>

<div class="info-left"<% if current_action == 'index' %> style="display:none;"<% end %>>
	<%= link_to 'Home', home_path %> » <%= link_to 'Headers', headers_path %> » New Header


git-svn-id: svn://beonebody.org/onebody/trunk@111 88fc0095-4724-0410-ab6c-c99dba55acc4

24/7 Prayer Week - Jan 21-28

  Churches throughout the Tulsa area are joining together to
  make 2007 a year of prayer. Cedar Ridge has chosen January 21-28
  as our week to pray together 24 hours-a-day for 7 days. The
  prayer room will be manned around the clock all that week.

  Sign up to pray below. You may sign up for multiple hours.

<% content_for :sidebar do %>

Taken Time Slots

    <% slots = range_of_hours(@first, @last).group_by { |h| h.strftime('%Y/%m/%d') } %>
    <% range_of_days(@first, @last).each do |day| %>
      <%
        num_slots = slots[day.strftime('%Y/%m/%d')].length
        taken = @count_per_day[day.strftime('%Y/%m/%d')] || 0
        percent = (taken / num_slots.to_f * 100).to_i
      %>

        <%= link_to day.strftime('%A'), :anchor => day.strftime('%Y%m%d') %>

          <div style="width:<%= [1, percent].max %>px;background:url(/images/bar.gif) top left repeat-x;height:15px;padding:0;float:left;text-align:right;">
            <% if percent > 50 %><%= percent %>% <% end %>

          <% if percent <= 50 %> <%= percent %>%<% end %>

    <% end %>

Part of TulsaPrayer.com

<% end %>

<% day = nil %>
<% range_of_hours(@first, @last).each do |hour| %>
  <% if hour.day != day %>
    <a name="<%= hour.strftime('%Y%m%d') %>">

<%=h hour.strftime '%A, %B %d' %>

    <% day = hour.day %>

  <% end %>
  <% start = hour.strftime('%Y/%m/%d %H:%M') %>

      <%= case hour.strftime('%I:%M %p')
        when '12:00 AM' then 'Midnight'
        when '12:00 PM' then 'Noon'
        else hour.strftime('%I:%M %p')
      end %>

      <% if signups = @signups[hour.strftime('%Y/%m/%d %H:%M')] %>
        <%= signups.sort_by { |s| s.created_at }.map do |signup|
          link_to(signup.person.name, :controller => 'people', :action => 'view', :id => signup.person) + ((signup.person == @logged_in or @logged_in.admin?) ? link_to('[x]', {:action => 'event_signup', :id => signup.person, :start => start}, :post => true, :confirm => "Are you sure you want to remove #{signup.person.name} from this time slot?", :class => 'discreet') : '')
        end.join(' | ') %>
        <% unless signups.map { |s| s.person }.include? @logged_in %>

          <%= link_to 'sign up here', {:action => 'event_signup', :start => start, :id => @logged_in}, :class => 'discreet', :post => true, :confirm => 'This time slot is already occupied by at least one other person. Are you sure you wish to sign up for this time as well?' %>
        <% end %>
      <% else %>
        <%= link_to 'sign up here', {:action => 'event_signup', :start => start, :id => @logged_in}, :class => 'discreet', :post => true, :confirm => 'Are you sure?' %>
      <% end %>

  <% if hour.hour == 23 or hour == @last %>

  <% end %>
<% end %>

24/7 Prayer Week - Jan 21-28

  Churches throughout the Tulsa area are joining together to
  make 2007 a year of prayer. Cedar Ridge has chosen January 21-28
  as our week to pray together 24 hours-a-day for 7 days. The
  prayer room will be manned around the clock all that week.

  Sign up to pray below. You may sign up for multiple hours.

<% content_for :sidebar do %>

Taken Time Slots

    <% slots = range_of_hours(@first, @last).group_by { |h| h.strftime('%Y/%m/%d') } %>
    <% range_of_days(@first, @last).each do |day| %>
      <%
        num_slots = slots[day.strftime('%Y/%m/%d')].length
        taken = @count_per_day[day.strftime('%Y/%m/%d')] || 0
        percent = (taken / num_slots.to_f * 100).to_i
      %>

        <%= link_to day.strftime('%A'), :anchor => day.strftime('%Y%m%d') %>

          <div style="width:<%= [1, percent].max %>px;background:url(/images/bar.gif) top left repeat-x;height:15px;padding:0;float:left;text-align:right;">
            <% if percent > 50 %><%= percent %>% <% end %>

          <% if percent <= 50 %> <%= percent %>%<% end %>

    <% end %>

<% end %>

<% day = nil %>
<% range_of_hours(@first, @last).each do |hour| %>
  <% if hour.day != day %>
    <a name="<%= hour.strftime('%Y%m%d') %>">

<%=h hour.strftime '%A, %B %d' %>

    <% day = hour.day %>

  <% end %>
  <% start = hour.strftime('%Y/%m/%d %H:%M') %>

      <%= case hour.strftime('%I:%M %p')
        when '12:00 AM' then 'Midnight'
        when '12:00 PM' then 'Noon'
        else hour.strftime('%I:%M %p')
      end %>

      <% if signups = @signups[hour.strftime('%Y/%m/%d %H:%M')] %>
        <%= signups.sort_by { |s| s.created_at }.map do |signup|
          link_to(signup.person.name, :controller => 'people', :action => 'view', :id => signup.person) + ((signup.person == @logged_in or @logged_in.admin?) ? link_to('[x]', {:action => 'event_signup', :id => signup.person, :start => start}, :post => true, :confirm => "Are you sure you want to remove #{signup.person.name} from this time slot?", :class => 'discreet') : '')
        end.join(' | ') %>
        <% unless signups.map { |s| s.person }.include? @logged_in %>

          <%= link_to 'sign up here', {:action => 'event_signup', :start => start, :id => @logged_in}, :class => 'discreet', :post => true, :confirm => 'This time slot is already occupied by at least one other person. Are you sure you wish to sign up for this time as well?' %>
        <% end %>
      <% else %>
        <%= link_to 'sign up here', {:action => 'event_signup', :start => start, :id => @logged_in}, :class => 'discreet', :post => true, :confirm => 'Are you sure?' %>
      <% end %>

  <% if hour.hour == 23 or hour == @last %>

  <% end %>
<% end %>


Make it scroll down so can see followup box.

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

<% if @info_request.awaiting_description %>

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

<% end %>

<%=@title%>

A Freedom of Information request to
    <%= public_body_link(@info_request.public_body) %>
    by
    <%= user_link(@info_request.user) %>

    <% 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. 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 %>
    <% elsif @status == 'waiting_response' %>
        Currently waiting for a response from <%= public_body_link(@info_request.public_body) %>,
        due by <%= simple_date(@info_request.date_response_required_by) %>.
    <% elsif @status == 'waiting_response_overdue' %>
        Currently overdue a response from <%=
        public_body_link(@info_request.public_body) %>. The
        <%= link_to "response was due", about_url %>

        on <%= simple_date(@info_request.date_response_required_by) %>.
    <% elsif @status == 'rejected' %>
        The request was rejected 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", show_response_url(:id => @info_request.id, :incoming_message_id => @info_request.get_last_response.id) + "#show_response_followup" %>.
        <% else %>
            The request is waiting for clarification.
            If you are
            <%= user_link(@info_request.user) %>, please
            <%= link_to "sign in", signin_url(:r => request.request_uri) %> to send a follow up message.
        <% end %>
    <% else %>
        <% raise "unknown status " + @status %>
    <% end %>

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

Juicy stuff will be here

For now it is just padding to make the messages on the left
    narrower, so I can see what the formatting is like.

<% if @info_request.awaiting_description %>

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

<% end %>

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

<% if @info_request.awaiting_description %>

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

<% end %>

<%=@title%>

A Freedom of Information request to
    <%= public_body_link(@info_request.public_body) %>
    by
    <%= user_link(@info_request.user) %>

    <% 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. 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 %>
    <% elsif @status == 'waiting_response' %>
        Currently waiting for a response from <%= public_body_link(@info_request.public_body) %>,
        due by <%= simple_date(@info_request.date_response_required_by) %>.
    <% elsif @status == 'waiting_response_overdue' %>
        Currently overdue a response from <%=
        public_body_link(@info_request.public_body) %>. The
        <%= link_to "response was due", about_url %>

        on <%= simple_date(@info_request.date_response_required_by) %>.
    <% elsif @status == 'rejected' %>
        The request was rejected 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", show_response_url(:id => @info_request.id, :incoming_message_id => @info_request.get_last_response.id) %>.
        <% else %>
            The request is waiting for clarification.
            If you are
            <%= user_link(@info_request.user) %>, please
            <%= link_to "sign in", signin_url(:r => request.request_uri) %> to send a follow up message.
        <% end %>
    <% else %>
        <% raise "unknown status " + @status %>
    <% end %>

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

Juicy stuff will be here

For now it is just padding to make the messages on the left
    narrower, so I can see what the formatting is like.

<% if @info_request.awaiting_description %>

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

<% end %>


Add pulldown menu for switching commenting off on a request.

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", InfoRequest.enumerate_states) %>
    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)

Are comments allowed?
    <%= select('info_request', "comments_allowed", [["Yes – comments allowed", true], ["No – comments disabled", false]]) %>

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 'Destroy 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", InfoRequest.enumerate_states) %>
    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 'Destroy 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 %>


Center-align subtitles in front page blobs

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

/** LAYOUT **/
body {
    font-family: Verdana, Helvetica, Arial;
}
    body.front {
        background: none;
    }

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

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

#banner_inner {
    width: 950px;
    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;
    margin-left: 190px;
}
    #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: 20px;
    width: 550px;
    margin-right: 40px;
}

#right_column_flip {
    text-align: right;
    width: 240px;
}

.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: 950px;
    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: 950px;
    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;
    }

/** REQUEST **/
#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: 170px;
    margin: 0px;
    border-top-width: 1px;
}

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

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

#footer-links {
    margin-left: 150px;
    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: 40px;
    }
    #footer-links ul a {
        text-decoration: none;
        color: #009a9d;
    }
    #footer-links ul a:hover {
        text-decoration: underline;
    }

#credits {
    margin-top: 30px;
    margin-right: 20px;

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

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

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

/** LAYOUT **/
body {
    font-family: Verdana, Helvetica, Arial;
}
    body.front {
        background: none;
    }

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

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

#banner_inner {
    width: 950px;
    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;
    margin-left: 190px;
}
    #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: 20px;
    width: 550px;
    margin-right: 40px;
}

#right_column_flip {
    text-align: right;
    width: 240px;
}

.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: 950px;
    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: 206px;
    height: 184px;
    background: url(/asktheeu-theme/images/yellow_balloon.gif);
    padding: 10px 20px 20px 50px;
    margin: 37px 8px 60px 0px;
}
    #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-middle-balloon {
    float: left;
    width: 314px;
    height: 283px;
    background: url(/asktheeu-theme/images/blue_balloon.gif);
    padding: 0px 30px 0px 30px;
}
    #frontpage-middle-balloon h1 {
        font-family: 'Open Sans', Helvetica, Arial;
        font-size: 42px;
        font-weight: 700;
        color: #fff;
        text-align: center;
        padding-right: 20px;
        margin-bottom: 5px;
    }
    #frontpage-middle-balloon p {
        margin-left: 15px;
    }
    #frontpage-middle-balloon .frontpage-button-link {
        margin-left: 95px;
    }

#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;
}
    #frontpage-right-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,
#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: 950px;
    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;
    }

/** REQUEST **/
#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: 170px;
    margin: 0px;
    border-top-width: 1px;
}

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

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

#footer-links {
    margin-left: 150px;
    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: 40px;
    }
    #footer-links ul a {
        text-decoration: none;
        color: #009a9d;
    }
    #footer-links ul a:hover {
        text-decoration: underline;
    }

#credits {
    margin-top: 30px;
    margin-right: 20px;

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

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


holy code, we have bad HTML

holy code, we have bad HTML

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

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

    <title>
      <% unless @page_title == 'index' %><%= h(@page_title) %> -<% end %>
      <%= @project ? h(@project.name) : h(Policy.lookup(:site_name)) %>
    </title>

    <%= stylesheet_link_tag('style') %>
    <%= stylesheet_link_tag('tagging') %>
    <%= stylesheet_link_tag('stickies') %>
    <%= javascript_include_tag(:defaults) %>
    <%= javascript_include_tag(@page_javascript) if @page_javascript %>

    <% if @project and !(pcss = @project.policies.lookup(:project_stylesheet).value).blank? %>
      <%= stylesheet_link_tag(pcss) %>
    <% end %>

    <% if @layout_feed %>
      <% @layout_feed.update(:controller => 'feed', :only_path => false) %>
      <%= auto_discovery_link_tag(:rss,  url_for(@layout_feed.merge(:format => 'rss'))) %>
      <%= auto_discovery_link_tag(:atom, url_for(@layout_feed.merge(:format => 'atom'))) %>
    <% end %>

  <body class="<%= @controller.controller_name %>">

          <% render_rounded_line do %>
            <% if logged_in? %>
              Welcome <%= h(current_user.first_name) %> |
              <%= link_to('Dashboard', :controller => '/dashboard') %> |
              <%= link_to('Home', home_url) %> |

              <% if current_user.is_root? %>
                <%= link_to('Admin', :controller => '/admin') %> |
              <% end %>

              <%= help_link %> |
              <%= link_to_function('Logout') {|p| p << visual_effect(:toggle_slide, :confirm_logout)} %>
            <% else %>
              <%= link_to('Home', home_url) %> |
              <%= help_link %> |
              <%= link_to('Login', :controller => '/account', :action => 'login') %>
            <% end %>
          <% end %>

          <% if logged_in? %>
            <%= generate_fast_form(:id => 'confirm_logout',
                                   :label => "Are you sure you want to logout?",
                                   :button => 'OK', :cancel => true, :field => :none,
                                   :xhr => false, :url => {:controller => '/account', :action => 'logout'}) %>
          <% end %>

        <% if @project %>

<%= link_to(h(@project.name), project_url(:project => @project)) %>

<%= h(@project.summary) %>

<%= render(:partial => 'layouts/project_menu') %>

        <% else %>

<%= link_to(h(Policy.lookup(:site_name)), home_url) %>

<%= h(Policy.lookup(:site_description)) %>

        <% end %>

          <%= render(:partial => 'layouts/stickies') %>
          <%= yield %>

Powered by <a href="<%= APP_HOME %>"><%= h(APP_NAME) %> from pmade inc.


ActionItem493: focus ups!

ActionItem493: focus ups!

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

<% simple_search = false unless defined? simple_search %>

<% form_tag( { :action => 'index', :asset => nil, :category_path => ( @category ? @category.explode_path : [] ) },
               :method => 'get', :class => 'search_form' ) do %>
  <%= '
%s
' % form_title if defined? form_title %>

  <%= hidden_field_tag :display, params[:display] %>

      <%= text_field_tag 'query', @query, :id => ( lightbox? ? 'popup-search-input' : '' ), :size => 50 %>
      <%= javascript_tag 'setTimeout("$(\"popup-search-input\").focus()", 10 )' if lightbox? %>

    <%= submit_button(:search, _('Search'), :name => :search_whole_site_no) %>
    <% if @category %>
      <%= submit_button(:search, _('Search in whole site'), :name => :search_whole_site_yes) %>
    <% end %>

  <div id='advanced-search-options' style="display: <%= simple_search ? 'none' : 'block' %>">

<%= _('Search within:') %>

          <%= _('Distance (km):') %>
          <%= text_field_tag 'radius', '', :id => 'search-radius', :size => 3 %>

          <%= _('From:') %>
          <%= text_field :region, :name, :id => 'search_region', :size => 30 %>

        <%= auto_complete_field('search_region', :url => {:action => 'complete_region'}) %>

<%= _('Search for:') %>

        <% @search_in.map { |t,n| [t,gettext(n)] } .
          sort_by(&:last).each do |thing, name| %>

            <%= labelled_check_box name, 'find_in[]', thing.to_s, @searching[thing.to_sym] %>

          <% end %>

  <% if simple_search %>
    <%= link_to_function(_('Advanced search'), nil, :id => 'advanced_search_link') do |page|
      page['advanced_search_link'].hide
      page['advanced-search-options'].toggle
    end %>
  <% end %>

  <% if lightbox?; button_bar do %>
  <%= lightbox_close_button _('Close') %>
  <% end; end %>

<% end %>

<% simple_search = false unless defined? simple_search %>

<% form_tag( { :action => 'index', :asset => nil, :category_path => ( @category ? @category.explode_path : [] ) },
               :method => 'get', :class => 'search_form' ) do %>
  <%= '
%s
' % form_title if defined? form_title %>

  <%= hidden_field_tag :display, params[:display] %>

      <%= text_field_tag 'query', @query, :id => ( lightbox? ? 'popup-search-input' : '' ), :size => 50 %>
      <%# javascript_tag 'alert(123); alert( $("popup-search-input") )' if lightbox? %>
      <%= javascript_tag 'setTimeout( $("popup-search-input").focus(), 10 )' if lightbox? %>

    <%= submit_button(:search, _('Search'), :name => :search_whole_site_no) %>
    <% if @category %>
      <%= submit_button(:search, _('Search in whole site'), :name => :search_whole_site_yes) %>
    <% end %>

  <div id='advanced-search-options' style="display: <%= simple_search ? 'none' : 'block' %>">

<%= _('Search within:') %>

          <%= _('Distance (km):') %>
          <%= text_field_tag 'radius', '', :id => 'search-radius', :size => 3 %>

          <%= _('From:') %>
          <%= text_field :region, :name, :id => 'search_region', :size => 30 %>

        <%= auto_complete_field('search_region', :url => {:action => 'complete_region'}) %>

<%= _('Search for:') %>

        <% @search_in.map { |t,n| [t,gettext(n)] } .
          sort_by(&:last).each do |thing, name| %>

            <%= labelled_check_box name, 'find_in[]', thing.to_s, @searching[thing.to_sym] %>

          <% end %>

  <% if simple_search %>
    <%= link_to_function(_('Advanced search'), nil, :id => 'advanced_search_link') do |page|
      page['advanced_search_link'].hide
      page['advanced-search-options'].toggle
    end %>
  <% end %>

  <% if lightbox?; button_bar do %>
  <%= lightbox_close_button _('Close') %>
  <% end; end %>

<% end %>


ActionItem168: linked the index to the communities and the enteprises of the profile in the profile controller

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

<%= _("%s's profile") % profile.identifier %>

  <%= _('Name:') %>
  <%= profile.name %>

  <%= _('Homepage: ') %>
  <%= link_to url_for(profile.url), profile.url %>

  <%# FIXME %>

<%= link_to_function _('Friends'), 'alert(%s)' % _('This function is not available yet.').inspect %>

<%= link_to _('Communities'), :action => 'communities' %>

<%= link_to _('Enterprises'), :action => 'enterprises' %>

    <%= _('Tags:') %>
    <%= tag_cloud @tags, :id, { :action => 'tag' }, :max_size => 18, :min_size => 10%>

<%= _("%s's profile") % profile.identifier %>

  <%= _('Name:') %>
  <%= profile.name %>

  <%= _('Homepage: ') %>
  <%= link_to url_for(profile.url), profile.url %>

  <%# FIXME %>

<%= link_to_function _('Friends'), 'alert(%s)' % _('This function is not available yet.').inspect %>

<%= link_to_function _('Communities'), 'alert(%s")' % _('This function is not available yet.').inspect %>

<%= link_to_function _('Enterprises'), 'alert(%s)' % _('This function is not available yet.').inspect %>

    <%= _('Tags:') %>
    <%= tag_cloud @tags, :id, { :action => 'tag' }, :max_size => 18, :min_size => 10%>


Updated news

Updated news

<% @title = 'News' %>

<%= @title %>

This page lists the latest changes to and news about the Mushroom Observer website.

Tuesday February 13, 2007

Added multiple upload option for Add Images.

Changed some of the links in the left hand panel based on user feedback.

Saturday February 10, 2007

Added image and location search within the site.

Thursday February 8, 2007

Added Google image search links to Observation and Name pages.

Wednesday February 7, 2007

Added checklists.  Items in the checklist are the results of the
                latest search or viewed species list.  Viewing large lists like
                'Latest Changes' or 'Name Index' will reset the checklist to all
                names.

Moved loading species lists from files to a separate page off of
                Edit Species List to avoid an interaction between the checklist
                and file loading.

Saturday January 27, 2007

Name edits now appear in the RSS feed.

Sunday January 21, 2007

Added How To Use page.

Changed 'New' links to 'Create'.

Fixed a bug with the search box.

Fixed a couple of bugs with the next/prev links.

Thursday January 11, 2007

Fixed a bug with creating new species.

Fixed many bugs with page titles, some of which were preventing pages from loading.

Tuesday January 9, 2007

Names are now database objects rather than just strings.  They have a
                rank, a text name an author and notes.

A show_name page shows this information as well as a list of all
        observations that use that Name.  The show_pages can be accessed from
        each show_observation page as well as the name_index page that is
        available in the left-side panel.

Names can be edited on the edit_name pages that are accessible from
        the show_name pages.  Anyone is allowed to edit any name, but
        following the Wikipedia model,
        a record is kept of every version.  The previous versions are stored as
        'past names'.  A show_past_name page shows the name information for a
        previous version of a name and is accessible from each show_name page.

Names are associated with observations through the 'what' field of the
        observation.  When the 'what' field is changed, the names are searched
        for a match.  The 'what' field can either be the text_name or the
        text_name and the author for a name.  No match is found for a 'what'
        value, then the user is given the option to create the new name.  If a
        'what' value matches more than one name (due to different authors
        publishing the same name), then the user is given a choice between the
        options.  The options list how many observations use each version of
        the name.  If you add an author to a 'what' field for a name that does
        not have an author already, it will ask you if you want to create the
        new name, but it will actually update the existing name.

Names given in species lists are treated in the exact same manner,
        except that all the new names and all of the multiple matches are
        dealt with on the same page.  There is also an option on the
        new_species_list and edit_species_list pages to 'Just Create New
        Names'.  This adds the names without updating the species list or
        creating the corresponding observations.

The search box is now available on every page.

Removed the Observation Index in favor of the Name Index.

Fixed some of the list ordering to make it more intuitive.

A filter was added to the account creation process that should reduce the
        number of bot created users.

Fixed a bug with bouncing between observations and images and using the
        next/prev links.

Monday December 18, 2006

Added prev/next links that follow the RSS feed.

Improved prev/next functionality throughout the site.

RSS feed descriptions now have appropriate line breaks.

Monday December 4, 2006

Species lists can now be uploaded from files.

Separated note for species list from note that applies to member observations.

Fixed use of multiple tabs by switching from session data to hidden fields.

mushroomobserver.org/# == mushroomobserver.org/observer/show_observation/#

Monday October 26, 2006

Switched Observations->By Name to include thumbnails and follow layout.

Maintained old By Name behavior as Observations->Index.

Added simple search box to Activity Log (Latest Changes) and Observation list pages.

Monday October 23, 2006

Changed default page to the RSS feed.

Changed page layout for observation and image list pages.

Added layout controls to user preferences.  Set to 10 rows x 1 column
			and turn off 'Put text below images' to get old layout.

Changed thumbnail image size from 100px to 160px with lower quality (jpeg 50 vs. 75).

Provided Prev/Next buttons for images.

Added link to ask the webmaster a question about the site.

Split up 'Manage Images' into 'Add Image', 'Reuse Image' and 'Remove Images' and made
			them more visible.

'Reuse Image' allows you to look at the images.

Added links for viewing the log for observations and species lists.

Made database lookup for all observations much more efficient.

Rearranged left-hand panel.

Images no longer have titles.  They are derived from the observation(s) they are
			connected to.

Removed Edit and Destroy links from view pages.

Add mini-icon for webpages.

Sunday September 9, 2006

Links to email the creator of observations or images with questions or commerical inquiries.  The creator receives an email with the address of the user who wants to contact them.  It is up to the creator whether they want to respond.

User preferences added to disable the above email feature and to stop receiving emails like this letting you know about new features.

RSS feed has been overhauled to reduce the number of entries and make them more relevant.

Copyright holder now has an option to be something other than a registered user.  The user who uploads the image is the default, but it can now be changed on a per image basis.

Monday August 21, 2006

	Added RSS feed for all interesting events that happen on the site.

	Added 'Create Account' link on login page to make it more obvious.

	Tweaked page titles to make the site easier to index.

Sunday August 13, 2006

	Added this news page.

	List pages now have a better interface for paging than just next/previous,
	and its at the top and bottom of each page.

Saturday August 12, 2006

	Added email verification system to user signup.

<% @title = 'News' %>

<%= @title %>

This page lists the latest changes to and news about the Mushroom Observer website.

Wednesday February 10, 2007

Added image and location search within the site.

Wednesday February 8, 2007

Added Google image search links to Observation and Name pages.

Wednesday February 7, 2007

Added checklists.  Items in the checklist are the results of the
                latest search or viewed species list.  Viewing large lists like
                'Latest Changes' or 'Name Index' will reset the checklist to all
                names.

Moved loading species lists from files to a separate page off of
                Edit Species List to avoid an interaction between the checklist
                and file loading.

Saturday January 27, 2007

Name edits now appear in the RSS feed.

Sunday January 21, 2007

Added How To Use page.

Changed 'New' links to 'Create'.

Fixed a bug with the search box.

Fixed a couple of bugs with the next/prev links.

Thursday January 11, 2007

Fixed a bug with creating new species.

Fixed many bugs with page titles, some of which were preventing pages from loading.

Tuesday January 9, 2007

Names are now database objects rather than just strings.  They have a
                rank, a text name an author and notes.

A show_name page shows this information as well as a list of all
        observations that use that Name.  The show_pages can be accessed from
        each show_observation page as well as the name_index page that is
        available in the left-side panel.

Names can be edited on the edit_name pages that are accessible from
        the show_name pages.  Anyone is allowed to edit any name, but
        following the Wikipedia model,
        a record is kept of every version.  The previous versions are stored as
        'past names'.  A show_past_name page shows the name information for a
        previous version of a name and is accessible from each show_name page.

Names are associated with observations through the 'what' field of the
        observation.  When the 'what' field is changed, the names are searched
        for a match.  The 'what' field can either be the text_name or the
        text_name and the author for a name.  No match is found for a 'what'
        value, then the user is given the option to create the new name.  If a
        'what' value matches more than one name (due to different authors
        publishing the same name), then the user is given a choice between the
        options.  The options list how many observations use each version of
        the name.  If you add an author to a 'what' field for a name that does
        not have an author already, it will ask you if you want to create the
        new name, but it will actually update the existing name.

Names given in species lists are treated in the exact same manner,
        except that all the new names and all of the multiple matches are
        dealt with on the same page.  There is also an option on the
        new_species_list and edit_species_list pages to 'Just Create New
        Names'.  This adds the names without updating the species list or
        creating the corresponding observations.

The search box is now available on every page.

Removed the Observation Index in favor of the Name Index.

Fixed some of the list ordering to make it more intuitive.

A filter was added to the account creation process that should reduce the
        number of bot created users.

Fixed a bug with bouncing between observations and images and using the
        next/prev links.

Monday December 18, 2006

Added prev/next links that follow the RSS feed.

Improved prev/next functionality throughout the site.

RSS feed descriptions now have appropriate line breaks.

Monday December 4, 2006

Species lists can now be uploaded from files.

Separated note for species list from note that applies to member observations.

Fixed use of multiple tabs by switching from session data to hidden fields.

mushroomobserver.org/# == mushroomobserver.org/observer/show_observation/#

Monday October 26, 2006

Switched Observations->By Name to include thumbnails and follow layout.

Maintained old By Name behavior as Observations->Index.

Added simple search box to Activity Log (Latest Changes) and Observation list pages.

Monday October 23, 2006

Changed default page to the RSS feed.

Changed page layout for observation and image list pages.

Added layout controls to user preferences.  Set to 10 rows x 1 column
			and turn off 'Put text below images' to get old layout.

Changed thumbnail image size from 100px to 160px with lower quality (jpeg 50 vs. 75).

Provided Prev/Next buttons for images.

Added link to ask the webmaster a question about the site.

Split up 'Manage Images' into 'Add Image', 'Reuse Image' and 'Remove Images' and made
			them more visible.

'Reuse Image' allows you to look at the images.

Added links for viewing the log for observations and species lists.

Made database lookup for all observations much more efficient.

Rearranged left-hand panel.

Images no longer have titles.  They are derived from the observation(s) they are
			connected to.

Removed Edit and Destroy links from view pages.

Add mini-icon for webpages.

Sunday September 9, 2006

Links to email the creator of observations or images with questions or commerical inquiries.  The creator receives an email with the address of the user who wants to contact them.  It is up to the creator whether they want to respond.

User preferences added to disable the above email feature and to stop receiving emails like this letting you know about new features.

RSS feed has been overhauled to reduce the number of entries and make them more relevant.

Copyright holder now has an option to be something other than a registered user.  The user who uploads the image is the default, but it can now be changed on a per image basis.

Monday August 21, 2006

	Added RSS feed for all interesting events that happen on the site.

	Added 'Create Account' link on login page to make it more obvious.

	Tweaked page titles to make the site easier to index.

Sunday August 13, 2006

	Added this news page.

	List pages now have a better interface for paging than just next/previous,
	and its at the top and bottom of each page.

Saturday August 12, 2006

	Added email verification system to user signup.


Sorry, yet more tinkering with divs. think im done now

<%
if genre = @user_request.referent.metadata['genre']
	type = genre.capitalize+'s'
else
	type = 'Resources'
end
%>

Finding <%=type%>

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

Electronic version  via:

<% fulltxt = get_service_type('fulltext').each do | ft |
    target = ServiceList.get(ft.service_response.service_id).to_fulltext(ft.service_response)
%>

 <%= link_to target[:display_text], {:controller=>'link_router', :id=>ft.id}, 'target'=>"_blank" %>

<% unless target[:coverage].blank? %>

<%= target[:coverage] %>
<% end
%>
<% unless target[:note].blank? %>

<%= target[:note] %>
<% end
%>

<%
end

if fulltxt.empty?
%>

Not Available

<%
end
%>

Paper version  via:

<%
src = ""
holdings = get_service_type('holding').each do |p|
  target = ServiceList.get(p.service_response.service_id).to_holding(p.service_response)
  if src != target[:source_name]
  %>

<%= target[:source_name] %>

  <%
  src = target[:source_name]
  end
  if target[:call_number] == ""
  	display_text = target[:display_text]
  else
  	display_text = target[:call_number]
  end
  %>

<%= link_to display_text, {:controller=>'link_router', :id=>p.id}, 'target'=>'_blank' %>

<%
    unless display_text == target[:display_text]%>

<%= target[:display_text] %>
    <% end
    if target.has_key?(:status)%>

      <% if target[:status] == "Not Charged" or target[:status] == "Available" %>
      <%= target[:status].sub(/Not Charged/, "Available")%>
      <% else %>
      <%= target[:status] %>
      <% end %>

      <%
      end%>

  <%

  end
  %>

<%
if holdings.empty?
    unless title_search = search_opac_for_title(@user_request)
%>

Not Available

<%
else %>

<%= title_search -%>

<% end end %>

<% if session[:coins] %>

Check for holdings:

<%    session[:coins].each { | coins |
        unless coins[:text]
          label = image_tag(coins[:icon], :border=>0)
        else
          label = coins[:text]
        end
    %>

<a href="<%= coins[:host]%>?<%= @user_request.referent.to_context_object.kev %>" target="_blank"><%= label %>

    <%}%>

<%   end
%>

<% if display_ill?
%>

Request a copy via:

<% get_service_type('document_delivery').each do | doc_del |

    if @user_request.referent.format == 'journal'
        #doc_del[:url].sub!(/genre=[^\&]*/, 'genre=article')
    end
    %>

<%= link_to doc_del[:display_text], {:controller=>'link_router', :id=>doc_del.id}, 'target'=>'_blank'%>

<% end %>

<% end %>

<%
unless get_service_type('relevant links').empty? %>

Closest Web Results:  [<%= link_to_function "hide", "activelyHideWebResults()"%>]

<% get_service_type('relevant links').each do |web|
   target = web.service.to_web_link
%>

<%= link_to target[:title], {:controller=>'link_router', :id=>web.id}, 'target'=>"_blank"%>

<%= target[:description] %>
<%
end %>

[<%= link_to_function "Show closest web results", "activelyShowWebResults()"%>]

<% end %>

  <%= render :partial=>"menu" %>
  <%= render :partial=>"highlighted_links_start" %>


Completed the in place point editing. Updated the reorder action ot be called via put

git-svn-id: 688d3875d79a464202b418543870f1890916b750@117 b1a0fcd8-281e-0410-b946-bf040eef99c3

      Stories
      <%= link_to 'create', new_story_path %>

  <% for story in @stories -%>
    <table id="story_<%= story.id %>" class="<%= story.complete? ? "complete" : "incomplete" %>" cellspacing="0" cellpadding="0" width="100%">

          <%= link_to image_tag( 'show.gif' ), story_path(story) %>
          <%= link_to image_tag( 'edit.gif' ), edit_story_path(story) %>
          <%= link_to image_tag( 'delete.gif' ), story_path(story), :confirm => 'Are you sure?', :method => :delete %>
          <%= image_tag "move.gif", :class => 'draggable' %>
          Points:
          <span id="story_<%= story.id %>_points" class="inplaceeditor-field"><%= story.points ? h( story.points ) : "∞" %> - <%=h story.summary %>
          <%= in_place_editor "story_#{story.id}_points", :url => update_points_story_path( story ), :param_name => 'story[points]',
                                                          :ajax_options => { :method => :put }, :eval_scripts => true,
                                                          :ok_button => false, :size => 3 %>

  <% end -%>

  <%= sortable_element "stories", :tag => 'table', :handle => 'draggable', :url => reorder_stories_path, :method => :put %>

      Stories
      <%= link_to 'create', new_story_path %>

  <% for story in @stories -%>
    <table id="story_<%= story.id %>" class="<%= story.complete? ? "complete" : "incomplete" %>" cellspacing="0" cellpadding="0" width="100%">

          <%= link_to image_tag( 'show.gif' ), story_path(story) %>
          <%= link_to image_tag( 'edit.gif' ), edit_story_path(story) %>
          <%= link_to image_tag( 'delete.gif' ), story_path(story), :confirm => 'Are you sure?', :method => :delete %>
          <%= image_tag "move.gif", :class => 'draggable' %>
          Points:
          <span id="story_<%= story.id %>_points" class="inplaceeditor-field"><%= story.points ? h( story.points ) : "∞" %> - <%=h story.summary %>
          <%= in_place_editor "story_#{story.id}_points" %>

  <% end -%>

  <%= sortable_element "stories", :tag => 'table', :handle => 'draggable', :url => reorder_stories_path %>


Ya he quitado el Lorem Ipsum..

Ya he quitado el Lorem Ipsum..

git-svn-id: 268669d3058f191005ae665964cd19b71efa10c4@14071 3f47a204-8049-4147-aab0-d444c64e7564

	<% rounded(:class => "tips") do %>

Latest Events Added

	<%end%>

	<% rounded(:class => "tips") do %>

Events Coming...

	<%= render :partial=> 'shared/events_coming'%>
	<%end%>

<%= render :partial =>'shared/calendar'%>

	<% rounded(:class => "tips") do %>

Latest Events Added

		Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce rhoncus arcu eu lacus. Fusce neque sapien, condimentum sed, auctor faucibus, bibendum id, elit. Nam ornare eros nec mauris. Sed urna. Praesent sit amet leo vitae enim dictum cursus. Sed placerat. Curabitur velit nisl, consequat ac, tincidunt ut, lobortis ac, sapien. Aliquam odio erat, gravida in, hendrerit ut, vehicula at, mauris. Vestibulum consectetuer, nisi vitae ullamcorper tristique, sem neque tincidunt diam, vitae ornare metus enim id dui. Maecenas a ante. Vestibulum quis orci at nisi gravida vestibulum. In adipiscing libero et turpis suscipit viverra. Fusce pharetra rutrum sem. Pellentesque tristique turpis et sem. Phasellus et ligula sit amet nulla aliquet posuere.

Maecenas tempor. Vivamus mollis blandit lorem. Morbi nisl sapien, lobortis vulputate, pretium tempor, suscipit sed, velit. Nullam quis lacus. Donec quam nulla, tincidunt sit amet, condimentum et, ornare ultricies, nisl. Sed tincidunt quam vitae ligula. Morbi bibendum, elit at varius dignissim, leo odio feugiat ante, vitae mattis neque ligula sit amet augue. Sed vehicula lacus eget lacus. Cras euismod leo vitae nisi. Proin felis. Nam non elit non neque porta lobortis. Vivamus feugiat, dui ac porttitor egestas, dolor sapien interdum leo, vitae congue ante eros a nulla. Vestibulum pretium. Suspendisse lacus felis, hendrerit eget, malesuada sed, pharetra nec, mi. Integer leo metus, egestas ut, auctor adipiscing, imperdiet vitae, massa. Cras condimentum nisi nec felis.

Curabitur nec enim. Sed tristique malesuada orci. Mauris id erat sed pede iaculis mollis. Quisque eu urna. Suspendisse sed magna vitae velit suscipit dapibus. Quisque sit amet elit. In eu risus. Quisque erat justo, pulvinar at, mollis id, ullamcorper et, sem. Nam a dolor condimentum lorem fermentum consequat. Sed vel tellus. Ut mauris magna, pharetra ac, dignissim nec, porta congue, dui. Pellentesque at tortor quis lorem malesuada egestas. Morbi lobortis nulla vel ligula. Aliquam erat volutpat. Nam quam purus, adipiscing id, pharetra eget, placerat eget, diam. Vivamus quis pede.

	<%end%>

	<% rounded(:class => "tips") do %>

Events Coming...

		Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce rhoncus arcu eu lacus. Fusce neque sapien, condimentum sed, auctor faucibus, bibendum id, elit. Nam ornare eros nec mauris. Sed urna. Praesent sit amet leo vitae enim dictum cursus. Sed placerat. Curabitur velit nisl, consequat ac, tincidunt ut, lobortis ac, sapien. Aliquam odio erat, gravida in, hendrerit ut, vehicula at, mauris. Vestibulum consectetuer, nisi vitae ullamcorper tristique, sem neque tincidunt diam, vitae ornare metus enim id dui. Maecenas a ante. Vestibulum quis orci at nisi gravida vestibulum. In adipiscing libero et turpis suscipit viverra. Fusce pharetra rutrum sem. Pellentesque tristique turpis et sem. Phasellus et ligula sit amet nulla aliquet posuere.

Maecenas tempor. Vivamus mollis blandit lorem. Morbi nisl sapien, lobortis vulputate, pretium tempor, suscipit sed, velit. Nullam quis lacus. Donec quam nulla, tincidunt sit amet, condimentum et, ornare ultricies, nisl. Sed tincidunt quam vitae ligula. Morbi bibendum, elit at varius dignissim, leo odio feugiat ante, vitae mattis neque ligula sit amet augue. Sed vehicula lacus eget lacus. Cras euismod leo vitae nisi. Proin felis. Nam non elit non neque porta lobortis. Vivamus feugiat, dui ac porttitor egestas, dolor sapien interdum leo, vitae congue ante eros a nulla. Vestibulum pretium. Suspendisse lacus felis, hendrerit eget, malesuada sed, pharetra nec, mi. Integer leo metus, egestas ut, auctor adipiscing, imperdiet vitae, massa. Cras condimentum nisi nec felis.

Curabitur nec enim. Sed tristique malesuada orci. Mauris id erat sed pede iaculis mollis. Quisque eu urna. Suspendisse sed magna vitae velit suscipit dapibus. Quisque sit amet elit. In eu risus. Quisque erat justo, pulvinar at, mollis id, ullamcorper et, sem. Nam a dolor condimentum lorem fermentum consequat. Sed vel tellus. Ut mauris magna, pharetra ac, dignissim nec, porta congue, dui. Pellentesque at tortor quis lorem malesuada egestas. Morbi lobortis nulla vel ligula. Aliquam erat volutpat. Nam quam purus, adipiscing id, pharetra eget, placerat eget, diam. Vivamus quis pede.

	<%= render :partial=> 'shared/events_coming'%>
	<%end%>

<%= render :partial =>'shared/calendar'%>


git-svn-id: svn+ssh://ko.meadowy.net/home/svn/inside/kozuchi/trunk@567 c938ebee-df10-0410-95fc-be8c4b0ebdd5

<%= render :partial => "shared/doctype" %>
<% # とりあえず毎回作る -%>
<% menu_tree, current_menu = load_menu(:controller => "/" + controller.class.controller_path, :action => controller.action_name) -%>
<% title = menu_tree ? menu_tree.name : controller.class.controller_name -%>
<% sub_title = current_menu ? current_menu.name : controller.action_name -%>

    <%= render :partial => "shared/html_header" -%>
    <title>
      <%= title %> - <%= sub_title %>
    </title>
    <%= stylesheet_link_tag 'common' %>
    <%= stylesheet_link_tag 'all_media', :media => :all %>
    <%= stylesheet_link_tag 'book' %>
    <%= stylesheet_link_tag 'print', :media => :print %>
    <%#  stylesheet_link_tag 'daily_booking' %>
    <%= javascript_include_tag :defaults %>
    <%= javascript_include_tag "book" %>
	<%= include_html5jp :circle %>
    <%= render :partial => "shared/google_analytics" %>

        <%= link_to(image_tag("/images/izumo_kozuchi.png", :border => 0, :width => 32, :height => 32), root_path) %>

        <%= title %>
         - <%= sub_title %>

        <% h_menues = header_menues%>
        <% for menu in h_menues %>
          <% if menu_tree && menu.name != menu_tree.name %>
            <%= link_to(menu.name, menu.url_option)%>
          <% else %>
            <%= menu.name %>
          <% end %>
          <% break if menu == h_menues.last %>
           |
        <% end %>

      <div id="user_and_today" class="top_box" <%= user_color_style %>>
        <%= h @user.login_id %>さん

        <%= format_date(Time.now) %>

      <% if menu_tree %>
      <% for menu in menu_tree %>
        <div class="side_menu<%= '_current' if menu == current_menu %>">
          <% if menu == current_menu %>
            <%= menu.name %>
          <% else %>
            <%= link_to(menu.name, url_for(menu.url_option)) %>
          <% end %>

      <% end %>
      <% end %>

      <%= yield %>

    <%= render :partial => "shared/footer" %>

<%= render :partial => "shared/doctype" %>
<% # とりあえず毎回作る -%>
<% menu_tree, current_menu = load_menu(:controller => "/" + controller.class.controller_path, :action => controller.action_name) -%>
<% title = menu_tree ? menu_tree.name : controller.class.controller_name -%>
<% sub_title = current_menu ? current_menu.name : controller.action_name -%>

    <%= render :partial => "shared/html_header" -%>
    <title>
      <%= title %> - <%= sub_title %>
    </title>
    <%= stylesheet_link_tag 'common' %>
    <%= stylesheet_link_tag 'all_media', :media => :all %>
    <%= stylesheet_link_tag 'book' %>
    <%= stylesheet_link_tag 'print', :media => :print %>
    <%#  stylesheet_link_tag 'daily_booking' %>
    <%= javascript_include_tag :defaults, :cache => true %>
    <%= javascript_include_tag "book" %>
	<%= include_html5jp :circle %>
    <%= render :partial => "shared/google_analytics" %>

        <%= link_to(image_tag("/images/izumo_kozuchi.png", :border => 0, :width => 32, :height => 32), root_path) %>

        <%= title %>
         - <%= sub_title %>

        <% h_menues = header_menues%>
        <% for menu in h_menues %>
          <% if menu_tree && menu.name != menu_tree.name %>
            <%= link_to(menu.name, menu.url_option)%>
          <% else %>
            <%= menu.name %>
          <% end %>
          <% break if menu == h_menues.last %>
           |
        <% end %>

      <div id="user_and_today" class="top_box" <%= user_color_style %>>
        <%= h @user.login_id %>さん

        <%= format_date(Time.now) %>

      <% if menu_tree %>
      <% for menu in menu_tree %>
        <div class="side_menu<%= '_current' if menu == current_menu %>">
          <% if menu == current_menu %>
            <%= menu.name %>
          <% else %>
            <%= link_to(menu.name, url_for(menu.url_option)) %>
          <% end %>

      <% end %>
      <% end %>

      <%= yield %>

    <%= render :partial => "shared/footer" %>