comments removed or tidied up

comments removed or tidied up

<%# initialization: required to keep javascript independent of the access type codes, to allow the use the constants instead -%>
<input type="hidden" id="const_private" value="<%= Policy::PRIVATE -%>"/>
<input type="hidden" id="const_everyone" value="<%= Policy::EVERYONE -%>"/>
<input type="hidden" id="const_all_registered_users" value="<%= Policy::ALL_REGISTERED_USERS -%>"/>
<input type="hidden" id="const_all_elab_users" value="<%= Policy::ALL_ELAB_USERS -%>"/>
<input type="hidden" id="const_custom_permissions_only" value="<%= Policy::CUSTOM_PERMISSIONS_ONLY -%>"/>

<input type="hidden" id="const_determined_by_group" value="<%= Policy::DETERMINED_BY_GROUP -%>"/>
<input type="hidden" id="const_no_access" value="<%= Policy::NO_ACCESS -%>"/>
<input type="hidden" id="const_viewing" value="<%= Policy::VIEWING -%>"/>
<input type="hidden" id="const_downloading" value="<%= Policy::DOWNLOADING -%>"/>
<input type="hidden" id="const_editing" value="<%= Policy::EDITING -%>"/>

<%# this hidden input will submit all permission data with the form -%>
<%= hidden_field_tag "sharing[permissions][contributor_types]", "" -%>
<%= hidden_field_tag "sharing[permissions][values]", "" -%>

    Sharing

    		Here you can specify who can view and download this <% if @resource_type=="Script" -%>
                Script/Method
                <% elsif @resource_type=="Csvarchive" -%>
                Data Extract
                <% else -%>
                <%= @resource_type -%>
                <% end -%>

<label for="sharing_scope_<%= Policy::PRIVATE -%>">
    	<input type="hidden" name="sharing[access_type_<%= Policy::PRIVATE -%>]" value="<%= Policy::NO_ACCESS -%>"/>
			<input type="hidden" name="sharing[include_custom_sharing_<%= Policy::PRIVATE -%>]" value="0"/>

			<input <%= 'checked="checked"' if @sharing_mode == Policy::PRIVATE %> id="sharing_scope_<%= Policy::PRIVATE -%>" name="sharing[sharing_scope]"
            value="<%= Policy::PRIVATE -%>" type="radio" onclick="javascript:setSharingElementVisibility(<%= Policy::PRIVATE -%>);" />
        - Keep this <% if @resource_type=="Script" -%>
                Script/Method
                <% else -%>
                <%= @resource_type -%>
                <% end -%> private.

Or share it with..

    	<label for="sharing_scope_<%= Policy::ALL_REGISTERED_USERS -%>">
      	<input type="radio" <%= 'checked="checked"' if @sharing_mode == Policy::ALL_REGISTERED_USERS -%> id="sharing_scope_<%= Policy::ALL_REGISTERED_USERS -%>" name="sharing[sharing_scope]"
              value="<%= Policy::ALL_REGISTERED_USERS -%>" onclick="javascript:setSharingElementVisibility(<%= Policy::ALL_REGISTERED_USERS -%>);" />
          - All registered users for

		  <%= render :partial => "assets/sharing_form_access_type_dropdown", :locals => { :access_type_selector_for_scope => Policy::ALL_REGISTERED_USERS,
			                                                                             :sharing_scope => @sharing_mode, :access_type => @access_mode } -%>

	    	<label for="sharing_scope_<%= Policy::CUSTOM_PERMISSIONS_ONLY -%>">
	      	<input type="radio" <%= 'checked="checked"' if sharing_mode == Policy::CUSTOM_PERMISSIONS_ONLY -%> id="include_custom_sharing_<%= Policy::CUSTOM_PERMISSIONS_ONLY -%>" name="sharing[sharing_scope]"
	              value="<%= Policy::CUSTOM_PERMISSIONS_ONLY-%>" onclick="javascript:setSharingElementVisibility(<%= Policy::CUSTOM_PERMISSIONS_ONLY-%>);" />
	          - Specific Groups

				<%#= work_group_popup_link_action_new() -%>
				<div id="specific_sharing" <%= sharing_mode == Policy::CUSTOM_PERMISSIONS_ONLY ? hide_style(false) : hide_style(true) -%>>

						Share with group(s):

					<%= render :partial => "assets/workgroup_selector", :locals => { :resource_id => "groups", :resource_type => "Groups",   # this is only for presentation, not for any processing
				      :collection=>groups,:selected=>selected_groups,:authorization_for_showing_already_done => false } -%>

<%# initialization: required to keep javascript independent of the access type codes, to allow the use the constants instead -%>
<input type="hidden" id="const_private" value="<%= Policy::PRIVATE -%>"/>
<input type="hidden" id="const_everyone" value="<%= Policy::EVERYONE -%>"/>
<input type="hidden" id="const_all_registered_users" value="<%= Policy::ALL_REGISTERED_USERS -%>"/>
<input type="hidden" id="const_all_elab_users" value="<%= Policy::ALL_ELAB_USERS -%>"/>
<input type="hidden" id="const_custom_permissions_only" value="<%= Policy::CUSTOM_PERMISSIONS_ONLY -%>"/>

<input type="hidden" id="const_determined_by_group" value="<%= Policy::DETERMINED_BY_GROUP -%>"/>
<input type="hidden" id="const_no_access" value="<%= Policy::NO_ACCESS -%>"/>
<input type="hidden" id="const_viewing" value="<%= Policy::VIEWING -%>"/>
<input type="hidden" id="const_downloading" value="<%= Policy::DOWNLOADING -%>"/>
<input type="hidden" id="const_editing" value="<%= Policy::EDITING -%>"/>

<%# this hidden input will submit all permission data with the form -%>
<%= hidden_field_tag "sharing[permissions][contributor_types]", "" -%>
<%= hidden_field_tag "sharing[permissions][values]", "" -%>

<%# @resource_type -%>
<%# @favourite_groups -%>
<%# @all_projects -%>

<%# @policy_type -%>
<%# @sharing_mode -%>
<%# @access_mode -%>
<%# @use_custom_sharing -%>
<%# @use_whitelist -%>
<%# @use_blacklist -%>

    <%#= help_icon("Here you can specify who can view, download and edit this #{@resource_type}.") -%>
    Sharing

    		Here you can specify who can view and download this <% if @resource_type=="Script" -%>
                Script/Method
                <% elsif @resource_type=="Csvarchive" -%>
                Data Extract
                <% else -%>
                <%= @resource_type -%>
                <% end -%>
				<%#= link_to_function "Click here" + expand_image, visual_effect(:toggle_blind, "more_info", :duration => 0.3) -%>
                <%#*for more information.%>

              <%#*
%>
                <%#*Here you may specify the People, Projects or Groups that may View and Edit the details about your <%= @resource_type -%>.%>
                <%#*
%>
                <%#*
%>
                <%#*You may:%>
                <%#*
%>
                  <%#*
Keep the <%= @resource_type -%>
                    <%#*private, and only visible to yourself
%>
                  <%#*
Share with all MethodBox members
%>
                  <%#*
Define more fine-grained sharing, by selecting Custom sharing permissions.
 Using custom sharing permissions you can share with specific individuals,
or set up custom favourite groups for people you regularly need to share with.
%>
                <%#*
%>
                <%#*
%>
              <%#*
%>

<label for="sharing_scope_<%= Policy::PRIVATE -%>">
    	<input type="hidden" name="sharing[access_type_<%= Policy::PRIVATE -%>]" value="<%= Policy::NO_ACCESS -%>"/>
			<input type="hidden" name="sharing[include_custom_sharing_<%= Policy::PRIVATE -%>]" value="0"/>

			<input <%= 'checked="checked"' if @sharing_mode == Policy::PRIVATE %> id="sharing_scope_<%= Policy::PRIVATE -%>" name="sharing[sharing_scope]"
            value="<%= Policy::PRIVATE -%>" type="radio" onclick="javascript:setSharingElementVisibility(<%= Policy::PRIVATE -%>);" />
        - Keep this <% if @resource_type=="Script" -%>
                Script/Method
                <% else -%>
                <%= @resource_type -%>
                <% end -%> private.

Or share it with..

    	<label for="sharing_scope_<%= Policy::ALL_REGISTERED_USERS -%>">
      	<input type="radio" <%= 'checked="checked"' if @sharing_mode == Policy::ALL_REGISTERED_USERS -%> id="sharing_scope_<%= Policy::ALL_REGISTERED_USERS -%>" name="sharing[sharing_scope]"
              value="<%= Policy::ALL_REGISTERED_USERS -%>" onclick="javascript:setSharingElementVisibility(<%= Policy::ALL_REGISTERED_USERS -%>);" />
          - All registered users for

		  <%= render :partial => "assets/sharing_form_access_type_dropdown", :locals => { :access_type_selector_for_scope => Policy::ALL_REGISTERED_USERS,
			                                                                             :sharing_scope => @sharing_mode, :access_type => @access_mode } -%>

			<%#= render :partial => "assets/sharing_form_custom_permissions_checkbox", :locals => { :custom_sharing_cb_for_scope => Policy::ALL_REGISTERED_USERS,
			                                                                             :sharing_scope => @sharing_mode, :use_custom_sharing => @use_custom_sharing } -%>

	    	<label for="sharing_scope_<%= Policy::CUSTOM_PERMISSIONS_ONLY -%>">
	      	<input type="radio" <%= 'checked="checked"' if sharing_mode == Policy::CUSTOM_PERMISSIONS_ONLY -%> id="include_custom_sharing_<%= Policy::CUSTOM_PERMISSIONS_ONLY -%>" name="sharing[sharing_scope]"
	              value="<%= Policy::CUSTOM_PERMISSIONS_ONLY-%>" onclick="javascript:setSharingElementVisibility(<%= Policy::CUSTOM_PERMISSIONS_ONLY-%>);" />
	          - Specific Groups

				<div id="specific_sharing" <%= sharing_mode == Policy::CUSTOM_PERMISSIONS_ONLY ? hide_style(false) : hide_style(true) -%>>

						Share with group(s):

					<%= render :partial => "assets/workgroup_selector", :locals => { :resource_id => "groups", :resource_type => "Groups",   # this is only for presentation, not for any processing
				      :collection=>groups,:selected=>selected_groups,:authorization_for_showing_already_done => false } -%>

				<%#= render :partial => "assets/sharing_form_custom_permissions_checkbox", :locals => { :custom_sharing_cb_for_scope => Policy::ALL_REGISTERED_USERS,
				                                                                            :sharing_scope => @sharing_mode, :use_custom_sharing => @use_custom_sharing } -%>


Removed Flickr and Translations from the site supporter page because they are soon to be gone.

<% @heading="Site supporters" %>
<% @h1class='home' %>

<% @links = [] %>
<% if session[:person].nil? %>
  <% @links += [{:url => "/admin/login", :title => "Login", :accesskey => "l"}] %>
  <% @links += [{:url => "/admin/register", :title => "Register", :accesskey => "r"}] %>
<% else %>
  <% @links += [{:url => "/admin/logout", :title => "Logout", :accesskey => "l"}] %>
<% end %>
<% @links += [{:url => "/home/tour", :title => "Take a tour", :accesskey => "t"}] %>
<% @links += [{:url => "/questions", :title => "FAQ", :accesskey => "f"}] %>
<% @links += [{:url => "/home/privacy", :title => "Privacy", :accesskey => "p"}] %>

