Tentatively offer to make requests for people if they're really stuck by the new anonymity guidance.

<% @title = "About" %>

Contents

Introduction

Making requests

Privacy policy

FOI officers

Credits

Contact us

If your question isn't answered here, or you just wanted to let us know
    something about the site, contact us.

Introduction to WhatDoTheyKnow #

What is WhatDoTheyKnow for? #

To help you find out inside information about what the UK government
is doing.

How does the site work? #

You choose the public authority that you would like information from, then
write a brief note describing what you want to know. We then send your request
to the public authority. Any response they make is automatically published on the
website for you and anyone else to find and read.

Why would I bother to do this? #

You pay taxes, and then government does things with the money. All sorts of
things that affect your life, from healthcare through to national defence. Some
it does badly, some it does well. The more we find out about how government
works, the better able we are to make suggestions to improve the things that
are done badly, and to celebrate the things that are done well.

Why would the public authority bother to reply? #

Under Freedom of Information (FOI) law, they have to respond.

Who makes it? #

WhatDoTheyKnow is created and run by mySociety,
and was initially funded by the JRSST Charitable Trust. mySociety is a project of the
registered charity UK Citizens Online Democracy.
If you like what we're doing, then you can
make a donation.

Making requests #

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

Please contact us with the name of the public authority and,
if you can find it, their contact email address for Freedom of Information requests.
If you'd like to help add a whole category of public authority to the site, for example all
primary care trusts or all schools, then please
edit this shared spreadsheet (Google account required).

How quickly will I get a response? #

By law public authorities must respond "promptly", and in any event not later
than 20 working days after receiving your request. The date of that hard limit
is shown on the page for your request. You will be emailed if this date goes by
without a response, so you can send the public authority another note to remind
them that they are breaking the law. Note: If you had to
clarify your request, the clock starts from that date, instead of the date they
received your initial request.

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

If you didn't get the information you asked for, or you didn't get it in time,
then read our page 'Unhappy about the response you got?'.

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

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

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

Can I request information about myself? #

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

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

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

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

WhatDoTheyKnow is currently only designed for public requests. All
responses that we receive are automatically published on the website for anyone
to read.  You should contact the public authority directly if you would like to
make a request in private.  If you're interested in buying a system which helps
you manage FOI requests in secret, then contact us.

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

Some public authorities, such as South East Water,
don't come under the Freedom of Information Act, but do come under another law called
the Environmental Information Regulations (EIR). It's a very similar law, so you make a request
to them using WhatDoTheyKnow in just the same way as an FOI request. The only difference
is that on the page where you write you request, it reminds you that you can only
request "environmental information" and tells you what that means. It is quite broad.

So can I request information using EIR from other authorities? #

Yes, just make a Freedom of Information (FOI) request as normal. The
authority has a duty to work out if the Environmental Information Regulations
(EIR) is the more appropriate legislation to reply under.

Privacy policy #

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.

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 respond to 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 Commisioner later about the handling of your request.

There are several good alternatives to using a pseudonym.

Make the request using 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.".

Make the request using 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. If you really cannot
find anyone, please contact us and a WhatDoTheyKnow
volunteer may make the request for you.

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.

How do you moderate request annotations? #

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

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

FOI officer questions #

I just got here from bottom of an FOI request, what is going on? #

WhatDoTheyKnow is a service run by a charity. It helps ordinary members
of the public make FOI requests, and easily track and share the responses.

The FOI request you received was made by someone using WhatDoTheyKnow. You can
simply reply to the request as you would any other request from an individual.
The only difference is that your response will be automatically published on
the Internet.

If you have privacy or other concerns, please read the answers below.
You might also like to read this page from the top to find out more about what
the site does from the point of view of a user. You can also search the
site to find the authority that you work for, and view the status of
any requests made using the site.

Finally, we welcome comments and
thoughts from FOI officers, please get in touch.

Why are you publishing responses to FOI requests? #

We think there are lots of benefits. Most importantly it will encourage the
public to be more interested and involved in the work of government. We
also hope that it will reduce the number of duplicate requests on any
subject that a public body will receive. Given that Freedom of Information
responses contain public information, which anybody could easily request
again from the public authority, we think there should be no reason not to
publish it widely.

Are the people making requests real people? #

Yes. For the purposes of keeping track of responses we use
computer-generated email addresses for each request. However, before
they can send a request, each user must register on the site with a
unique email address that we then verify. You can search this site and
find a page listing all requests that each person has made.

An email isn't a sufficient address for an FOI request! #

Yes it is. This
letter from the ICO to Rother District Council gives guidance on the matter, specifically
in the context of requests made via WhatDoTheyKnow.

Aren't you making lots of vexatious requests? #

WhatDoTheyKnow is not making any requests. We are sending requests on
behalf of our users, who are real people making the requests.

Look at it like this - if lots of different people made requests from
different Hotmail email addresses, then you would not think that Microsoft were
making vexatious requests. It is exactly the same if lots of requests are made
via WhatDoTheyKnow. Moreover, since all requests are public it is much easier
for you to see if one of our users is making vexatious requests, and for us to
block them when that happens.

If that isn't enough for you, the
letter from the ICO to Rother District Council gives some guidance on the matter.

I can see a request on WhatDoTheyKnow, but we never got it by email!#

If a request appears on the site, then we have attempted to send it to
the authority by email. Any delivery failure messages will automatically
appear on the site. You can check the address we're using with the "View FOI
email address" link which appears on the page for the authority. Contact us if there is a better address we can
use.

Requests are sometimes not delivered because they are quietly removed by
"spam filters" in the IT department of the authority. Authorities can make
sure this doesn't happen by asking their IT departments to "whitelist"
any email from @whatdotheyknow.com.
If you ask us we will resend any request,
and/or give technical details of delivery so an IT department can chase
up what happened to the message.

Finally, you can respond to any request from your web browser, without
needing any email, using the "respond to request" link at the bottom of
each request page.

How can I send a large file, which won't go by email?#

Instead of email, you can respond to a request directly from your web
browser, including uploading a file. To do this, choose "respond to request" at
the bottom of the request's page. Contact us if it
is too big for even that (more than, say, 50Mb).

Isn't it a problem that you publish the names of civil servants and the text of emails? #

Officers or servants responding to requests are doing so on behalf of the
public as part of their job, and we publish their response on that
basis. Usually the names and phone numbers of FOI officers are already
available on authority websites. We also encourage our users to give their real
name too, so it is fair both ways.

Do you publish email addresses or mobile phone numbers? #

We automatically remove email addresses and labelled mobile phone numbers
that are in the email part of responses from public authorities. Please
contact us if we've missed one. We don't currently
remove these from attachments,
such as Word documents.

Can you take down private information about me? #

If you see any information on the site which you'd like us to remove or
hide, then please let us know. We'll then
remove it, provided it is genuinely private information. In particular, we
will remove remarks that are irrelevantly personal.

What is your policy on documents with commercial copyright?#

Our Freedom of Information law is "applicant blind", so anyone in the
world can request the same document and get a copy of it.

If you think our making a document available on the internet infringes your
copyright, you are welcome to contact us and ask us
to take it down.  However, to save tax payers' money by preventing duplicate
requests, and for good public relations, we'd advise you not to do that.

Credit where credit is due #

Which people made WhatDoTheyKnow? #

