updating theme

updating theme

<% extend CommunityHubPlugin::HubHelper %>

<div id="<%=@page.id%>" class="hub">

<%= @page.title %> HUB

<%= @page.body %>

		<%= @page.title %><%= _("Live") %>

    <%= check_box_tag 'auto_scrolling', 'yes', true %><%= _("Auto scrolling") %>

		<%= _("Mediation") %>▼

  <% if mediator?(@page) %>

    <% if logged_in? %>

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

      <% form_for :article,
                  :method => 'post',
                  :url => {
                    :controller => 'community_hub_plugin_public',
                    :action => 'new_mediation',
                    :profile_id => profile.id
                  } do |f| %>
        <%= f.hidden_field :parent_id, :value => @page.id %>
        <%= f.text_area :body, :style => "width: 100%;", :class => "mceEditor" %>
        <%= submit_button('add', _('Post'), :onclick => 'new_mediation(this); return false;') %>

      <% end %>

    <% end %>

    <%= render :partial => "community_hub_plugin_public/settings" %>

  <% else %>

    <% if logged_in? %>

        <% form_for :message,
                    :method => 'post',
                    :url => {
                      :controller => 'community_hub_plugin_public',
                      :action => 'new_message',
                      :article_id => @page.id
                    } do |f| %>
          <%= _("Streaming") %>

          <%= f.text_area :body, :style => "width: 99%;", :cols => "38", :rows => "10", :placeholder => _("Type your message here") %>
          <%= submit_button('add', _('Post'), :onclick => 'new_message(this); return false;') %>

        <% end %>

      <% end %>

        <%= render :partial => "community_hub_plugin_public/banner" %>
        <%= render :partial => "community_hub_plugin_public/embed" %>

    <% end %>

<%= javascript_include_tag '/plugins/community_hub/javascripts/community_hub.js' %>

<% extend CommunityHubPlugin::HubHelper %>

<div id="<%=@page.id%>" class="hub">

<%= @page.title %> HUB

<%= @page.body %>

  <%= @page.title %><%= _("Live") %>
  <%= _("Mediation") %>▼

    <%= check_box_tag 'auto_scrolling', 'yes', true %><%= _("Auto scrolling") %>

  <% if mediator?(@page) %>

    <% if logged_in? %>

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

      <% form_for :article,
                  :method => 'post',
                  :url => {
                    :controller => 'community_hub_plugin_public',
                    :action => 'new_mediation',
                    :profile_id => profile.id
                  } do |f| %>
        <%= f.hidden_field :parent_id, :value => @page.id %>
        <%= f.text_area :body, :style => "width: 100%;", :class => "mceEditor" %>
        <%= submit_button('add', _('Post'), :onclick => 'new_mediation(this); return false;') %>

      <% end %>

    <% end %>

    <%= render :partial => "community_hub_plugin_public/settings" %>

  <% else %>

    <% if logged_in? %>

        <% form_for :message,
                    :method => 'post',
                    :url => {
                      :controller => 'community_hub_plugin_public',
                      :action => 'new_message',
                      :article_id => @page.id
                    } do |f| %>
          <%= _("Streaming") %>

          <%= f.text_area :body, :style => "width: 99%;", :cols => "38", :rows => "10", :placeholder => _("Type your message here") %>
          <%= submit_button('add', _('Post'), :onclick => 'new_message(this); return false;') %>

        <% end %>

      <% end %>

        <%= render :partial => "community_hub_plugin_public/banner" %>
        <%= render :partial => "community_hub_plugin_public/embed" %>

    <% end %>

<%= javascript_include_tag '/plugins/community_hub/javascripts/community_hub.js' %>


Moved custom model fields into the main form.

<%= form_tag('',:method => 'post', :class => 'admin_form full_page_form') %>
<% cms_subfields_for :entry, @entry do |f| %>

    <%= f.text_field :title, :vertical => true, :required => true, :style=>'width:100%' %>
    <%= f.filemanager_image :domain_file_id, :vertical => true, :label => 'Post Image (Optional)' %>
    <%= f.text_field :permalink, :label => 'Permalink (Leave blank to have one created for you)', :vertical => true, :style => 'width:100%;', :noun => 'Permalink' %>
    <%= f.text_field :author, :vertical => true, :style=>'width:100%' %>
    <%= f.editor_area :body, :vertical => true, :required => true, :rows => 35, :style=>'width:100%', :content_filter => @blog.content_filter %>

    <% if @blog.content_model -%>
      <%= f.header "Custom Fields (%s)" / @blog.content_model.name %>
      <% cms_subfields_for 'entry[data_model]', @entry.data_model do |cf| -%>
        <% @blog.content_model.content_model_fields.each do |field| -%>
          <%= field.form_field(cf, :vertical => true) %>
        <% end -%>
      <% end -%>
    <% end -%>

    <%= f.header "Additional Fields" %>
    <%= f.text_field :preview_title, :vertical => true, :size => 80, :label => 'Preview Title (Optional)' %>
    <%= f.editor_area :preview, :vertical => true, :rows => 12, :label => 'Preview (Optional)', :style=>'width:100%', :content_filter => @blog.content_filter %>
    <%= f.text_field :keywords, :vertical => true, :style=>'width:100%' %>
    <%= f.filemanager_file :media_file_id, :vertical => true, :label => 'Local Media (.mp3 or .flv file)' %>
    <%= f.text_field :embedded_media, :vertical => true, :label => 'Embedded Media (Paste entire <object ...> block)', :style => 'width:100%' %>
    <%= f.submit_tag @entry.id ? 'Update Entry' : 'Create Entry' %>

      Categories

      <input type='text' name='new_category' id='new_category' onkeypress='if(SCMS.isEnter(event)) { PostEditor.createCategory(); return false; } else { return true; }' size='15'><input type='button' value='New' onclick='PostEditor.createCategory();' />

        <% @categories.each do |category| -%>
<label for='category_<%= category.id %>'><input type='checkbox' id='category_<%= category.id %>' name='categories[]' value='<%= category.id %>' <%= 'checked="checked"' if @selected_category_ids.include?(category.id)  %> /><%= h category.name %>

       <% end -%>

        Tags

      <textarea name='entry[tag_names]' id='entry_tags' style='width:200px; height:100px;'><%= h @entry.tag_names %></textarea>

      <button onclick='PostEditor.selectTags(); return false;'>Select Tags</button>

        Publication Status

    <input onclick='PostEditor.updateStatus();' id='entry_status_draft' name='update_entry[status]' value='draft' <%= "checked='checked'" if @entry.status == 'draft' %> type='radio'><%= "Draft".t %>

    <input onclick='PostEditor.updateStatus();' id='entry_status_published' name='update_entry[status]' value='publish_now' <%= "checked='checked'" if @entry.status == 'published' && @entry.published_at  && @entry.published_at < Time.now %> type='radio'><%= "Published".t  %>

    <input onclick='PostEditor.updateStatus();' id='entry_status_post_date' name='update_entry[status]' value='post_date' type='radio'  <%= "checked='checked'" if @entry.status == 'published' && ( !@entry.published_at  || @entry.published_at > Time.now ) %> type='radio'><%= "Post Date".t  %>

      <% if @entry.errors.on(:published_at) %>

Invalid Date

    <% end -%>
      <%= f.datetime_field :published_at, :label => '',:unstyled => true, :blank => true, :disabled => !(@entry.status == 'published' && ( !@entry.published_at  || @entry.published_at > Time.now ) ) %>

        <%= f.submit_tag @entry.id ? 'Update Entry' : 'Create Entry',:unstyled => true %>

<% end -%>
</form>