About site supporters

Site supporters are people who make any kind of contribution to MyChores.

Benefits to you

As a site supporter you get the following benefits (and more in the future) ...

Turn off advertisements.

Reports of tasks you completed in the last 7 days and in the current month.

Printable weekly and monthly calendars.

Export tasks to a spreadsheet.

Upload as many pictures as you like (limited to 9 for non-site-supporters).

Option to change your login ID.

How to become a site supporter

There are many different ways to become a site supporter ...

Recommend 5 or more friends through the referral programme.

Enable Twitter Integration and make MyChores posts.

Add a testimonial.

Suggest improvements to MyChores. If you have a Lighthouse account you can log a ticket.

Help to improve MyChores, with your design skills, coding skills or testing. MyChores is now open source. Feel free to get the code and submit patches!

Make a financial donation towards running costs.

Donations

A donation of any amount will be gratefully received. If you donate, please let me know your login ID so that I can update your account status!

<% @heading="Site supporters" %>
<% @h1class='home' %>

<% @links = [] %>
<% if session[:person].nil? %>
  <% @links += [{:url => "/admin/login", :title => "Login", :accesskey => "l"}] %>
  <% @links += [{:url => "/admin/register", :title => "Register", :accesskey => "r"}] %>
<% else %>
  <% @links += [{:url => "/admin/logout", :title => "Logout", :accesskey => "l"}] %>
<% end %>
<% @links += [{:url => "/home/tour", :title => "Take a tour", :accesskey => "t"}] %>
<% @links += [{:url => "/questions", :title => "FAQ", :accesskey => "f"}] %>
<% @links += [{:url => "/home/privacy", :title => "Privacy", :accesskey => "p"}] %>

About site supporters

Site supporters are people who make any kind of contribution to MyChores.

Benefits to you

As a site supporter you get the following benefits (and more in the future) ...

Turn off advertisements.

Reports of tasks you completed in the last 7 days and in the current month.

Printable weekly and monthly calendars.

Export tasks to a spreadsheet.

Upload as many pictures as you like (limited to 9 for non-site-supporters).

Import pictures from Flickr.

Option to change your login ID.

How to become a site supporter

There are many different ways to become a site supporter ...

Recommend 5 or more friends through the referral programme.

Enable Twitter Integration and make MyChores posts.

Add a testimonial.

Help to translate MyChores into a different language.

Suggest improvements to MyChores. If you have a Lighthouse account you can log a ticket.

Help to improve MyChores, with your design skills, coding skills or testing. MyChores is now open source. Feel free to get the code and submit patches!

Make a financial donation towards running costs.

Donations

A donation of any amount will be gratefully received. If you donate, please let me know your login ID so that I can update your account status!


link doesn't work and Gobuntu changes

link doesn't work and Gobuntu changes

git-svn-id: e70f47238a868777ecefe75ba01929cffb2d8127@732 d8b24053-1f83-4035-b5c3-ce8b92cd91ad

Ubuntu-Derivate

Communtu setzt auf einer Ubuntu-Basisinstallation auf.
Es gibt nun eine ganze Reihe von <%= link_to 'Ubuntu-Derivaten', 'http://wiki.ubuntuusers.de/Was_ist_Linux?#Was-sind-Derivate-einer-Distribution', :target => '_blank'  %>, und viele Ubuntu-Nutzer fragen sich,
ob sie statt Ubuntu lieber ein Derivat benutzen sollten.
Die Antwort ist: meistens fährt man mit dem Standard-Ubuntu ganz gut, denn
Communtu erlaubt, die Derivate auf einfache Weise nachzuinstallieren.
Allerdings ist das nicht bei allen Derivaten gleich sinnvoll.

Alle Derivate können unter der <%= link_to 'Installations-Feinauswahl', user_path(current_user) + "/user_profile/refine" %>
unter der Kategorie "Derivate" zur Installation ausgewählt werden.
Ebenso kannst du dort nachgucken, aus welchen Paketen ein Derivat besteht.

Über Communtu sinnvoll nachinstallierbare Derivate:

<%= link_to 'Ubuntu Studio', 'http://wiki.ubuntuusers.de/Ubuntu_Studio', :target => '_blank' %> - Ubuntu Multimedie-Edition.
Sie wird bei Communtu mitinstalliert, wenn du bei Audio, Film und/oder Grafik/Design "erweitert" anwählst.

<%= link_to 'Medibuntu', 'http://medibuntu.org', :target => '_blank' %> stellt Multimedia-Paketquellen bereit, die aus rechtlichen Gründen nicht von Ubuntu selbst angeboten wird. Medibuntu wird bei Communtu mit berücksichtigt (z.B. bei Audio und Film).

<%= link_to 'Mythbuntu', 'http://www.mythbuntu.org/', :target => '_blank' %> - der PC wird zum Videorekorder. Bei Film "Freak" auswählen, und es wird mitinstalliert. Empfohlen: CPU mit 2 GHz, 1024 MByte RAM, 10 GByte Festplattenplatz für das Frontend, 80+ GByte für das Backend, eine Grafikkarte mit 128 MByte RAM mit TV-Ausgang und eine unterstützte TV-Karte.

<%= link_to 'Edubuntu', 'http://www.edubuntu.org/', :target => '_blank' %> - Lernsoftware. Bei "Bildung und Wissenschaft" den Level "erweitert" auswählen, und es wird mitinstalliert.

<%= link_to 'Kubuntu', 'http://wiki.ubuntuusers.de/KDE', :target => '_blank' %> ist Ubuntu mit dem KDE-Desktop.

<%= link_to 'Linux Mint', 'http://de.wikipedia.org/wiki/Linux_Mint', :target => '_blank' %> ist eine Ubuntu-Abspaltung mit eigener User-Community, die sich vor allem Benutzerfreundlichkeit auf die Fahnen schreibt.
Linux Mint ähnelt Ubuntu sehr, hat aber viele Codes, z.B. für DVDs und MP3s, schon vorinstalliert. Diese Codecs gibt es allerdings auch bei Communtu, unter Unterhaltungsmedien. Achtung! bei Communtu erst in Kürze verfügbar.

	Automatix war eine Installationshilfe, die sich großer Beliebtheit erfreute (sie wurde sogar von der New York Times empfohlen), die aber nicht ganz den Ubuntu-Programmierstandards entsprach und inzwischen nicht mehr weiterentwickelt wird.

Über Communtu nachinstallierbare Derivate, sinnvollerweise auf einer Xfce-basierten Installation (z.B. Xubuntu) aufzusetzen:

 <%= link_to 'ZevenOS', 'http://www.zevenos.com/', :target => '_blank' %> - orient an BeOS, setzt auf Schnelligkeit, Kompatibilität mit alten Rechnern und einfache Bedienung. CPU mit mindestens 200 MHZ
128 MB RAM (zum Betrieb, zur Installation werden 192 MB RAM benötigt);
2 GB freier Festplattenplatz (Empfohlen: 4 GB oder mehr);
16 MB Grafikkarte (Empfohlen: Intel GMA 9xx). Achtung! bei Communtu erst in Kürze verfügbar.

Derivate, die mit der Derivats-eigenen Installations-CD installiert werden sollten:

<%= link_to 'Xubuntu', 'http://wiki.ubuntuusers.de/Xfce', :target => '_blank' %> - mit dem schlanken Xfce als grafischer Oberfläche - besonders für ältere Rechner geeignet: 128 MByte Arbeitsspeicher und 1,5 GB auf der Festplatte reichen aus. Sollte von CD installiert werden, um wirklich eine schlanke Installation zu haben. Nachinstallationen mit Communtu möglich.

<%= link_to 'Linux MCE', 'http://de.wikipedia.org/wiki/LinuxMCE', :target => '_blank' %> - damit wird Ubuntu zum <%=link_to 'Fernsehcomputer', 'http://de.wikipedia.org/wiki/Home_Theater_Personal_Computer' %>. Aufgrund der notwendigen Treiberinstallation sollte Linux MCE direkt installiert werden, Communtu kann dann aber für die Installation weiterer Software genutzt werden.

<%= link_to 'Gobuntu', 'http://www.ubuntu.com/products/whatisubuntu/gobuntu', :target => '_blank' %> ist ein Ubuntu-Derivat komplett aus freier Software. Nur für erfahrene Nutzer geeignet. Sollte mit der Gobuntu-CD installiert werden, damit es auch wirklich nur freie Software ist. Nachinstallationen mit Communtu möglich, sinnvollerweise sollten dann im Nutzerprofil "freie Software" angewählt werden.
Dies Derivate ist in der Version 8.04 erhältlich und wird nicht weiterentwickelt.

 <%= link_to 'Nexenta OS', 'http://de.wikipedia.org/wiki/GNU-Varianten#Nexenta_OS', :target => '_blank' %> - ersetzt den Linux-Kern durch OpenSolaris. Stellt nur eine minimale Basis an Anwendungen bereit. Die Installation weiterer Pakete bleibt dem Benutzer überlassen; hierfür kann Communtu genutzt werden.

Es gibt noch weitere Derivate zu denen wir bisher noch keine Installationsempfehlung abgeben können:

 <%= link_to 'Impi Linux', 'http://www.impi.org.za/', :target => '_blank' %> - eine afrikanische Ubuntu-Variante, die allerdings offenbar nicht übers Internet erhältlich ist.

 <%= link_to 'linex', 'http://de.wikipedia.org/wiki/LinEx', :target => '_blank' %> - öffentliche Distribution der spanischen Region Extremadura.

 <%= link_to 'U-lite', 'http://u-lite.org/', :target => '_blank' %> für ältere PCs. Sie baut auf einer LXDE Oberfläche auf.

 <%= link_to 'Ubuntu mobile', 'http://www.ubuntu.com/products/mobile', :target => '_blank' %> - für mobile Internetgeräte.

 Ubuntu ultimate  - Ubuntu mit vielen Desktop-Desgins und Programmen.

 <%= link_to 'gOS', 'http://www.thinkgos.com/', :target => '_blank' %> - spezialisiert auf Webdienste.

 <%= link_to 'OpenGEU', 'http://opengeu.intilinux.com', :target => '_blank' %> - basiert auf E17. 2D-Effekte auch ohne schnelle Grafikkarte.

 <%= link_to 'Fluxbuntu', 'http://wiki.fluxbuntu.org', :target => '_blank' %> - minimalistische schnelle Ubuntu-Version für ältere PCs.

 <%= link_to 'Ubuntu Server', 'http://wiki.ubuntuusers.de/Server_Installation', :target => '_blank' %> - Server-Version von Ubuntu, ohne grafische Oberfläche.

 <%= link_to 'Ubuntu JeOS', 'http://wiki.ubuntuusers.de/JeOS', :target => '_blank' %> - minimale Server-Version, vor allem für Virtualisierung geeignet..

 <%= link_to 'Elbuntu', 'http://e17blog.tuxfamily.org/', :target => '_blank' %> - Ubuntu mit Enlightenment als Desktopumgebung.

 <%= link_to 'nUbuntu', 'http://www.nubuntu.org/', :target => '_blank' %> - mit Fluxbox und verschiedenen Netzwerk-Sicherheitswerkzeugen .

 <%= link_to 'getDeb', 'http://www.getdeb.net', :target => '_blank' %> - Installation von Programmen und Versionen, die nicht über die offiziellen Repositories erhältlich sind.

 <%= link_to 'Ultamatix', 'http://ultamatix.com/', :target => '_blank' %> - eine Automatix für die Ultimate Edition.

 <%= link_to 'Minimal-CD', 'https://help.ubuntu.com/community/Installation/MinimalCD', :target => '_blank' %> - erlaubt schnellere Installation, da nur die aktuellsten Pakete heruntergeladen werden.

 <%= link_to 'Xbmc', 'http://xbmc.org/wiki/?title=HOW-TO:_Install_XBMC_for_Linux_on_Ubuntu_8.10_(Intrepid)_step-by-step', :target => '_blank' %> - Mediacenter.

 <%= link_to 'Ubuntu Netbook Remix', 'http://wiki.ubuntuusers.de/Ubuntu_Netbook_Remix', :target => '_blank'  %>für Subnotebooks/EEE-PCs