Oh, nearly everyone (and maybe you too)!

    Heather Brooke
    (vampy!) has
    been pushing the idea of a UK FOI archive for years now.

    Both Phil Rodgers and Francis Irving
    entered it in a mySociety competition for ideas for public interest websites to build.

    It won,
    and then Chris Lightfoot (RIP :()
    thought up the wheeze of intercepting email responses to requests and
    automatically publishing them.

    Tom Steinberg got the cash to pay for the site from
    a dead chocolate mogul (thank you!) ...

    ... so that Francis Irving, Angie Ahl, Tommy Martin, Louise Crow, Matthew Somerville
    and Tom Steinberg could do the complex mixture of design and coding to build
    what you see today.

    Thanks particularly to Julian Todd (great blog!),
    Francis Davey, and Etienne Pollard for using the site early on and giving
    feedback (and/or legal advice!), and also to all our other users and
    testers.

    Lots of people have been looking up FOI email addresses, and a few
    volunteering to run the site - most especially Adam McGreggor, Alex
    Skene, John Cross and Tony Bowden.

Finally we couldn't do any of this without those
crazy people who volunteer,
amongst many other things, to do the accounts and fill in our VAT return.

You're all stars.

Can I help out? #

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

You can make a donation. We're a registered charity.

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

Write a blog post about either WhatDoTheyKnow 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
    and send us patches. It's made in Ruby on Rails.

Read more about volunteering with mySociety.

<% @title = "About" %>

Contents

Introduction

Making requests

Privacy policy

FOI officers

Credits

Contact us

If your question isn't answered here, or you just wanted to let us know
    something about the site, contact us.

Introduction to WhatDoTheyKnow #

What is WhatDoTheyKnow for? #

To help you find out inside information about what the UK government
is doing.

How does the site work? #

You choose the public authority that you would like information from, then
write a brief note describing what you want to know. We then send your request
to the public authority. Any response they make is automatically published on the
website for you and anyone else to find and read.

Why would I bother to do this? #

You pay taxes, and then government does things with the money. All sorts of
things that affect your life, from healthcare through to national defence. Some
it does badly, some it does well. The more we find out about how government
works, the better able we are to make suggestions to improve the things that
are done badly, and to celebrate the things that are done well.

Why would the public authority bother to reply? #

Under Freedom of Information (FOI) law, they have to respond.

Who makes it? #

WhatDoTheyKnow is created and run by mySociety,
and was initially funded by the JRSST Charitable Trust. mySociety is a project of the
registered charity UK Citizens Online Democracy.
If you like what we're doing, then you can
make a donation.

Making requests #

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

Please contact us with the name of the public authority and,
if you can find it, their contact email address for Freedom of Information requests.
If you'd like to help add a whole category of public authority to the site, for example all
primary care trusts or all schools, then please
edit this shared spreadsheet (Google account required).

How quickly will I get a response? #

By law public authorities must respond "promptly", and in any event not later
than 20 working days after receiving your request. The date of that hard limit
is shown on the page for your request. You will be emailed if this date goes by
without a response, so you can send the public authority another note to remind
them that they are breaking the law. Note: If you had to
clarify your request, the clock starts from that date, instead of the date they
received your initial request.

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

If you didn't get the information you asked for, or you didn't get it in time,
then read our page 'Unhappy about the response you got?'.

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

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

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

Can I request information about myself? #

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

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

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

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

WhatDoTheyKnow is currently only designed for public requests. All
responses that we receive are automatically published on the website for anyone
to read.  You should contact the public authority directly if you would like to
make a request in private.  If you're interested in buying a system which helps
you manage FOI requests in secret, then contact us.

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

Some public authorities, such as South East Water,
don't come under the Freedom of Information Act, but do come under another law called
the Environmental Information Regulations (EIR). It's a very similar law, so you make a request
to them using WhatDoTheyKnow in just the same way as an FOI request. The only difference
is that on the page where you write you request, it reminds you that you can only
request "environmental information" and tells you what that means. It is quite broad.

So can I request information using EIR from other authorities? #

Yes, just make a Freedom of Information (FOI) request as normal. The
authority has a duty to work out if the Environmental Information Regulations
(EIR) is the more appropriate legislation to reply under.

Privacy policy #

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.

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 respond to 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 Commisioner later about the handling of your request.

There are several good alternatives to using a pseudonym.

Make the request using 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.".

Make the request using 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.

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.

How do you moderate request annotations? #

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

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

FOI officer questions #

I just got here from bottom of an FOI request, what is going on? #

WhatDoTheyKnow is a service run by a charity. It helps ordinary members
of the public make FOI requests, and easily track and share the responses.

The FOI request you received was made by someone using WhatDoTheyKnow. You can
simply reply to the request as you would any other request from an individual.
The only difference is that your response will be automatically published on
the Internet.

If you have privacy or other concerns, please read the answers below.
You might also like to read this page from the top to find out more about what
the site does from the point of view of a user. You can also search the
site to find the authority that you work for, and view the status of
any requests made using the site.

Finally, we welcome comments and
thoughts from FOI officers, please get in touch.

Why are you publishing responses to FOI requests? #

We think there are lots of benefits. Most importantly it will encourage the
public to be more interested and involved in the work of government. We
also hope that it will reduce the number of duplicate requests on any
subject that a public body will receive. Given that Freedom of Information
responses contain public information, which anybody could easily request
again from the public authority, we think there should be no reason not to
publish it widely.

Are the people making requests real people? #

Yes. For the purposes of keeping track of responses we use
computer-generated email addresses for each request. However, before
they can send a request, each user must register on the site with a
unique email address that we then verify. You can search this site and
find a page listing all requests that each person has made.

An email isn't a sufficient address for an FOI request! #

Yes it is. This
letter from the ICO to Rother District Council gives guidance on the matter, specifically
in the context of requests made via WhatDoTheyKnow.

Aren't you making lots of vexatious requests? #

WhatDoTheyKnow is not making any requests. We are sending requests on
behalf of our users, who are real people making the requests.

Look at it like this - if lots of different people made requests from
different Hotmail email addresses, then you would not think that Microsoft were
making vexatious requests. It is exactly the same if lots of requests are made
via WhatDoTheyKnow. Moreover, since all requests are public it is much easier
for you to see if one of our users is making vexatious requests, and for us to
block them when that happens.

If that isn't enough for you, the
letter from the ICO to Rother District Council gives some guidance on the matter.

I can see a request on WhatDoTheyKnow, but we never got it by email!#

If a request appears on the site, then we have attempted to send it to
the authority by email. Any delivery failure messages will automatically
appear on the site. You can check the address we're using with the "View FOI
email address" link which appears on the page for the authority. Contact us if there is a better address we can
use.

Requests are sometimes not delivered because they are quietly removed by
"spam filters" in the IT department of the authority. Authorities can make
sure this doesn't happen by asking their IT departments to "whitelist"
any email from @whatdotheyknow.com.
If you ask us we will resend any request,
and/or give technical details of delivery so an IT department can chase
up what happened to the message.

Finally, you can respond to any request from your web browser, without
needing any email, using the "respond to request" link at the bottom of
each request page.

How can I send a large file, which won't go by email?#

Instead of email, you can respond to a request directly from your web
browser, including uploading a file. To do this, choose "respond to request" at
the bottom of the request's page. Contact us if it
is too big for even that (more than, say, 50Mb).

Isn't it a problem that you publish the names of civil servants and the text of emails? #

Officers or servants responding to requests are doing so on behalf of the
public as part of their job, and we publish their response on that
basis. Usually the names and phone numbers of FOI officers are already
available on authority websites. We also encourage our users to give their real
name too, so it is fair both ways.

Do you publish email addresses or mobile phone numbers? #

We automatically remove email addresses and labelled mobile phone numbers
that are in the email part of responses from public authorities. Please
contact us if we've missed one. We don't currently
remove these from attachments,
such as Word documents.

Can you take down private information about me? #

If you see any information on the site which you'd like us to remove or
hide, then please let us know. We'll then
remove it, provided it is genuinely private information. In particular, we
will remove remarks that are irrelevantly personal.

What is your policy on documents with commercial copyright?#

Our Freedom of Information law is "applicant blind", so anyone in the
world can request the same document and get a copy of it.

If you think our making a document available on the internet infringes your
copyright, you are welcome to contact us and ask us
to take it down.  However, to save tax payers' money by preventing duplicate
requests, and for good public relations, we'd advise you not to do that.

Credit where credit is due #

Which people made WhatDoTheyKnow? #

Oh, nearly everyone (and maybe you too)!

    Heather Brooke
    (vampy!) has
    been pushing the idea of a UK FOI archive for years now.

    Both Phil Rodgers and Francis Irving
    entered it in a mySociety competition for ideas for public interest websites to build.

    It won,
    and then Chris Lightfoot (RIP :()
    thought up the wheeze of intercepting email responses to requests and
    automatically publishing them.

    Tom Steinberg got the cash to pay for the site from
    a dead chocolate mogul (thank you!) ...

    ... so that Francis Irving, Angie Ahl, Tommy Martin, Louise Crow, Matthew Somerville
    and Tom Steinberg could do the complex mixture of design and coding to build
    what you see today.

    Thanks particularly to Julian Todd (great blog!),
    Francis Davey, and Etienne Pollard for using the site early on and giving
    feedback (and/or legal advice!), and also to all our other users and
    testers.

    Lots of people have been looking up FOI email addresses, and a few
    volunteering to run the site - most especially Adam McGreggor, Alex
    Skene, John Cross and Tony Bowden.

Finally we couldn't do any of this without those
crazy people who volunteer,
amongst many other things, to do the accounts and fill in our VAT return.

You're all stars.

Can I help out? #

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

You can make a donation. We're a registered charity.

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

Write a blog post about either WhatDoTheyKnow 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
    and send us patches. It's made in Ruby on Rails.

Read more about volunteering with mySociety.


Make browse filters look a bit better on IE7

<%= _ 'Tasks' %> <%= " / #{session[:view].name}" unless session[:view].nil? %>

              <%= link_to_remote _('QuickAdd'), :url => { :action => 'quick_add' },
              :loading => "Element.show('loading');",
              :complete => "Element.hide('loading');"
              %>

<%= link_to( _('CSV'), {:controller => 'tasks', :action => 'get_csv'}) %>

            <% if session[:view].nil? %>
<%= link_to( _("Save as View"), {:controller => 'views', :action => 'save_filter', :tags => @selected_tags.join(',')}) %>
<% end %>

            <%
            @clients = Customer.find(:all, :conditions => ["company_id = ?", current_user.company_id], :order => "name").collect{ |c| [c.name, c.id.to_s]}

            if session[:filter_customer].to_i > 0
              @all_projects = current_user.projects.find(:all, :conditions => ["customer_id = #{session[:filter_customer]} AND completed_at IS NULL"])
            else
              @all_projects = current_user.projects
            end

            if session[:filter_project].to_i > 0
              @users = Project.find(:first, :order => "name", :conditions => ["company_id = ? AND id = ?", current_user.company_id, session[:filter_project]]).users.collect {|c| [ c.name, c.id.to_s ] }
            else
              @user_ids = []
              @all_projects.each do |p|
                @user_ids <
 ["id IN (#{@user_ids.uniq.join(',')})"], :order => "name").collect{|u| [u.name, u.id.to_s]}
            end

            filter_count = 0
            if session[:view].nil?
            %>
            <fieldset style="padding-bottom:0.5em;margin-bottom:1em;padding-left:1em;"><legend><%= _'Filter'%></legend>
	    <form action="/tasks/filter" method="post" style="margin:0;padding:0;">
              <select name="filter" id="filter" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[All Tasks]") %></option>

                <% @clients.each do |c| %>
                  <% @client_projects = current_user.projects.find(:all, :conditions => ["customer_id = #{c[1]} AND completed_at IS NULL"], :order => "name") %>
                  <% if @client_projects.size > 0 %>
                  <option value="c<%=c[1]%>" class="select_heading"<%= " selected" if c[1].to_i == session[:filter_customer].to_i %>><%= c[0] %></option>
                    <% @client_projects.each do |p| %>
                      <option value="p<%= p.id %>" class="select_item"<%= " selected" if( p.id == session[:filter_project].to_i && -1 != session[:filter_milestone].to_i) %>>  <%= p.name %></option>
                      <% @project_milestones = Milestone.find(:all, :conditions => ["project_id = #{p.id} AND completed_at IS NULL"], :order => "due_at, name") %>
                      <% if @project_milestones.size > 0 -%>
                       <% @project_milestones.each do |m| -%>
                         <option value="m<%=m.id%>" class="select_subitem"<%= " selected" if m.id == session[:filter_milestone].to_i%>>    <%= m.name %></option>
                       <% end -%>
                       <option value="u<%=p.id%>" class="select_default select_subitem"<%= " selected" if session[:filter_milestone].to_i == -1 && session[:filter_project].to_i == p.id %>>    <%= _("[Unassigned]") -%></option>
                      <% end -%>
                    <% end -%>
                  <% end -%>
                <% end %>
            </select>
            <select name="filter_user" id="filter_user" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[Any User]") %></option>
              <%= options_for_select @users, session[:filter_user] %>
              <option value="-1" class="select_default"<%= " selected" if session[:filter_user].to_i == -1 %>><%= _("[Unassigned]") %></option>
            </select>

            <select name="filter_status" id="filter_status" onchange="javascript:document.forms[1].submit();">
              <option value="-1" class="select_default"><%= _("[Any Status]") %></option>

              <%
                 @status = [[_("Open"), "0"],[_("In Progress"), "1"],[_("Closed"), "2"],[_("Won't Fix"), "3"],[_("Invalid"), "4"],[_("Duplicate"), "5"],[_("Archived"), "-2"]]
              %>
              <%= options_for_select @status, session[:filter_status] %>
            </select>

            <select name="group_by" id="group_by" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[No Grouping]") %></option>

              <%
                 @group_by = [[_("Tags"), "1"],[_("Clients"), "2"],[_("Projects"), "3"],[_("Milestones"), "4"],[_("Projects / Milestones"), "10"],[_("Users"), "5"],[_("Task Type"), "6"],[_("Status"), "7"],[_("Priority"), "9"],[_("Severity"), "8"]]
              %>
              <%= options_for_select @group_by, session[:group_by] %>
            </select>

            <select name="sort" id="sort" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[Default Sorting]") %></option>
              <%
                 @sort = [[_("Due Date"), "1"],[_("Age"), "2"],[_("Name"), "3"], [_("Recent"), "4"]]
              %>
              <%= options_for_select @sort, session[:sort] %>
            </select>

            <input type="checkbox" name="hide_dependencies" id="hide_dependencies" title="<%= _('Hide tasks deferred until a later time') %>" class="tooltip" value="1" <%= session[:hide_dependencies].to_i > 0 ? "checked" : "" %> onChange="javascript:document.forms[1].submit();"><div style="float:left;padding-top:2px;" title="<%= _('Hide tasks deferred until a later time') %>" class="tooltip"> <%=_ 'Hide Waiting'%>

	    </form>
            </fieldset>
            <% end %>

            <% if session[:group_by].to_i > 2 %>

            <%   gb = session[:group_by].to_i
                 affected_projects = @tasks.collect(&:project).uniq
                 can_organize = case gb
                                when 3: current_user.can_all?(affected_projects, 'reassign')
                                when 4: current_user.can_all?(affected_projects, 'reassign')
                                when 5: current_user.can_all?(affected_projects, 'reassign')
                                when 6: current_user.can_all?(affected_projects, 'prioritize')
                                when 7: current_user.can_all?(affected_projects, 'close')
                                when 8: current_user.can_all?(affected_projects, 'prioritize')
                                when 9: current_user.can_all?(affected_projects, 'prioritize')
                                when 10: current_user.can_all?(affected_projects, 'reassign')
                                end
                 if can_organize

            %>

            <%= _'Organize Tasks' %>
            <%= _'Organizing Done'%>

            <%   end
               end
            %>

<%= print_title %>

            <%= render(:partial => "tag_row", :locals => {:groups => @groups, :parent => ""}) %>

            <%=_ 'Tags' %>

      <% unless @selected_tags.empty? %>

<%= _('[All Tags]') %>

      <% end %>

      <% for tag in @all_tags
         if @selected_tags.include?(tag[0]) && @selected_tags.size > 0
            link = (@selected_tags - [tag[0]]).join(',')
         else
            link = (@selected_tags + [tag[0]]).join(',')
         end

         link = tag[0]

      %>

<span class="<%= (@selected_tags.include?(tag[0])) ? "tag_active" : "tag" %>"><a href="/tasks/list?tag=<%=URI.encode(link)%>"><%= tag[0] %> (<%= @tags[tag[0]] %>)

      <% end %>

<%= _ 'Tasks' %> <%= " / #{session[:view].name}" unless session[:view].nil? %>

              <%= link_to_remote _('QuickAdd'), :url => { :action => 'quick_add' },
              :loading => "Element.show('loading');",
              :complete => "Element.hide('loading');"
              %>

<%= link_to( _('CSV'), {:controller => 'tasks', :action => 'get_csv'}) %>

            <% if session[:view].nil? %>
<%= link_to( _("Save as View"), {:controller => 'views', :action => 'save_filter', :tags => @selected_tags.join(',')}) %>
<% end %>

            <%
            @clients = Customer.find(:all, :conditions => ["company_id = ?", current_user.company_id], :order => "name").collect{ |c| [c.name, c.id.to_s]}

            if session[:filter_customer].to_i > 0
              @all_projects = current_user.projects.find(:all, :conditions => ["customer_id = #{session[:filter_customer]} AND completed_at IS NULL"])
            else
              @all_projects = current_user.projects
            end

            if session[:filter_project].to_i > 0
              @users = Project.find(:first, :order => "name", :conditions => ["company_id = ? AND id = ?", current_user.company_id, session[:filter_project]]).users.collect {|c| [ c.name, c.id.to_s ] }
            else
              @user_ids = []
              @all_projects.each do |p|
                @user_ids <
 ["id IN (#{@user_ids.uniq.join(',')})"], :order => "name").collect{|u| [u.name, u.id.to_s]}
            end

            filter_count = 0
            if session[:view].nil?
            %>
            <fieldset style="padding-bottom:0.2em;margin-bottom:1em;"><legend><%= _'Filter'%></legend>
	      <form action="/tasks/filter" method="post">

            <select name="filter" id="filter" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[All Tasks]") %></option>

                <% @clients.each do |c| %>
                  <% @client_projects = current_user.projects.find(:all, :conditions => ["customer_id = #{c[1]} AND completed_at IS NULL"], :order => "name") %>
                  <% if @client_projects.size > 0 %>
                  <option value="c<%=c[1]%>" class="select_heading"<%= " selected" if c[1].to_i == session[:filter_customer].to_i %>><%= c[0] %></option>
                    <% @client_projects.each do |p| %>
                      <option value="p<%= p.id %>" class="select_item"<%= " selected" if( p.id == session[:filter_project].to_i && -1 != session[:filter_milestone].to_i) %>>  <%= p.name %></option>
                      <% @project_milestones = Milestone.find(:all, :conditions => ["project_id = #{p.id} AND completed_at IS NULL"], :order => "due_at, name") %>
                      <% if @project_milestones.size > 0 -%>
                       <% @project_milestones.each do |m| -%>
                         <option value="m<%=m.id%>" class="select_subitem"<%= " selected" if m.id == session[:filter_milestone].to_i%>>    <%= m.name %></option>
                       <% end -%>
                       <option value="u<%=p.id%>" class="select_default select_subitem"<%= " selected" if session[:filter_milestone].to_i == -1 && session[:filter_project].to_i == p.id %>>    <%= _("[Unassigned]") -%></option>
                      <% end -%>
                    <% end -%>
                  <% end -%>
                <% end %>
            </select>

            <select name="filter_user" id="filter_user" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[Any User]") %></option>
              <%= options_for_select @users, session[:filter_user] %>
              <option value="-1" class="select_default"<%= " selected" if session[:filter_user].to_i == -1 %>><%= _("[Unassigned]") %></option>
            </select>

            <select name="filter_status" id="filter_status" onchange="javascript:document.forms[1].submit();">
              <option value="-1" class="select_default"><%= _("[Any Status]") %></option>

              <%
                 @status = [[_("Open"), "0"],[_("In Progress"), "1"],[_("Closed"), "2"],[_("Won't Fix"), "3"],[_("Invalid"), "4"],[_("Duplicate"), "5"],[_("Archived"), "-2"]]
              %>
              <%= options_for_select @status, session[:filter_status] %>
            </select>

            <select name="group_by" id="group_by" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[No Grouping]") %></option>

              <%
                 @group_by = [[_("Tags"), "1"],[_("Clients"), "2"],[_("Projects"), "3"],[_("Milestones"), "4"],[_("Projects / Milestones"), "10"],[_("Users"), "5"],[_("Task Type"), "6"],[_("Status"), "7"],[_("Priority"), "9"],[_("Severity"), "8"]]
              %>
              <%= options_for_select @group_by, session[:group_by] %>
            </select>

            <select name="sort" id="sort" onchange="javascript:document.forms[1].submit();">
              <option value="0" class="select_default"><%= _("[Default Sorting]") %></option>
              <%
                 @sort = [[_("Due Date"), "1"],[_("Age"), "2"],[_("Name"), "3"], [_("Recent"), "4"]]
              %>
              <%= options_for_select @sort, session[:sort] %>
            </select>

            <input type="checkbox" name="hide_dependencies" id="hide_dependencies" title="<%= _('Hide tasks deferred until a later time') %>" class="tooltip" value="1" <%= session[:hide_dependencies].to_i > 0 ? "checked" : "" %> onChange="javascript:document.forms[1].submit();"><div style="float:left;padding-top:2px;" title="<%= _('Hide tasks deferred until a later time') %>" class="tooltip"> <%=_ 'Hide Waiting'%>

	    </form>
            </fieldset>
            <% end %>

            <% if session[:group_by].to_i > 2 %>

            <%   gb = session[:group_by].to_i
                 affected_projects = @tasks.collect(&:project).uniq
                 can_organize = case gb
                                when 3: current_user.can_all?(affected_projects, 'reassign')
                                when 4: current_user.can_all?(affected_projects, 'reassign')
                                when 5: current_user.can_all?(affected_projects, 'reassign')
                                when 6: current_user.can_all?(affected_projects, 'prioritize')
                                when 7: current_user.can_all?(affected_projects, 'close')
                                when 8: current_user.can_all?(affected_projects, 'prioritize')
                                when 9: current_user.can_all?(affected_projects, 'prioritize')
                                when 10: current_user.can_all?(affected_projects, 'reassign')
                                end
                 if can_organize

            %>

            <%= _'Organize Tasks' %>
            <%= _'Organizing Done'%>

            <%   end
               end
            %>