<%= form_tag('',:method => 'post', :class => 'admin_form full_page_form') %>
<% cms_subfields_for :entry, @entry do |f| %>

    <%= f.text_field :title, :vertical => true, :required => true, :style=>'width:100%' %>
    <%= f.filemanager_image :domain_file_id, :vertical => true, :label => 'Post Image (Optional)' %>
    <%= f.text_field :permalink, :label => 'Permalink (Leave blank to have one created for you)', :vertical => true, :style => 'width:100%;', :noun => 'Permalink' %>
    <%= f.text_field :author, :vertical => true, :style=>'width:100%' %>
    <%= f.editor_area :body, :vertical => true, :required => true, :rows => 35, :style=>'width:100%', :content_filter => @blog.content_filter %>
    <%= f.header "Additional Fields" %>
    <%= f.text_field :preview_title, :vertical => true, :size => 80, :label => 'Preview Title (Optional)' %>
    <%= f.editor_area :preview, :vertical => true, :rows => 12, :label => 'Preview (Optional)', :style=>'width:100%', :content_filter => @blog.content_filter %>
    <%= f.text_field :keywords, :vertical => true, :style=>'width:100%' %>
    <%= f.filemanager_file :media_file_id, :vertical => true, :label => 'Local Media (.mp3 or .flv file)' %>
    <%= f.text_field :embedded_media, :vertical => true, :label => 'Embedded Media (Paste entire <object ...> block)', :style => 'width:100%' %>
    <%= f.submit_tag @entry.id ? 'Update Entry' : 'Create Entry' %>

      Categories

      <input type='text' name='new_category' id='new_category' onkeypress='if(SCMS.isEnter(event)) { PostEditor.createCategory(); return false; } else { return true; }' size='15'><input type='button' value='New' onclick='PostEditor.createCategory();' />

        <% @categories.each do |category| -%>
<label for='category_<%= category.id %>'><input type='checkbox' id='category_<%= category.id %>' name='categories[]' value='<%= category.id %>' <%= 'checked="checked"' if @selected_category_ids.include?(category.id)  %> /><%= h category.name %>

       <% end -%>

        Tags

      <textarea name='entry[tag_names]' id='entry_tags' style='width:200px; height:100px;'><%= h @entry.tag_names %></textarea>

      <button onclick='PostEditor.selectTags(); return false;'>Select Tags</button>

        Publication Status

    <input onclick='PostEditor.updateStatus();' id='entry_status_draft' name='update_entry[status]' value='draft' <%= "checked='checked'" if @entry.status == 'draft' %> type='radio'><%= "Draft".t %>

    <input onclick='PostEditor.updateStatus();' id='entry_status_published' name='update_entry[status]' value='publish_now' <%= "checked='checked'" if @entry.status == 'published' && @entry.published_at  && @entry.published_at < Time.now %> type='radio'><%= "Published".t  %>

    <input onclick='PostEditor.updateStatus();' id='entry_status_post_date' name='update_entry[status]' value='post_date' type='radio'  <%= "checked='checked'" if @entry.status == 'published' && ( !@entry.published_at  || @entry.published_at > Time.now ) %> type='radio'><%= "Post Date".t  %>

      <% if @entry.errors.on(:published_at) %>

Invalid Date

    <% end -%>
      <%= f.datetime_field :published_at, :label => '',:unstyled => true, :blank => true, :disabled => !(@entry.status == 'published' && ( !@entry.published_at  || @entry.published_at > Time.now ) ) %>

    <% if @blog.content_model -%>

        <%= @blog.content_model.name %>

      <% cms_subfields_for 'entry[data_model]', @entry.data_model do |cf| -%>
        <% @blog.content_model.content_model_fields.each do |field| -%>
          <%= field.form_field(cf, :vertical => true) %>
        <% end -%>

      <% end -%>

    <% end -%>

        <%= f.submit_tag @entry.id ? 'Update Entry' : 'Create Entry',:unstyled => true %>

<% end -%>
</form>


Update to link to Ministry of Justice, rather than DCA

<% @title = "About" %>

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 made 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 within 20 days, excluding weekends and
any UK bank holidays. The date that the response is due by 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 hurry them up.
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.

Can I request information about myself?

Not using this site. 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 Subject
Access - A guide for data subjects (on the Information Commisioner's
website) explains how to do this.

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 questions

Who gets to see my email address?

We will not disclose your email address to anyone, including the public
authority you are sending a request to, unless we are obliged to by law,
or you ask us to. 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 appear publically on the site?

It means that someone researching the same area can get in touch with you,
and maybe give you more information or ideas relating to your request.  Also,
we're going to publish the response with the name of the civil servant who
wrote it, so it seems only fair that your name should be public too!
Therefore, we encourage you to use your real name, but you may use a pseudonym
if you would like to be anonymous.

So I can make an FOI request using a pseudonym?

Yes, you can. It is good practice for the public authority to reply to such
a request, except in special circumstances such as if they suspect you of
making vexatious requests. See Freedom of Information Good Practice Guidance No 6 for details. You
should refer to this if a public authority attempts to refuse a request because you used a pseudonym.
Saying that, you can avoid the problem by simply making your pseudonym look like a real person's name,
as there is no general obligation to prove your identity.

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."

Why does the list of things that I'm tracking appear publically on the site?

This helps you find others who are researching the same area of government,
so you can form groups to investigate or campaign together. It also helps us
show requests which are related to other requests. If you've ever used a
"social bookmarking" website such as Delicious, Digg or reddit, think of it like
that.

FOI officer questions

Why are you publishing responses to FOI requests?

Freedom of Information responses contain public information, which anybody could
easily request again from the public authority. Therefore,
there is no reason they shouldn't be published on the Internet. There are lots
of benefits - everything from preventing duplicate requests, to getting the public
more involved and interested in the work of government.

What about 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.

Won't I be breaking copyright law by sending a response that you then publish?

No, you will simply be replying to an FOI request by email (the "expressed
preference" of the requester, under
section
11(1) of the Freedom of Information Act). That we are later republishing your
response is a separate matter of copyright law, and not something which FOIA lists
as a reason for rejecting a request.

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 and John Cross.

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.

<% @title = "About" %>

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 made 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 within 20 days, excluding weekends and
any UK bank holidays. The date that the response is due by 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 hurry them up.
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.

Can I request information about myself?

Not using this site. 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 Subject
Access - A guide for data subjects (on the Information Commisioner's
website) explains how to do this.

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 questions

Who gets to see my email address?

We will not disclose your email address to anyone, including the public
authority you are sending a request to, unless we are obliged to by law,
or you ask us to. 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 appear publically on the site?

It means that someone researching the same area can get in touch with you,
and maybe give you more information or ideas relating to your request.  Also,
we're going to publish the response with the name of the civil servant who
wrote it, so it seems only fair that your name should be public too!
Therefore, we encourage you to use your real name, but you may use a pseudonym
if you would like to be anonymous.

So I can make an FOI request using a pseudonym?

Yes, you can. It is good practice for the public authority to reply to such
a request, except in special circumstances such as if they suspect you of
making vexatious requests. See Freedom of Information Good Practice Guidance No 6 for details. You
should refer to this if a public authority attempts to refuse a request because you used a pseudonym.
Saying that, you can avoid the problem by simply making your pseudonym look like a real person's name,
as there is no general obligation to prove your identity.

They've asked for my postal address!

If a public authority asks you for your full 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 Department for
Constitutional Affairs has guidance on
this –
"Return address:  There is no obligation to comply with a
request for information if it does not give a return address. If a request is
received by email and, although no postal address is given, the email
address of the sender is included, then this should be treated as the
return address."

Why does the list of things that I'm tracking appear publically on the site?

This helps you find others who are researching the same area of government,
so you can form groups to investigate or campaign together. It also helps us
show requests which are related to other requests. If you've ever used a
"social bookmarking" website such as Delicious, Digg or reddit, think of it like
that.

FOI officer questions

Why are you publishing responses to FOI requests?

Freedom of Information responses contain public information, which anybody could
easily request again from the public authority. Therefore,
there is no reason they shouldn't be published on the Internet. There are lots
of benefits - everything from preventing duplicate requests, to getting the public
more involved and interested in the work of government.

What about 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.

Won't I be breaking copyright law by sending a response that you then publish?

No, you will simply be replying to an FOI request by email (the "expressed
preference" of the requester, under
section
11(1) of the Freedom of Information Act). That we are later republishing your
response is a separate matter of copyright law, and not something which FOIA lists
as a reason for rejecting a request.

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 and John Cross.

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.


updating for chris

updating for chris

Here is your RubyURL

<%= link_to @link.permalink, @link.permalink -%>

      <%= button_to_function 'Copy', "copy('#{@link.permalink}')", :class => 'copy' -%>
      <%= clippy(@link.permalink, '#FF0000')%>

Your RubyURL is ready for pasting!

<%= link_to 'Create another rubyurl', '/' -%> ↩

Original URL Length:

<%= @link.website_url.length -%> characters

RubyURL Length:

<%= @link.permalink.length -%> characters

shortened by:

<%= @link.website_url.length - @link.permalink.length -%> characters

Here is your RubyURL

<%= link_to @link.permalink, @link.permalink -%>

      <%= button_to_function 'Copy', "copy('#{@link.permalink}')", :class => 'copy' -%>
      <%= clippy(@link.permalink)%>

Your RubyURL is ready for pasting!

<%= link_to 'Create another rubyurl', '/' -%> ↩

Original URL Length:

<%= @link.website_url.length -%> characters

RubyURL Length:

<%= @link.permalink.length -%> characters

shortened by:

<%= @link.website_url.length - @link.permalink.length -%> characters


ActionItem1049: another UI review

ActionItem1049: another UI review

    <%= _('Role') %>
    <%= _('Ações') %>

  <% @roles.each do |role| %>

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

        <%= button_without_text :edit, _('Edit'), :action => 'edit', :id => role %>
        <%= button_without_text :delete, _('Destroy'), :action => 'destroy', :id => role %>

  <% end %>

<% button_bar do %>
  <%= button :new, _('New role'), :action => 'new' %>
  <%= button :back, _('Back'), :controller => 'admin_panel' %>
<% end %>

<%= link_to _('New role'), :action => 'new' %>
<ul>
  <% @roles.each do |role| %>
    <li>
      <%= link_to role.name, :action => 'show', :id => role %>
      <%= link_to _('Edit'), :action => 'edit', :id => role %>
      <%= link_to _('Destroy'), :action => 'destroy', :id => role %>
    </li>
  <% end %>
</ul>

<p> <%= link_to _('Back'), :controller => 'admin_panel' %> </p>


bring rails front page in to line with current one

  <form action="/search.html">
    <input type="text" name="query" value="" size="60">
    <input type="submit" value="Search">
  </form>

<% lon =  params['lon'] || '-0.1' %>
<% lat =  params['lat'] || '51.5' %>
<% zoom =  params['zoom'] || '5' %>

  <% unless @user %>

We're trialing the adverts below to support the project. Login and they go away.

  <% end %>

  <form action="/search.html">
    <input type="text" name="query" value="" size="60">
    <input type="submit" value="Search">
  </form>

<% lon =  params['lon'] || '-0.1' %>
<% lat =  params['lat'] || '51.5' %>
<% zoom =  params['zoom'] || '11' %>

  <% unless @user %>

  We're trialing adverts to support the project. Login and they go away.

  <% end %>


update generator to conform to new namespacing

<%
require 'rubygems'
require 'pokerstats/hand_statistics'
%>

class CreatePokerstats < ActiveRecord::Migration
  def self.up
	  create_table :hand_statistics do |t|
		<%= Pokerstats::HandStatistics.hand_statistics_migration_data -%>
	    t.timestamps
	  end
	  create_table :player_statistics do |t|
		t.integer :hand_statistic_id
		t.integer :player_id
		<%= Pokerstats::HandStatistics.player_statistics_migration_data -%>
	    t.timestamps
	  end
	  create_table :player
	    t.string :name
	  end
  end

  def self.down
	drop_table :player
    drop_table :player_statistics
	drop_table :hand_statistics
  end
end

<%
require 'rubygems'
require 'pokerstats/hand_statistics'
%>

class CreatePokerstats < ActiveRecord::Migration
  def self.up
	  create_table :hand_statistics do |t|
		<%= HandStatistics.hand_statistics_migration_data -%>
	    t.timestamps
	  end
	  create_table :player_statistics do |t|
		t.integer :hand_statistic_id
		t.integer :player_id
		<%= HandStatistics.player_statistics_migration_data -%>
	    t.timestamps
	  end
	  create_table :player
	    t.string :name
	  end
  end

  def self.down
	drop_table :player
    drop_table :player_statistics
	drop_table :hand_statistics
  end
end


Minor UI enhancements in translations support

(ActionItem894)

<%= error_messages_for 'blog' %>

<%= _('My Blog') %>

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

<%= required f.text_field(:name, :size => '64', :onchange => "updateUrlField(this, 'article_slug')") %>