Ubuntu-Derivate

Communtu setzt auf einer Ubuntu-Basisinstallation auf.
Es gibt nun eine ganze Reihe von <%= link_to 'Ubuntu-Derivaten', 'http://wiki.ubuntuusers.de/Was_ist_Linux?#Was-sind-Derivate-einer-Distribution', :target => '_blank'  %>, und viele Ubuntu-Nutzer fragen sich,
ob sie statt Ubuntu lieber ein Derivat benutzen sollten.
Die Antwort ist: meistens fährt man mit dem Standard-Ubuntu ganz gut, denn
Communtu erlaubt, die Derivate auf einfache Weise nachzuinstallieren.
Allerdings ist das nicht bei allen Derivaten gleich sinnvoll.

Alle Derivate können unter der <%= link_to 'Installations-Feinauswahl', user_path(current_user) + "/user_profile/refine" %>
unter der Kategorie "Derivate" zur Installation ausgewählt werden.
Ebenso kannst du dort nachgucken, aus welchen Paketen ein Derivat besteht.

Über Communtu sinnvoll nachinstallierbare Derivate:

<%= link_to 'Ubuntu Studio', 'http://wiki.ubuntuusers.de/Ubuntu_Studio', :target => '_blank' %> - Ubuntu Multimedie-Edition.
Sie wird bei Communtu mitinstalliert, wenn du bei Audio, Film und/oder Grafik/Design "erweitert" anwählst.

<%= link_to 'Medibuntu', 'http://medibuntu.org', :target => '_blank' %> stellt Multimedia-Paketquellen bereit, die aus rechtlichen Gründen nicht von Ubuntu selbst angeboten wird. Medibuntu wird bei Communtu mit berücksichtigt (z.B. bei Audio und Film).

<%= link_to 'Mythbuntu', 'http://www.mythbuntu.org/', :target => '_blank' %> - der PC wird zum Videorekorder. Bei Film "Freak" auswählen, und es wird mitinstalliert. Empfohlen: CPU mit 2 GHz, 1024 MByte RAM, 10 GByte Festplattenplatz für das Frontend, 80+ GByte für das Backend, eine Grafikkarte mit 128 MByte RAM mit TV-Ausgang und eine unterstützte TV-Karte.

<%= link_to 'Edubuntu', 'http://www.edubuntu.org/', :target => '_blank' %> - Lernsoftware. Bei "Bildung und Wissenschaft" den Level "erweitert" auswählen, und es wird mitinstalliert.

<%= link_to 'Kubuntu', 'http://wiki.ubuntuusers.de/KDE', :target => '_blank' %> ist Ubuntu mit dem KDE-Desktop.

<%= link_to 'Linux Mint', 'http://de.wikipedia.org/wiki/Linux_Mint', :target => '_blank' %> ist eine Ubuntu-Abspaltung mit eigener User-Community, die sich vor allem Benutzerfreundlichkeit auf die Fahnen schreibt.
Linux Mint ähnelt Ubuntu sehr, hat aber viele Codes, z.B. für DVDs und MP3s, schon vorinstalliert. Diese Codecs gibt es allerdings auch bei Communtu, unter Unterhaltungsmedien. Achtung! bei Communtu erst in Kürze verfügbar.

	Automatix war eine Installationshilfe, die sich großer Beliebtheit erfreute (sie wurde sogar von der New York Times empfohlen), die aber nicht ganz den Ubuntu-Programmierstandards entsprach und inzwischen nicht mehr weiterentwickelt wird.

Über Communtu nachinstallierbare Derivate, sinnvollerweise auf einer Xfce-basierten Installation (z.B. Xubuntu) aufzusetzen:

 <%= link_to 'ZevenOS', 'http://www.zevenos.com/', :target => '_blank' %> - orient an BeOS, setzt auf Schnelligkeit, Kompatibilität mit alten Rechnern und einfache Bedienung. CPU mit mindestens 200 MHZ
128 MB RAM (zum Betrieb, zur Installation werden 192 MB RAM benötigt);
2 GB freier Festplattenplatz (Empfohlen: 4 GB oder mehr);
16 MB Grafikkarte (Empfohlen: Intel GMA 9xx). Achtung! bei Communtu erst in Kürze verfügbar.

Derivate, die mit der Derivats-eigenen Installations-CD installiert werden sollten:

<%= link_to 'Xubuntu', 'http://wiki.ubuntuusers.de/Xfce', :target => '_blank' %> - mit dem schlanken Xfce als grafischer Oberfläche - besonders für ältere Rechner geeignet: 128 MByte Arbeitsspeicher und 1,5 GB auf der Festplatte reichen aus. Sollte von CD installiert werden, um wirklich eine schlanke Installation zu haben. Nachinstallationen mit Communtu möglich.

<%= link_to 'Linux MCE', 'http://de.wikipedia.org/wiki/LinuxMCE', :target => '_blank' %> - damit wird Ubuntu zum <%=link_to 'Fernsehcomputer', 'http://de.wikipedia.org/wiki/Home_Theater_Personal_Computer' %>. Aufgrund der notwendigen Treiberinstallation sollte Linux MCE direkt installiert werden, Communtu kann dann aber für die Installation weiterer Software genutzt werden.

<%= link_to 'Gobuntu', 'http://www.ubuntu.com/products/whatisubuntu/gobuntu', :target => '_blank' %> ist ein Ubuntu-Derivat komplett aus freier Software. Nur für erfahrene Nutzer geeignet. Sollte mit der Gobuntu-CD installiert werden, damit es auch wirklich nur freie Software ist. Nachinstallationen mit Communtu möglich, sinnvollerweise sollten dann im Nutzerprofil "freie Software" angewählt werden.

 <%= link_to 'Nexenta OS', 'http://de.wikipedia.org/wiki/GNU-Varianten#Nexenta_OS', :target => '_blank' %> - ersetzt den Linux-Kern durch OpenSolaris. Stellt nur eine minimale Basis an Anwendungen bereit. Die Installation weiterer Pakete bleibt dem Benutzer überlassen; hierfür kann Communtu genutzt werden.

Es gibt noch weitere Derivate zu denen wir bisher noch keine Installationsempfehlung abgeben können:

 <%= link_to 'Impi Linux', 'http://www.impi.org.za/', :target => '_blank' %> - eine afrikanische Ubuntu-Variante, die allerdings offenbar nicht übers Internet erhältlich ist.

 <%= link_to 'linex', 'http://de.wikipedia.org/wiki/LinEx', :target => '_blank' %> - öffentliche Distribution der spanischen Region Extremadura.

 <%= link_to 'U-lite', 'http://u-lite.org/', :target => '_blank' %> für ältere PCs. Sie baut auf einer LXDE Oberfläche auf.

 <%= link_to 'Ubuntu mobile', 'http://www.ubuntu.com/products/mobile', :target => '_blank' %> - für mobile Internetgeräte.

 <%= link_to 'Ubuntu ultimate', 'http://ultimateedition.info/', :target => '_blank' %> - Ubuntu mit vielen Desktop-Desgins und Programmen.

 <%= link_to 'gOS', 'http://www.thinkgos.com/', :target => '_blank' %> - spezialisiert auf Webdienste.

 <%= link_to 'OpenGEU', 'http://opengeu.intilinux.com', :target => '_blank' %> - basiert auf E17. 2D-Effekte auch ohne schnelle Grafikkarte.

 <%= link_to 'Fluxbuntu', 'http://wiki.fluxbuntu.org', :target => '_blank' %> - minimalistische schnelle Ubuntu-Version für ältere PCs.

 <%= link_to 'Ubuntu Server', 'http://wiki.ubuntuusers.de/Server_Installation', :target => '_blank' %> - Server-Version von Ubuntu, ohne grafische Oberfläche.

 <%= link_to 'Ubuntu JeOS', 'http://wiki.ubuntuusers.de/JeOS', :target => '_blank' %> - minimale Server-Version, vor allem für Virtualisierung geeignet..

 <%= link_to 'Elbuntu', 'http://e17blog.tuxfamily.org/', :target => '_blank' %> - Ubuntu mit Enlightenment als Desktopumgebung.

 <%= link_to 'nUbuntu', 'http://www.nubuntu.org/', :target => '_blank' %> - mit Fluxbox und verschiedenen Netzwerk-Sicherheitswerkzeugen .

 <%= link_to 'getDeb', 'http://www.getdeb.net', :target => '_blank' %> - Installation von Programmen und Versionen, die nicht über die offiziellen Repositories erhältlich sind.

 <%= link_to 'Ultamatix', 'http://ultamatix.com/', :target => '_blank' %> - eine Automatix für die Ultimate Edition.

 <%= link_to 'Minimal-CD', 'https://help.ubuntu.com/community/Installation/MinimalCD', :target => '_blank' %> - erlaubt schnellere Installation, da nur die aktuellsten Pakete heruntergeladen werden.

 <%= link_to 'Xbmc', 'http://xbmc.org/wiki/?title=HOW-TO:_Install_XBMC_for_Linux_on_Ubuntu_8.10_(Intrepid)_step-by-step', :target => '_blank' %> - Mediacenter.

 <%= link_to 'Ubuntu Netbook Remix', 'http://wiki.ubuntuusers.de/Ubuntu_Netbook_Remix', :target => '_blank'  %>für Subnotebooks/EEE-PCs


Reverted the "About ..." lines at the top of show_image.

<%
  @title = :image_show_title.t(:name => @image.unique_format_name)
  commercial_inquiries_ok = @image.user.email_general_commercial

  # Put controls and info to right of image unless it is too big.
  w, h = @image.size(@size)
  columns = w < 800 ? 2 : 1 rescue 2

  for obs in @image.observations
    new_tab_set do
      add_tab(:show_name.t(:name => obs.format_name), :controller => 'name',
              :action => 'show_name', :id => obs.name.id, :params => query_params)
      add_tab(:google_images.t,
              'http://images.google.com/images?q=%s' % obs.text_name)
      add_tab(:show_object.t(:type => :observation), :controller => 'observer',
              :action => 'show_observation', :id => obs.id, :params => query_params)
    end
  end

  new_tab_set do
    add_tab(:image_show_original.t, :action => 'show_image',
            :id => @image.id, :size => 'original', :params => query_params)
    if commercial_inquiries_ok
	    add_tab(:image_show_inquiry.t, :controller => 'observer',
              :action => 'commercial_inquiry', :id => @image.id,
              :params => query_params)
    end
    if check_permission(@image)
      add_tab(:image_show_rotate_left.t, :action => 'transform_image', :op => 'rotate_left',
              :id => @image.id, :params => query_params, :size => @size)
      add_tab(:image_show_rotate_right.t, :action => 'transform_image', :op => 'rotate_right',
              :id => @image.id, :params => query_params, :size => @size)
      add_tab(:image_show_mirror.t, :action => 'transform_image', :op => 'mirror',
              :id => @image.id, :params => query_params, :size => @size)
      add_tab(:image_show_edit.t, :action => 'edit_image', :id => @image.id,
              :params => query_params)
      add_tab(:image_show_destroy.t, { :action => 'destroy_image', :id => @image.id,
              :params => query_params }, { :confirm => :are_you_sure.l })
    end
  end

  draw_prev_next_tabs(@image)