<%= print_title %>

            <%= render(:partial => "tag_row", :locals => {:groups => @groups, :parent => ""}) %>

            <%=_ 'Tags' %>

      <% unless @selected_tags.empty? %>

<%= _('[All Tags]') %>

      <% end %>

      <% for tag in @all_tags
         if @selected_tags.include?(tag[0]) && @selected_tags.size > 0
            link = (@selected_tags - [tag[0]]).join(',')
         else
            link = (@selected_tags + [tag[0]]).join(',')
         end

         link = tag[0]

      %>

<span class="<%= (@selected_tags.include?(tag[0])) ? "tag_active" : "tag" %>"><a href="/tasks/list?tag=<%=URI.encode(link)%>"><%= tag[0] %> (<%= @tags[tag[0]] %>)

      <% end %>


Now always rememebers event_id between promoter edits

<% @page_title = "Admin: Promoters: #{@promoter.name}" %>

<%= render "shared/admin/tabs" %>

<%- if flash[:notice] -%>

			<%= image_tag('icons/confirmed.gif', :height => 11, :width => 11, :id => 'confirmed') %>
			<%= flash[:notice] %>

<%- end -%>

<%- if flash[:warn] -%>

			<%= image_tag('icons/warn.gif', :height => 11, :width => 11, :id => 'confirmed') %>
			<%= flash[:warn] %>