<%= hidden_field_tag 'old_article_slug', @article.slug %>

  <%= labelled_form_field( _('Address'),
        content_tag('code',
          url_for(@article.url).gsub(/#{@article.slug}$/, '') +
          text_field(:article, :slug, :onchange => "warn_value_change()", :size => 25)
        ) +
        content_tag('div',
          content_tag('strong', _('WARNING!')) + ' ' +
            _("You are about to change the address, and this will break external links to this blog or to posts inside it. Do you really want to change?") +
          content_tag('div',
            button_to_function(:ok, _("Yes"), "confirm_change()") + ' ' +
            button_to_function(:cancel, _('No'), 'no_change()')
          ),
          :id => 'slug-change-confirmation',
          :class => 'change-confirmation',
          :style => 'display: none;'
        )
      )
  %>

<%= labelled_form_field(_('Description:'), text_area(:article, :body, :cols => 64, :rows => 10)) %>

<%= labelled_form_field(_('How to display posts:'), f.select(:visualization_format, [ [ _('Full post'), 'full'], [ _('First paragraph'), 'short'] ])) %>

<%= labelled_form_field(_('Posts per page:'), f.select(:posts_per_page, [5, 10, 20, 50, 100])) %>

<%= labelled_check_box(_("Try listing only translated posts"), 'article[display_posts_in_current_language]', '1', @article.display_posts_in_current_language?) %>

<% f.fields_for 'feed', @article.feed do |feed| %>
  <%= labelled_form_field(_('Limit of posts in RSS Feed'), feed.select(:limit, [5, 10, 20, 50])) %>
  <%= labelled_form_field(_('Include in RSS Feed only posts from language:'), feed.select(:language, [[_('All'),  nil ]] + Noosfero.locales.map { |k,v| [v, k]})) %>
<% end %>

<% f.fields_for 'external_feed_builder', @article.external_feed do |efeed| %>

    <% enabled = @article.external_feed && @article.external_feed.enabled %>
    <% only_once = @article.external_feed ? @article.external_feed.only_once : true %>
    <%= labelled_check_box(_('Fetch posts from an external feed'), 'article[external_feed_builder][enabled]', 'true', enabled, {:onchange => "$('external-feed-options').toggle()"}) %>
    <%= hidden_field_tag 'article[external_feed_builder][enabled]', 'false' %>
    <div id='external-feed-options' style="display: <%= enabled ? 'block' : 'none' %>">
      <%= efeed.hidden_field(:id) %>
      <%= labelled_form_field( _('Feed address'), efeed.text_field(:address) ) %>

        <%= labelled_radio_button( _('Fetch posts only once'), 'article[external_feed_builder][only_once]', 'true', only_once) %>
        <%= labelled_radio_button( _('Fetch posts periodically'), 'article[external_feed_builder][only_once]', 'false', !only_once) %>

          <%= _('Feeds are updated in batches periodically. Please note that your posts will not be fetched immediately.') %>

<% end %>

<%= error_messages_for 'blog' %>

<%= _('My Blog') %>

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

<%= required f.text_field(:name, :size => '64', :onchange => "updateUrlField(this, 'article_slug')") %>

<%= hidden_field_tag 'old_article_slug', @article.slug %>

  <%= labelled_form_field( _('Address'),
        content_tag('code',
          url_for(@article.url).gsub(/#{@article.slug}$/, '') +
          text_field(:article, :slug, :onchange => "warn_value_change()", :size => 25)
        ) +
        content_tag('div',
          content_tag('strong', _('WARNING!')) + ' ' +
            _("You are about to change the address, and this will break external links to this blog or to posts inside it. Do you really want to change?") +
          content_tag('div',
            button_to_function(:ok, _("Yes"), "confirm_change()") + ' ' +
            button_to_function(:cancel, _('No'), 'no_change()')
          ),
          :id => 'slug-change-confirmation',
          :class => 'change-confirmation',
          :style => 'display: none;'
        )
      )
  %>

<%= labelled_form_field(_('Description:'), text_area(:article, :body, :cols => 64, :rows => 10)) %>

<%= labelled_form_field(_('How to display posts:'), f.select(:visualization_format, [ [ _('Full post'), 'full'], [ _('First paragraph'), 'short'] ])) %>

<%= labelled_form_field(_('Posts per page:'), f.select(:posts_per_page, [5, 10, 20, 50, 100])) %>

<%= labelled_check_box(_('Display posts in current language, if available'), 'article[display_posts_in_current_language]', '1', @article.display_posts_in_current_language?) %>

<% f.fields_for 'feed', @article.feed do |feed| %>
  <%= labelled_form_field(_('Limit of posts in RSS Feed'), feed.select(:limit, [5, 10, 20, 50])) %>
  <%= labelled_form_field(_('Include in RSS Feed only posts from language:'), feed.select(:language, { _('All') => nil }.merge(Noosfero.locales.invert))) %>
<% end %>

<% f.fields_for 'external_feed_builder', @article.external_feed do |efeed| %>

    <% enabled = @article.external_feed && @article.external_feed.enabled %>
    <% only_once = @article.external_feed ? @article.external_feed.only_once : true %>
    <%= labelled_check_box(_('Fetch posts from an external feed'), 'article[external_feed_builder][enabled]', 'true', enabled, {:onchange => "$('external-feed-options').toggle()"}) %>
    <%= hidden_field_tag 'article[external_feed_builder][enabled]', 'false' %>
    <div id='external-feed-options' style="display: <%= enabled ? 'block' : 'none' %>">
      <%= efeed.hidden_field(:id) %>
      <%= labelled_form_field( _('Feed address'), efeed.text_field(:address) ) %>

        <%= labelled_radio_button( _('Fetch posts only once'), 'article[external_feed_builder][only_once]', 'true', only_once) %>
        <%= labelled_radio_button( _('Fetch posts periodically'), 'article[external_feed_builder][only_once]', 'false', !only_once) %>

          <%= _('Feeds are updated in batches periodically. Please note that your posts will not be fetched immediately.') %>

<% end %>


Add a description meta tag for the all web pages. Wording probably needs to be improved.


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

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

<%= error_messages_for :upload %>

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

New File

<%= f.file_field :uploaded_data %>

Files must be under 15mb.

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

	<% end %>

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

<%= error_messages_for :upload %>

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

New File

<%= f.file_field :uploaded_data %>

Files must be under 15mb.

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

	<% end %>

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


[ClockingIT @ Final version of login page]

<% unless @company.nil? %>

<title><%= @company.name %> - ClockingIT</title>
<%= stylesheet_link_merged :tt %>

  <% if flash[:notice] %>
<%= flash[:notice] %><% flash.clear %>
<% end %>

  <% if @internal && @internal.logo? %>
  <%= tag("img", {:src => "/customers/show_logo/#{@internal.id}", :border => 0 } ) %>
  <% else %>
  <%= @company.name %>
  <% end %>

  <%= start_form_tag( {:action => 'validate'}, {:id => "loginform"}) %>

Username	<input name="user[username]" id="username" type="text" class="inputbox" alt="username" size="10" />

Password	<input type="password" id="password" name="user[password]" class="inputbox" size="10" alt="password" />

 	<input type="submit" name="Submit" class="button" value="Log in" />

 	Forgot Login?

  <%= end_form_tag %>

© 2005-2006 Clocking IT - by Erlend & Ellen Simonsen (support@clockingit.com)

<% else %>

<a href="http://www.<%= $CONFIG[:domain] %>/login/signup">Sign Up

Forum

Wiki

About

Home

      <%= render :partial => "left_column" %>

  <% if flash[:notice] %>
<%= flash[:notice] %><% flash.clear %>

  <% else %>
  <% lines = [
    "After introducing ClockingIT at work, we've stopped having status-meetings, as everyone knows who does what, at all times.

-- Erlend Simonsen",
    "Firstly, let me add my voice to the many telling you your application is wonderful!",
    "I, like everyone else, love ClockingIT",
    "You're doing a fantastic job!",
    "your tool it's awasome, i hope you have time to improve it, i really think that can become the best tool in his category",
    "really, really, really great! It's more...the best i've ever seen.",
    "I've worked with a lot of PM systems. MS Project, OpenWorkbench, Basecamp, etc...but clockingit have sthg that I was looking for...simplicity.",
    "All of the clients I've shown it to to get an idea if they liked, actually loved it!",
    "First of all, i'd like to thank you soooo much for your magnificent work and dedication; you are indeed developing a grand and most usable application in groupware trends.",
    "Only a quick note to let you know how impressed I am with this project, both technically and philosophically.",
    "Must say Clocking IT is very cool and unique.",
    "I am really quite impressed with your time tracker",
    "In my 8 years of consulting, 3 hours has got to be fastest turn-around time for a feature request that I've ever seen. Thanks.",
    "Thanks so much this is great!!!",
    "Your site looks great - and for free, no less.",
    "Actually, great was probably an understatement - after exploring it a bit more it looks smarter and more intuitive than any other project management software I've seen.",
    "Well done to you and your team.",
    "The main thing in software projects is the task management and the measurement of the time we have to spend. You combine this in a really awesome design, like Apple does: not to overloaded and still very powerfull.",
    "I have been looking for a good project management package for years and this is the best I've seen.",
    "WELL DONE!",
    "Whoa, that was quick! Thank you!",
    "I was reminded how refreshing and heartening you and your wife's attitude is compared to the ignorance, arrogance and contempt for others of some other software developers",
    "I'm totally blown away - this is by FAR the best project tracking system that we have ever seen!!!",
    "So very nice!  Thanks so much for building this.  It's really great!",
    "LOVING your product.  SO GOOD.  Wow.",
    "I love the program. Thanks for making it free. ",
    "I've used various things in the past to record my working day including a Yahoo widget but this is by far the best.",
    "Looks like so far you've created a great project. Very simple and to the point and very fast!! ",
    "I'm greatly surprised every day with your new improvements...",
    "We just started using clockingit this week and are SO PLEASED with finding a program that does just what we want.",
    "I love the easy to use interface and especially the ease of keeping track of time on each task. Great job!",
    "Thanks a lot for creating such a wonderfull tool and for deciding to open-source it !",
    "Thanks again for such an amazing application!!!",
    "Having a blast working with your software - you have no idea how much this has helped our little startup!",
    "Congratulations on ClockingIT, you have done brilliant work",
    "You guys have done a spectacular job with Clocking IT, I can't speak highly enough about it.",
    "after trying just about every task manager and time tracker on the web over the last month Clocking IT was the only one that was both powerful and easy to use.",
    "I hope you don't take this as offensive, but I would love to see your effort be acquired by Google.",
    "Thank you for this awesome project management site.",
    "it's awesome that you're doing this free, and I love it.",
    "I've been using this for a few weeks now and wanted to drop in a note thanking you for all the hard work. This app is designed well, works great and is exactly what I was looking for.",
    "I have tested many software related to this kind of application, and I must say that ClockingIT is the best so far. It is elegant, very useful, FREE!!, and fast.",
    "Both of you are making a great job !!! There are not thanks enough !!",
    "Thanks again for everything - you've helped our little startup become successful!",
    "Thanks Erlend! I really love ClockingIT.",
    "I really love it, being a web developer myself I enjoy the simplicity of the system you have built.",
    "We're now accurately able to track hours in each task and we'll be using that to bill our clients, so it's AWESOME!"
    ]
    %>

"<%= lines[rand(lines.size)]%>"

  <% end %>

Smart, easy and free...

Previous

Next

<a href="http://www.<%= $CONFIG[:domain] %>/login/signup">

<% end %>

<% unless @company.nil? %>

<title><%= @company.name %> - ClockingIT</title>
<%= stylesheet_link_merged :tt %>

  <% if flash[:notice] %>
<%= flash[:notice] %><% flash.clear %>
<% end %>

  <% if @internal && @internal.logo? %>
  <%= tag("img", {:src => "/customers/show_logo/#{@internal.id}", :border => 0 } ) %>
  <% else %>
  <%= @company.name %>
  <% end %>

  <%= start_form_tag( {:action => 'validate'}, {:id => "loginform"}) %>

Username	<input name="user[username]" id="username" type="text" class="inputbox" alt="username" size="10" />

Password	<input type="password" id="password" name="user[password]" class="inputbox" size="10" alt="password" />

 	<input type="submit" name="Submit" class="button" value="Log in" />

 	Forgot Login?

  <%= end_form_tag %>

© 2005-2006 Clocking IT - by Erlend & Ellen Simonsen (support@clockingit.com)

<% else %>

<a href="http://www.<%= $CONFIG[:domain] %>/login/signup">Sign Up

Forum

Wiki

About

Home

      <%= render :partial => "left_column" %>

  <% if flash[:notice] %>
<%= flash[:notice] %><% flash.clear %>

  <% else %>
  <% lines = [
    "After introducing ClockingIT at work, we've stopped having status-meetings, as everyone knows who does what, at all times.

-- Erlend Simonsen",
    "Firstly, let me add my voice to the many telling you your application is wonderful!",
    "I, like everyone else, love ClockingIT",
    "You're doing a fantastic job!",
    "your tool it's awasome, i hope you have time to improve it, i really think that can become the best tool in his category",
    "really, really, really great! It's more...the best i've ever seen.",
    "I've worked with a lot of PM systems. MS Project, OpenWorkbench, Basecamp, etc...but clockingit have sthg that I was looking for...simplicity.",
    "All of the clients I've shown it to to get an idea if they liked, actually loved it!",
    "First of all, i'd like to thank you soooo much for your magnificent work and dedication; you are indeed developing a grand and most usable application in groupware trends.",
    "Only a quick note to let you know how impressed I am with this project, both technically and philosophically.",
    "Must say Clocking IT is very cool and unique.",
    "I am really quite impressed with your time tracker",
    "In my 8 years of consulting, 3 hours has got to be fastest turn-around time for a feature request that I've ever seen. Thanks.",
    "Thanks so much this is great!!!",
    "Your site looks great - and for free, no less.",
    "Actually, great was probably an understatement - after exploring it a bit more it looks smarter and more intuitive than any other project management software I've seen.",
    "Well done to you and your team.",
    "The main thing in software projects is the task management and the measurement of the time we have to spend. You combine this in a really awesome design, like Apple does: not to overloaded and still very powerfull.",
    "I have been looking for a good project management package for years and this is the best I've seen.",
    "WELL DONE!",
    "Whoa, that was quick! Thank you!",
    "I was reminded how refreshing and heartening you and your wife's attitude is compared to the ignorance, arrogance and contempt for others of some other software developers",
    "I'm totally blown away - this is by FAR the best project tracking system that we have ever seen!!!",
    "So very nice!  Thanks so much for building this.  It's really great!",
    "LOVING your product.  SO GOOD.  Wow.",
    "I love the program. Thanks for making it free. ",
    "I've used various things in the past to record my working day including a Yahoo widget but this is by far the best.",
    "Looks like so far you've created a great project. Very simple and to the point and very fast!! ",
    "I'm greatly surprised every day with your new improvements...",
    "We just started using clockingit this week and are SO PLEASED with finding a program that does just what we want.",
    "I love the easy to use interface and especially the ease of keeping track of time on each task. Great job!",
    "Thanks a lot for creating such a wonderfull tool and for deciding to open-source it !",
    "Thanks again for such an amazing application!!!",
    "Having a blast working with your software - you have no idea how much this has helped our little startup!",
    "We're now accurately able to track hours in each task and we'll be using that to bill our clients, so it's AWESOME!"
    ]
    #04/19/2007 - Done.
    %>

"<%= lines[rand(lines.size)]%>"

  <% end %>

Smart, easy and free...

Previous

Next

<a href="http://www.<%= $CONFIG[:domain] %>/login/signup">

<% end %>


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

<% content_for :sidebar do %>
  <%= render :partial => 'photo' %>
  <%= render :partial => 'families/photo' %>

  <% if (people = @person.family.people).length > 1 %>

Family

      <% people.each do |person| %>

            <a href="<%= url_for :action => 'view', :id => person %>">
              <%= render :partial => 'thumbnail', :locals => {:person => person} %>

          <%= link_to person.name, :action => 'view', :id => person %>

      <% end %>

  <% end %>

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

<% end %>

<% if @person.mapable? and @person.share_address_with @logged_in %>

      only an approximation |
      <%= link_to 'show full screen', "http://maps.yahoo.com/broadband/#mvt=m&q1=#{URI.escape(@person.family.mapable_address)}", :target => '_new' %>

<% end %>

<% if @person == @logged_in and (@person.verses.empty? and @person.recipes.empty? and @person.pictures.empty?) %>

    Hey! Did you know you can <%= link_to 'share', :controller => 'shares' %>
    your favorite pictures, Bible verses, and even recipes on <%= SITE_TITLE %>?

<% end %>

  <%=h @person.name %>
  <% if @person.mail_group == 'M' %>
    (Member)
  <% end %>
  <% if @logged_in.can_edit? @person %>
    <%= link_to 'edit', {:action => 'edit', :id => @person}, :style => 'font-size:10pt;color:#999;text-decoration:none;' %>
  <% end %>

<% if @person.pending_updates.count > 0 and @logged_in == @person %>

    <%= image_tag 'clock.gif', :alt => 'Pending Updates', :class => 'no-border', :style => 'vertical-align:middle;' %>
    The update to your profile is pending approval.

<% end %>

<% content_for :subnav do %>
  <% if @logged_in.can_edit? @person %>

<%= link_to 'Edit Profile', :action => 'edit', :id => @person %>

<%= link_to 'Privacy', :action => 'privacy', :id => @person %>

<%= link_to 'Email Preferences', :action => 'email', :id => @person %>

  <% end %>
  <% unless @logged_in == @person %>
    <% if @logged_in.contacts.find_all_by_person_id(@person.id).any? %>

<%= link_to 'Remove from Contacts', :action => 'remove_contact', :id => @person %>

    <% else %>

<%= link_to 'Add to Contacts', :action => 'add_contact', :id => @person %>

    <% end %>
    <% if @person.email.to_s.any? and @person.messages_enabled %>

<%= link_to image_tag('message.gif', :alt => 'Send a Private Message', :class => 'no-border', :style => 'vertical-align:middle;') + ' Private Message', :controller => 'messages', :action => 'send_email', :id => @person %>

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

<% if @prayer_signups.any? %>

    <%= @person.first_name %> is praying at the following time(s):

    <%= @prayer_signups.map { |s| s.start.strftime '%a %m/%d, %I:%M %p' }.join('
') %>
    <% if @person != @logged_in %>

      <%= link_to 'When are you praying?', :controller => 'prayer', :action => 'event' %>
    <% end %>

<% end %>

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

<% if (count = @person.pictures.count) > 0 %>

Pictures

    <% @person.pictures.find(:all, :order => 'rand()', :limit => 5).each do |picture| %>
      <%= link_to image_tag(url_for(:controller => 'pictures', :action => 'photo', :id => "#{picture.id}.small.jpg"), :alt => 'click to enlarge'),
        {:controller => 'pictures', :action => 'view', :id => picture}, :title => 'click to enlarge' %>
    <% end %>
    <%= link_to 'More...', :action => 'pictures', :id => @person %>

<% end %>

<% if @person.testimony.to_s.any? %>

Testimony

<%= preserve_breaks @person.testimony %>

<% end %>

<% if @person.verses.any? %>

Verses

  <%= render :partial => 'verses' %>
<% end %>

<% if @person.recipes.any? %>

Recipes

  <%= render :partial => 'recipes/list', :locals => {:recipes => @person.recipes} %>
  <% if @person == @logged_in %>

<%= link_to "New Recipe", :controller => "recipes", :action => "edit" %>

  <% end %>
<% end %>

<% if @person.activities.to_s.any? or @person.interests.to_s.any? or @person.tv_shows.to_s.any? or @person.movies.to_s.any? or @person.books.to_s.any? or @person.quotes.to_s.any? %>

Favorites

    <% if @person.activities.to_s.any? %>

Activities:	<%= linkify @person.activities, :activities %>

    <% end %>
    <% if @person.interests.to_s.any? %>

Interests:	<%= linkify @person.interests, :interests %>

    <% end %>
    <% if @person.music.to_s.any? %>

Music:	<%= linkify @person.music, :music %>

    <% end %>
    <% if @person.tv_shows.to_s.any? %>

TV Shows:	<%= linkify @person.tv_shows, :tv_shows %>

    <% end %>
    <% if @person.movies.to_s.any? %>

Movies:	<%= linkify @person.movies, :movies %>

    <% end %>
    <% if @person.books.to_s.any? %>

Books:	<%= linkify @person.books, :books %>

    <% end %>
    <% if @person.quotes.to_s.any? %>

        Quotes:

          <% if too_big = @person.quotes.to_s.length > 5000 %>

          <% end %>
          <%= preserve_breaks @person.quotes %>
          <% if too_big %>

          <% end %>

    <% end %>

<% end %>

<% if @person.groups.any? %>

Groups

  <%= render :partial => 'groups' %>
<% end %>

<% if @person.wall_enabled %>

Wall

  <%= render :partial => 'wall' %>
<% end %>

<% if @logged_in.admin? %>
  <%= form_tag :controller => 'prayer', :action => 'event_signup', :id => @person %>
    Sign up for prayer:
    <%= text_field_tag 'start', nil %>
    <%= submit_tag 'Save' %>
  </form>
<% end %>

<% if @person.family.mapable? and @person.share_address_with @logged_in %>

<% end %>

<% content_for :sidebar do %>
  <%= render :partial => 'photo' %>
  <%= render :partial => 'families/photo' %>

  <% if (people = @person.family.people).length > 1 %>

Family

      <% people.each do |person| %>

            <a href="<%= url_for :action => 'view', :id => person %>">
              <%= render :partial => 'thumbnail', :locals => {:person => person} %>

          <%= link_to person.name, :action => 'view', :id => person %>

      <% end %>

  <% end %>

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

<% end %>

<% if @person.mapable? and @person.share_address_with @logged_in %>

      only an approximation |
      <%= link_to 'show full screen', "http://maps.yahoo.com/broadband/#mvt=m&q1=#{URI.escape(@person.family.mapable_address)}", :target => '_new' %>

<% end %>

<% if @person == @logged_in and (@person.verses.empty? and @person.recipes.empty? and @person.pictures.empty?) %>

    Hey! Did you know you can <%= link_to 'share', :controller => 'shares' %>
    your favorite pictures, Bible verses, and even recipes on <%= SITE_TITLE %>?

<% end %>

  <%=h @person.name %>
  <% if @person.mail_group == 'M' %>
    (Member)
  <% end %>
  <% if @logged_in.can_edit? @person %>
    <%= link_to 'edit', {:action => 'edit', :id => @person}, :style => 'font-size:10pt;color:#999;text-decoration:none;' %>
  <% end %>

<% if @person.pending_updates.count > 0 and @logged_in == @person %>

    <%= image_tag 'clock.gif', :alt => 'Pending Updates', :class => 'no-border', :style => 'vertical-align:middle;' %>
    The update to your profile is pending approval.

<% end %>

<% content_for :subnav do %>
  <% if @logged_in.can_edit? @person %>

<%= link_to 'Edit Profile', :action => 'edit', :id => @person %>

<%= link_to 'Privacy', :action => 'privacy', :id => @person %>

<%= link_to 'Email Preferences', :action => 'email', :id => @person %>

  <% end %>
  <% unless @logged_in == @person %>
    <% if @logged_in.contacts.find_all_by_person_id(@person.id).any? %>

<%= link_to 'Remove from Contacts', :action => 'remove_contact', :id => @person %>

    <% else %>

<%= link_to 'Add to Contacts', :action => 'add_contact', :id => @person %>

    <% end %>
    <% if @person.email.to_s.any? and @person.messages_enabled %>

<%= link_to image_tag('message.gif', :alt => 'Send a Private Message', :class => 'no-border', :style => 'vertical-align:middle;') + ' Private Message', :controller => 'messages', :action => 'send_email', :id => @person %>

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

<% if @prayer_signups.any? %>

    <%= @person.first_name %> is praying at the following time(s):

    <%= @prayer_signups.map { |s| s.start.strftime '%a %m/%d, %I:%M %p' }.join('
') %>
    <% if @person != @logged_in %>

      <%= link_to 'When are you praying?', :controller => 'prayer', :action => 'event' %>
    <% end %>

<% end %>

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

<% if (count = @person.pictures.count) > 0 %>

Pictures

    <% @person.pictures.find(:all, :order => 'rand()', :limit => 5).each do |picture| %>
      <%= link_to image_tag(url_for(:controller => 'pictures', :action => 'photo', :id => "#{picture.id}.small.jpg"), :alt => 'click to enlarge'),
        {:controller => 'pictures', :action => 'view', :id => picture}, :title => 'click to enlarge' %>
    <% end %>
    <%= link_to 'More...', :action => 'pictures', :id => @person %>

<% end %>

<% if @person.testimony.to_s.any? %>

Testimony

<%= preserve_breaks @person.testimony %>

<% end %>

<% if @person.verses.any? %>

Verses

  <%= render :partial => 'verses' %>
<% end %>

<% if @person.recipes.any? %>

Recipes

  <%= render :partial => 'recipes/list', :locals => {:recipes => @person.recipes} %>
  <% if @person == @logged_in %>

<%= link_to "New Recipe", :controller => "recipes", :action => "edit" %>

  <% end %>
<% end %>

<% if @person.activities.to_s.any? or @person.interests.to_s.any? or @person.tv_shows.to_s.any? or @person.movies.to_s.any? or @person.books.to_s.any? or @person.quotes.to_s.any? %>

Favorites

    <% if @person.activities.to_s.any? %>

Activities:	<%= linkify @person.activities, :activities %>

    <% end %>
    <% if @person.interests.to_s.any? %>

Interests:	<%= linkify @person.interests, :interests %>

    <% end %>
    <% if @person.music.to_s.any? %>

Music:	<%= linkify @person.music, :music %>

    <% end %>
    <% if @person.tv_shows.to_s.any? %>

TV Shows:	<%= linkify @person.tv_shows, :tv_shows %>

    <% end %>
    <% if @person.movies.to_s.any? %>

Movies:	<%= linkify @person.movies, :movies %>

    <% end %>
    <% if @person.books.to_s.any? %>

Books:	<%= linkify @person.books, :books %>

    <% end %>
    <% if @person.quotes.to_s.any? %>

        Quotes:

          <% if too_big = @person.quotes.to_s.length > 5000 %>

          <% end %>
          <%= preserve_breaks @person.quotes %>
          <% if too_big %>

          <% end %>

    <% end %>

<% end %>

<% if @person.groups.any? %>

Groups

  <%= render :partial => 'groups' %>
<% end %>

<% if @person.wall_enabled %>

Wall

  <%= render :partial => 'wall' %>
<% end %>

<% if @person.family.mapable? and @person.share_address_with @logged_in %>

<% end %>


Added spacing in search only when it's enabled

<%= link_to @model.to_s.capitalize, :model => params[:model], :action => "index" %>

<%= link_to image_tag('typus/arrow_right.gif'), { :page => @item_pages.current.previous, :filter_by => params[:filter_by], :filter_id => params[:filter_id], :model => params[:model], :status => params[:status], :search => params[:search], :order_by => params[:order_by], :sort_order => params[:sort_order] } if @item_pages.current.previous %> <%= link_to image_tag('typus/arrow_left.gif'), { :page => @item_pages.current.next, :filter_by => params[:filter_by], :filter_id => params[:filter_id], :model => params[:model], :status => params[:status], :search => params[:search], :order_by => params[:order_by], :sort_order => params[:sort_order] } if @item_pages.current.next %><%= " " if @item_pages.current.next %><%= link_to_function image_tag("typus/search_right.gif"), "['search'].each(Element.toggle);" if @model.search_fields.size > 0 %><%= " " if @model.search_fields.size > 0 %><%= link_to image_tag("typus/add.gif", :title => "New #{@model}"), :action => "new" %>

<%= feedback %>

<div id="search" <%= "style=\"display: none;\"" if !params[:search] %> class="box">
	<% form_tag ({:action => 'index', :model => params[:model]}, :method => 'get') do %>

<%= text_field_tag :search, params[:search] %>  <%= submit_tag "Search", :name => nil %>

	<% end %>

<% if @model.count > 0 -%>

	<% if @items.size > 0 -%>

		<% @fields.each do |column| %>

		<a href="?order_by=<%= column %>&sort_order=<% if params[:order_by].include? column %><%= (@status = (params[:sort_order] == "asc") ? "desc" : "asc" ) %><% else %><%= "asc" %><% end %>"><div class="<% if params[:order_by].include? column %><%= (@status = (params[:sort_order] == "asc") ? "order_desc" : "order_asc" ) %><% else %><%= "order" %><% end %>"><%= column.humanize %>

		<% end %>

		<% @items.each do |item| %>
		  <tr class="<%= cycle('even', 'odd') %>" id="item_<%= item.id %>">
		  <% @fields.each do |column| %>
		    <% if %w(id title name full_name first_name last_name).include? column -%>
		    <%= link_to item.send(column), :action => 'edit', :id => item.id %>
		    <% elsif %w(email).include? column -%>
		    <%= mail_to item.send(column), item.send(column), :title => "" %>
		    <% elsif %w(status).include? column -%>
		      <%= image_tag(status = item.send(column)? "typus/status_true.gif" : "typus/status_false.gif") %>
		    <% elsif %w(verified is_admin).include? column -%>
		      <%= status = item.send(column)? "Yes" : "No" %>
		    <% elsif %w(created_at updated_at).include? column -%>
		      <%= fmt_date(item.send(column)) %>
		    <% else -%>
		      <%=h item.send(column) %>
		    <% end -%>
		  <% end %>
		    <%= link_to image_tag("typus/trash.gif"), { :action => 'destroy', :id => item }, :confirm => "Remove this entry?" %>

		<% end %>

	<% else -%>

		<% if params[:search] %>

No <%= params[:model] %> match the search <%= params[:search] %>

		<% else %>

There are no <%= params[:model] %> with the filter <%= params[:filter_by] %> set to <%= params[:filter_id] %>. <%= link_to "Remove filter?", :action => "index", :model => params[:model] %>

		<% end %>

	<% end -%>

<% else -%>

<%= link_to "Add the first #{params[:model].singularize}", :action => "new", :model => params[:model] %>

<% end -%>

<%= link_to @model.to_s.capitalize, :model => params[:model], :action => "index" %>

<%= link_to image_tag('typus/arrow_right.gif'), { :page => @item_pages.current.previous, :filter_by => params[:filter_by], :filter_id => params[:filter_id], :model => params[:model], :status => params[:status], :search => params[:search], :order_by => params[:order_by], :sort_order => params[:sort_order] } if @item_pages.current.previous %> <%= link_to image_tag('typus/arrow_left.gif'), { :page => @item_pages.current.next, :filter_by => params[:filter_by], :filter_id => params[:filter_id], :model => params[:model], :status => params[:status], :search => params[:search], :order_by => params[:order_by], :sort_order => params[:sort_order] } if @item_pages.current.next %><%= " " if @item_pages.current.next %><%= link_to_function image_tag("typus/search_right.gif"), "['search'].each(Element.toggle);" if @model.search_fields.size > 0 %> <%= link_to image_tag("typus/add.gif", :title => "New #{@model}"), :action => "new" %>

<%= feedback %>

<div id="search" <%= "style=\"display: none;\"" if !params[:search] %> class="box">
	<% form_tag ({:action => 'index', :model => params[:model]}, :method => 'get') do %>

<%= text_field_tag :search, params[:search] %>  <%= submit_tag "Search", :name => nil %>

	<% end %>

<% if @model.count > 0 -%>

	<% if @items.size > 0 -%>

		<% @fields.each do |column| %>

		<a href="?order_by=<%= column %>&sort_order=<% if params[:order_by].include? column %><%= (@status = (params[:sort_order] == "asc") ? "desc" : "asc" ) %><% else %><%= "asc" %><% end %>"><div class="<% if params[:order_by].include? column %><%= (@status = (params[:sort_order] == "asc") ? "order_desc" : "order_asc" ) %><% else %><%= "order" %><% end %>"><%= column.humanize %>

		<% end %>

		<% @items.each do |item| %>
		  <tr class="<%= cycle('even', 'odd') %>" id="item_<%= item.id %>">
		  <% @fields.each do |column| %>
		    <% if %w(id title name full_name first_name last_name).include? column -%>
		    <%= link_to item.send(column), :action => 'edit', :id => item.id %>
		    <% elsif %w(email).include? column -%>
		    <%= mail_to item.send(column), item.send(column), :title => "" %>
		    <% elsif %w(status).include? column -%>
		      <%= image_tag(status = item.send(column)? "typus/status_true.gif" : "typus/status_false.gif") %>
		    <% elsif %w(verified is_admin).include? column -%>
		      <%= status = item.send(column)? "Yes" : "No" %>
		    <% elsif %w(created_at updated_at).include? column -%>
		      <%= fmt_date(item.send(column)) %>
		    <% else -%>
		      <%=h item.send(column) %>
		    <% end -%>
		  <% end %>
		    <%= link_to image_tag("typus/trash.gif"), { :action => 'destroy', :id => item }, :confirm => "Remove this entry?" %>

		<% end %>

	<% else -%>

		<% if params[:search] %>

No <%= params[:model] %> match the search <%= params[:search] %>

		<% else %>

There are no <%= params[:model] %> with the filter <%= params[:filter_by] %> set to <%= params[:filter_id] %>. <%= link_to "Remove filter?", :action => "index", :model => params[:model] %>

		<% end %>

	<% end -%>

<% else -%>

<%= link_to "Add the first #{params[:model].singularize}", :action => "new", :model => params[:model] %>

<% end -%>


Added required xmlns="http://www.w3.org/1999/xhtml" to <html> element of default index.rhtml file

<% # SPROUTCORE DEFAULT INDEX TEMPLATE
   # This template provide provides a basic wrapper for a SproutCore client.
   # Most of the time, it will be sufficient for your own needs.  However, if
   # you need to create your own template, you can do so by copying this file
   # into your client, naming it 'index.rhtml' and then adding the options
   # :index => 'index' to your client declaration in routes.rb.
   #
   # See the comments in this file for more information on what you can
   # change.
-%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<%  # @title will be defined if you passed :title in routes.rb -%>
    <title><%= (@title.to_s || bundle_name.to_s || '').capitalize %></title>
<% #
	 # This line should appear in your head area to include the stylesheets
	 # generated by your client.  If you need to include your own
	 # stylesheets, you don't need to change it here.  Instead, use the
	 # :requires option in routes.rb.
-%>
    <script src="<%= static_url('detect-browser') %>" type="text/javascript"></script>

    <%= stylesheets_for_client %>
<%= @content_for_page_styles %>
  </head>
  <body class="<%= @theme || 'sc-theme' %> focus">
    <script type="text/javascript">
    if (SC.setupBodyClassNames) SC.setupBodyClassNames() ;
    </script>

<% #
   # This is where you root body element will appear.  To cause your
   # content to appear here, just declare content_for('body') in one of
   # your partials.
-%>
    <!-- Main Page Body -->
    <%= @content_for_body %>

<% #
   # This is where the resources you delcare will appear.  You must
   # include the following three lines verbatim for the resources you
   # declare to be properly used.
-%>
    <!-- Resources to be removed from DOM on page load -->
    <div id="resources" style="display:none; visibility: hidden;">
      <%= @content_for_resources -%>
    </div>

<% #
   # This line should appear at the bottom of your page to include your
   # generated JavaScript and any libraries you reference.  If you need
   # to include other javascripts, add them to the :requires option of
   # your client in routes.rb instead of changing it here.
-%>
    <!-- Include Site Javascript -->
    <%= javascripts_for_client %>
<%= @content_for_page_javascript %>

<% #
   # The following lines to the closing body tag must be included at the
   # very end of your file.  This will actually setup the JavaScript
   # views on your page and register SproutCore to start on page load.
-%>
<!-- Render Page Views -->
<%= render_page_views %>

    <!-- Start SproutCore on Page Load -->
    <script type="text/javascript">window.onload = SC.didLoad;</script>
<%= @content_for_final %>
	</body>
</html>

<% # SPROUTCORE DEFAULT INDEX TEMPLATE
   # This template provide provides a basic wrapper for a SproutCore client.
   # Most of the time, it will be sufficient for your own needs.  However, if
   # you need to create your own template, you can do so by copying this file
   # into your client, naming it 'index.rhtml' and then adding the options
   # :index => 'index' to your client declaration in routes.rb.
   #
   # See the comments in this file for more information on what you can
   # change.
-%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<%  # @title will be defined if you passed :title in routes.rb -%>
    <title><%= (@title.to_s || bundle_name.to_s || '').capitalize %></title>
<% #
	 # This line should appear in your head area to include the stylesheets
	 # generated by your client.  If you need to include your own
	 # stylesheets, you don't need to change it here.  Instead, use the
	 # :requires option in routes.rb.
-%>
    <script src="<%= static_url('detect-browser') %>" type="text/javascript"></script>

    <%= stylesheets_for_client %>
<%= @content_for_page_styles %>
  </head>
  <body class="<%= @theme || 'sc-theme' %> focus">
    <script type="text/javascript">
    if (SC.setupBodyClassNames) SC.setupBodyClassNames() ;
    </script>

<% #
   # This is where you root body element will appear.  To cause your
   # content to appear here, just declare content_for('body') in one of
   # your partials.
-%>
    <!-- Main Page Body -->
    <%= @content_for_body %>

<% #
   # This is where the resources you delcare will appear.  You must
   # include the following three lines verbatim for the resources you
   # declare to be properly used.
-%>
    <!-- Resources to be removed from DOM on page load -->
    <div id="resources" style="display:none; visibility: hidden;">
      <%= @content_for_resources -%>
    </div>

<% #
   # This line should appear at the bottom of your page to include your
   # generated JavaScript and any libraries you reference.  If you need
   # to include other javascripts, add them to the :requires option of
   # your client in routes.rb instead of changing it here.
-%>
    <!-- Include Site Javascript -->
    <%= javascripts_for_client %>
<%= @content_for_page_javascript %>

<% #
   # The following lines to the closing body tag must be included at the
   # very end of your file.  This will actually setup the JavaScript
   # views on your page and register SproutCore to start on page load.
-%>
<!-- Render Page Views -->
<%= render_page_views %>

    <!-- Start SproutCore on Page Load -->
    <script type="text/javascript">window.onload = SC.didLoad;</script>
<%= @content_for_final %>
	</body>
</html>


Showing error stack trace

Showing error stack trace

<% @project = Kalibro::Client::ProjectClient.new.project(@page.name) %>

    <%= _("Name") %>
    <%= @project.name %>

    <%= _("License") %>
    <%= @project.license %>

    <%= _("Description") %>
    <%= @project.description %>

    <%= _("Repository type") %>
    <%= @project.repository.type %>

    <%= _("Repository address") %>
    <%= @project.repository.address %>

    <%= _("Configuration") %>
    <%= @project.configuration_name %>

<% if ! @project.error.nil? %>

ERROR

  <% @error = @project.error %>

    <%=  "State when error ocurred: #{@project.state}" %>

    <%= @error.message %>

<% @error.stack_trace.each do |trace| %>

<%= "#{trace.declaring_class}.#{trace.method_name}(#{trace.file_name}:#{trace.line_number})" %>

    <% end %>

<% end %>

<% @project = Kalibro::Client::ProjectClient.new.project(@page.name) %>

 <%= @project.name %>'s Info

    <%= _("Name") %>
    <%= @project.name %>

    <%= _("License") %>
    <%= @project.license %>

    <%= _("Description") %>
    <%= @project.description %>

    <%=   _("Repository type") %>
    <%= @project.repository.type %>

    <%=   _("Repository address") %>
    <%= @project.repository.address %>

    <%=   _("Configuration") %>
    <%= @project.configuration_name %>

<% if @project.state == 'ERROR' %>

ERROR

    <%= _("Possible causes:") %>

<%= _("Server is down") %>

<%= _("Invalid URL") %>

<%= _("Incorrect language") %>

<% end %>

<% if @project.state.end_with? 'ING' %>

    <%= _("The server is calculating metric results.
Reload the page manually in a few moments.") %>

<% end %>

<% if @project.state == 'READY' %>

  <% if @project.configuration.nil? %>
    <% metric_results = @client.last_module_result(@project.name).metric_results %>

 <%= _("Total Metrics") %>

      <% total_results = metric_results.each.select {|result| result.native_metric.scope == 'APPLICATION'} %>
      <% total_results.each_with_index do |result, index| %>
        <tr id="tr_<%= result.native_metric.code %>" class="d<%= index % 2 %>">
           <%= result.native_metric.name %>
           <%= result.value %>

      <% end %>

 <%= _("Statistical Metrics") %>

    <% statistical_results = metric_results.each.select {|result| result.native_metric.scope == 'CLASS'} %>
    <% statistical_results.each do |result| %>

        <table id="<%= @project.name %>_<%= result.native_metric.code %>_list">

            <img id="<%= @project.name %>_<%= result.native_metric.code %>_plus"
                 onclick="collapse('<%= @project.name %>_<%= result.native_metric.code %>')"
                 alt="+" src="/plugins/mezuro/images/plus.png" class="collapsable"/>
            <img id="<%= @project.name %>_<%= result.native_metric.code %>_minus" style="display: none"
                 onclick="collapse('<%= @project.name %>_<%= result.native_metric.code %>')"
                 alt="-" src="/plugins/mezuro/images/minus.png" class="collapsable"/>
                 <%= "#{result.native_metric.name}" %>

            <%= "#{result.average}"%>

          <% result.available_statistics.each_with_index do |statistic, index| %>
            <tr class="d<%= index % 2 %> statistic" style="display: none">
              <%= statistic %>
              <%= result.statistic(statistic) %>

          <% end %>

    <% end %>

  <% else %>
    <% metric_results = @client.last_module_result(@project.name).compiled_metric_results %>

 <%= _("Metrics") %>

      <% metric_results.each do |result| %>
        <tr id="tr_<%= result.native_metric.code %>">
           <%= result.native_metric.name %>
           <%= result.value %>

      <% end %>

  <% end %>
<% end %>


Fix line highlighting in stack trace.

Fix line highlighting in stack trace.

<link rel="stylesheet" href="/css/error.css" />

<%= @title %>

      File
      Line
      Method

    <% @backtrace.each do |source, hash, file, line, method| %>
      <tr class="file" id="<%== hash %>">
        <%== file %>
        <%== line %>
        <%== method %>

      <tr class="source hidden" id="source_<%== hash %>">

          <a href="txmt://open?url=file://<%= u(file) %>&line=<%== line %>"
              class="textmate">
            Open in TextMate

          <ol start="<%== source.first[0] %>">
            <% source.each do |lnum, lcode, lcurrent| %>
              <li<%= lcurrent ? ' class="current"' : '' %>>
                <%== lcode.to_s.rstrip %>

            <% end %>

    <% end %>

<% {'Session'  => Thread.current[:session],
    'Request'  => Thread.current[:request],
    'Response' => Thread.current[:response],
    'Global'   => Global
  }.each do |title, content| %>
    <% hash = [title, content].object_id.abs %>

      <h2 id="<%= hash %>"><%= title %>

      <pre id="is_<%= hash %>"><%== content.pretty_inspect %>

<% end %>

<link rel="stylesheet" href="/css/error.css" />

<%== @title %>

      File
      Line
      Method

    <% @backtrace.each do |source, hash, file, line, method| %>
      <tr class="file" id="<%== hash %>">
        <%== file %>
        <%== line %>
        <%== method %>

      <tr class="source hidden" id="source_<%== hash %>">

          <a href="txmt://open?url=file://<%= u(file) %>&line=<%== line %>"
              class="textmate">
            Open in TextMate

          <ol start="<%== source.first[0] %>">
            <% source.each do |lnum, lcode, lcurrent| %>
              <li<%== lcurrent ? ' class="current"' : '' %>>
                <%== lcode.to_s.rstrip %>

            <% end %>

    <% end %>

<% {'Session'  => Thread.current[:session],
    'Request'  => Thread.current[:request],
    'Response' => Thread.current[:response],
    'Global'   => Global
  }.each do |title, content| %>
    <% hash = [title, content].object_id.abs %>

      <h2 id="<%= hash %>"><%= title %>

      <pre id="is_<%= hash %>"><%== content.pretty_inspect %>

<% end %>


[Mezuro] Added dates combobox to history in project view

Project history <%=select_tag "projectHistory",options_for_select(history)%>

<%= _('Result') %>

    <%= _('Date') %>
    <%= project_result.date %>

    <%= _('Load time') %>
    <%= project_result.formatted_load_time %>

    <%= _('Analysis time') %>
    <%= project_result.formatted_analysis_time %>

<%= options_from_collection_for_select(history, :date, :date) %>

<%= _('Last Result') %>

    <%= _('Date') %>
    <%= project_result.date %>

    <%= _('Load time') %>
    <%= project_result.formatted_load_time %>

    <%= _('Analysis time') %>
    <%= project_result.formatted_analysis_time %>