%>

<% if columns > 1 %>

<% else %>

<% end %>

<%=
  Image.all_sizes.select do |size|
    !@image.width || @image.has_size?(size)
  end.map do |size|
    w, h = @image.size(size)
    title = "#{w} × #{h} pixels"
    help = w ? { :title => title } : {}
    if size.to_s != @size.to_s
      link_to(:"image_show_#{size}".t, { :action => 'show_image', :id => @image.id,
        :size => size, :params => query_params }, help)
    else
      content_tag(:span, :"image_show_#{size}".t, help)
    end
  end.join(' | ')
%>

<%= if @size != @default_size
  link_to(:image_show_make_default.t, :action => 'show_image',
          :id => @image.id, :size => @size, :make_default => 1,
          :params => query_params)
end %>

  <%= thumbnail(@image, :size => @size, :votes => true,
                :link => { :action => 'show_image', :id => @image.id,
                :size => (@size == @default_size ? :full_size : @default_size),
                :params => query_params }, :original => true) %>

  <%= image_copyright(@image) %>

  <%= render(:partial => "shared/form_#{@image.license.form_name}") %>

<% if columns > 1 %>

<% end %>

<% if check_permission(@image) %>

    <%= link_to(:image_show_rotate_left.t, :action => 'transform_image', :op => 'rotate_left',
                :id => @image.id, :params => query_params, :size => @size) %> |
    <%= link_to(:image_show_rotate_right.t, :action => 'transform_image', :op => 'rotate_right',
                :id => @image.id, :params => query_params, :size => @size) %> |
    <%= link_to(:image_show_mirror.t, :action => 'transform_image', :op => 'mirror',
                :id => @image.id, :params => query_params, :size => @size) %> |
    <%= link_to(:image_show_edit.t, :action => 'edit_image',
                :id => @image.id, :params => query_params) %> |
    <%= link_to(:image_show_destroy.t, { :action => 'destroy_image',
                :id => @image.id, :params => query_params },
                { :confirm => :are_you_sure.l }) %>

<% end %>

  <%= :WHEN.t %>: <%= @image.when.web_date %>

  <%= :OWNER.t %>: <%= user_link(@image.user) %>

  <% if @image.projects.any? %>
    <% for proj in @image.projects %>
      <%= :PROJECT.t %>:
        <%= project_link(proj) %>

    <% end %>
  <% end %>
  <% for obs in @image.observations %>
    <%= :Observation.t %>: <%= link_to(obs.unique_format_name.t, :controller => 'observer',
      :action => 'show_observation', :id => obs.id, :params => query_params) %>

  <% end %>
  <% if @image.notes.blank? %>
  <% elsif @image.notes.include?("\n") %>
    <%= (:image_show_notes.l + ': ' + @image.notes.to_s).tpl %>
  <% else %>
    <%= (:image_show_notes.l + ': ' + @image.notes.to_s).tl %>
  <% end %>

<% if is_reviewer? %>

<%= set_export_status_controls(@image) %>

<% end %>

  <%= :image_show_quality.t %>:

    <%= vote = (@image.vote_cache + 0.5).to_i rescue 0
    image_vote_as_long_string(vote).t %>

  <% if @user
    current = @image.users_vote(@user).to_i %>
    <%= :image_show_your_vote.t %>:

      <%= image_vote_as_long_string(current).t %>

    <% args = {:params => query_params, :id => @image.id}
    args[:size] = @size if @size != @default_size
    for value in [0] + Image.all_votes
      str1 = image_vote_as_short_string(value)
      str2 = image_vote_as_help_string(value)
      str3 = :image_show_vote_and_next.t(:value => str1) %>
      <%= link_to(str2, { :vote => value }.merge(args)) %> |
      <%= link_to(str3, { :vote => value, :next => true }. merge(args)) %>

    <% end %>
  <% end %>

<% if !@votes.empty? %>

      <%= :USER.t %>
      <%= :VOTE.t %>

    <% for vote in @votes %>

        <%=
          vote.anonymous ? :anonymous.t : user_link(vote.user)
        %>
        <%= :"image_vote_short_#{vote.value}".t %>

    <% end %>

<% end %>

<% chgs = @image.copyright_changes.sort_by(&:id)
   unless chgs.empty? %>

      <%= :DATES.t %>
      <%= :COPYRIGHT_HOLDER.t %>
      <%= :LICENSE.t %>

    <% for i in (0..chgs.length-1) %>

          <%= i > 0 ? chgs[i-1].modified.web_date : @image.created.web_date %> →
          <%= chgs[i].modified.web_date %>

          ©<%= chgs[i].year %> <%= chgs[i].name %>

          <%= link_to(chgs[i].license.display_name.t, chgs[i].license.url) %>

    <% end %>

        <%= chgs[-1].modified.web_date %> →
        <%= @image.modified.web_date %>

        ©<%= @image.when.year %> <%= @image.copyright_holder %>

        <%= link_to(@image.license.display_name.t, @image.license.url) %>

<% end %>

<% if columns > 1 %>

<% else %>

<% end %>

<%= show_object_footer(@image) %>

<%
  @title = :image_show_title.t(:name => @image.unique_format_name)
  commercial_inquiries_ok = @image.user.email_general_commercial

  # Put controls and info to right of image unless it is too big.
  w, h = @image.size(@size)
  columns = w < 800 ? 2 : 1 rescue 2

  for obs in @image.observations
    new_tab_set("#{:OBSERVATION.t} ##{obs.id}:") do
      add_tab(:show_name.t(:name => obs.format_name), :controller => 'name',
              :action => 'show_name', :id => obs.name.id, :params => query_params)
      add_tab(:google_images.t,
              'http://images.google.com/images?q=%s' % obs.text_name)
      add_tab(:show_object.t(:type => :observation), :controller => 'observer',
              :action => 'show_observation', :id => obs.id, :params => query_params)
    end
  end

  new_tab_set do
    add_tab(:image_show_original.t, :action => 'show_image',
            :id => @image.id, :size => 'original', :params => query_params)
    if commercial_inquiries_ok
	    add_tab(:image_show_inquiry.t, :controller => 'observer',
              :action => 'commercial_inquiry', :id => @image.id,
              :params => query_params)
    end
    if check_permission(@image)
      add_tab(:image_show_rotate_left.t, :action => 'transform_image', :op => 'rotate_left',
              :id => @image.id, :params => query_params, :size => @size)
      add_tab(:image_show_rotate_right.t, :action => 'transform_image', :op => 'rotate_right',
              :id => @image.id, :params => query_params, :size => @size)
      add_tab(:image_show_mirror.t, :action => 'transform_image', :op => 'mirror',
              :id => @image.id, :params => query_params, :size => @size)
      add_tab(:image_show_edit.t, :action => 'edit_image', :id => @image.id,
              :params => query_params)
      add_tab(:image_show_destroy.t, { :action => 'destroy_image', :id => @image.id,
              :params => query_params }, { :confirm => :are_you_sure.l })
    end
  end

  draw_prev_next_tabs(@image)
%>

<% if columns > 1 %>

<% else %>

<% end %>

<%=
  Image.all_sizes.select do |size|
    !@image.width || @image.has_size?(size)
  end.map do |size|
    w, h = @image.size(size)
    title = "#{w} × #{h} pixels"
    help = w ? { :title => title } : {}
    if size.to_s != @size.to_s
      link_to(:"image_show_#{size}".t, { :action => 'show_image', :id => @image.id,
        :size => size, :params => query_params }, help)
    else
      content_tag(:span, :"image_show_#{size}".t, help)
    end
  end.join(' | ')
%>

<%= if @size != @default_size
  link_to(:image_show_make_default.t, :action => 'show_image',
          :id => @image.id, :size => @size, :make_default => 1,
          :params => query_params)
end %>

  <%= thumbnail(@image, :size => @size, :votes => true,
                :link => { :action => 'show_image', :id => @image.id,
                :size => (@size == @default_size ? :full_size : @default_size),
                :params => query_params }, :original => true) %>

  <%= image_copyright(@image) %>

  <%= render(:partial => "shared/form_#{@image.license.form_name}") %>

<% if columns > 1 %>

<% end %>

<% if check_permission(@image) %>

    <%= link_to(:image_show_rotate_left.t, :action => 'transform_image', :op => 'rotate_left',
                :id => @image.id, :params => query_params, :size => @size) %> |
    <%= link_to(:image_show_rotate_right.t, :action => 'transform_image', :op => 'rotate_right',
                :id => @image.id, :params => query_params, :size => @size) %> |
    <%= link_to(:image_show_mirror.t, :action => 'transform_image', :op => 'mirror',
                :id => @image.id, :params => query_params, :size => @size) %> |
    <%= link_to(:image_show_edit.t, :action => 'edit_image',
                :id => @image.id, :params => query_params) %> |
    <%= link_to(:image_show_destroy.t, { :action => 'destroy_image',
                :id => @image.id, :params => query_params },
                { :confirm => :are_you_sure.l }) %>

<% end %>

  <%= :WHEN.t %>: <%= @image.when.web_date %>

  <%= :OWNER.t %>: <%= user_link(@image.user) %>

  <% if @image.projects.any? %>
    <% for proj in @image.projects %>
      <%= :PROJECT.t %>:
        <%= project_link(proj) %>

    <% end %>
  <% end %>
  <% for obs in @image.observations %>
    <%= :Observation.t %>: <%= link_to(obs.unique_format_name.t, :controller => 'observer',
      :action => 'show_observation', :id => obs.id, :params => query_params) %>

  <% end %>
  <% if @image.notes.blank? %>
  <% elsif @image.notes.include?("\n") %>
    <%= (:image_show_notes.l + ': ' + @image.notes.to_s).tpl %>
  <% else %>
    <%= (:image_show_notes.l + ': ' + @image.notes.to_s).tl %>
  <% end %>

<% if is_reviewer? %>

<%= set_export_status_controls(@image) %>

<% end %>

  <%= :image_show_quality.t %>:

    <%= vote = (@image.vote_cache + 0.5).to_i rescue 0
    image_vote_as_long_string(vote).t %>

  <% if @user
    current = @image.users_vote(@user).to_i %>
    <%= :image_show_your_vote.t %>:

      <%= image_vote_as_long_string(current).t %>

    <% args = {:params => query_params, :id => @image.id}
    args[:size] = @size if @size != @default_size
    for value in [0] + Image.all_votes
      str1 = image_vote_as_short_string(value)
      str2 = image_vote_as_help_string(value)
      str3 = :image_show_vote_and_next.t(:value => str1) %>
      <%= link_to(str2, { :vote => value }.merge(args)) %> |
      <%= link_to(str3, { :vote => value, :next => true }. merge(args)) %>

    <% end %>
  <% end %>