<%- end -%>

<%= error_messages_for 'promoter' %>

<%= start_form_tag({:action => 'update', :id => @promoter.id}) %>

<%= @promoter.name %>

						Name:
						<%= text_field 'promoter', 'name' %>

						Phone:
						<%= text_field 'promoter', 'phone' %>

						Email:
						<%= text_field 'promoter', 'email' %>

Events

					<%- for event in @promoter.events(true).sort_by {|event| event.date} -%>

						<%= event.date %>
						<%= link_to event.name, :action => 'show', :id => event.id %>

					<%- end -%>
					<%- if @promoter.events.empty? %>

						None

					<%- end -%>

			Updated: <%= time_ago_in_words(@promoter.updated_at, true) + " ago" unless @promoter.updated_at.nil? %>

				<%= submit_tag "Save" %>

	<%= link_to("Back to #{@event.name}", :controller => 'events', :action => 'show', :id => @event.id, :promoter_id => @promoter.id) if @event %>
	<%= hidden_field_tag('event_id', @event.id) if @event %>
<% end_form_tag %>

<% @page_title = "Admin: Promoters: #{@promoter.name}" %>

<%= render "shared/admin/tabs" %>

<%- if flash[:notice] -%>

			<%= image_tag('icons/confirmed.gif', :height => 11, :width => 11, :id => 'confirmed') %>
			<%= flash[:notice] %>

<%- end -%>

<%- if flash[:warn] -%>

			<%= image_tag('icons/warn.gif', :height => 11, :width => 11, :id => 'confirmed') %>
			<%= flash[:warn] %>

<%- end -%>

<%= error_messages_for 'promoter' %>

<%= start_form_tag({:action => 'update', :id => @promoter.id}) %>

<%= @promoter.name %>

						Name:
						<%= text_field 'promoter', 'name' %>

						Phone:
						<%= text_field 'promoter', 'phone' %>

						Email:
						<%= text_field 'promoter', 'email' %>

Events

					<%- for event in @promoter.events(true).sort_by {|event| event.date} -%>

						<%= event.date %>
						<%= link_to event.name, :action => 'show', :id => event.id %>

					<%- end -%>
					<%- if @promoter.events.empty? %>

						None

					<%- end -%>

			Updated: <%= time_ago_in_words(@promoter.updated_at, true) + " ago" unless @promoter.updated_at.nil? %>

				<%= submit_tag "Save" %>

	<%= link_to("Back to #{@event.name}", :controller => 'events', :action => 'show', :id => @event.id, :promoter_id => @promoter.id) if @event %>
<% end_form_tag %>


Use table_block css stylesheet.

Use table_block css stylesheet.

git-svn-id: d766b2a131eb5d649bacb6a45bc0bcd899bdfdb3@243 c938ebee-df10-0410-95fc-be8c4b0ebdd5

<% if @flash[:notice] || @flash[:notice].to_s != ""%>

<%=@flash[:notice]%>

<% end %>

        支出

      <% for summary in @expenses_summaries %>

          <%= summary.name %>
          <%= @expenses_sum != 0 ?
          (summary.sum * 100.0 / @expenses_sum).round : 0%>%
          <%= number_with_delimiter(summary.sum)%>

      <% end %>

          収入

        <% for summary in @incomes_summaries %>

            <%= summary.name %>
            <%= @incomes_sum != 0 ?
(summary.sum * 100.0 / @incomes_sum).round : 0 %>%
            <%= number_with_delimiter(summary.sum)%>

        <% end %>

          支出合計
          <%= number_with_delimiter(@expenses_sum)%>

          収入合計
          <%= number_with_delimiter(@incomes_sum)%>

        <%= pie_graph(@expenses_summaries, nil, 'name', 'sum', @expenses_sum) %>

        <%= pie_graph(@incomes_summaries, nil, 'name', 'sum', @incomes_sum) %>

    <div class="<%= @profit >= 0 ? "profit" : "loss" %>">
      <%= @profit >= 0 ? "利益" : "損失" %>合計
      <%= number_with_delimiter(@profit.abs)%>円

            資産減少

          <% for summary in @asset_minus_summaries %>

              <%= summary.account.name %>
              -<%= number_with_delimiter(summary.diff.abs)%>

          <% end %>

            資産増加

          <% for summary in @asset_plus_summaries %>

              <%= summary.account.name %>
              +<%= number_with_delimiter(summary.diff)%>

          <% end %>

            減少合計
            -<%= number_with_delimiter(@assets_minus_sum.abs)%>

            増加合計
            +<%= number_with_delimiter(@assets_plus_sum)%>


Review request was returning wrong ID value. Corrected by changing the SQL to only return columns from the Reviews table.

git-svn-id: f67d969b640da65cb7bc1d229e09fd6d2db44ae1@569 392d7b7b-3f31-0410-9dc3-c95a9635ea79

Feedback for <%= @student.assignment.name %>

<% @assgt = @assignment %>
<% @author = @student %>
<%= render :partial => '/review/wiki' %>
<%
    review_no = 1
    grade = 0
    for review_map in @review_mapping
        reviews = Review.find_by_sql("SELECT r.* FROM reviews r,review_mappings m WHERE m.id = #{review_map.id} AND r.review_mapping_id = m.id AND m.assignment_id = 220 AND updated_at = (SELECT max(updated_at) FROM reviews WHERE review_mapping_id = m.id GROUP BY review_mapping_id)")
        for review in reviews%>
                Review <%=review_no%> done on <%= review.created_at.strftime('%A %B %d %Y, %I:%M%p') %>  <a href="#1" onClick="toggleVis('<%=review_no %>');">
                                <span class="inline" id="<%=review_no %>_show">View
                                <span class="inline" id="<%=review_no %>_hide" style="display: none">Hide

                                <div id="<%=review_no%>_myDiv" style="display:none">

                        Question
                        Score
                        Comment

                     <%
                     for review_score in Score.find(:all, :conditions=>["instance_id=? and questionnaire_type_id=?",review.id, QuestionnaireType.find_by_name("Review").id])%>

                            <%=Question.find(review_score.question_id).txt%>	<%=review_score.score%>  	<%=review_score.comments%>

                    <%end%>

                    Additional comment : <%=review.additional_comment%>

				<%review_no +=1%>
        <%end
    end%>

    <% if review_no-1 <= 0 %>
        <%if @assignment.wiki_type_id == 2 %>
            <%if @assignment.team_assignment %>
                There is no feedback on your work yet.
            <%else%>
				<%_time1 = Time.now.month.to_s + "/" + Time.now.day.to_s + "/" + Time.now.year.to_s%>
                <%if review_mediawiki @assignment.directory_path, _time1, @user_name == ''%>
                    There is no feedback on your work because it seems that you have not submitted anything for this assignment.
                <%else%>
                    There is no feedback on your work yet.
                <%end%>
            <%end%>
        <%else%>
            There is no feedback on your work yet.
        <%end%>
    <%end%>

Back

Feedback for <%= @student.assignment.name %>

<% @assgt = @assignment %>
<% @author = @student %>
<%= render :partial => '/review/wiki' %>
<%
    review_no = 1
    grade = 0
    for review_map in @review_mapping
        reviews = Review.find_by_sql("SELECT * FROM reviews r,review_mappings m WHERE m.id = #{review_map.id} AND r.review_mapping_id = m.id AND m.assignment_id = 220 AND updated_at = (SELECT max(updated_at) FROM reviews WHERE review_mapping_id = m.id GROUP BY review_mapping_id)")
        for review in reviews%>
                Review <%=review_no%> done on <%= review.created_at.strftime('%A %B %d %Y, %I:%M%p') %>  <a href="#1" onClick="toggleVis('<%=review_no %>');">
                                <span class="inline" id="<%=review_no %>_show">View
                                <span class="inline" id="<%=review_no %>_hide" style="display: none">Hide

                                <div id="<%=review_no%>_myDiv" style="display:none">

                        Question
                        Score
                        Comment

                     <%
                     for review_score in Score.find(:all, :conditions=>["instance_id=? and questionnaire_type_id=?",review.id, QuestionnaireType.find_by_name("Review").id])%>

                            <%=Question.find(review_score.question_id).txt%>	<%=review_score.score%>  	<%=review_score.comments%>

                    <%end%>

                    Additional comment : <%=review.additional_comment%>

				<%review_no +=1%>
        <%end
    end%>

    <% if review_no-1 <= 0 %>
        <%if @assignment.wiki_type_id == 2 %>
            <%if @assignment.team_assignment %>
                There is no feedback on your work yet.
            <%else%>
				<%_time1 = Time.now.month.to_s + "/" + Time.now.day.to_s + "/" + Time.now.year.to_s%>
                <%if review_mediawiki @assignment.directory_path, _time1, @user_name == ''%>
                    There is no feedback on your work because it seems that you have not submitted anything for this assignment.
                <%else%>
                    There is no feedback on your work yet.
                <%end%>
            <%end%>
        <%else%>
            There is no feedback on your work yet.
        <%end%>
    <%end%>

Back


Fix bug in request follower count

Fix bug in request follower count

<div class="tracking-links-<%= location %>">
    <% follower_count = TrackThing.count(:all, :conditions => ["info_request_id = ?", info_request.id]) + 1 %>
    <% if location == 'frontpage' %>

<%= link_to excerpt(track_thing.info_request.title, "", 70), request_url(track_thing.info_request) %>

    <% end %>
    <div class="request-tracker-<%= location %>">

<%= follower_count %>

<%= n_("Persona siguiendo esta petición", "Personas siguiendo esta petición", follower_count) %>

        <%
            if @user
                existing_track = TrackThing.find_by_existing_track(@user, track_thing)
            end
        %>
        <% if own_request %>

<%= _('This is your own request, so you will be automatically emailed when new responses arrive.')%>

        <% elsif existing_track %>
                <% form_tag({:controller => 'track', :action => 'update', :track_id => existing_track.id}, :class => "feed_form feed_form_" + location) do %>

                        <%= track_thing.params[:verb_on_page_already] %>
                        <%= hidden_field_tag 'track_medium', "delete" %>
                        <%= hidden_field_tag 'r', request.request_uri %>
                        <%= submit_tag _("unsubscribe") %>

                <% end %>
        <% elsif track_thing %>
            <div class="feed_link feed_link_<%=location%>">

                    <%= link_to _("También quiero saber"), do_track_url(track_thing) %>

            <% if location != 'frontpage' %>

              <div class="feed_link feed_link_<%=location%>">
                  <%= link_to '', do_track_url(track_thing, 'feed') %>
                  <%= link_to (location == 'sidebar' ? _('RSS feed of updates') : _('RSS feed')),  do_track_url(track_thing, 'feed') %>

            <% end %>
        <% end %>

<div class="tracking-links-<%= location %>">
    <% follower_count = TrackThing.count(:all, :conditions => ["info_request_id = ?", request.id]) + 1 %>
    <% if location == 'frontpage' %>

<%= link_to excerpt(track_thing.info_request.title, "", 70), request_url(track_thing.info_request) %>

    <% end %>
    <div class="request-tracker-<%= location %>">

<%= follower_count %>

<%= n_("Persona siguiendo esta petición", "Personas siguiendo esta petición", follower_count) %>

        <%
            if @user
                existing_track = TrackThing.find_by_existing_track(@user, track_thing)
            end
        %>
        <% if own_request %>

<%= _('This is your own request, so you will be automatically emailed when new responses arrive.')%>

        <% elsif existing_track %>
                <% form_tag({:controller => 'track', :action => 'update', :track_id => existing_track.id}, :class => "feed_form feed_form_" + location) do %>

                        <%= track_thing.params[:verb_on_page_already] %>
                        <%= hidden_field_tag 'track_medium', "delete" %>
                        <%= hidden_field_tag 'r', request.request_uri %>
                        <%= submit_tag _("unsubscribe") %>

                <% end %>
        <% elsif track_thing %>
            <div class="feed_link feed_link_<%=location%>">

                    <%= link_to _("También quiero saber"), do_track_url(track_thing) %>

            <% if location != 'frontpage' %>

              <div class="feed_link feed_link_<%=location%>">
                  <%= link_to '', do_track_url(track_thing, 'feed') %>
                  <%= link_to (location == 'sidebar' ? _('RSS feed of updates') : _('RSS feed')),  do_track_url(track_thing, 'feed') %>

            <% end %>
        <% end %>


missing tainted string in cache listing

missing tainted string in cache listing

<tr id="cached-page-<%= page.id %>" class="<%= cycle("odd","even") %>">

  <%= h page.url %>

  <%= h(display_cached_page_date(page)) %>

    <span id="cached-page-link-<%= page.id %>" class="cached-page-link"><%= link_to_remote 'Clear', {:url => { :action => 'destroy', :id => page }} , :class => "util" %>
    <span id="cached-page-deleted-<%= page.id %>" class="cached-page-deleted" style="display:none;">Cleared

<tr id="cached-page-<%= page.id %>" class="<%= cycle("odd","even") %>">

  <%= h page.url %>

  <%= display_cached_page_date(page) %>

    <span id="cached-page-link-<%= page.id %>" class="cached-page-link"><%= link_to_remote 'Clear', {:url => { :action => 'destroy', :id => page }} , :class => "util" %>
    <span id="cached-page-deleted-<%= page.id %>" class="cached-page-deleted" style="display:none;">Cleared


Use original image for company image on dashboard

<% if @logged_user.company.has_logo? %>

<img src="<%= @logged_user.company.logo.url %>" alt="<%= h @logged_user.company.name %> logo" />

<% end %>

<% unless @online_users.empty? %>

<%= :online_users.l %>

<%= :users_active_in_last_n_minutes.l_with_args(:number => 15) %>

<% @online_users.each do |user| -%>
<% if user.can_be_viewed_by(@logged_user) %>

<%= link_to (h user.display_name), :controller => 'user', :action => 'card', :id => user.id %> (<%= h user.company.name %>)

<% end %>
<% end %>

<% end %>

<% unless @my_projects.empty? %>

<%= :my_projects.l %>

<% @my_projects.each do |project| -%>

<%= link_to h(project.name), :controller => 'project', :action => 'overview', :active_project => project.id %>

<% end %>

<%= link_to :my_projects_sidebar_link.l, :controller => 'dashboard', :action => 'my_projects' %>

<% end %>

<%= :update_feeds.l %>

<a href="<%= @logged_user.recent_activity_feed_url(nil, 'rss') %>"><%= :recent_activities.l %>