<% if !@votes.empty? %>

      <%= :USER.t %>
      <%= :VOTE.t %>

    <% for vote in @votes %>

        <%=
          vote.anonymous ? :anonymous.t : user_link(vote.user)
        %>
        <%= :"image_vote_short_#{vote.value}".t %>

    <% end %>

<% end %>

<% chgs = @image.copyright_changes.sort_by(&:id)
   unless chgs.empty? %>

      <%= :DATES.t %>
      <%= :COPYRIGHT_HOLDER.t %>
      <%= :LICENSE.t %>

    <% for i in (0..chgs.length-1) %>

          <%= i > 0 ? chgs[i-1].modified.web_date : @image.created.web_date %> →
          <%= chgs[i].modified.web_date %>

          ©<%= chgs[i].year %> <%= chgs[i].name %>

          <%= link_to(chgs[i].license.display_name.t, chgs[i].license.url) %>

    <% end %>

        <%= chgs[-1].modified.web_date %> →
        <%= @image.modified.web_date %>

        ©<%= @image.when.year %> <%= @image.copyright_holder %>

        <%= link_to(@image.license.display_name.t, @image.license.url) %>

<% end %>

<% if columns > 1 %>

<% else %>

<% end %>

<%= show_object_footer(@image) %>


Fix another created_at/published_at.  Closes #999

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

<div class="atomentry" id="article-<%= article.id %>">

    <%= (controller.action_name.include? 'permalink') ? article.title : article_link(article.title, article) %>
    <%= content_tag(:span, article.comments.size, :class => 'comment_count') if article.comments.size > 0 %>

    Posted by <%= author_link(article) %>
    <abbr class="published" title="<%= article.published_at.xmlschema %>"><%= js_distance_of_time_in_words_to_now article.published_at %>

    <%= article_html(article, :body) %>

    <% if article.extended? -%>

        <% if controller.action_name == 'index' -%>

<%= article_link "Continue reading...", article %>

        <% else -%>
          <%= article_html(article, :extended) %>
        <% end -%>

    <% end -%>

    <%= content_tag(:li, category_links(article), :class => 'categories') unless article.categories.empty? %>
    <%= content_tag(:li, tag_links(article), :class => 'tags') unless article.tags.empty? %>

Meta
      <%= trackbacks_link(article) << ',' if article.allow_pings? %>
      <%= comments_link(article) << ',' if article.allow_comments? %>
      <a href="<%= article_url article %>" rel="bookmark">permalink,
      <a href="<%= xml_url :action=>'feed', :type=>'article', :format => 'rss',  :id => article %>">rss,
      <a href="<%= xml_url :action=>'feed', :type=>'article', :format => 'atom', :id => article %>">atom

<div class="atomentry" id="article-<%= article.id %>">

    <%= (controller.action_name.include? 'permalink') ? article.title : article_link(article.title, article) %>
    <%= content_tag(:span, article.comments.size, :class => 'comment_count') if article.comments.size > 0 %>

    Posted by <%= author_link(article) %>
    <abbr class="published" title="<%= article.created_at.xmlschema %>"><%= js_distance_of_time_in_words_to_now article.created_at %>

    <%= article_html(article, :body) %>

    <% if article.extended? -%>

        <% if controller.action_name == 'index' -%>

<%= article_link "Continue reading...", article %>

        <% else -%>
          <%= article_html(article, :extended) %>
        <% end -%>

    <% end -%>

    <%= content_tag(:li, category_links(article), :class => 'categories') unless article.categories.empty? %>
    <%= content_tag(:li, tag_links(article), :class => 'tags') unless article.tags.empty? %>

Meta
      <%= trackbacks_link(article) << ',' if article.allow_pings? %>
      <%= comments_link(article) << ',' if article.allow_comments? %>
      <a href="<%= article_url article %>" rel="bookmark">permalink,
      <a href="<%= xml_url :action=>'feed', :type=>'article', :format => 'rss',  :id => article %>">rss,
      <a href="<%= xml_url :action=>'feed', :type=>'article', :format => 'atom', :id => article %>">atom


Disable the inside page caching for now, until we add invalidating properly (so if you edit things they change)

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

# XXX disable this caching for now until we invalidate it properly - maybe do
# it at a higher level anyway.
# cache against all the parameters that there are to this partial
#cache_name = ""
#if !info_request_event.nil?
#    cache_name = cache_name + "correspondence/" + info_request_event.id.to_s
#end
#if !incoming_message.nil?
#    cache_name = cache_name + "/incoming_message/" + incoming_message.id.to_s
#end
#if !@collapse_quotes.nil? && !@collapse_quotes
#    cache_name = cache_name + "/collapse/false"
#else
#    cache_name = cache_name + "/collapse/true" # default is true
#end
## yeuch, must be nicer way of telling cache just to use this cache_name, than
## putting it falsely in list action
#cache(:controller => 'request', :action => 'list', :extra => cache_name) do

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

            <% if !incoming_message.safe_mail_from.nil? %>
                <%= incoming_message.safe_mail_from %>

            <% end %>
            <%=h @info_request.public_body.name %>

<%= simple_date(incoming_message.sent_at) %>

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

            <%= link_to "Link to this", incoming_message_url(incoming_message) %> |
            <%= link_to "Send follow up", show_response_url(:id => incoming_message.info_request.id, :incoming_message_id => incoming_message.id) + "#followup" %>

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

        <%=h @info_request.user.name %>

<%= simple_date(info_request_event.created_at) %>

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

            <% if outgoing_message.status == 'ready' %>
                 Warning: This message has not yet been sent for an unknown reason.
            <% end %>

            <%= link_to "Link to this", outgoing_message_url(outgoing_message) %> |
            <%= link_to "Send follow up", show_response_no_followup_url(:id => outgoing_message.info_request.id, :incoming_message_id => nil) + "#followup" %>

<% elsif [ 'resent', 'followup_resent' ].include?(info_request_event.event_type) %>

            <%= simple_date(info_request_event.created_at) %>

            Sent
            <% if info_request_event.outgoing_message.message_type == 'initial_request' %>
                request
            <% elsif info_request_event.outgoing_message.message_type == 'followup' %>
                a follow up
            <% else %>
                <% raise "unknown message_type" %>
            <% end %>

            to <%= public_body_link(@info_request.public_body) %> again<% if not info_request_event.same_email_as_previous_send? %>, using a new contact address<% end %>.

<% elsif info_request_event.event_type == 'comment'
    comment = info_request_event.comment
%>
    <%= render :partial => 'comment/single_comment', :locals => { :comment => comment } %>
<%
end

%>

<% # end %>

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

# cache against all the parameters that there are to this partial
cache_name = ""
if !info_request_event.nil?
    cache_name = cache_name + "correspondence/" + info_request_event.id.to_s
end
if !incoming_message.nil?
    cache_name = cache_name + "/incoming_message/" + incoming_message.id.to_s
end
if !@collapse_quotes.nil? && !@collapse_quotes
    cache_name = cache_name + "/collapse/false"
else
    cache_name = cache_name + "/collapse/true" # default is true
end
# yeuch, must be nicer way of telling cache just to use this cache_name, than
# putting it falsely in list action
cache(:controller => 'request', :action => 'list', :extra => cache_name) do

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

            <% if !incoming_message.safe_mail_from.nil? %>
                <%= incoming_message.safe_mail_from %>

            <% end %>
            <%=h @info_request.public_body.name %>

<%= simple_date(incoming_message.sent_at) %>

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

            <%= link_to "Link to this", incoming_message_url(incoming_message) %> |
            <%= link_to "Send follow up", show_response_url(:id => incoming_message.info_request.id, :incoming_message_id => incoming_message.id) + "#followup" %>

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

        <%=h @info_request.user.name %>

<%= simple_date(info_request_event.created_at) %>

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

            <% if outgoing_message.status == 'ready' %>
                 Warning: This message has not yet been sent for an unknown reason.
            <% end %>

            <%= link_to "Link to this", outgoing_message_url(outgoing_message) %> |
            <%= link_to "Send follow up", show_response_no_followup_url(:id => outgoing_message.info_request.id, :incoming_message_id => nil) + "#followup" %>

<% elsif [ 'resent', 'followup_resent' ].include?(info_request_event.event_type) %>

            <%= simple_date(info_request_event.created_at) %>

            Sent
            <% if info_request_event.outgoing_message.message_type == 'initial_request' %>
                request
            <% elsif info_request_event.outgoing_message.message_type == 'followup' %>
                a follow up
            <% else %>
                <% raise "unknown message_type" %>
            <% end %>

            to <%= public_body_link(@info_request.public_body) %> again<% if not info_request_event.same_email_as_previous_send? %>, using a new contact address<% end %>.

<% elsif info_request_event.event_type == 'comment'
    comment = info_request_event.comment
%>
    <%= render :partial => 'comment/single_comment', :locals => { :comment => comment } %>
<%
end

%>

<% end %>


update text to reference to have more ministries, as requested by Susan

<% options = {
    :onChange => 'set_dirty()',
    :onBlur => 'UnHighlight(this)',
    :onFocus => 'Highlight(this)',
    :class => 'required' }

   @element = reference
   @reference = ApplnReference.find_or_initialize_by_instance_id_and_reference_id(questionnaire_instance.id, @element.id) # get ref data linked to element

   if @reference.new_record?
     @reference.reference = @element
     @reference.save!
   end

   frozen = @reference && (
	       @reference.email_sent? ||
	       (@reference.mail? && @current_page.validated?(questionnaire_instance)) ||
	       !questionnaire_instance.can_change_references?
	     )
   readonly = frozen ? {:disabled => :disabled} : {}
   options = options.merge(readonly)
-%>

		  <%= @reference.name %>

    	  Is this person a Power to Change (Power to Change - Students, Athletes in Action, LeaderImpact Group, GAiN, Agape Impact, DRIME) staff member?
    		<%= radio_button("reference", :is_staff, "true", {:checked => @reference.is_staff?, :index => @element.id}.merge(options)) %> Yes
    		<%= radio_button("reference", :is_staff, "false", {:checked => !@reference.is_staff?, :index => @element.id}.merge(options)) %> No

		Name

		<%=select("reference", "title", ["Mr.","Mrs.","Ms.","Dr.","Rev."], {:include_blank => true}, options.merge(:index => @element.id)) %>
		First <%=text_field("reference", "first_name", {:size => "20", :index => @element.id}.merge(options)) %>
		Last <%=text_field("reference", "last_name", {:size => "20", :index => @element.id}.merge(options)) %>

		Email

    	<%=text_field("reference", "email",
    	   {:size => "30", :maxlength => "200", :index => @element.id }.merge(options).merge(@reference.mail? ? { :class => 'reqfilled' } : {})) %>

			<% if !@reference.email_sent? && !@reference.mail? && @appln.status != 'submitted' && @appln.status != 'complete' %>
  				An email invite will be sent to this reference when you submit your application.
			<% end %>

	<% if frozen -%>

   STATUS

   <%=@reference.status.camelize %> on <%=format_date(eval("@reference").updated_at)%>

 <% confirm_text = "REMEMBER if you delete a reference you must replace it and click the Submit Button on the "
 	confirm_text += "Submit Application page before the Reference recipient will be notified and your application "
 	confirm_text += "will again be submitted.\n\nIf you are sure you want to delete this reference click OK.\n\nIf you "
	confirm_text += "do not want to delete this reference click Cancel."%>

	<%= link_to("Delete Reference", {:action => :delete_reference,
                                                     :ref_id => @reference.id,
                                                     :current_page => @position,
                                                     :next_page => @position},
                                                     :class => "button",
                                                     :method => :post,
                                                     :confirm => confirm_text) unless @reference.completed? %>

	<div id="email_button_<%= @reference.id %>">
		<%= link_to_remote("Re-send Email Invitation",
		 {:url => {:action => :resend_reference_email, :ref_id => @reference.id},
		  :confirm => "Are you sure you want to re-send the email?",
		  :loading => "Element.hide('email_button_#{@reference.id}');Element.show('ref_email_#{@reference.id}')",
		  :success => "$('ref_email_#{@reference.id}').innerHTML = 'Invitation Sent'",
                  :failure => "$('ref_email_#{@reference.id}').innerHTML = 'Error resending invitation.  Try again later.  A developer has been notified.'",
                 }, {:class => "button"}) unless @reference.completed? || @reference.mail %>

	<div style="display:none" id="ref_email_<%=@reference.id%>">Sending email <%=image_tag('spinner.gif')%>

	<% end -%>