<% if @logged_user.company.has_logo? %>

<img src="<%= @logged_user.company.logo_url %>" alt="<%= h @logged_user.company.name %> logo" />

<% end %>

<% unless @online_users.empty? %>

<%= :online_users.l %>

<%= :users_active_in_last_n_minutes.l_with_args(:number => 15) %>

<% @online_users.each do |user| -%>
<% if user.can_be_viewed_by(@logged_user) %>

<%= link_to (h user.display_name), :controller => 'user', :action => 'card', :id => user.id %> (<%= h user.company.name %>)

<% end %>
<% end %>

<% end %>

<% unless @my_projects.empty? %>

<%= :my_projects.l %>

<% @my_projects.each do |project| -%>

<%= link_to h(project.name), :controller => 'project', :action => 'overview', :active_project => project.id %>

<% end %>

<%= link_to :my_projects_sidebar_link.l, :controller => 'dashboard', :action => 'my_projects' %>

<% end %>

<%= :update_feeds.l %>

<a href="<%= @logged_user.recent_activity_feed_url(nil, 'rss') %>"><%= :recent_activities.l %>


Add DryIcons credit per license

Add DryIcons credit per license

Signed-off-by: James Urquhart <d092eb11f6d4ecd368c05e395455102ecf3e697d@gmail.com>

<% if not Company.owner.homepage.nil? %>
            <a href="<%= Company.owner.homepage %>"><%= Company.owner.name %>
<% else %>
            <%= Company.owner.name %>
<% end %>

<%= product_signature %>. Icons by DryIcons.


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

      <% if @flash[:notice] || @flash[:notice].to_s != ""%>

<%=@flash[:notice]%>

      <% end %>

          日付	 	摘要	 	入金	出金	残高	変更	削除

        <% for deal in @deals %>
          <% for account_entry in deal.account_entries %>
            <% if account_entry.id == deal.account_entries.first.id %>
              <% edit_target = deal.balance ? 'edit_balance' : 'edit_deal' %>
              <tr <%= "class='updated_line'" if (@updated_deal && deal.id == @updated_deal.id)%>>
                <a name="#<%=deal.id%>"%><%= format_date(deal.date) %>
                <%= deal.daily_seq %>
                <td class="summary" rowspan="<%=deal.account_entries.size%>"><%=deal.balance ? "残高確認" : deal.summary%>
                <%= account_entry.account.name %>
                <%= number_with_delimiter(account_entry.amount) if account_entry.amount > 0%>
                <%= number_with_delimiter(account_entry.amount.abs) if account_entry.amount < 0%>
                <%= number_with_delimiter(account_entry.balance)%>
                <td rowspan="<%=deal.account_entries.size%>" class="action"><%= link_to_remote('変更' , :update => 'tabwindow', :url => { :action => edit_target, :id => deal }) %>
                <td rowspan="<%=deal.account_entries.size%>" class="action"><%= link_to '削除' ,{:action => 'delete_deal', :id => deal}, :confirm => "#{format_deal(deal)}を削除します。よろしいですか？" %>

            <% else %>
              <tr <%= "class='updated_line'" if (@updated_deal && deal.id == @updated_deal.id)%>>

                <%= account_entry.account.name %>
                <%= number_with_delimiter(account_entry.amount) if account_entry.amount > 0%>
                <%= number_with_delimiter(account_entry.amount.abs) if account_entry.amount < 0%>
                <%= number_with_delimiter(account_entry.balance)%>

            <% end %>
          <% end %>
        <% end %>

      <% if @target_month && !@date%>

      <% end %>
      <% if @updated_deal%>

      <% end %>


Various edits.

Various edits.

<% @title = 'Introduction' %>

<%= @title %>

Purpose:
The purpose of this site is to record observations about mushrooms,
help people identify mushrooms they aren't familiar with, and expand
the community around the scientific exploration of mushrooms
(mycology).  Some have asked what counts as a mushroom.  This site
takes a very broad view.  While the emphasis is on the large fleshy
fungi, other fungi such as lichens, rust and molds as well as fungus-like
organisms such as slime-molds are all welcome.
Ultimately, I hope this site will become a valuable
resource for both amateur and professional mycologists.  I like to think
of it as a living field guide for mushrooms or a collaborative mushroom
field journal.

For those new to mycology, there is a huge amount of basic research
that still needs to be done.  By some estimates less that 5% of the
world's species of fungi are known to science.  While things are
slightly better for the large fleshy fungi known as mushrooms, it is
still a common experience to come across a mushroom that cannot be
easily identified in the available books or which doesn't really fit
the definition of any recognized species.  This site is intended to
address that gap by creating a place for us to talk about and record
what we've found, as well as connect to the existing literature about
mushrooms.  Please do not feel intimidated by the scientific bent of
the site.  Everyone is welcome to dive in and add their own mushroom
observations, upload mushroom photos and make comments on other
people's observations.

Image Sharing:
This site follows the principles of cooperative sharing pioneered by
the Free Software Foundation, further expressed
by the Open Source software movement, and
expanded to other creative efforts by the Creative Commons.  Consequently all
images are made available under a  Creative
Commons license.  In short this means that when anyone uploads one of
their images to the site, they are giving others explicit permission to
use those images for non-commercial purposes in perpetuity.  This type of
permission is very important for basic research.  It allows future researchers
to freely use these data to expand our understanding of mushrooms.  It also
significantly increases the likelihood that the data will continue to be
available into the distant future.

If you upload your own images, this license does not
mean you are giving up your copyright or your ability to make money
off your images.  If anyone wishes to use
any of these images for commercial purposes, they are required to
get in touch
with the copyright holder and work out the conditions for that
use.  The site includes special links on the image pages to help
create those relationships.

Source Code: Source code for the site is available at:
http://svn.collectivesource.com/mushroom_sightings and is licensed
under the Open Source
MIT License.  Source code contributions are welcome.  Here's a
list of planned
features.  All suggestions and comments are welcome.  If you would
like to contribute, please send mail to:

nathan at collectivesource.com

so we can coordinate our efforts.

Note: The administrators of this site reserve the right to remove any
material they deem inappropriate or not in keeping with the purpose of
this site.

<% @title = 'Introduction' %>

<%= @title %>

Purpose:
The purpose of this site is to record observations about mushrooms,
help people identify mushrooms they aren't familiar with, and expand
the community around the scientific exploration of mushrooms
(mycology).  Ultimately, I hope this site will become a valuable
resource for both amateur and professional mycologists.  I like to think
of it as a living field guide to mushrooms.

For those new to mycology, there is a huge amount of basic research
that still needs to be done.  By some estimates less that 5% of the
world's species of fungi are known to science.  While things are
slightly better for the large fleshy fungi known as mushrooms, it is
still a common experience to come across a mushroom that cannot be
easily identified in the available books or which doesn't really fit
the definition of any recognized species.  This site is intended to
address that gap by creating a place for us to talk about and record
what we've found, as well as connect to the existing literature about
mushrooms.  Please do not feel intimidated by the scientific bent of
the site.  Everyone is welcome to dive in and add their own mushroom
observations, upload mushroom photos and make comments on other
people's observations.

Image Sharing:
This site follows the principles of cooperative sharing pioneered by
the Free Software Foundation, further expressed
by the Open Source software movement, and
expanded to other creative efforts by the Creative Commons.  Consequently all
images are made available under a  Creative
Commons license.  If you upload your own images, this does not
mean you are giving up your copyright or your ability to make money
off your images.  You are simply allowing others to use your images
for non-commerical purposes in perpetuity.  If anyone wishes to use
any of these images for commercial purposes, they must get in touch
with the actual copyright holder and work out the conditions for that
use.

Source Code: Source code for the site is available at:
http://svn.collectivesource.com/mushroom_sightings and is licensed
under the Open Source
MIT License.  Source code contributions are welcome.  Here's a
list of planned
features.  All suggestions and comments are welcome.  If you would
like to contribute, please send mail to:

nathan at collectivesource.com

so we can coordinate our efforts.

Note: The administrators of this site reserve the right to remove any
material they deem inappropriate or not in keeping with the purpose of
this site.


added educational resource to the "Oxygen as an evolutionary constraint" page

Introduction

In 3.5 billion years the maximum size of a living organism on Earth went from a single cell
invisible to the naked eye, to giant sequoias over 300 feet tall (91.4 m) and blue whales over
110 feet in length (33.6 m).   Understanding this tremendous range in size and why certain animals
stay small while others become large have fascinated people and puzzled biologists and paleontologists for centuries.

This database contains body size information for many of the largest species to occur within biological groups
over the history of life, from single cells billions of years ago to the blue whale of today. The purpose of collecting
data of this type is to investigate the pattern of maximum body size throughout Earth's history.

Records in the database include size information about plants and animals, such as length and width or body volume; and
additional information such as classification, general environment, and when it lived. The data approved for public viewing are
tied to published scientific sources; are searchable by geologic time periods, organism type, or environment; and can be downloaded
into excel or csv tables.

Supplemental material explaining the importance of body size, educational guides using this database, and links to other
related websites are available through the National Evolutionary Synthesis Center Education website.

This site was produced by the Phanerozoic Body Size Through Time and Space Working Group
through the National Evolutionary Synthesis Center.   Any opinions, findings, conclusions, or
recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National
Evolutionary Synthesis Center.

How to access the database

Registration is not required to search or download material from the website.

Individuals who would like to access the database to add data or comment on records or would like to receive updates
on the new records and supplemental material a registered account is required.

If you have already registered, please log in. If not, please click the 'Register' link from top menu to register to the system.

Educational Resource

Oxygen as an evolutionary constraint

Web Citation

"Maximum Size Database." 2009. Phanerozoic Body Size Trends through Time and Space Working Group. National Evolutionary Synthesis
Center. (date accessed by user) http://bodysize.nescent.org/

Introduction

In 3.5 billion years the maximum size of a living organism on Earth went from a single cell
invisible to the naked eye, to giant sequoias over 300 feet tall (91.4 m) and blue whales over
110 feet in length (33.6 m).   Understanding this tremendous range in size and why certain animals
stay small while others become large have fascinated people and puzzled biologists and paleontologists for centuries.

This database contains body size information for many of the largest species to occur within biological groups
over the history of life, from single cells billions of years ago to the blue whale of today. The purpose of collecting
data of this type is to investigate the pattern of maximum body size throughout Earth's history.

Records in the database include size information about plants and animals, such as length and width or body volume; and
additional information such as classification, general environment, and when it lived. The data approved for public viewing are
tied to published scientific sources; are searchable by geologic time periods, organism type, or environment; and can be downloaded
into excel or csv tables.

Supplemental material explaining the importance of body size, educational guides using this database, and links to other
related websites are available through the National Evolutionary Synthesis Center Education website.

This site was produced by the Phanerozoic Body Size Through Time and Space Working Group
through the National Evolutionary Synthesis Center.   Any opinions, findings, conclusions, or
recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National
Evolutionary Synthesis Center.

How to access the database

Registration is not required to search or download material from the website.

Individuals who would like to access the database to add data or comment on records or would like to receive updates
on the new records and supplemental material a registered account is required.

If you have already registered, please log in. If not, please click the 'Register' link from top menu to register to the system.

Web Citation

"Maximum Size Database." 2009. Phanerozoic Body Size Trends through Time and Space Working Group. National Evolutionary Synthesis
Center. (date accessed by user) http://bodysize.nescent.org/


Showing public body in admin interface make publication_scheme and disclosure_log links

<% @title = "Public authority - " + h(@public_body.name) %>

<%=@title%>

<%
   columns = PublicBody.content_columns + [] # force dup
   columns.delete_if {|c| ['last_edit_comment'].include?(c.name)}

   for column in columns %>
  <%= column.human_name %>:
  <% if ['home_page', 'publication_scheme', 'disclosure_log'].include? column.name %>
    <%= link_to(h(@public_body.send(column.name)), @public_body.send(column.name))  %>
  <% elsif column.name == 'request_email' %>
    <%= link_to(h(@public_body.send(column.name)), "mailto:#{@public_body.send(column.name)}")  %>
      <% if !@public_body.is_requestable? %>
          (not requestable due to: <%=h @public_body.not_requestable_reason %><% if @public_body.is_followupable? %>; but followupable<% end %>)
      <% end %>
  <% else %>
      <%=h @public_body.send(column.name) %>
  <% end %>

<% end %>
Calculated home page:
<% if !@public_body.calculated_home_page.nil? %>
    <%= link_to(h(@public_body.calculated_home_page), @public_body.calculated_home_page) %>
<% else %>
    *unknown*
<% end %>

Tags: <%= render :partial => 'tags', :locals => { :body => @public_body} %>

    <%=
        # url_name can be missing if the name hasn't been set for this locale
        if !@public_body.url_name.nil?
            link_to 'Public page', main_url(public_body_url(@public_body))
        else
            'Public page not available'
        end
    %>
    | <%= link_to 'Edit', '../edit/' + @public_body.id.to_s %>

History

Updated at
<%
    history_columns = PublicBody.content_columns + [] # force dup
    history_columns.delete_if {|c| ['created_at', 'updated_at', 'first_letter', 'api_key'].include?(c.name)}
    for column in history_columns %>
  <%= column.human_name %>
<% end %>

<%# There may be an option to versions() to specify order, but I can't find it. TB 2009-03-09 %>
<% for historic_public_body in @public_body.reverse_sorted_versions %>
      <tr class="<%= cycle('odd', 'even') %>">
      <%=h historic_public_body.updated_at %>
    <% for column in history_columns %>
      <%
        value = h(historic_public_body.send(column.name))
        if column.name == 'last_edit_comment'
            value = historic_public_body.last_edit_comment_for_html_display
        end
        # Highlight entries which have changed since previous version
        changed = (!['version', 'last_edit_editor', 'last_edit_comment'].include?(column.name)) && ((historic_public_body.send(column.name) != @public_body.sorted_versions[historic_public_body.version - 2].send(column.name)) || (historic_public_body.version == 1)) %>
      <td <%= changed ? ' class="entry_changed" ': '' %> >
      <%=value%>

    <% end %>

<% end %>

Requests

<%= render :partial => 'admin_request/some_requests', :locals => { :info_requests => @public_body.info_requests } %>

Track things

<%= render :partial => 'admin_track/some_tracks', :locals => { :track_things => @public_body.track_things } %>

<% @title = "Public authority - " + h(@public_body.name) %>

<%=@title%>

<%
   columns = PublicBody.content_columns + [] # force dup
   columns.delete_if {|c| ['last_edit_comment'].include?(c.name)}

   for column in columns %>
  <%= column.human_name %>:
  <% if column.name == 'home_page' %>
    <%= link_to(h(@public_body.send(column.name)), @public_body.send(column.name))  %>
  <% elsif column.name == 'request_email' %>
    <%= link_to(h(@public_body.send(column.name)), "mailto:#{@public_body.send(column.name)}")  %>
      <% if !@public_body.is_requestable? %>
          (not requestable due to: <%=h @public_body.not_requestable_reason %><% if @public_body.is_followupable? %>; but followupable<% end %>)
      <% end %>
  <% else %>
      <%=h @public_body.send(column.name) %>
  <% end %>

<% end %>
Calculated home page:
<% if !@public_body.calculated_home_page.nil? %>
    <%= link_to(h(@public_body.calculated_home_page), @public_body.calculated_home_page) %>
<% else %>
    *unknown*
<% end %>

Tags: <%= render :partial => 'tags', :locals => { :body => @public_body} %>

    <%=
        # url_name can be missing if the name hasn't been set for this locale
        if !@public_body.url_name.nil?
            link_to 'Public page', main_url(public_body_url(@public_body))
        else
            'Public page not available'
        end
    %>
    | <%= link_to 'Edit', '../edit/' + @public_body.id.to_s %>

History

Updated at
<%
    history_columns = PublicBody.content_columns + [] # force dup
    history_columns.delete_if {|c| ['created_at', 'updated_at', 'first_letter', 'api_key'].include?(c.name)}
    for column in history_columns %>
  <%= column.human_name %>
<% end %>

<%# There may be an option to versions() to specify order, but I can't find it. TB 2009-03-09 %>
<% for historic_public_body in @public_body.reverse_sorted_versions %>
      <tr class="<%= cycle('odd', 'even') %>">
      <%=h historic_public_body.updated_at %>
    <% for column in history_columns %>
      <%
        value = h(historic_public_body.send(column.name))
        if column.name == 'last_edit_comment'
            value = historic_public_body.last_edit_comment_for_html_display
        end
        # Highlight entries which have changed since previous version
        changed = (!['version', 'last_edit_editor', 'last_edit_comment'].include?(column.name)) && ((historic_public_body.send(column.name) != @public_body.sorted_versions[historic_public_body.version - 2].send(column.name)) || (historic_public_body.version == 1)) %>
      <td <%= changed ? ' class="entry_changed" ': '' %> >
      <%=value%>

    <% end %>

<% end %>

Requests

<%= render :partial => 'admin_request/some_requests', :locals => { :info_requests => @public_body.info_requests } %>

Track things

<%= render :partial => 'admin_track/some_tracks', :locals => { :track_things => @public_body.track_things } %>


Fixed a small bug in the view to close ticket_159

git-svn-id: 035394e0ea20290a56a73539b1ebfcd8236adefd@1290 7bd17f4f-1217-0410-bbc5-bc4367116c30

<%= (controller.controller_name != 'events' ? link_to('My Messages', :controller => 'events', :action => 'list') : 'My Messages') %>

<%= (controller.controller_name != 'inbox' ? link_to('My Subscriptions', :controller => 'inbox') : 'My Subscriptions') %>

      <% current_user.feeds.each do |feed| -%>
        <% row_class = cycle("even", "odd") %>
        <li class="menuDataItem_<%= row_class %>">
          <%= link_to feed.name, :controller => 'inbox', :action => 'read_feed', :id => feed.id %>
          [ <%= link_to "unsubscribe", { :controller => 'inbox', :action => 'unsubscribe_feed', :id => feed.id }, { :confirm => "Are you sure you want to unsubscribe from #{feed.name}?", :post => true } %> ]

      <% end -%>

<%= (controller.controller_name != 'events' ? link_to('My Messages', :controller => 'events', :action => 'list') : 'My Messages') %>