<% options = {
    :onChange => 'set_dirty()',
    :onBlur => 'UnHighlight(this)',
    :onFocus => 'Highlight(this)',
    :class => 'required' }

   @element = reference
   @reference = ApplnReference.find_or_initialize_by_instance_id_and_reference_id(questionnaire_instance.id, @element.id) # get ref data linked to element

   if @reference.new_record?
     @reference.reference = @element
     @reference.save!
   end

   frozen = @reference && (
	       @reference.email_sent? ||
	       (@reference.mail? && @current_page.validated?(questionnaire_instance)) ||
	       !questionnaire_instance.can_change_references?
	     )
   readonly = frozen ? {:disabled => :disabled} : {}
   options = options.merge(readonly)
-%>

		  <%= @reference.name %>

    	  Is this person a Power to Change (Campus for Christ, Athletes in Action, LeaderImpact Group, GAiN) staff member?
    		<%= radio_button("reference", :is_staff, "true", {:checked => @reference.is_staff?, :index => @element.id}.merge(options)) %> Yes
    		<%= radio_button("reference", :is_staff, "false", {:checked => !@reference.is_staff?, :index => @element.id}.merge(options)) %> No

		Name

		<%=select("reference", "title", ["Mr.","Mrs.","Ms.","Dr.","Rev."], {:include_blank => true}, options.merge(:index => @element.id)) %>
		First <%=text_field("reference", "first_name", {:size => "20", :index => @element.id}.merge(options)) %>
		Last <%=text_field("reference", "last_name", {:size => "20", :index => @element.id}.merge(options)) %>

		Email

    	<%=text_field("reference", "email",
    	   {:size => "30", :maxlength => "200", :index => @element.id }.merge(options).merge(@reference.mail? ? { :class => 'reqfilled' } : {})) %>

			<% if !@reference.email_sent? && !@reference.mail? && @appln.status != 'submitted' && @appln.status != 'complete' %>
  				An email invite will be sent to this reference when you submit your application.
			<% end %>

	<% if frozen -%>

   STATUS

   <%=@reference.status.camelize %> on <%=format_date(eval("@reference").updated_at)%>

 <% confirm_text = "REMEMBER if you delete a reference you must replace it and click the Submit Button on the "
 	confirm_text += "Submit Application page before the Reference recipient will be notified and your application "
 	confirm_text += "will again be submitted.\n\nIf you are sure you want to delete this reference click OK.\n\nIf you "
	confirm_text += "do not want to delete this reference click Cancel."%>

	<%= link_to("Delete Reference", {:action => :delete_reference,
                                                     :ref_id => @reference.id,
                                                     :current_page => @position,
                                                     :next_page => @position},
                                                     :class => "button",
                                                     :method => :post,
                                                     :confirm => confirm_text) unless @reference.completed? %>

	<div id="email_button_<%= @reference.id %>">
		<%= link_to_remote("Re-send Email Invitation",
		 {:url => {:action => :resend_reference_email, :ref_id => @reference.id},
		  :confirm => "Are you sure you want to re-send the email?",
		  :loading => "Element.hide('email_button_#{@reference.id}');Element.show('ref_email_#{@reference.id}')",
		  :success => "$('ref_email_#{@reference.id}').innerHTML = 'Invitation Sent'",
                  :failure => "$('ref_email_#{@reference.id}').innerHTML = 'Error resending invitation.  Try again later.  A developer has been notified.'",
                 }, {:class => "button"}) unless @reference.completed? || @reference.mail %>

	<div style="display:none" id="ref_email_<%=@reference.id%>">Sending email <%=image_tag('spinner.gif')%>

	<% end -%>


HTMl fix.

HTMl fix.

<% @title = "About" %>

<%= render :partial => 'help/alpha_notice' %>

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.

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.

Privacy policy

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
about the site or related mySociety services. 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.

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.

Credit where credit is due

Which people made WhatDoTheyKnow?