<%= (controller.controller_name != 'inbox' ? link_to('My Subscriptions', :controller => 'inbox') : 'My Subscriptions') %>

      <% current_user.feeds.each do |feed| -%>
        <% row_class = cycle("even", "odd") %>
        <li class="menuDataItem_<%= row_class %>">
          <%= link_to feed.name, :action => 'read_feed', :id => feed.id %>
          [ <%= link_to "unsubscribe", { :controller => 'inbox', :action => 'unsubscribe_feed', :id => feed.id }, { :confirm => "Are you sure you want to unsubscribe from #{feed.name}?", :post => true } %> ]

      <% end -%>


 Merge branch 'AI2922-wall_tab_by_default' into 'master'

Ai2922 Wall Tab By Default

Display the wall tab by default on user's profile

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

<%= h profile.name %>

<% if @action %>
  <%= render :partial => 'private_profile' %>
<% else %>
  <% unless profile.description.blank? %>

      <%= profile.description %>

  <% end %>

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

<% end %>

<% if @profile.public? || (logged_in? && current_person.follows?(@profile)) %>

        <% plugins_tabs = @plugins.dispatch(:profile_tabs).map { |tab| {:title => tab[:title], :id => tab[:id], :content => instance_eval(&tab[:content]), :start => tab[:title]} }%>

        <% tabs = plugins_tabs.select { |tab| tab[:start] } %>

        <% if @profile.organization? %>
          <% if logged_in? && current_person.follows?(@profile) %>
            <% tabs << {:title => _('Wall'), :id => 'profile-wall', :content => (render :partial => 'profile_wall')} %>
          <% end %>
          <% tabs << {:title => _('Profile'), :id => 'organization-profile', :content => (render :partial => 'organization_profile')} %>
        <% elsif @profile.person? %>
          <% if logged_in? && current_person.follows?(@profile) %>
            <% tabs << {:title => _('Wall'), :id => 'profile-wall', :content => (render :partial => 'profile_wall')} %>
            <% tabs << {:title => _('Network'), :id => 'profile-network', :content => (render :partial => 'profile_network')} %>
          <% end %>
          <% tabs << {:title => _('Profile'), :id => 'person-profile', :content => (render :partial => 'person_profile')} %>
        <% end %>

        <% tabs += plugins_tabs.select { |tab| !tab[:start] } %>

        <%= render_tabs(tabs) %>

<% end %>

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

<%= h profile.name %>

<% if @action %>
  <%= render :partial => 'private_profile' %>
<% else %>
  <% unless profile.description.blank? %>

      <%= profile.description %>

  <% end %>

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

<% end %>

<% if @profile.public? || (logged_in? && current_person.follows?(@profile)) %>

        <% plugins_tabs = @plugins.dispatch(:profile_tabs).
          map { |tab| {:title => tab[:title], :id => tab[:id], :content => instance_eval(&tab[:content]), :start => tab[:title]} }%>

        <% tabs = plugins_tabs.select { |tab| tab[:start] } %>

        <% if @profile.organization? %>
          <% tabs << {:title => _('Profile'), :id => 'organization-profile', :content => (render :partial => 'organization_profile')} %>
          <% if logged_in? && current_person.follows?(@profile) %>
            <% tabs << {:title => _('Wall'), :id => 'profile-wall', :content => (render :partial => 'profile_wall')} %>
          <% end %>
        <% elsif @profile.person? %>
          <% tabs << {:title => _('Profile'), :id => 'person-profile', :content => (render :partial => 'person_profile')} %>
          <% if logged_in? && current_person.follows?(@profile) %>
            <% tabs << {:title => _('Wall'), :id => 'profile-wall', :content => (render :partial => 'profile_wall')} %>
            <% tabs << {:title => _('Network'), :id => 'profile-network', :content => (render :partial => 'profile_network')} %>
          <% end %>
        <% end %>

        <% tabs += plugins_tabs.select { |tab| !tab[:start] } %>

        <%= render_tabs(tabs) %>

<% end %>


Other small changes to the move page.

Other small changes to the move page.

<% if specified_cage.bats.length == 0 %>

  <% if specified_cage.tasks.feeding_tasks.length > 0 %>

    All bats removed from cage.
    <%= link_to_remote "Remove existing feeding tasks?",
      :url => {:controller => "cages", :action => "clear_feeding_tasks", :old_cage => old_cage, :cage=> cage, :bats => bats },
      :update => "div_id"
    %>

  <% elsif specified_cage.tasks.feeding_tasks.length == 0 %>

    No bats in cage and no feeding tasks to change.

  <% end %>

<% elsif specified_cage.bats.length > 0%>

  <% if specified_cage.tasks.feeding_tasks.length > 0 %>

    <% if specified_cage.fed_every_day? == false %>
      Warning: this cage is not being fed every day of the week: <%= link_to "Add Feeding Tasks?", :controller => 'tasks', :action => 'new_feed_cage_task', :id => specified_cage %>

<%= link_to "Edit Existing Feeding Tasks", :controller => 'tasks', :action => 'edit_multiple_feeding_tasks', :id => specified_cage %>

    <% else %>
      <%= link_to "Edit Existing Feeding Tasks", :controller => 'tasks', :action => 'edit_multiple_feeding_tasks', :id => specified_cage %>

    <% end %>

  <% elsif specified_cage.tasks.feeding_tasks.length == 0 %>

    <%= link_to "Add Feeding Tasks", :controller => 'tasks', :action => 'new_feed_cage_task', :id => specified_cage %>

  <% end %>

<% end %>

<% if specified_cage.bats.length == 0 %>

  <% if specified_cage.tasks.feeding_tasks.length > 0 %>

    All bats removed from cage.
    <%= link_to_remote "Remove existing feeding tasks?",
      :url => {:controller => "cages", :action => "clear_feeding_tasks", :old_cage => old_cage, :cage=> cage, :bats => bats },
      :update => "div_id"
    %>

  <% elsif specified_cage.tasks.feeding_tasks.length == 0 %>

    No bats in cage and no feeding tasks to change.

  <% end %>

<% elsif specified_cage.bats.length > 0%>

  <% if specified_cage.tasks.feeding_tasks.length > 0 %>

    <%= link_to "Add Feeding Tasks", :controller => 'tasks', :action => 'new_feed_cage_task', :id => specified_cage %>

    <% if specified_cage.fed_every_day? == false %>

<%= link_to "Edit Existing Feeding Tasks", :controller => 'tasks', :action => 'edit_multiple_feeding_tasks', :id => specified_cage %>

    Warning: this cage is not being fed every day of the week: <%= link_to "Add Feeding Tasks?", :controller => 'tasks', :action => 'new_feed_cage_task', :id => specified_cage %>

    <% end %>

  <% elsif specified_cage.tasks.feeding_tasks.length == 0 %>

    <%= link_to "Add Feeding Tasks", :controller => 'tasks', :action => 'new_feed_cage_task', :id => specified_cage %>

  <% end %>

<% end %>


Add piwiki javascript

Add piwiki javascript

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%= html_language %>" lang="<%= html_language %>">

    <title><%= h page_title %></title>
    <%= yield(:feeds) %>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="description" content="<%= @environment.name %>" />

    <meta name="twitter:card" value="summary">
    <meta name="twitter:title" content="<%= h page_title %>">
    <meta name="twitter:description" content="<%= meta_description_tag(@page) %>">

    <meta property="og:type" content="<%= @page ? 'article' : 'website' %>">
    <meta property="og:url" content="<%= @page ? url_for(@page.url) : @environment.top_url %>">
    <meta property="og:title" content="<%= h page_title %>">
    <meta property="og:site_name" content="<%= profile ? profile.name : @environment.name %>">
    <meta property="og:description" content="<%= @page ? truncate(strip_tags(@page.body.to_s), :length => 200) : @environment.name %>">

    <% if @page %>
      <meta property="article:published_time" content="<%= show_date(@page.published_at) %>">
      <% @page.body_images_paths.each do |img| %>
        <meta name="twitter:image" content="<%= img.to_s %>">
        <meta property="og:image" content="<%= img.to_s %>">
      <% end %>
    <% end %>

    <link rel="shortcut icon" href="<%= image_path(theme_favicon) %>" type="image/x-icon" />
    <%= noosfero_javascript %>
    <%= noosfero_stylesheets %>
    <%= stylesheet_link_tag '/tema/style.css?layout=false' %>

    <%# Add custom tags/styles/etc via content_for %>
    <%= yield :head %>
    <%=
      @plugins.dispatch(:head_ending).map do |content|
        if content.respond_to?(:call) then instance_eval(&content).html_safe else content.html_safe end
      end.join("\n")
    %>

  <body class="<%= h body_classes %>">
    <%= _("Go to the content") %>

    <%=
      @plugins.dispatch(:body_beginning).map do |content|
        if content.respond_to?(:call) then instance_eval(&content).html_safe else content.html_safe end
      end.join("\n")
    %>

        <%= theme_header %>

        <%= render :partial => 'layouts/user' %>

          <%= theme_site_title %>

            <%= theme_extra_navigation %>

            <%= insert_boxes(yield) %>

    <%= render_environment_features(:logged_in) %>

      <%= theme_footer %>

    <%= noosfero_layout_features %>
    <%= theme_javascript_ng %>
    <%= addthis_javascript %>