Oh, nearly everyone (and maybe you too)! Heather Brook
(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 managed to get the cash to pay for the site out of
a dead chocolate mogul, 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
administrate 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.


manage-spam: show only tabs that has spam

<%= stylesheet('tasks') %>

<%= _('Manage SPAM') %>

<% no_tabs = @comment_spam.blank? && @task_spam.blank? %>

<%= _('There are no spams to review.') if no_tabs %>

<% button_bar do %>
  <%= button :back, _('Back to control panel'), :controller => :profile_editor %>
<% end %>

<%# FIXME should not need to replicate the article structure like this to be able to use the same formatting as the comments listing %>

<% tabs = [] %>
<% tabs << {:title => _('Comment Spam'), :id => 'comment-spam',
  :content => (render :partial => 'comment_spam')} if @comment_spam.present? %>
<% tabs << {:title => _('Task Spam'), :id => 'task-spam',
  :content => (render :partial => 'task_spam') } if @task_spam.present? %>
<%= render_tabs(tabs) %>

<% unless no_tabs %>
  <% button_bar do %>
    <%= button :back, _('Back to control panel'), :controller => :profile_editor %>
  <% end %>
<% end %>

<%= javascript_include_tag 'spam' %>

<%= stylesheet('tasks') %>

<%= _('Manage SPAM') %>

<% button_bar do %>
  <%= button :back, _('Back to control panel'), :controller => :profile_editor %>
<% end %>

<%# FIXME should not need to replicate the article structure like this to be able to use the same formatting as the comments listing %>

<% if @task_spam.length > 0 %>
  <% tabs = [] %>
  <% tabs << {:title => _('Comment Spam'), :id => 'comment-spam',
    :content => (render :partial => 'comment_spam')} %>
  <% tabs << {:title => _('Task Spam'), :id => 'task-spam',
    :content => (render :partial => 'task_spam') } %>
  <%= render_tabs(tabs) %>
<% else %>
  <%= render :partial => 'comment_spam' %>
<% end %>

<% button_bar do %>
  <%= button :back, _('Back to control panel'), :controller => :profile_editor %>
<% end %>

<%= javascript_include_tag 'spam' %>


Added delete link with temporary Javascript confirm box

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

<% @filter = params[:filter].to_s.humanize.downcase %>
<% content_for :action_nav do %>

<%= link_to 'Delete this article', {:action => 'destroy', :id => @article}, :confirm => 'Are you sure you want to delete this article?' %>

        <% unless @article.new_record? -%>

<%= link_to 'Edit this article', :action => :edit, :id => @article %>

        <% end -%>
        <% if @article.comments.any? && controller.action_name != 'comments' -%>

<%= link_to "View comments", :controller => 'articles', :action => 'comments', :id => @article %>

        <% end %>
        <% if controller.action_name == 'comments' && @comments.any? -%>

<%= link_to_remote "Delete all #{@filter != 'all' ? @filter : ''} comments", :confirm => "Are you sure you wish to delete all #{@filter != 'all' ? @filter : ''} comments?",
              :url => { :action => 'destroy_comment', :id => @article }, :with => "ArticleForm.getAvailableComments().toQueryString('comment')"
            %>

        <% end -%>

<% end unless @article.new_record? && @article.comments.empty? -%>

<%=  %>

<% @filter = params[:filter].to_s.humanize.downcase %>
<% content_for :action_nav do %>

        <% unless @article.new_record? -%>

<%= link_to 'Edit this article', :action => :edit, :id => @article %>

        <% end -%>
        <% if @article.comments.any? && controller.action_name != 'comments' -%>

<%= link_to "View comments", :controller => 'articles', :action => 'comments', :id => @article %>

        <% end %>
        <% if controller.action_name == 'comments' && @comments.any? -%>

<%= link_to_remote "Delete all #{@filter != 'all' ? @filter : ''} comments", :confirm => "Are you sure you wish to delete all #{@filter != 'all' ? @filter : ''} comments?",
              :url => { :action => 'destroy_comment', :id => @article }, :with => "ArticleForm.getAvailableComments().toQueryString('comment')"
            %>

        <% end -%>

<% end unless @article.new_record? && @article.comments.empty? -%>

<%=  %>


link to 'no subject' if message title/subject is blank

<tr class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
  <%= link_to message_summary.sender.display_name , :controller => 'user', :action => message_summary.sender.display_name %>

    <% if message_summary.title.nil? or message_summary.title == '' %>
      <%= link_to '(no subject)' , :controller => 'message', :action => 'read', :message_id => message_summary.id  %>
    <% else %>
      <%= link_to  message_summary.title , :controller => 'message', :action => 'read', :message_id => message_summary.id  %>
    <% end %>

  <%= message_summary.sent_on %>
  <% if message_summary.message_read? %>
    <%= button_to 'Mark as unread', :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread' %>
  <% else %>
    <%= button_to 'Mark as read', :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %>
  <% end %>
  <%= button_to 'Reply', :controller => 'message', :action => 'new', :user_id => message_summary.from_user_id %>

<tr class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
  <%= link_to message_summary.sender.display_name , :controller => 'user', :action => message_summary.sender.display_name %>
  <%= link_to  message_summary.title , :controller => 'message', :action => 'read', :message_id => message_summary.id  %>
  <%= message_summary.sent_on %>
  <% if message_summary.message_read? %>
    <%= button_to 'Mark as unread', :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread' %>
  <% else %>
    <%= button_to 'Mark as read', :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %>
  <% end %>
  <%= button_to 'Reply', :controller => 'message', :action => 'new', :user_id => message_summary.from_user_id %>


Scroll to top on click

Scroll to top on click

When the name of a public authority is clicked, on the select_authority
page, scroll to the top so the user can see the green Start button.

<% @title = _("Select the authority to write to")  %>

<%= _('1. Select an authority') %>

    <% form_tag({:controller => "request", :action => "select_authority"}, {:id => "search_form", :method => "get"}) do %>

           <%= _('First, type in the name of the UK public authority you\'d
           like information from. By law, they have to respond
           (why?).') % help_about_url %>

           <%= text_field_tag 'query', params[:query], { :size => 30 } %>
           <%= hidden_field_tag 'bodies', 1 %>
           <%= submit_tag _('Search') %>

    <% end %>

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

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

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

  <% else %>

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

  <% end %>

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

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

 <% end %>


Added some additional notes to the sidebar

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

<% content_for :sidebar do -%>

Templates

Modify a template by selecting it from the list below.  Add a new layout by creating a Liquid template with an
  *_layout suffix (e.g custom_layout).

  <% @templates.each do |template| -%>

<%= link_to template.filename, :controller => 'templates', :action => 'edit', :id => template %>

  <% end -%>
  <% @resources.each do |resource| -%>

<%= link_to resource.public_filename, :controller => 'resources', :action => 'edit', :id => resource %>

  <% end -%>

Images

Select an image to use in your template.

  <% @images.each do |image| -%>
    <li id="image-<%= image.id %>"><%= link_to_remote image_tag('/images/icons/trash.gif', :class => 'iconb red'), {:url => {:controller => 'resources', :action => 'remove', :id => image}}, :class => 'aicon', :title => 'Delete image' %> <%=  image.public_filename %>

  <% end -%>

  <% form_for :resource, @resource, :url => { :controller => 'resources', :action => 'upload', :id => nil }, :html => { :multipart => true } do |f| -%>

      Upload new image

Upload images to use in your templates

       uploading...

      1. <%= f.file_field :uploaded_data %>

      2. <%= submit_tag 'Upload', :onclick => "Element.show('upload-spinner')" %>

  <% end -%>

<% end -%>

<% content_for :sidebar do -%>

Templates

Modify a template by selecting it from the list below.

  <% @templates.each do |template| -%>

<%= link_to template.filename, :controller => 'templates', :action => 'edit', :id => template %>

  <% end -%>
  <% @resources.each do |resource| -%>

<%= link_to resource.public_filename, :controller => 'resources', :action => 'edit', :id => resource %>

  <% end -%>

Images

Select an image to use in your template.

  <% @images.each do |image| -%>
    <li id="image-<%= image.id %>"><%= link_to_remote image_tag('/images/icons/trash.gif', :class => 'iconb red'), {:url => {:controller => 'resources', :action => 'remove', :id => image}}, :class => 'aicon', :title => 'Delete image' %> <%=  image.public_filename %>

  <% end -%>

  <% form_for :resource, @resource, :url => { :controller => 'resources', :action => 'upload', :id => nil }, :html => { :multipart => true } do |f| -%>

      Upload new image

Upload images to use in your templates

       uploading...

      1. <%= f.file_field :uploaded_data %>

      2. <%= submit_tag 'Upload', :onclick => "Element.show('upload-spinner')" %>

  <% end -%>

<% end -%>


Attempt to update the page title in the contents tab

<% @editing = true -%>

<%= javascript_include_tag 'questionnaireedit' %>
<%= javascript_include_tag "layout.js" %>

<%= @page.title %>
          <%= image_tag("jipe/edit-field.png", { :id => "edit_page_title", :alt => "Edit page title", :title => "Edit page title" }) %>

        <% if @questionnaire.pages.length > 1 -%>

Page <%= @page.number %> of <%= @questionnaire.pages.length %>

        <% end -%>

        <% @page.questions.each do |question| -%>
              <li class="question <%= question_cycle(question) %>" id="question_<%=question.id%>">
                <%= render_question question %>

          <% end -%>

          <%= sortable_element "questions", :handle => "draghandle",
              :url => questions_path(@questionnaire, @page) + '/sort',
              :complete => "zebrifyQuestions();" %>

            <% if @page.number > 1 -%>
              <%= submit_tag "<< Previous page" %>
            <% end -%>
            <% if @page.number < @questionnaire.pages.length -%>
              <%= submit_tag "Next page >>" %>
              <% 5.times { %> <% } %>
              <%= submit_tag "Finish later" %>
            <% else -%>
              <%= submit_tag "Finish" %>
            <% end -%>

          Add Fields

Click any of these buttons to add that type of field to the page.

<%= link_to_function "Demographics", "selectTab('specials');" %>

<%= link_to_function "Questions", "selectTab('fields');" %>

<%= link_to_function "Display elements", "selectTab('decorators');" %>

<%= link_to_function "Advanced", "selectTab('advanced');" %>

            <% Question.decorator_types.each do |klass| -%>
              <%= button_to_function h(klass.friendly_name), "addQuestion('#{klass.name}');" %>
            <% end -%>

            <% Question.field_types.each do |klass| -%>
              <% if not klass.kind_of? Questions::AnnotationField -%>
                <%= button_to_function h(klass.friendly_name), "addQuestion('#{klass.name}');" %>
              <% end -%>
            <% end -%>

	    <% Questionnaire.special_field_purposes.each do |purpose| -%>
	      <%= button_to_function h(purpose.humanize), "addQuestion('#{Questionnaire.special_field_type(purpose).name}', '#{purpose}');" %>
            <% end -%>

            <% [ Questions::AnnotationField ].each do |klass| -%>
              <%= button_to_function h(klass.friendly_name), "addQuestion('#{klass.name}');" %>
            <% end -%>

          <%= link_to_function "↓",
            "$('add_fields_toolbox').toggle(); $('add_fields_toolbox_hidden').toggle(); sizeToolboxSpacer();",
            :style => "text-decoration: none; color: #754500;" %>

          <%= image_tag("left-layout.png",
			:alt => "Question beside answer", :title => "Question beside answer") %>

          <%= image_tag("top-layout.png",
			:alt => "Question above ansewr", :title => "Question above answer") %>

          Add Fields

          <%= link_to_function "↑",
            "$('add_fields_toolbox').toggle(); $('add_fields_toolbox_hidden').toggle(); sizeToolboxSpacer();",
            :style => "text-decoration: none; color: #754500;" %>


formatted date for created_at and updated_at columns

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

Roles

    Name	Description	Created At
    Updated At

<% for role in @roles %>

    <%= link_to role.name, :action => 'show', :id => role %>
    <%= role.description %>
    <%= role.created_at.to_s(:short) %>
    <%= role.updated_at.to_s(:short) %>

<% end %>

<%= link_to 'New role', :action => 'new' %>

Roles

    Name	Description	Created At
    Updated At

<% for role in @roles %>

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

<% end %>

<%= link_to 'New role', :action => 'new' %>


Fix typo

Fix typo

<% if any_services_in_progress? %>
  <complete value="false">false</complete>
  <in_progress>
    <refresh_url><%= REXML::Text.new( url_for(params.merge( :'umlaut.request_id' => @user_request.id, :only_path => false ) )).to_s %></refresh_url>
    <refresh_url_path><%= REXML::Text.new( url_for(params.merge( :'umlaut.request_id' => @user_request.id, :only_path => true ) )).to_s %></refresh_url_path>
    <requested_wait_seconds><%= AppConfig.param("poll_wait_seconds", 4)%></requested_wait_seconds>
    <services_in_progress>
      <% @user_request.services_in_progress.collect { |s| s.service_types_generated}.flatten.uniq.each do |type| %>
          <service name="<%= type.name %>" />
      <% end %>
    </services_in_progress>
  </in_progress>
<% else %>
  <complete value="true">true</complete>
<% end %>

<% if any_services_in_progress? %>
  <complete value="false">false</complete>
  <in_progress>
    <refresh_url><%= REXML::Text.new( url_for(params.merge( :'umlaut.request_id' => @user_request.id, :only_path => false ) )).to_s %></refresh_url>
    <refresh_url_path><%= REXML::Text.new( url_for(params.merge( :'umlaut.request_id' => @user_request.id, :only_path => true ) )).to_s %></refresh_url_path>
    <requested_wait_seconds>4</requested_wait_seconds>
    <services_in_progress>
      <% @user_request.services_in_progress.collect { |s| s.service_types_generated}.flatten.uniq.each do |type| %>
          <service name="<%= type.name %>" />
      <% end %>
    </services_in_progress>
  </in_progress>
<% else %>
  <complete value="true">true</complete>
<% end %>


Use url_for instead of hard-coded preview URL.  (closes #379)

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

<%= form_remote_tag :url => {:action => "comment", :id => @article},
                    :position=> :bottom,
                    :update => {:success => 'commentList'},
                    :loading => "loading()",
                    :complete => "complete(request)",
                    :failure => "failure(request)",
                    :html => {:id=>"commentform",:class=>"commentform"} %>

Your name

       <%= text_field "comment", "author", :size => 20 %> <%= link_to_function("(leave url/email »)", "Element.toggle('guest_url'); Element.toggle('guest_email')") %>

Your blog

       <%= text_field "comment", "url" %>

Your email

       <%= text_field "comment", "email" %>

Your message

        <%= text_area "comment", "body" %>

      <%= image_tag "spinner.gif" %>
      <a href="#" onclick="new Ajax.Updater('preview', '<%= url_for :action => 'comment_preview' %>',  {asynchronous:true, evalScripts:true, parameters:Form.serialize('commentform'), onComplete:function(request){Element.show('preview')}}); return false;">Preview comment
      <input type="submit" name="submit" id="form-submit-button" value="submit" class="button" />

<%= end_form_tag %>

<%= form_remote_tag :url => {:action => "comment", :id => @article},
                    :position=> :bottom,
                    :update => {:success => 'commentList'},
                    :loading => "loading()",
                    :complete => "complete(request)",
                    :failure => "failure(request)",
                    :html => {:id=>"commentform",:class=>"commentform"} %>

Your name

       <%= text_field "comment", "author", :size => 20 %> <%= link_to_function("(leave url/email »)", "Element.toggle('guest_url'); Element.toggle('guest_email')") %>

Your blog

       <%= text_field "comment", "url" %>

Your email

       <%= text_field "comment", "email" %>

Your message

        <%= text_area "comment", "body" %>

      <%= image_tag "spinner.gif" %>
      Preview comment
      <input type="submit" name="submit" id="form-submit-button" value="submit" class="button" />

<%= end_form_tag %>


germanize

germanize

<?xml version="1.0" encoding="iso-8859-15"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="author" content="Simon Huerlimann <simon.huerlimann@cyt.ch>" />
    <meta name="keywords" content="finance CyT Agrabah" />
    <meta name="description" content="Accounting for Agrabah GmbH" />
    <%= stylesheet_link_tag 'noprobs' %>
    <%= javascript_include_tag :defaults %>

    <title>Accounting for Agrabah GmbH - <%= controller.action_name %></title>

          <%= image_tag 'logo-left-small' %>
          <%= image_tag 'logo-right-small' %>

<%= link_to "Neue Lieferung", :controller => "purchases", :action => 'new' %>

<%= link_to "Balance Sheet", :controller => "balance"%>

<%= link_to "Profit Sheet", :controller => "profit"%>

<%= link_to "Konten", :controller => "accounts"%>

<%= link_to "Buchungen", :controller => "bookings"%>

<%= link_to "Neue Buchung", :controller => "bookings", :action => :new %>

            <%= @content_for_layout %>

<?xml version="1.0" encoding="iso-8859-15"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="author" content="Simon Huerlimann <simon.huerlimann@cyt.ch>" />
    <meta name="keywords" content="finance CyT Agrabah" />
    <meta name="description" content="Accounting for Agrabah GmbH" />
    <%= stylesheet_link_tag 'noprobs' %>
    <%= javascript_include_tag :defaults %>

    <title>Accounting for Agrabah GmbH - <%= controller.action_name %></title>

          <%= image_tag 'logo-left-small' %>
          <%= image_tag 'logo-right-small' %>

<%= link_to "Neue Lieferung", :controller => "purchases", :action => 'new' %>

<%= link_to "Clients", :controller => "clients"%>

<%= link_to "Balance Sheet", :controller => "balance"%>

<%= link_to "Profit Sheet", :controller => "profit"%>

<%= link_to "Accounts", :controller => "accounts"%>

<%= link_to "Bookings", :controller => "bookings"%>

<%= link_to "New Booking", :controller => "bookings", :action => :new %>

            <%= @content_for_layout %>


take out that stupid fade effect, it didnt work anyway

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<% context_object = @user_request.referent.to_context_object -%>

<title><%= AppConfig.param('app_name', 'Find It') %> | <%= @user_request.referent.to_citation[:title] %></title>
 <%= stylesheet_link_tag 'basic'
 %>
 <% render(:partial => 'shared/ensure_window_size') %>
 <%= render(:partial => "layout_helpers/resolve_head_content" ) %>

    <%= resolver_link(@user_request.to_context_object, {:target=>"_top", :extra_params => {:action => 'index', :'umlaut.skip_resolve_menu' => 'false', :'umlaut.request_id' => @user_request.id}}) %>

    <%= resolver_link(@user_request.to_context_object, {:text => 'See more options', :target=>"_top", :extra_params => {:'umlaut.request_id' => @user_request.id, :action => 'index', :'umlaut.skip_resolve_menu' => 'false'}}) %>

    <%= link_to "#{ image_tag("frame_remove.gif", :border=>0, :align=>'bottom') } Remove banner", {:controller=>'link_router', :id=>(@service_type_join.id if @service_type_join)}, 'target'=>'_top', 'class'=>'smallText' %>

    <% displayed_data = @service_type_join.view_data %>
    <% unless displayed_data[:authentication].blank? %>
          Authentication: <%= displayed_data[:authentication] %>
    <% end %>

  <% fulltxt = get_service_type('fulltext')
     title_level_fulltxt = get_service_type('fulltext_title_level')
     unless fulltxt.blank? && title_level_fulltxt.blank?
  %>

    <% if fulltxt.length + title_level_fulltxt.length > 1 %>

Other <%= ServiceTypeValue[:fulltext].display_name_pluralize.downcase%>:

    <% end %>

    <%
      fulltxt.each do | ft |
      target = ft.view_data
    %>
        <li class="fulltextlink <%= 'frameescaping' if known_frame_escaper?(ft) %>">
        <%  # Currently displayed one should not be a link, but should
            # be greyed-out instead.
            if ( ft == @service_type_join ) %>
            <%= target[:display_text] %>
        <% else %>
          <%= frameset_link_to(ft, :'umlaut.banner_effects'=>'false') %>
        <% end %>

    <% end
       unless title_level_request? || title_level_fulltxt.empty?
          genre = @user_request.referent.metadata['genre']
          genre = "Journal" if genre.downcase == 'article'
    %>

<%= genre.titlecase %>-level Page Only:

    <%
       end
       title_level_fulltxt.each do |ft|
       target = ft.view_data %>
        <li class="fulltextlink <%= 'frameescaping' if known_frame_escaper?(ft) %>">
        <%  # Currently displayed one should not be a link, but should
            # be greyed-out instead.
            if ( ft == @service_type_join ) %>
            <%= target[:display_text] %>
        <% else %>
          <%= frameset_link_to(ft) %>
        <% end %>

    <% end %>

  <% end %>

You are looking for:

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

 <% help_responses = get_service_type('help')
    unless help_responses.blank?  %>

    ?Problem?
Need help?

      <% help_responses.each do |help| %>

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

       <% end %>

 <% end %>


"Older posts" displayed when there is exactly 10 posts closes #115

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

<% for article in @articles -%>

  <%= render_partial "article", article %>

<%= article_links article %>

<% end -%>

<% unless @pages.item_count <= 10 %>

Older posts: <%= pagination_links @pages, :params => { :action => @controller.action_name } %>

<% end %>

<% for article in @articles -%>

  <%= render_partial "article", article %>

<%= article_links article %>

<% end -%>

<% unless @pages.item_count < 10 %>

Older posts: <%= pagination_links @pages, :params => { :action => @controller.action_name } %>

<% end %>


Now displaying upcoming events on homepage

<% for event in @upcoming_events -%>

Upcoming event: <%= link_to event.title, :controller => 'events', :action => 'show', :id => event-%>

<%=event.agenda-%>

  <%= link_to "More info", :controller => 'events', :action => 'show', :id => event -%> | Y! Upcoming | Venue
<% end -%>

Upcoming event: <%=Event.find(1).title-%>

<%=Event.find(1).agenda-%>

  More info | Y! Upcoming | Venue


ActionItem1003: only display enterprise stuff when enabled

<%= profile.name %>

<%= _('Control Panel') %>

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

<% file_manager do %>

  <%= file_manager_button(_('Info and settings'), 'icons-app/edit-profile.png', :controller => 'profile_editor', :action => 'edit') %>

  <%= file_manager_button(_('Mail settings'), 'icons-app/mail.png', :controller => 'mailconf') if profile.person? && MailConf.enabled? %>

  <%= file_manager_button(_('Tasks'), 'icons-app/todo.png', :controller => 'tasks', :action => 'index') %>

  <%= file_manager_button(_('Edit sideboxes'), 'icons-app/design-editor.png', :controller => 'profile_design', :action => 'index') %>

  <%= file_manager_button(_('Edit Appearance'), 'icons-app/design-editor.png', :controller => 'themes', :action => 'index') %>

  <%= file_manager_button(_('Edit Header and Footer'), 'icons-app/header-and-footer.png', :controller => 'profile_editor', :action => 'header_footer') unless profile.enterprise? && environment.enabled?('disable_header_and_footer') && !user.is_admin?(environment) %>

  <%= file_manager_button(_('Manage Content'), 'icons-app/cms.png', :controller => 'cms') if !environment.enabled?('disable_cms') || profile.community? %>

  <% unless profile.enterprise? %>
    <% if profile.has_blog? %>
      <%= file_manager_button(_('Configure blog'), 'icons-app/blog.png', :controller => 'cms', :action => 'edit', :id => profile.blog) %>
    <% else %>
      <%= file_manager_button(_('Create blog'), 'icons-app/blog-disabled.png', :controller => 'cms', :action => 'new', :type => 'Blog') %>
    <% end %>
  <% end %>

  <%= file_manager_button(_('Change Password'), 'icons-app/change-password.png', :controller => 'account', :action => 'change_password') if profile.person? %>

  <%= file_manager_button(__('Manage friends'), 'icons-app/friends.png', :controller => 'friends', :action => 'index') if profile.person? %>

  <%= file_manager_button(_('Manage Members'), 'icons-app/members.png', :controller => 'profile_members') if profile.organization? && user.has_permission?(:manage_memberships, profile) %>

  <%= file_manager_button(_('Manage Products and Services'), 'icons-app/products.png', :controller => 'manage_products') if profile.enterprise? && !environment.enabled?('disable_products_for_enterprises') %>

  <% if !environment.enabled?('disable_asset_enterprises') %>
    <% if profile.is_validation_entity? %>
      <%= file_manager_button(__('Enterprise Validation'), 'icons-app/validation.png', :controller => 'enterprise_validation') %>
    <% end %>
    <% if profile.person? %>
      <%= file_manager_button(__('Favorite Enterprises'), 'icons-app/favorites.png', :controller => 'favorite_enterprises') %>
    <% end %>
  <% end %>

  <% if profile.enterprise? %>
    <% if profile.enabled? %>
      <%= file_manager_button(__('Disable Enterprise'), 'icons-app/disable.png', :action => 'disable') %>
    <% else %>
      <%= file_manager_button(__('Enable Enterprise'), 'icons-app/enable.png', :action => 'enable') %>
    <% end %>
  <% end %>

  <%= file_manager_button(_('Manage my groups'), 'icons-app/groups.png', :controller => 'memberships') if profile.person? %>

<% end %>

<%= profile.name %>

<%= _('Control Panel') %>

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

<% file_manager do %>

  <%= file_manager_button(_('Info and settings'), 'icons-app/edit-profile.png', :controller => 'profile_editor', :action => 'edit') %>

  <%= file_manager_button(_('Mail settings'), 'icons-app/mail.png', :controller => 'mailconf') if profile.person? && MailConf.enabled? %>

  <%= file_manager_button(_('Tasks'), 'icons-app/todo.png', :controller => 'tasks', :action => 'index') %>

  <%= file_manager_button(_('Edit sideboxes'), 'icons-app/design-editor.png', :controller => 'profile_design', :action => 'index') %>

  <%= file_manager_button(_('Edit Appearance'), 'icons-app/design-editor.png', :controller => 'themes', :action => 'index') %>

  <%= file_manager_button(_('Edit Header and Footer'), 'icons-app/header-and-footer.png', :controller => 'profile_editor', :action => 'header_footer') unless profile.enterprise? && environment.enabled?('disable_header_and_footer') && !user.is_admin?(environment) %>

  <%= file_manager_button(_('Manage Content'), 'icons-app/cms.png', :controller => 'cms') if !environment.enabled?('disable_cms') || profile.community? %>

  <% unless profile.enterprise? %>
    <% if profile.has_blog? %>
      <%= file_manager_button(_('Configure blog'), 'icons-app/blog.png', :controller => 'cms', :action => 'edit', :id => profile.blog) %>
    <% else %>
      <%= file_manager_button(_('Create blog'), 'icons-app/blog-disabled.png', :controller => 'cms', :action => 'new', :type => 'Blog') %>
    <% end %>
  <% end %>

  <%= file_manager_button(_('Change Password'), 'icons-app/change-password.png', :controller => 'account', :action => 'change_password') if profile.person? %>

  <%= file_manager_button(__('Manage friends'), 'icons-app/friends.png', :controller => 'friends', :action => 'index') if profile.person? %>

  <%= file_manager_button(_('Manage Members'), 'icons-app/members.png', :controller => 'profile_members') if profile.organization? && user.has_permission?(:manage_memberships, profile) %>

  <%= file_manager_button(_('Manage Products and Services'), 'icons-app/products.png', :controller => 'manage_products') if profile.enterprise? && !environment.enabled?('disable_products_for_enterprises') %>

  <%= file_manager_button(__('Enterprise Validation'), 'icons-app/validation.png', :controller => 'enterprise_validation') if profile.is_validation_entity? %>

  <%= file_manager_button(__('Favorite Enterprises'), 'icons-app/favorites.png', :controller => 'favorite_enterprises') if profile.person? %>

  <% if profile.enterprise? %>
    <% if profile.enabled? %>
      <%= file_manager_button(__('Disable Enterprise'), 'icons-app/disable.png', :action => 'disable') %>
    <% else %>
      <%= file_manager_button(__('Enable Enterprise'), 'icons-app/enable.png', :action => 'enable') %>
    <% end %>
  <% end %>

  <%= file_manager_button(_('Manage my groups'), 'icons-app/groups.png', :controller => 'memberships') if profile.person? %>

<% end %>


container-block: remove unnecessary view

  <% @block.blocks.each do |block| %>

    <%= block.class.name %>

  <% end %>

<%= link_to_function(_('New block'), nil, :class => 'button icon-add with-text') { |page|
    page.insert_html :bottom, 'links', content_tag('li',select_tag('block[block_classes][]',
    options_for_select( @controller.available_blocks.each_with_index.map {|b,i| [b.name, b.name] } ))) } %>