<% if @contributors.length > 0 %>

Top Contributors <%= link_to 'See all', repository_contributors_path(@repository.to_param) %>

	    <%= render @contributors %>

<% end %>

<% if @contributors.length > 0 %>

Contributors

	    <%= render @contributors %>
	    <%= link_to 'See all contributors', repository_contributors_path(@repository.to_param) %>

<% end %>

Add tracked el to contributors

Add tracked el to contributors

* add tracked el
* move ‘see all’ link to bottom (matching explore and see all links
elsewhere)


<%= render :partial => 'spree/admin/shared/configuration_menu' %>

<% content_for :page_title do %>
    <%= Spree.t(:sisow_configuration) %>
<% end %>

<%= render "form" %>

Remove obsolete backend-menu partial rendering


It seems you've tried to access an event with the wrong URL.
<<<<<<< HEAD
<% if defined?(event_link) %>
  Please try <%= event_link %>
<% else %>
  Could not generate a valid link for you. Please notify your system administrator.
<% end %>
=======
<% if event_link %>
  Please try <%= event_link %>
<% else %>
  Could not generate a valid link for you. Please notify your system administrator.
<% end %>
>>>>>>> cdbb3ba... Add missing event template and fix tests

It seems you've tried to access an event with the wrong URL.
<% if defined?(event_link) %>
  Please try <%= event_link %>
<% else %>
  Could not generate a valid link for you. Please notify your system administrator.
<% end %>

Add missing event template and fix tests

Conflicts:

	webapp/app/views/shared/_missing_event.erb


    <%= @contribution_container.title %>

      ×

  <%= render "gobierto_admin/shared/validation_errors", resource: @contribution_form %>

  <%= form_for(
    @contribution_form, as: :contribution,
    url: gobierto_participation_process_process_contribution_container_process_contributions_path(process_id: current_process.slug,
                                                                                process_contribution_container_id: @contribution_container.slug), remote: true) do |f| %>

            <%= t('.title') %>
            <%= t('views.forms.max_characters', length: 140) %>

          <%= f.text_field :title, placeholder: t('.placeholders.title') %>

          <%= label_tag t('.description') %>
          <%= f.text_area :description, placeholder: t('.placeholders.description') %>

          <%= f.submit class: "button" %>

  <% end %>

Add overlay to new idea

Add overlay to new idea


    i
    S

  <%- if content_for :navigation %>
    <%= yield :navigation %>
  <%- end %>

  <%- if user_signed_in? -%>

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

    <%= link_to 'My Club', club_editor_path(current_user.clubs.first) %>
    <%= link_to 'My Profile', user_editor_path(current_user) %>
    <%= link_to 'Account', edit_user_registration_path %>
    <%= link_to 'FAQ', faq_path %>
    <%= link_to 'Logout', destroy_user_session_path, :method => 'delete' %>
  <%- else %>
    <%= link_to 'FAQ', faq_path %>
    <%= link_to 'Login', new_user_session_path, :remote => true %>
  <%- end -%>

    i
    S

  <%- if content_for :navigation %>
    <%= yield :navigation %>
  <%- end %>

  <%- if user_signed_in? -%>

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

    <%= link_to 'My Club', club_editor_path(current_user.clubs.first) %>
    <%= link_to 'My Profile', user_editor_path(current_user) %>
    <%= link_to 'Account', edit_user_registration_path %>
    <%= link_to 'FAQ', faq_path %>
    <%= link_to 'Support', 'http://ifsimply.zendesk.com/', :target => "_blank" %>
    <%= link_to 'Logout', destroy_user_session_path, :method => 'delete' %>
  <%- else %>
    <%= link_to 'FAQ', faq_path %>
    <%= link_to 'Support', 'http://ifsimply.zendesk.com/', :target => "_blank" %>
    <%= link_to 'Login', new_user_session_path, :remote => true %>
  <%- end -%>

Add 'Support' Link to Zendesk for Help

Add 'Support' Link to Zendesk for Help

Update the navbar to include a 'Support' link that directs the user to
Zendesk.


<% ads.each_with_index do |ad,i| %>
  <%= render :partial => "ads/ad", :locals => { :ad => ad } %>

  <% if [ 5, 10, 15 ].include? i %>
    <%= render partial: "partials/google_adsense", locals: { class_name: "desktop google_adsense_336_280", ad_slot: "7225596067"}  %>
    <%= render partial: "partials/google_adsense", locals: { class_name: "mobile google_adsense_320_100", ad_slot: "1977811266"}  %>
    <hr>
  <% end %>
<% end %>

<% ads.each_with_index do |ad,i| %>
  <%= render :partial => "ads/ad", :locals => { :ad => ad } %>

  <% if [ 5, 10, 15 ].include? i %>

      <%= render partial: "partials/google_adsense", locals: { class_name: "desktop google_adsense_336_280", ad_slot: "7225596067"}  %>
      <%= render partial: "partials/google_adsense", locals: { class_name: "mobile google_adsense_320_100", ad_slot: "1977811266"}  %>

  <% end %>
<% end %>

Add a bit of space between ads and banners


  <% arcade_machines.each do |machine| %>

        <a
          class="quiet-link image-box"
          href="<%= arcade_machine_url(machine) %>"
          style="background: url(<%= machine.cover_image.url(w: 320) %>) center center; background-size: cover;"
        >

            <%= machine.location.split("\n").first %>

            <a class="quiet-link" href="<%= arcade_machine_path(machine) %>">
              <%= machine.title %>

          <%= render "arcade_machines/edit_buttons", arcade_machine: machine %>

  <% end %>

  <% arcade_machines.each do |machine| %>

        <a
          class="quiet-link image-box"
          href="<%= arcade_machine_url(machine) %>"
          style="background: url(<%= machine.cover_image.url(w: 320) %>) center center; background-size: cover;"
        >

            <%= (machine.location || "").split("\n").first %>

            <a class="quiet-link" href="<%= arcade_machine_path(machine) %>">
              <%= machine.title %>

          <%= render "arcade_machines/edit_buttons", arcade_machine: machine %>

  <% end %>

Fix handling of blank machine locations.


Get Started

All Users

<%= link_to "Create a user account.", new_user_registration_path %>

<%= link_to "Join a team.", teams_path %>

<%= link_to "Log rides!",  new_ride_path %>

Team Captains

<%= link_to "Create a user account.", new_user_registration_path %>

<%= link_to "Create a team", new_team_path %>

Approve users that join your team.

Get Started

All Riders

<%= link_to "Create a user account.", new_user_registration_path %>

<%= link_to "Join a team.", teams_path %>

<%= link_to "Log rides!",  new_ride_path %>

Team Captains

<%= link_to "Create a user account.", new_user_registration_path %>

<%= link_to "Create a team", new_team_path %>

Approve riders that join your team.

Tweak instructions to sound friendlier.

Tweak instructions to sound friendlier.


server {
  server_name <%= @full_domain %>;

  listen localhost:80;

  proxy_connect_timeout 1s;
  proxy_read_timeout 15s;

  access_log /var/log/nginx/<%= @full_domain %>-access.log timed_combined;
  access_log /var/log/nginx/<%= @full_domain %>-json.event.access.log json_event;
  error_log /var/log/nginx/<%= @full_domain %>-error.log;

  location / {
    try_files $uri/index.html $uri.html $uri @app;
  }

  location /publisher {
    proxy_pass http://localhost:3079;
  }

  location /signon {
    proxy_pass http://localhost:3080;
  }

  location /whitehall {
    proxy_pass http://localhost:3081;
  }

  location /transition {
    proxy_pass http://localhost:3086;
  }

  location /email-alert-api {
    proxy_pass http://localhost:3089;
  }

  location /rummager {
    proxy_pass http://localhost:3091;
  }

  location /publishing-api {
    proxy_pass http://localhost:3114;
  }

  location /email-campaign-api {
    proxy_pass http://localhost:3117;
  }

  root /data/vhost/<%= @full_domain %>/current/public;

}

server {
  server_name <%= @full_domain %>;

  listen localhost:80;

  proxy_connect_timeout 1s;
  proxy_read_timeout 15s;

  access_log /var/log/nginx/<%= @full_domain %>-access.log timed_combined;
  access_log /var/log/nginx/<%= @full_domain %>-json.event.access.log json_event;
  error_log /var/log/nginx/<%= @full_domain %>-error.log;

  location / {
    try_files $uri/index.html $uri.html $uri @app;
  }

  location /publisher {
    proxy_pass http://localhost:3079;
  }

  location /signon {
    proxy_pass http://localhost:3080;
  }

  location /whitehall {
    proxy_pass http://localhost:3081;
  }

  location /transition {
    proxy_pass http://localhost:3086;
  }

  location /email-alert-api {
    proxy_pass http://localhost:3089;
  }

  location /rummager {
    proxy_pass http://localhost:3091;
  }

  location /publishing-api {
    proxy_pass http://localhost:3114;
  }

  location /email-campaign-api {
    proxy_pass http://localhost:3117;
  }

  location /imminence {
    proxy_pass http://localhost:3120;
  }

  root /data/vhost/<%= @full_domain %>/current/public;

}

Add sidekiq-monitoring route for imminence to nginx


upstream <%= @vhost %>-upstream {
<%- @servers.each do |server| -%>
  server <%= server -%>:<%= @port %> max_fails=3 fail_timeout=10s;
<%- end -%>
}

server {
  listen localhost:<%= @port %>;

  # Needed to do keepalives upstream
  proxy_http_version 1.1;

  # Try next upstream if one returns an error
  proxy_next_upstream error timeout http_500 http_502 http_503 http_504;

  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-Server $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_redirect off;

  proxy_read_timeout <%= @read_timeout %>;

  # Don't restrict the size of queries or documents.
  client_max_body_size 4g;

  access_log /var/log/nginx/<%= @log_access %> timed_combined;
  access_log /var/log/nginx/<%= @log_json %> json_event;
  error_log /var/log/nginx/<%= @log_error %>;

  location / {
    # Only accept connnections over loopback.
    allow 127.0.0.1;
    deny all;

    proxy_pass http://<%= @vhost %>-upstream;
  }
}

upstream <%= @vhost %>-upstream {
<%- @servers.each do |server| -%>
  server <%= server -%>:<%= @port %> max_fails=3 fail_timeout=10s;
<%- end -%>
}

server {
  listen localhost:<%= @port %>;

  # Needed to do keepalives upstream
  proxy_http_version 1.1;

  # Try next upstream if one returns an error
  proxy_next_upstream error timeout http_500 http_502 http_503 http_504;

  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-Server $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_redirect off;

  proxy_connect_timeout 1s;
  proxy_read_timeout <%= @read_timeout %>;

  # Don't restrict the size of queries or documents.
  client_max_body_size 4g;

  access_log /var/log/nginx/<%= @log_access %> timed_combined;
  access_log /var/log/nginx/<%= @log_json %> json_event;
  error_log /var/log/nginx/<%= @log_error %>;

  location / {
    # Only accept connnections over loopback.
    allow 127.0.0.1;
    deny all;

    proxy_pass http://<%= @vhost %>-upstream;
  }
}

Set proxy_connect_timeout for ES load balancers

The nginx load balancers in front of elasticsearch do not currently set
a connect timeout, and therefore get the default value of 60s[1]. This
means that if one node is unavailable (due to VM pauses or other
issues), then it'll take up to 60 seconds before the next node is tried.
This is substantially longer than the clients will wait for a response,
causing an error to be returned to the user.

Setting this timeout to 1 second allows for failover to happen within
the client timeout. This also matches the value used in our app proxy
vhosts[2]. A healthy server should have no trouble establishing a TCP
connection in less than a second.

[1]http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout
[2]https://github.gds/gds/puppet/blob/master/modules/nginx/templates/proxy-vhost.conf#L49


<%
  link_args = defined?(link_to_arguments) ? link_to_arguments : {}
  page_link_url = refinery.url_for(page_link.url)
  # current_link is relative so check against the relative url portion before conditionally making it absolute
  linked = params[:current_link].present? && page_link_url == params[:current_link]
  page_link_url = "#{[request.protocol, request.host_with_port].join}#{page_link_url}" if Refinery::Pages.absolute_page_links
-%>
<li class='clearfix<%= " child#{child}" if child %><%= " linked" if linked%>' id="<%= dom_id(page_link) -%>">
  <%= link_to page_link.title_with_meta.html_safe, page_link_url, {
                :title => t('.link_to_this_page'),
                :rel => page_link.title,
                :class => 'page_link'
              }.merge(link_args) %>
</li>
<%= render :partial => 'page_link',
           :collection => page_link.children,
           :locals => {
             :child => (child ||= 0) + 1,
             :link_to_arguments => link_args
           } -%>

<%
  link_args = defined?(link_to_arguments) ? link_to_arguments : {}
  page_link_url = refinery.url_for(page_link.url)
  # current_link is relative so check against the relative url portion before conditionally making it absolute
  linked = params[:current_link].present? && page_link_url == params[:current_link]
  page_link_url = "#{[request.protocol, request.host_with_port].join}#{page_link_url}" if Refinery::Pages.absolute_page_links
-%>
<li class='clearfix<%= " child#{child}" if child %><%= " linked" if linked%>' id="<%= dom_id(page_link) -%>">
  <%= link_to page_link.title_with_meta.html_safe, controller.asset_host.nil? ? refinery.url_for(page_link.url) : "#{request.protocol}#{request.host_with_port}#{refinery.url_for(page_link.url)}",
              { :title => t('.link_to_this_page'),
              :rel => page_link.title,
              :class => 'page_link' }.merge(link_args) %>
</li>
<%= render :partial => 'page_link',
           :collection => page_link.children,
           :locals => {
             :child => (child ||= 0) + 1,
             :link_to_arguments => link_args
           } -%>

Fix compute_public_path use for rails 3.1 and use request's host for page links


Order <%= params[:id] %>

  <% if !@order.blank? %>
    <% @items.each do |item| %>

        <%= link_to item.name, item_path(item) %>
        <% if !item.image.blank? %>
            <img src="<%= item.image %>" height="100" width="100">
        <% else %>

        <%end%>

    <% end %>
  <% else %>
    This order is empty and you actually shouldn't be able to see this ..
  <% end %>

Add temporary basic CSS tags to order show page


<%= form_for(@user) do |f| %>

        <% if @user.errors.any? %>

<%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:

            <% @user.errors.full_messages.each do |message| %>

<%= message %>

            <% end %>

        <% end %>

      <%= f.label :email, 'Email:' %>
      <%= f.text_field :email %>

      <%= f.label :password, 'Password:' %>
      <%= f.password_field :password %>

      <%= f.label :password_confirmation, 'Confirm password:' %>
      <%= f.password_field :password_confirmation %>

      <%= f.label :title, 'Title:' %>
      <%= f.text_field :title %>

      <%= f.submit 'Sign up' %>

<% end %>

<%= form_for(@user) do |f| %>

        <% if @user.errors.any? %>

<%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:

            <% @user.errors.full_messages.each do |message| %>

<%= message %>

            <% end %>

        <% end %>

      <%= f.label :email, 'Email:' %>
      <%= f.text_field :email %>

      <%= f.label :password, 'Password:' %>
      <%= f.password_field :password %>

      <%= f.label :password_confirmation, 'Confirm password:' %>
      <%= f.password_field :password_confirmation %>

      <%= f.submit 'Sign up' %>

<% end %>

Remove 'title' from sign-up page

Remove 'title' from sign-up page


<%= notice %>

MasterControl Users

      Email

    <% @users.each do |user| %>

        <%= user.email %>@mastercontrol.com
        <%= link_to 'Show', user %>
        <%= link_to 'Edit', edit_user_path(user) %>

    <% end %>

<%= notice %>

MasterControl Users

        Email

      <% @users.each do |user| %>

          <%= link_to "#{user.email}@mastercontrol.com", user %>
          <%= link_to 'Edit', edit_user_path(user) %>

      <% end %>

Modify the User index to click on the user for the show page


Listing users

    Name
    Email
    Recent Activity
    <% if current_user.system_admin? %>
      Status
      System Admin

    <% end %>

<% @users.each do |user| %>

    <%= link_to user.name, user %>
    <%= user.email %>
    <%= recent_activity(user.last_sign_in_at) %>
    <% if current_user.system_admin? %>
      <%= user.status %>
      <%= user.system_admin? %>
      <%= link_to 'Edit', edit_user_path(user) %>

        <% unless current_user == user %>
          <%= link_to 'Destroy', user, :confirm => 'Are you sure?', :method => :delete %>
        <% end %>

    <% end %>

<% end %>

Listing users

    Name
    Email
    Recent Activity
    <% if current_user.system_admin? %>
      Status
      System Admin

    <% end %>

<% @users.each do |user| %>

    <%= link_to user.name, user %>
    <%= user.email %>
    <%= recent_activity(user.current_sign_in_at) %>
    <% if current_user.system_admin? %>
      <%= user.status %>
      <%= user.system_admin? %>
      <%= link_to 'Edit', edit_user_path(user) %>

        <% unless current_user == user %>
          <%= link_to 'Destroy', user, :confirm => 'Are you sure?', :method => :delete %>
        <% end %>

    <% end %>

<% end %>

Use current_sign_in_at instead of last_sign_in_at.


Rails Best Practices Results

rails_best_practices is a code metric tool for rails projects.

<% graph_name = 'rails_best_practices' %>
<% if MetricFu.configuration.graph_engine == :gchart %>
<img src="<%= graph_name %>.png?<%= Time.now.to_i %>" />
<% else %>
<canvas id="graph"></canvas>

<% end %>

    File Path
    Warning

  <% count = 0 %>
  <% @rails_best_practices[:problems].each do |problem| %>
    <tr class='<%= cycle("light", "dark", count) %>'>
      <%= link_to_filename(problem[:file], problem[:line]) %>
      <%= problem[:problem] %>

    <% count += 1 %>
  <% end %>

Generated on <%= Time.now.localtime %>

Rails Best Practices Results

rails_best_practices is a code metric tool for rails projects.

<% graph_name = 'rails_best_practices' %>
<% if MetricFu.configuration.graph_engine == :gchart %>
<img src="<%= graph_name %>.png?<%= Time.now.to_i %>" />
<% else %>
<canvas id="graph"></canvas>

<% end %>

    File Path
    Warning

  <% count = 0 %>
  <% @rails_best_practices[:problems].each do |problem| %>
    <tr class='<%= cycle("light", "dark", count) %>'>
      <%= link_to_filename(problem[:file], problem[:line]) %>
      <a href =<%= problem[:url] %>><%= problem[:problem] %>

    <% count += 1 %>
  <% end %>

Generated on <%= Time.now.localtime %>

Add a link, so the warning will now link to rails-bestpractices.com

This link provides a description and a solution to the problem.


    Question:
    <%= @response.question.prompt %>...

    Text:
    <%= @response.text %>

    <% @response.metrics.each do |k, v| %>

<%= "#{k}: #{v}"%>

    <% end %>

    <% @response.all_metrics.each do |k, v| %>

<%= "#{k}: #{v}"%>

    <% end %>

    <% @response.latest_metrics.each do |k, v| %>

<%= "#{k}: #{v}"%>

    <% end %>

  <%= link_to 'Edit', edit_response_path(@response) %> |
  <%= link_to 'Back', question_responses_path(@response.question_id) %>

    Question:
    <%= @response.question.prompt %>...

    Text:
    <%= @response.text %>

All Metrics

    <% @response.all_metrics.each do |k, v| %>

<%= "#{k}: #{v}"%>

    <% end %>

Latest Tags

    <% @response.latest_metrics.each do |k, v| %>

<%= "#{k}: #{v}"%>

    <% end %>

  <%= link_to 'Edit', edit_response_path(@response) %> |
  <%= link_to 'Back', question_responses_path(@response.question_id) %>

Clean up response analytics page

Clean up response analytics page


<div id="playlist" class="singleitem" data-itemid="<%= @playlist.id %>">
	<hgroup class="description">

<%= raw @playlist.name %>

	</hgroup>

			<%= @playlist.updated_at.strftime("%B %d, %Y") %>
			by <%= link_to(@playlist.user.display, user_path(@playlist.user)) %>

			<%= raw @playlist.formatted(:description) %>

	<%= render :partial => 'playlist_items/playlist_items_block_print', :locals => {:playlist => @playlist} %>

<div id="playlist" class="singleitem" data-itemid="<%= @playlist.id %>">
	<hgroup class="description">

<%= raw @playlist.name %>

	</hgroup>

			<%= @playlist.updated_at.strftime("%B %d, %Y") %>
			by <%= link_to(@playlist.user.display, user_url(@playlist.user)) %>

			<%= raw @playlist.formatted(:description) %>

	<%= render :partial => 'playlist_items/playlist_items_block_print', :locals => {:playlist => @playlist} %>

Use absolute URL for username link to play nicer with converted formats


<%= t('grade_entry_forms.edit.title') +
           " #{@grade_entry_form.short_identifier}" %>

<%= render partial: 'form' %>

<% content_for :title do %>
    <%= t('grade_entry_forms.edit.title') +
           " #{@grade_entry_form.short_identifier}" %>
<% end %>

<%= render partial: 'form' %>

Fix layout for spreadsheet edit form

Fix layout for spreadsheet edit form


<% extra_css_classes ||= "" %>
<div id="forcePublishModal", class="modal <%= extra_css_classes %>">

    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Why are you force publishing this‽

  <%= form_tag publish_admin_edition_path(@edition, lock_version: @edition.lock_version, force: true) do %>

      <%= text_area_tag :reason, "", rows: 7 %>

      <%= submit_tag "Force Publish", class: "btn-primary btn-warning" %>

  <% end %>

<% extra_css_classes ||= "" %>
<div id="forcePublishModal", class="modal <%= extra_css_classes %>">

    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Why are you force publishing this‽

  <%= form_tag publish_admin_edition_path(@edition, lock_version: @edition.lock_version, force: true) do %>

      <%= text_field_tag :reason %>

      <%= submit_tag "Force Publish", class: "btn-primary btn-warning" %>

  <% end %>

Fix force publish reason in ie8 by switching to an input

noone types essays into there anyway

The js casusing the issues is:
https://github.com/alphagov/whitehall/commit/f6b01f54c0f522119b1db65a8d5
d62a052438b18


<div id="skills_<%= level %>">
  <% # TODO: Remove skill %>
  <% # TODO: Move skill?? %>
  <% user.skills_by_level(level).each do |skill| %>
    <%= skill %>

  <% end %>

  <%= link_to_function "Add Skill", "Element.toggle('new_skill')" %>

    <% instance_variable_set "@user_skill", UserSkill.new(:level => level, :user_id => user.id)%>

    <% form_remote_for(:user_skill, @user_skill, :url => user_skills_path, :update => "skills_#{level}", :html => {:method => :post, :class => "new_user_skill", :id => "new_user_skill"}) do |f| %>

        <%= f.label "Skill" %>
        <%= f.text_field :skill_name %>
        <%= f.hidden_field :level %>
        <%= f.hidden_field :user_id %>
        <%= f.submit 'Add' %>

    <% end %>

<div id="skills_<%= level %>">
  <% # TODO: Remove skill %>
  <% # TODO: Move skill?? %>
  <% user.skills_by_level(level).each do |skill| %>
    <%= skill %>

  <% end %>

  <%= link_to_function "Add Skill", "Element.toggle('new_skill_#{level}')" %>

  <div id="new_skill_<%= level %>" style="display: none;">
    <% instance_variable_set "@user_skill", UserSkill.new(:level => level, :user_id => user.id)%>

    <% form_remote_for(:user_skill, @user_skill, :url => user_skills_path, :update => "skills_#{level}", :html => {:method => :post, :class => "new_user_skill", :id => "new_user_skill"}) do |f| %>

        <%= f.label "Skill" %>
        <%= f.text_field :skill_name %>
        <%= f.hidden_field :level %>
        <%= f.hidden_field :user_id %>
        <%= f.submit 'Add' %>

    <% end %>

Fix bug with non-uniq div ids for new skills


Set display_name on app-bar using JS.

Set display_name on app-bar using JS.


  <input type="text" name="<%= try(:name) %>" size="48" v-model="path" />

       0">
        <%= icon('fa-caret-right') %>

        {{ basename($value) }}

<%= icon("fa-folder") %><%= icon("fa-file-o") %>{{ basename(path) }}

{{ preview }}

  <input type="text" name="<%= try(:name) %>" size="48" v-model="path" disabled />

       0">
        <%= icon('fa-caret-right') %>

        {{ basename($value) }}

<%= icon("fa-folder") %><%= icon("fa-file-o") %>{{ basename(path) }}

{{ preview }}

Fix to disabled <input> of path

Fix to disabled <input> of path


<% content_for(:title, "Confirm Transaction") %>

<%= gather_form_for([@account, @transaction], width: :full,
  url: account_transactions_path(@account)) do |form| %>

  <%= hidden_field_tag :account_id, @account.id %>
  <%= hidden_field_tag :confirmed, "1" %>
  <%= form.hidden_field :incurred_on %>
  <%= form.hidden_field :code  %>
  <%= form.hidden_field :description %>
  <%= form.hidden_field :amount  %>

    Below is how the new transaction will appear on the household's statement.
    Transactions cannot be edited once they are created.
    Please verify the information below is correct.

      Household

        <%= @transaction.household_name %>

    <%= render("transactions/#{@transaction.chg_crd}_header") %>
    <%= render("transactions/#{@transaction.chg_crd}_row", txn: @transaction) %>

  <%= render("shared/confirm_buttons", f: f) %>
<% end %>

<% content_for(:title, "Confirm Transaction") %>

<%= gather_form_for([@account, @transaction],
      width: :full, url: account_transactions_path(@account)) do |f| %>

  <%= hidden_field_tag :account_id, @account.id %>
  <%= hidden_field_tag :confirmed, "1" %>
  <%= f.hidden_field :incurred_on %>
  <%= f.hidden_field :code  %>
  <%= f.hidden_field :description %>
  <%= f.hidden_field :amount  %>

    Below is how the new transaction will appear on the household's statement.
    Transactions cannot be edited once they are created.
    Please verify the information below is correct.

      Household

        <%= @transaction.household_name %>

    <%= render("transactions/#{@transaction.chg_crd}_header") %>
    <%= render("transactions/#{@transaction.chg_crd}_row", txn: @transaction) %>

  <%= render("shared/confirm_buttons", f: f) %>
<% end %>

Fix bug in transaction confirm page

Fix bug in transaction confirm page


<!doctype HTML>
<html>
  <head>
    <link href="http://maxcdn.bootstrapcdn.com/bootswatch/3.3.4/flatly/bootstrap.min.css" rel="stylesheet" >
    <title>Web</title>
  </head>
  <body>
    <%= yield %>
  </body>
</html>

<!doctype HTML>
<html>
  <head>
    <link href="//maxcdn.bootstrapcdn.com/bootswatch/3.3.4/flatly/bootstrap.min.css" rel="stylesheet" >
    <title>Web</title>
  </head>
  <body>
    <%= yield %>
  </body>
</html>

Remove http: from bootstrap cdn url

Remove http: from bootstrap cdn url


<%- if controller_name != 'sessions' %>
  <%= link_to "Sign in", new_session_path(resource_name) %>

<% end -%>

<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
  <%= link_to "Sign up", new_registration_path(resource_name) %>

<% end -%>

<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
  <%= link_to "Forgot your password?", new_password_path(resource_name) %>

<% end -%>

<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
  <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %>

<% end -%>

<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
  <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %>

<% end -%>

<%- if devise_mapping.omniauthable? %>
  <%- resource_class.omniauth_providers.each do |provider| %>
    <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %>

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

Remove "Sign in with {provider}" links.

Remove "Sign in with {provider}" links.


  <%= image_tag "cf_logo.png", id: "corner_logo" %>
  <% if user_signed_in? %>
    <%= render 'layouts/navbar_account' %>
  <% end %>

    <%= link_to "Partner Dashboard", root_path, class: "brand" %>
    <% if user_signed_in? %>
      <% if current_user.admin? %>
        <%= render 'layouts/navbar_admin_links' %>
      <% else %>
        <%= render 'layouts/navbar_links' %>
      <% end %>
    <% end %>

Make code fellows badge a link to code fellows home page


<%= form_for [@course, @folder], :html => { :class => 'form-horizontal' }, :url => :course_material_create, :method => :post do |f| %>

    <%= hidden_field_tag :type, :files  %>
    <%= f.submit nil, :class => 'btn btn-primary', data: {disable_with: "Submitting..."} %>
    <%= link_to t('.cancel', :default => t("helpers.links.cancel")),
                course_material_folders_url(@course, @folder), :class => 'btn' %>

<% end %>

<%= render partial: "layouts/file_uploader_complicated",
           locals: { owner: nil } %>

<%= render partial: "layouts/file_uploader_complicated",
           locals: { owner: nil } %>

<%= form_for [@course, @folder], :html => { :class => 'form-horizontal' } do |f| %>

    <%= f.submit "Done", :class => 'btn btn-primary', data: {disable_with: "Submitting..."} %>
    <%= link_to t('.cancel', :default => t("helpers.links.cancel")),
                course_material_folders_url(@course, @folder), :class => 'btn' %>

<% end %>

Move done/cancel buttons to below uploaded file listing, change text on button.


<%
  @title ||= :SEQUENCES.t

  tabs = create_links(@links)
  @tabsets = { right: draw_tab_set(tabs) }

  flash_error(@error) if @error && @objects.empty?
%>

<%= paginate_block(@pages) do %>

    <%# Following is a loop rather than a partial for performance reasons %>
    <% @objects.each do |object| %>

        <%= link_with_query(object.unique_format_name, object.show_link_args) %>

        <%= link_with_query(object.observation.unique_format_name.t,
                            object.observation.show_link_args) %>

        <% if object.deposit? %>
          <%= sequence_archive_link(object) %>: <%= sequence_accession_link(object) %>

        <% end %>
        <%= content_tag(:small, object.created_at.web_time) %>: <%= user_link(object.user) %>

    <% end %>

<% end %>

Delete stray close paren in index view code


##################################
define <%= @title %> {
		title=<%= @displayname %>
		desc=<%= @desc %>
		primary=<%= @primary %>
		info=<%= @info %>
		members=<% @members.each_pair do |key, value| -%><%= key -%><%if value['service'] %>;<%= "#{value['service']}" -%><% end %><% if value['opt'] %>;<%= "#{value['opt']}" -%><% end %>, <% end %>
		warning_threshold=<%= @warning_threshold %>
		critical_threshold=<%= @critical_threshold %>
		priority=<%= @priority %>
}

##################################
define <%= @title %> {
		title=<%= @displayname %>
		desc=<%= @desc %>
		primary=<%= @primary %>
		info=<%= @info %>
		members=<% @members.each do |item| -%><%= "#{item['host']}" -%><% if item['service'] %>;<%= "#{item['service']}" -%><% end %><% if item['opt'] %>;<%= "#{item['opt']}" -%><% end %>, <% end %>
		warning_threshold=<%= @warning_threshold %>
		critical_threshold=<%= @critical_threshold %>
		priority=<%= @priority %>
}

Handle BPI members as an array of hashes


Sign up

<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
  <%= devise_error_messages! %>

    <%= f.label :email %>

    <%= f.email_field :email, autofocus: true %>

    <%= f.label :password %>
    <% if @minimum_password_length %>
    (<%= @minimum_password_length %> characters minimum)
    <% end %>

    <%= f.password_field :password, autocomplete: "off" %>

    <%= f.label :password_confirmation %>

    <%= f.password_field :password_confirmation, autocomplete: "off" %>

    <%= f.submit "Sign up" %>

<% end %>

<%= render "devise/shared/links" %>

Sign up

<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
  <%= devise_error_messages! %>

    <%= f.label :username %>

    <%= f.text_field :username, autofocus: true %>

    <%= f.label :email %>

    <%= f.email_field :email %>

    <%= f.label :password %>
    <% if @minimum_password_length %>
    (<%= @minimum_password_length %> characters minimum)
    <% end %>

    <%= f.password_field :password, autocomplete: "off" %>

    <%= f.label :password_confirmation %>

    <%= f.password_field :password_confirmation, autocomplete: "off" %>

    <%= f.submit "Sign up" %>

<% end %>

<%= render "devise/shared/links" %>

Add username on sign up

Add username on sign up


CVMFS_REPOSITORIES=<%= @repositories -%>

CVMFS_QUOTA_LIMIT=<%= @quota_limit -%>
CVMFS_HTTP_PROXY="<%= @default_http_proxy -%>"
<% if @cache_base -%>
CVMFS_CACHE_BASE="<%= @cache_base -%>"
<% end -%>

CVMFS_REPOSITORIES=<%= @repositories -%>

CVMFS_QUOTA_LIMIT=<%= @quota_limit -%>
CVMFS_HTTP_PROXY="<%= @default_http_proxy -%>"
<% if @cache_base and @cache_base != '' -%>
CVMFS_CACHE_BASE="<%= @cache_base -%>"
<% end -%>

Fix condition for CVMFS_CACHE_BASE in template


set #comment[1] "This file managed by Puppet. Local changes will be overwritten"
set #comment[2] "during the next Puppet run."
<% if @plugin and not @plugin.empty? -%>
<%   plugin_path = "#{@plugin}.#{@plugin_extension}" -%>
set plugin[.='<%= plugin_path -%>'] <%= plugin_path %>
<%   unless @args == '' or @args == nil or @args.empty? -%>
set plugin[.='<%= plugin_path -%>']/args <%= @args -%>
<%   end -%>
<% end -%>

set #comment[1] "This file managed by Puppet. Local changes will be overwritten"
set #comment[2] "during the next Puppet run."
<% if @plugin and not @plugin.empty? -%>
<%   plugin_path = "#{@plugin}.#{@extension}" -%>
set plugin[.='<%= plugin_path -%>'] <%= plugin_path %>
<%   unless @args == '' or @args == nil or @args.empty? -%>
set plugin[.='<%= plugin_path -%>']/args <%= @args -%>
<%   end -%>
<% end -%>

Rename the extension variable in template

as we already did in the defined type..


        <title>canopy testing page</title>

	Not Done

Fix problem which caused this test to fail sometimes


<%= form_for [:admin, government], as: :government, html: {class: 'government-form'} do |government_form| %>
  <%= government_form.errors %>

<%= government_form.text_field :name, {placeholder: "eg 2005 to 2010 Labour government"} %>

<%= government_form.text_field :start_date, {placeholder: "eg 2005-05-06"} %>

  <% if government.end_date.present? %>

<%= government_form.text_field :end_date, {placeholder: "eg 2010-05-11"} %>

  <% elsif government.persisted? %>

      <%= link_to "Prepare to close this government", prepare_to_close_admin_government_path(government) %>

  <% end %>

    Warning: changes to government information will appear instantly on the live site.

  <%= government_form.save_or_cancel(cancel: admin_governments_path) %>
<% end %>

<%= form_for [:admin, government], as: :government, html: {class: 'government-form'} do |government_form| %>
  <%= government_form.errors %>

<%= government_form.text_field :name, {placeholder: "eg 2005 to 2010 Labour government"} %>

<%= government_form.text_field :start_date, {placeholder: "eg 2005-05-06"} %>

<%= government_form.text_field :end_date, {placeholder: "eg 2010-05-11"} %>

  <% if government.persisted? %>

      <%= link_to "Prepare to close this government", prepare_to_close_admin_government_path(government) %>

  <% end %>

    Warning: changes to government information will appear instantly on the live site.

  <%= government_form.save_or_cancel(cancel: admin_governments_path) %>
<% end %>

Allow setting the end date without ending the government.


<% can_delete = herbarium.curator?(@user) || in_admin_mode? %>

      <th colspan="<%= can_delete ? 2 : 1 %>">
        <%= pluralize(herbarium.curators.length, :herbarium_curator.t) + ":" %>

    <% herbarium.curators.each do |user| %>

        <% if can_delete %>

            <%= link_to("X ",
                  {action: :delete_curator, id: herbarium.id, user: user.id},
                  {data: {confirm: :are_you_sure.t}}) %>

        <% end %>

          <%= user_link(user, user.legal_name) %>

    <% end %>

<% can_delete = herbarium.curator?(@user) || in_admin_mode? %>

      <th colspan="<%= can_delete ? 2 : 1 %>">
        <%= pluralize(herbarium.curators.length, :herbarium_curator.t) + ":" %>

    <% herbarium.curators.each do |user| %>

        <% if can_delete %>

            <%= link_to("X ",
                  { action: :delete_curator, id: herbarium.id, user: user.id },
                  { data: { confirm: :are_you_sure.t } }) %>

        <% end %>

          <%= user_link(user, user.legal_name) %>

    <% end %>

Add some spaces for readability

Add some spaces for readability


    <%= link_to gravatar_for(donation.user, class: "img-circle col-xs-12") %>
    <%= link_to(fa("trash"), destroy_donation_path(donation)) if current_user == donation.user %>
    <%= link_to(fa("twitter"), "https://twitter.com/intent/tweet?text=Eu doei #{donation.amount} ml de sangue&hashtags=spreadblood", target: "_blank") if current_user == donation.user %>

       <%= datetime_ago(donation.donated_at) %>

      <%= link_to donation.user.at_username, donation.user %>
      doou <%= "#{donation.amount} ml" %> em <%= donation.location %>

<%= donation.comment.truncate(100) %>

  <%= fa "tint" %>

    <%= link_to gravatar_for(donation.user, class: "img-circle col-xs-12") %>
    <%= link_to(fa("trash"), destroy_donation_path(donation)) if current_user == donation.user %>
    <%= link_to(fa("twitter"), "https://twitter.com/intent/tweet?text=Eu doei #{donation.amount} ml de sangue&hashtags=spreadblood", target: "_blank") if current_user == donation.user %>

       <%= link_to(datetime_ago(donation.donated_at), "donations/#{donation.id}" ) %>

      <%= link_to donation.user.at_username, donation.user %>
      doou <%= "#{donation.amount} ml" %> em <%= donation.location %>

<%= donation.comment.truncate(100) %>

  <%= fa "tint" %>

Add link to domain url

[Template] Add link to domain url


<% content_for :page_title do %>
  Find a local guidance branch
<% end %>

    Enter a postcode to find the nearest branch.

  <form action="/local-branch-results" method="get" class="form">

      Post code
      <input type="text" class="form-control" id="postcode" name="postcode">

      <input type="submit" class="button" value="Search">

  </form>

<% content_for :page_title do %>
  Find a local guidance branch
<% end %>

    Enter a postcode to find the nearest branch.

  <form action="/local-branch-results" method="get" class="form">

      Post code
      <input type="text" class="form-control-1-8" id="postcode" name="postcode">

      <input type="submit" class="button" value="Search">

  </form>

Reduce size of post code input

Reduce size of post code input


      <% status_symbol = (criteria + "_status").to_sym %>
      <% justification_symbol = (criteria + "_justification").to_sym %>
      <% criteria_shortname = criteria.gsub("_", "-") %>

        <%= f.label status_symbol do %>
          <%= f.radio_button status_symbol, 'Met'%> Met
        <% end %>
        <%= f.label status_symbol do %>
          <%= f.radio_button status_symbol, 'Unmet' %> Unmet
        <% end %>
        <%= f.label status_symbol do %>
          <%= f.radio_button status_symbol, '?' %>  ?
        <% end %>
        <%= image_tag("/assets/Clear.gif", size: "20x20", id: criteria + "_enough") %>

         <%= desc %>
         <%= if !defined?(more).nil? then
              render(partial: "more", locals: {f: f,
                       criteria: criteria, more: more})
             end %>
         [<%= criteria_shortname %>]
         <%= f.text_field justification_symbol, class:"form-control", hide_label: true, placeholder:'Please explain' %>

      <% status_symbol = (criteria + "_status").to_sym %>
      <% justification_symbol = (criteria + "_justification").to_sym %>
      <% criteria_shortname = criteria.gsub("_", "-") %>

        <%= f.label status_symbol do %>
          <%= f.radio_button status_symbol, 'Met'%> Met
        <% end %>
        <%= f.label status_symbol do %>
          <%= f.radio_button status_symbol, 'Unmet' %> Unmet
        <% end %>
        <%= f.label status_symbol do %>
          <%= f.radio_button status_symbol, '?' %>  ?
        <% end %>
        <%= image_tag("/assets/Clear.gif", size: "20x20", id: criteria + "_enough") %>

         <%= desc %>
         <%= if !defined?(details).nil? then
              render(partial: "details", locals: {f: f,
                       criteria: criteria, details: details})
             end %>
         [<%= criteria_shortname %>]
         <%= f.text_field justification_symbol, class:"form-control", hide_label: true, placeholder:'Please explain' %>

Fix _status_chooser to match renamed "details"


#= require_self
#= require cable/consumer

@Cable =
  INTERNAL: <%= ActionCable::INTERNAL.to_json %>

  createConsumer: (url = @getConfig("url")) ->
    new Cable.Consumer webSocketURL(url)

  getConfig: (name) ->
    element = document.head.querySelector("meta[name='action-cable-#{name}']")
    element?.getAttribute("content")

  webSocketURL = (url) ->
    if url and not /^wss?:/i.test(url)
      a = document.createElement("a")
      a.href = url
      # in internet explorer, the next line properly populates the protocol
      a.href = a.href
      a.protocol = a.protocol.replace("http", "ws")
      a.href
    else
      url

#= require_self
#= require cable/consumer

@Cable =
  INTERNAL: <%= ActionCable::INTERNAL.to_json %>

  createConsumer: (url = @getConfig("url")) ->
    new Cable.Consumer @webSocketURL(url)

  getConfig: (name) ->
    element = document.head.querySelector("meta[name='action-cable-#{name}']")
    element?.getAttribute("content")

  webSocketURL: (url) ->
    if url and not /^wss?:/i.test(url)
      a = document.createElement("a")
      a.href = url
      # in internet explorer, the next line properly populates the protocol
      a.href = a.href
      a.protocol = a.protocol.replace("http", "ws")
      a.href
    else
      url

Fix URL helper object property

Fix URL helper object property


    <%= link_to 'Back to Pages', management_site_site_pages_path(@site.slug), class: 'c-button -outline -dark-text' %>

      <%= f.button (@page.enabled ? 'Unpublish' : 'Publish'), value: Management::PageStepsController::PUBLISH, type: 'submit', class: 'c-button js-submit' %>
      <%= link_to 'Go to live page', @page.url, target: '_blank', class: 'c-button' if @page.enabled  %>

    <%= link_to 'Back to Pages', management_site_site_pages_path(@site.slug), class: 'c-button -outline -dark-text' %>

      <%= f.button (@page.enabled ? 'Unpublish' : 'Publish'), value: Management::PageStepsController::PUBLISH, type: 'submit', class: 'c-button js-submit' %>
      <%= link_to 'Go to live page', @page.site.routes.first.host + @page.url, target: '_blank', class: 'c-button' if @page.enabled  %>

Fix URL link on page saving

Fix URL link on page saving


  Corporation Tax Rates

      Rates, limits and fractions for financial years starting 1 April

      Main rate of corporation tax

      Small companies' rate (SCR)

      Marginal small companies rate lower limit

      Marginal small companies rate upper limit

      Marginal small companies rate fraction

    %
    %
    £
    £

Mark up table header lines correctly in corporation tax.


<%= builder.check_box :_destroy, label: "Remove person" %>

About

    <% %i(
      first_name
      middle_name
      last_name
      cell_phone
      home_phone
      work_phone
      email
    ).each do |person_attribute| %>
      <%= builder.text_field person_attribute %>
    <% end %>
    <%= builder.text_field :ssn, label: "Social Security Number" %>

Address

    <%= builder.fields_for :residence do |residence_builder| %>
      <%= residence_builder.text_field :street, label: "Street Address" %>
      <%= residence_builder.text_field :city %>
      <%= residence_builder.text_field :state %>
      <%= residence_builder.text_field :zip, label: "Zip Code" %>
    <% end %>

Demographic

    <%= builder.date_field :dob, label: "Date of Birth" %>
    <% %i(
      gender
      race
      citizenship
      nationality
      student_status
      marital_status
      occupation
    ).each do |person_attribute| %>
      <%= builder.text_field person_attribute %>
    <% end %>

<%= builder.check_box :_destroy, label: "Remove person" %>

About

    <% %i(
      first_name
      middle_name
      last_name
      cell_phone
      home_phone
      work_phone
      email
    ).each do |person_attribute| %>
      <%= builder.text_field person_attribute %>
    <% end %>
    <%= builder.text_field :ssn, label: "Social Security Number" %>

Address

    <%= builder.fields_for :residence do |residence_builder| %>
      <%= residence_builder.text_field :street, label: "Street Address" %>
      <%= residence_builder.text_field :city %>
      <%= residence_builder.text_field :state %>
      <%= residence_builder.text_field :zip, label: "Zip Code" %>
    <% end %>

Demographic

    <%= builder.date_field :dob, label: "Date of Birth" %>
    <%= builder.collection_select :marital_status, ["", "Never married", "Married", "Widowed", "Divorced"], :to_s, :to_s %>
    <% %i(
      gender
      race
      citizenship
      nationality
      student_status
      occupation
    ).each do |person_attribute| %>
      <%= builder.text_field person_attribute %>
    <% end %>

Use a colection_select for marital status

Possible values are based on the US census.

Fixes #50


Rellenando el siguiente formulario puedes enviar un mensaje a todos tus representantes en el Europarlamento, pídeles que exijan al gobierno marroquí el cese de la violencia contra la población saharaui además de <%= link_to "tus demandas", root_url %>. Escríbeles lo que consideres oportuno pero sé respetuoso, solo de esta manera nuestras peticiones serán escuchadas.

By filling this form you will send an e-mail, in your own language, to
all of your country's representatives in the European Parliament. Ask them to require the
Moroccan government the cessation of all kind of violence against the
Sahrawi population, and <%= link_to "your own demands", root_url %>.
Please be polite in order to get your petitions heard.

Add intro in English to form

Add intro in English to form


<% content_tag(:li, :class => "template-item", :id => "template-item-#{tmpl.id}") do %>

  <span class="template-options" <%= 'style="display: none"' unless defined?(show) && show %> ;">
       <%= link_to_remote image_tag("trash.gif"), :url => tmpl, :method => :delete, :confirm => "Are you sure you want to delete template \"#{tmpl.name}\"?", :loading => "Status.show();", :complete => "Status.hide();" %>
    <%= link_to_remote "edit", :url => {:controller => 'print_templates', :action => 'edit', :id => tmpl.id}, :method => 'get' %>
  </span>

  <%= check_box_tag 'print_templates[]', tmpl.id, tmpl.default, :id => "template-checkbox-#{tmpl.id}" %>
  <%= label_tag "template-checkbox-#{tmpl.id}", tmpl.name %>

<% end %>

<% content_for :javascript do %>
$("#template-checkbox-<%= tmpl.id %>").bind("change", function() {
  Templates.updateSelection($(this));
});
<% end %>

<% content_tag(:li, :class => "template-item", :id => "template-item-#{tmpl.id}") do %>

  <span class="template-options" <%= 'style="display: none"' unless defined?(show) && show %> ;">
       <%= link_to_remote image_tag("trash.gif"), :url => tmpl, :method => :delete, :confirm => "Are you sure you want to delete template \"#{tmpl.name}\"?", :loading => "Status.show();", :complete => "Status.hide();" %>
    <%= link_to_remote "edit", :url => {:controller => 'print_templates', :action => 'edit', :id => tmpl.id}, :method => 'get' %>
  </span>

  <%= check_box_tag 'print_templates[]', tmpl.id, tmpl.default, :id => "template-checkbox-#{tmpl.id}" %>
  <%= label_tag "template-checkbox-#{tmpl.id}", tmpl.name %>

<% end %>

<% content_for :javascript do %>
<!-- click and keypress are also explicitly listed here, as IE does not behave properly for change events only :( -->
$("#template-checkbox-<%= tmpl.id %>").bind("change click keypress", function() {
  Templates.updateSelection($(this));
});
<% end %>

FIX - IE: added click and keypress event to checkboxes, so that the event gets properly fired.


      <%=_ 'User' %>
      <%=_ "Read" %>
      <%=_ 'Comment' %>
      <%=_ 'Work' %>
      <%=_ 'Close' %>
      <%=_ 'See unwatched' %>
      <%=_ 'Create' %>
      <%=_ 'Edit' %>
      <%=_ 'Assign' %>
      <%=_ 'Prioritize' %>
      <%=_ 'Milestones' %>
      <%=_ 'Reports' %>
      <%=_ 'Grant' %>
      <%=_ 'All' %>

    <% @project.users.each do |user| %>
      <% @user = user %>
      <%= render(:partial => "/users/project", :locals => {
      :name => @user.name, :project => @project, :user_edit => false }) %>
    <% end %>

        <%= _("Add user to project") %>

      <%= text_field :user, :name, {:id => "project_user_name_autocomplete", :value => "" } %>

      <%=_ 'User' %>
      <%=_ "Read" %>
      <%=_ 'Comment' %>
      <%=_ 'Work' %>
      <%=_ 'Close' %>
      <%=_ 'See unwatched' %>
      <%=_ 'Create' %>
      <%=_ 'Edit' %>
      <%=_ 'Assign' %>
      <%=_ 'Milestones' %>
      <%=_ 'Reports' %>
      <%=_ 'Grant' %>
      <%=_ 'All' %>

    <% @project.users.each do |user| %>
      <% @user = user %>
      <%= render(:partial => "/users/project", :locals => {
      :name => @user.name, :project => @project, :user_edit => false }) %>
    <% end %>

        <%= _("Add user to project") %>

      <%= text_field :user, :name, {:id => "project_user_name_autocomplete", :value => "" } %>

Fix bug in projects/edit/ 'Access To Project'. Columns were mixed up in some places, because was unnecessary name column- 'Prioritize'.


      <%= link_to object.name, object %>

      <%= object.description %>

      <%= link_to object.name, object %>

      <%= t 'time.ago', time: time_ago_in_words(object.updated_at) %>

Fix explore last active time

Fix explore last active time


<!DOCTYPE html>

<meta charset="utf-8">
<title>Dirserve</title>
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/app.css">

      <%= erb :breadcrumbs %>

      <%= yield %>

This directory brought to you by dirserver

<!DOCTYPE html>

<meta charset="utf-8">
<title>Dirserver: <%= basename(@requested_entry_path) %></title>
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/app.css">

      <%= erb :breadcrumbs %>

      <%= yield %>

This directory brought to you by dirserver

Add entry name to page title

Add entry name to page title


<%= render "govuk_publishing_components/components/radio", {
  name: "response",
  heading: question.title,
  hint: question.hint,
  id_prefix: "response",
  error_message: question.error,
  items: question.radio_buttons
} %>

<%= render "govuk_publishing_components/components/radio", {
  name: "response",
  heading: question.title,
  hint: question.hint,
  id_prefix: "response",
  description: question.body,
  error_message: question.error,
  items: question.radio_buttons
} %>

Move question body for multiple choice

Move question body for multiple choice

- use the description field of the component, otherwise body text can appear above the question, making it confusing


<%= form_for(@page) do |f| %>
  <% if @page.errors.any? %>

<%=t :errors_explanation, :scope => [:politwoops, :pages], :count => @page.errors.count %>

      <% @page.errors.full_messages.each do |msg| %>

<%= msg %>

      <% end %>

  <% end %>

    <%= f.label t(:title_label, :scope => [:politwoops, :pages]) %>:

    <%= f.text_field :title %>

    <%= f.label t(:language_label, :scope => [:politwoops, :pages]) %>:

    <%= select_tag(:language, options_for_select(I18n.available_locales.map { |loc| [loc, loc] })) %>

    <%= f.label t(:slug_label, :scope => [:politwoops, :pages]) %>:

    <%= f.text_field :slug %>

    <%= f.label t(:content_label, :scope => [:politwoops, :pages]) %>:

    <%= f.text_area :content %>

    <%= f.submit %>

<% end %>

<%= form_for(@page) do |f| %>
  <% if @page.errors.any? %>

<%=t :errors_explanation, :scope => [:politwoops, :pages], :count => @page.errors.count %>

      <% @page.errors.full_messages.each do |msg| %>

<%= msg %>

      <% end %>

  <% end %>

    <%= f.label t(:title_label, :scope => [:politwoops, :pages]) %>:

    <%= f.text_field :title %>

    <%= f.label t(:language_label, :scope => [:politwoops, :pages]) %>:

    <%= select_tag('page[language]', options_for_select(I18n.available_locales.map { |loc| [loc, loc] })) %>

    <%= f.label t(:slug_label, :scope => [:politwoops, :pages]) %>:

    <%= f.text_field :slug %>

    <%= f.label t(:content_label, :scope => [:politwoops, :pages]) %>:

    <%= f.text_area :content %>

    <%= f.submit %>

<% end %>

Fix forgetting language when creating pages


# OAuth with Google G Suite

Google's G Suite (previously Google Apps) can be used to authorize access to your Buildkite organization.

## Setting up OAuth

Setting up G Suite to log in to Buildkite is a short process, requiring an email to the Buildkite team and a test of the new login flow.

Self-service SSO provisioning in Buildkite is available via our GraphQL explorer. For further information, see the [GraphQL SSO Setup Guide](/docs/tutorials/sso-setup-with-graphql).

### Email the Buildkite team

Send an email to support@buildkite.com with the following information:

            Domain name

              The domain you use with Google G Suite for which you want to enable OAuth. This must match one of the emails you have verified with your Buildkite account.

            Organization slug

              The Buildkite organization for which you want to enable OAuth.

Ensure all members of the specified organization have an email address with that domain verified in their Buildkite account.

When we receive your email, the Buildkite team will:

1. Enable OAuth for the specified organization
1. Reply to your email and get you to test that it's all working
1. Deauthorize all the users in the organization, so that everyone will authorize via Google next time they attempt to access that organization on Buildkite.com

# OAuth with Google G Suite

Google's G Suite (previously Google Apps) can be used as an SSO provider for your Buildkite organization. To complete this tutorial, you will need admin privileges for Buildkite.

See the SSO Setup with GraphQL Guide for instructions on how to manually set up SSO yourself using GraphQL.

### Step 1. Email Buildkite Support

Send an email to support@buildkite.com with the following information:

            Domain name

              The domain you use with Google G Suite for which you want to enable OAuth. This must match one of the emails you have verified with your Buildkite account.

            Organization slug

              The Buildkite organization for which you want to enable OAuth.

When we receive your email, Buildkite support will set up SSO in test mode and reply with instructions for performing a test login.

### Step 3. Perform a Test Login

Follow the instructions sent by Buildkite support to perform a test login. Performing a test login will verify that SSO is working correctly, before it is activated for all your organization members.

### Step 4. Buildkite Support will Activate SSO

Once you've performed a test login, reply to the previous email and Buildkite support will activate SSO via Google for your entire Buildkite organization. Activating SSO will log out all of your organization’s members, to ensure that all data access is authorized through Google.

Change google to new layout

Change google to new layout


<% content_for :template, 'lawyer' %>

          <%= form_tag search_user_path, method: :get, id: "search-form", remote: true do %>

Hello, <%= current_user.first_name %>!

              <% if (current_user.permissions === 0) %>

                  <button id="search-button">Search</button>
                  <%= text_field_tag :q, "", :class => "form-control", autofocus: true, placeholder: "Find a tenant..." %>

              <% end %>

            <% if current_user.is_demo_user? %>

<%= "The Demo Lawyer cannot access data for actual users, and changes are automatically reset." %>

            <% end %>

          <% end %>

    <%= render_collaborators_for(current_user) %>

<% content_for :template, 'lawyer' %>

          <%= form_tag search_user_path, method: :get, id: "search-form", remote: true do %>

Hello, <%= current_user.first_name %>!

              <% if (current_user.permissions === 0) %>

                  <button id="search-button">Search</button>
                  <%= text_field_tag :q, "", :class => "form-control", placeholder: "Find a tenant..." %>

              <% end %>

            <% if current_user.is_demo_user? %>

<%= "The Demo Lawyer cannot access data for actual users, and changes are automatically reset." %>

            <% end %>

          <% end %>

    <%= render_collaborators_for(current_user) %>

Remove autofocus on search for advocates


<script type="text/javascript">

	$(document).ready(function() {

		transam.enable_date_pickers();

		transam.make_same_height('.form_part');
		transam.make_same_height('.header_part');

		transam.fix_thumbnail_margins(3, 'form_part');
		transam.fix_thumbnail_margins(4, 'header_part');
	});

</script>

<script type="text/javascript">

	$(document).ready(function() {

		transam.enable_date_pickers();

		transam.make_same_height('.form_part');
		transam.make_same_height('.header_part');
	});

</script>

Remove unused JS calls from asset event scripts


<% provide(:title, "Vorspieldetails") %>

<%= flag_tag @performance.competition.host.country.country_code %>
<%= @performance.competition.name %>

<%= @performance.category.name %>

Änderungscode: <%= @performance.tracing_code %>

Teilnehmer

<%= render @performance.appearances.role_order %>

Vorspielprogramm

<% @performance.pieces.each do |piece| %>
  <%= content_tag :p do %>
    <%= content_tag :strong, piece.composer.name %>
    <% unless piece.composer.born.blank? %>
      (<%= piece.composer.born %>–<%= piece.composer.died %>)
    <% end %>

    <%= piece.title %>

    <%= format_duration(piece.duration) %>, Epoche <%= info_badge_tag(piece.epoch.slug) %>
  <% end %>
<% end %>

Gesamtdauer: <%= format_duration(@performance.duration) %>

<%= link_to "Vorspiel bearbeiten", edit_jmd_performance_path(@performance), class: "btn" %>
<%= link_to "Alle Vorspiele des Wettbewerbs", jmd_competition_performances_path(@performance.competition), class: "btn" %>

<% provide(:title, "Vorspieldetails") %>

  <%= flag_tag @performance.competition.host.country.country_code %>
  <%= @performance.competition.name %>

  Kategorie: <%= @performance.category.name %>

  Änderungscode: <%= @performance.tracing_code %>

<%= l @performance.stage_time if @performance.stage_time %>

Teilnehmer

<%= render @performance.appearances.role_order %>

Vorspielprogramm

<% @performance.pieces.each do |piece| %>
  <%= content_tag :p do %>
    <%= content_tag :strong, piece.composer.name %>
    <% unless piece.composer.born.blank? %>
      (<%= piece.composer.born %>–<%= piece.composer.died %>)
    <% end %>

    <%= piece.title %>

    <%= format_duration(piece.duration) %>, Epoche <%= info_badge_tag(piece.epoch.slug) %>
  <% end %>
<% end %>

Gesamtdauer: <%= format_duration(@performance.duration) %>

  <%= link_to "Vorspiel bearbeiten", edit_jmd_performance_path(@performance), class: "btn" %>
  <%= link_to "Alle Vorspiele des Wettbewerbs", jmd_competition_performances_path(@performance.competition), class: "btn" %>

Add stage time to performance details, improve styling & wording


    <% if (name = contact.name).present? %>

Name:

<%= name %>

    <% end %>
    <% if (postal_address = contact.postal_address).present? %>

Postal address:

<%= format_postal_address postal_address %>

    <% end %>
    <% if (email_address = contact.email_address).present? %>

Email address:

<%= format_email_address email_address %>

    <% end %>
    <% if (website_url = contact.website_url).present? %>

Website URL:

<%= format_website_url website_url %>

    <% end %>
    <% if (opening_hours = contact.opening_hours).present? %>

Opening hours:

<%= format_opening_hours opening_hours %>

    <% end %>

Use core contact styling on contact details


      Name
      Point
      Photos
      Actions
      Upload

<%= link_to("Export Data",export_project_url(@items.first.project), :class=>"ink-button blue") %>

      Name
      Point
      Photos
      Actions
      Upload

Add link to export datas.

Add link to export datas.


    <%= render :partial => "status", :locals => { :paper => @paper } unless @paper.doi? %>
    <%= render :partial => "papers/admin", :locals => { :paper => @paper } if current_user %>

      <% if @paper.doi? %>
      <%= @paper.paper_body.html_safe %>
      <% else %>

<%= formatted_body(@paper) %>

Repository Address: <%= link_to @paper.repository_url, @paper.repository_url %>

Archive DOI: <%= link_to @paper.archive_doi, @paper.doi_with_url %>

      <% end %>

    <% unless @paper.doi? %>
    <%= render :partial => "status", :locals => { :paper => @paper } %>
    <%= render :partial => "papers/admin", :locals => { :paper => @paper } if current_user %>
    <% end %>

      <% if @paper.doi? %>
      <%= @paper.paper_body.html_safe %>
      <% else %>

<%= formatted_body(@paper) %>

Repository Address: <%= link_to @paper.repository_url, @paper.repository_url %>

Archive DOI: <%= link_to @paper.archive_doi, @paper.doi_with_url %>

      <% end %>

Hide review issue for accepted papers

Hide review issue for accepted papers


<!DOCTYPE html>

    <meta charset='utf-8'>
    <title><%= @filename %></title>
    <link rel="stylesheet" href="css/coco.css" type="text/css" />

      Index
      Wiki
      Source
      Web site

<%= @filename %>

<%= "#{Time.now}" %>

      <% @lines.each do |num, text, hit|%>
      <%   if hit.nil? %>

      <%   elsif hit.zero? %>

      <%   elsif hit > 0 %>

      <%   end %>

      <%= "
#{num}

#{text}
	" %>

      <% end%>

<!DOCTYPE html>

    <meta charset='utf-8'>
    <title><%= @filename %></title>
    <link rel="stylesheet" href="css/coco.css" type="text/css" />

      Index
      Wiki
      Source
      Web site

<%= @filename %>

<%= "#{Time.now}" %>

      <% @lines.each do |num, text, hit|%>
        <% hit_class = case hit; when nil; 'never'; when 0; 'miss'; else; 'hit'; end %>

        <tr class="<%= hit_class %>">
      <%= "
#{num}

#{text}
	" %>

      <% end%>

Simplify code for CSS class detection

Simplify code for CSS class detection


  <li class="pull-right dropdown<%= ' active' if active %>">
     Admin

<a href="<%= edit_group_path(group) %>"> Edit team

<a href="<%= group_path(group) %>" data-method="delete"> Delete team

      <% if Team.can_have_members?(group) -%>

<%= link_to t("views.groups.edit_memberships"), [group, :memberships] -%>

<%= link_to t("views.memberships.add_new_member"),
                new_group_membership_path(group) -%>

      <% end -%>

  <li class="pull-right dropdown<%= ' active' if active %>">
     Admin

<a href="<%= edit_group_path(group) %>"> Edit team

<a href="<%= group_path(group) %>" data-method="delete" data-confirm="Are you sure?"> Delete team

      <% if Team.can_have_members?(group) %>

<%= link_to t("views.groups.edit_memberships"), [group, :memberships] %>

<%= link_to t("views.memberships.add_new_member"),
                new_group_membership_path(group) %>

      <% end %>

Add confirmation to delete team button

Add confirmation to delete team button


Payments for <%= @account.name %>

<form class="form-inline" action="<%= account_payments_path(@account) %>" method="get">
  <input type="date" name="start_date" value="<%= @start_date %>">
  to
  <input type="date" name="end_date" value="<%= @end_date %>">
  <button type="submit" class="btn">Filter</button>
</form>

  <% @payments.each do |payment| %>
    <%= div_for payment, class: payment.state do %>
      <%= payment.account.name %>
      <%= payment.amount.format %>

        <%= "#{payment.camper.camp.name} - #{payment.camper.name}" %>

      <%= payment.state %>
      <%= payment.created_at.strftime("%b %-d, %Y") %>

    <% end %>
  <% end %>

Payments for <%= @account.name %>

<form class="form-inline" action="<%= account_payments_path(@account) %>" method="get">
  <input type="date" name="start_date" value="<%= @start_date %>">
  to
  <input type="date" name="end_date" value="<%= @end_date %>">
  <button type="submit" class="btn">Filter</button>
</form>

Total: <%= @payments.inject(Money.new(0)) { |sum, payment| sum += payment.amount }.format %>

  <% @payments.each do |payment| %>
    <%= div_for payment, class: payment.state do %>
      <%= payment.account.name %>
      <%= payment.amount.format %>

        <%= "#{payment.camper.camp.name} - #{payment.camper.name}" %>

      <%= payment.state %>
      <%= payment.created_at.strftime("%b %-d, %Y") %>

    <% end %>
  <% end %>

Add total of payments displayed

Add total of payments displayed


	<% @articles.each do |article| %>

<%= article.title %>

				<%= article.text %>

				<%= link_to 'Show', article_path(article) %> |
				<%= link_to 'Edit', edit_article_path(article) %> |
				<%= link_to 'Delete', article_path(article), method: :delete, data: { confirm: 'Are you sure?' } %>

	<% end %>

	<% @articles.each do |article| %>

<%= article.title %>

				<%= article.text %>

				<%= link_to 'Show', article_path(article) %>
				<% if article.author_id == current_user.id %>
					|<%= link_to 'Edit', edit_article_path(article) %>|
					<%= link_to 'Delete', article_path(article), method: :delete, data: { confirm: 'Are you sure?' } %>
				<% end %>

	<% end %>

Remove 'Edit' and 'Delete' link from NOT author articles


Discard

  <%= render partial: 'games/table/hand',
    locals: {
      player: @game_state.main_player,
      operation_type: "discard_card",
    }
  %>

The trump suit is:

  <%= @game.unicode_suit(@game_state.trump_suit) %>

Discard

  <%= render partial: 'games/table/hand',
    locals: {
      player: @game_state.main_player,
      operation_type: "discard_card",
      face_up: true,
    }
  %>

The trump suit is:

  <%= @game.unicode_suit(@game_state.trump_suit) %>

Set 'face_up' for 'hand' in 'discard' partial


<%= t '.lunch' %>
    <time datetime="<%= Date.today.to_s '%F' %>"><%= l Date.today, format: '%e %B' %></time>

<% cache ["lunch/#{I18n.locale}", Date.today] do %>

    <% @restaurants.each do |restaurant| %>

<%= restaurant[:name]%>

      <% restaurant[:meals].each do |meal| %>

<%= meal[:title] %>

<%= meal[:summary] %>

      <% end %>

    <% end %>

      <img src="<%= asset_path('chalmers-konferens.png') %>">

    <% @chalmers_restaurants.each do |restaurant| %>

<%= restaurant[:name]%>

      <% restaurant[:meals].each do |meal| %>

<%= meal[:title] %>

<%= meal[:summary] %>

      <% end %>

    <% end %>

<% end %>

<%= t '.lunch' %>
    <time datetime="<%= Date.today.to_s '%F' %>"><%= l Date.today, format: '%e %B' %></time>

<% cache ["lunch/#{I18n.locale}", Date.today] do %>

      <img src="<%= asset_path('chalmers-konferens.png') %>">

    <% @chalmers_restaurants.each do |restaurant| %>

<%= restaurant[:name]%>

      <% restaurant[:meals].each do |meal| %>

<%= meal[:title] %>

<%= meal[:summary] %>

      <% end %>

    <% end %>

    <% @restaurants.each do |restaurant| %>

<%= restaurant[:name]%>

      <% restaurant[:meals].each do |meal| %>

<%= meal[:title] %>

<%= meal[:summary] %>

      <% end %>

    <% end %>

<% end %>

Move einstein to the bottom of lunch

Move einstein to the bottom of lunch


<%= simple_form_for(@user) do |f| %>
  <%= action_links do %>
    <%= f.button :submit %>
    ou <%= link_to "Retourner à la liste", users_path %>
  <% end %>

      <%= tabular_errors @user %>
      <%= f.input :name, :required => true, :wrapper_class => "th" %>
      <%= f.input :provider, :collection => [["Cerbère CAS", "cas"]] %>
      <%= f.input :uid, :required => true, :input_html => { :style => "width:400px;" } %>

        <%= f.label :authentication_token, :class => "input" %>

          <%= @user.authentication_token %>
          <%= f.hidden_field :authentication_token %>
          <%= button_tag "Générer", :id => "generate-token", :class => "inline", :style => (@user.authentication_token.present? ? "display:none;" : nil) %>
          <%= button_tag "Supprimer", :id => "remove-token", :class => "inline", :style => (@user.authentication_token.blank? ? "display:none;" : nil) %>

<% end %>

<%= simple_form_for(@user) do |f| %>
  <%= action_links do %>
    <%= f.button :submit %>
    ou <%= link_to "Retourner à la liste", users_path %>
  <% end %>

      <%= tabular_errors @user %>
      <%= f.input :name, :required => true, :wrapper_class => "th" %>
      <%= f.input :provider, :collection => [["Cerbère CAS", "cas"]] %>
      <%= f.input :uid, :required => true, :input_html => { :style => "width:400px;" } %>

        <%= f.label :authentication_token, :class => "input" %>

          <%= @user.authentication_token %>
          <%= f.hidden_field :authentication_token %>
          <%= button_tag "Générer", :id => "generate-token", :class => "inline", :style => (@user.authentication_token.present? ? "display:none;" : nil) %>
          <%= button_tag "Supprimer", :id => "remove-token", :class => "inline", :style => (@user.authentication_token.blank? ? "display:none;" : nil),
                                      "data-confirm" => t(:text_are_you_sure) %>

<% end %>

Add confirmation message before token deletion in users/form


---
- job:
    name: trigger_data_sync_complete
    display-name: trigger_data_sync_complete
    project-type: freestyle
    description: "This job triggers the Data_Sync_Complete jobs on a remote Jenkins machine"
    logrotate:
        numToKeep: 10
    properties:
        - build-discarder:
            days-to-keep: 30
            artifact-num-to-keep: 5
    builders:
        - shell: |
            echo "Getting crumb..."
            CRUMB=$(curl https://ci_alphagov:$API_KEY@$HOSTNAME/crumbIssuer/api/json | jq --raw-output '. | .crumb')

            echo "Triggering post-sync job on $HOSTNAME"
            curl -f -H "Jenkins-Crumb:$CRUMB" -XPOST https://$API_USER:$API_KEY@$HOSTNAME/job/Data_Sync_Complete/build --data-urlencode json="{}"
    wrappers:
        - ansicolor:
            colormap: xterm
    parameters:
        - string:
            name: API_USER
            description: 'The remote API user'
            default: false
        - password:
            name: API_KEY
            description: 'The remote API key'
            default: false
        - string:
            name: HOSTNAME
            description: 'The hostname of the Jenkins instance to trigger the Data_Sync_Complete job on'
            default: false

---
- job:
    name: trigger_data_sync_complete
    display-name: trigger_data_sync_complete
    project-type: freestyle
    description: "This job triggers the Data_Sync_Complete jobs on a remote Jenkins machine"
    logrotate:
        numToKeep: 10
    properties:
        - build-discarder:
            days-to-keep: 30
            artifact-num-to-keep: 5
    builders:
        - shell: |
            echo "Getting crumb..."
            CRUMB=$(curl https://$API_USER:$API_USER_PASSWORD@$HOSTNAME/crumbIssuer/api/json | jq --raw-output '. | .crumb')

            echo "Triggering post-sync job on $HOSTNAME"
            curl -f -H "Jenkins-Crumb:$CRUMB" -XPOST https://$API_USER:$API_USER_PASSWORD@$HOSTNAME/job/Data_Sync_Complete/build --data-urlencode json="{}"
    wrappers:
        - ansicolor:
            colormap: xterm
    parameters:
        - string:
            name: API_USER
            description: 'The remote API user'
            default: false
        - password:
            name: API_USER_PASSWORD
            description: 'The remote API key'
            default: false
        - string:
            name: HOSTNAME
            description: 'The hostname of the Jenkins instance to trigger the Data_Sync_Complete job on'
            default: false

Fix broken params for trigger sync complete job


<% unless current_user %>

<%= link_to 'Login', new_session_path, class: 'pure-menu-link', id: 'login-modal-link' %>

<%= link_to 'Register', new_user_path, class: 'pure-menu-link', id: 'register-modal-link' %>

<% else %>

<%= link_to "#{current_user.username}", user_path(current_user), class: 'pure-menu-link' %>

<%= link_to "Groups", groups_path, class: 'pure-menu-link'%>

<%= link_to 'Logout', session_path(current_user), method: :delete, class: 'pure-menu-link' %>

<% end %>

Update _login partial with id 'login for cookies.


<% text_for :title do %>
  Reopen your business safely during coronavirus (COVID‑19)
<% end %>

<% text_for :meta_description do %>
  Employers that want to reopen their business have a legal responsibility to protect their employees and other people on site.

  Use this guidance to help you carry out a risk assessment and make sensible adjustments to the site and workforce.

  If you do not carry out a risk assessment, the Health and Safety Executive (HSE) or your local council can issue an enforcement notice.

  Employees can use this guidance to check what their workplace needs to do to keep people safe.

  This guidance is only for businesses that are allowed to reopen in England.
<% end %>

<% govspeak_for :body do %>
  Employers that want to reopen their business have a legal responsibility to protect their employees and other people on site.

  Use this guidance to help you carry out a risk assessment and make sensible adjustments to the site and workforce.

  If you do not carry out a risk assessment, the Health and Safety Executive (HSE) or your local council can issue an enforcement notice.

  Employees can use this guidance to check what their workplace needs to do to keep people safe.

  This guidance is only for businesses that are allowed to reopen in England.
<% end %>

<% text_for :title do %>
  Reopen your business safely during coronavirus (COVID‑19)
<% end %>

<% text_for :meta_description do %>
  Employers that want to reopen their business have a legal responsibility to protect their employees and other people on site.

  Use this guidance to help you carry out a risk assessment and make sensible adjustments to the site and workforce.

  If you do not carry out a risk assessment, the Health and Safety Executive (HSE) or your local council can issue an enforcement notice.

  Employees can use this guidance to check what their workplace needs to do to keep people safe.

  This guidance is only for businesses that are allowed to reopen in England.
<% end %>

<% govspeak_for :body do %>
  Employers that want to reopen their business have a legal responsibility to protect their employees and other people on site.

  Use this guidance to help you carry out a risk assessment and make sensible adjustments to the site and workforce.

  If you do not carry out a risk assessment, the Health and Safety Executive (HSE) or your local council can issue an enforcement notice.

  Employees can use this guidance to check what their workplace needs to do to keep people safe.

  This guidance is only for businesses that are allowed to reopen in England.

  If you are in Leicester or surrounding areas, check [Leicestershire coronavirus lockdown: areas and changes](https://www.gov.uk/government/news/leicestershire-coronavirus-lockdown-areas-and-changes) guidance.
<% end %>

Add link to local lockdown guidance for Leicester

This is for the Coronavirus business reopening flow.


<%= simple_form_for(@availability) do |f| %>
  <%= f.error_notification %>

    <%= f.association :person, collection: Person.active %>
    <%= f.input :status, :as => :select, :collection => Availability::STATUS_CHOICES %>
    <%= f.input :description %>

    <%= f.input :start_time, as: :string,
                input_html: { class: 'datetimepicker', size: 11,
                              value: format_datetime_value(f.object.start_time) } %>
    <%= f.input :end_time, as: :string,
                input_html: { class: 'datetimepicker', size: 11,
                              value: format_datetime_value(f.object.end_time) } %>

    <%= f.button :submit %>

<% end %>

<%= simple_form_for(@availability) do |f| %>
  <%= f.error_notification %>

    <%= f.association :person, collection: @people_collection %>
    <%= f.input :status, :as => :select, :collection => Availability::STATUS_CHOICES %>
    <%= f.input :description %>

    <%= f.input :start_time, as: :string,
                input_html: { class: 'datetimepicker', size: 11,
                              value: format_datetime_value(f.object.start_time) } %>
    <%= f.input :end_time, as: :string,
                input_html: { class: 'datetimepicker', size: 11,
                              value: format_datetime_value(f.object.end_time) } %>

    <%= f.button :submit %>

<% end %>

Use @people_collection for the person selector on the availabilites/_form partial.


Address: <%= object.location %>

Approximate number of racks: <%= object.racks %>

<%= link_to "See the rack", corral_path(object.id), class: "btn btn-primary" %>
<% if current_user.checked_in? %>
  <%= link_to "Check out", corral_checkouts_path(object.id), class: "btn btn-primary" %>
<% else %>
  <%= link_to "Check in", corral_checkins_path(object.id), class: "btn btn-primary" %>
<% end %>

Delete word address from infowindow for better scaling


Clear predict count background colour for a non predict/revert light.


---
title: PHP Buildpack
---

Use the PHP Buildpack with PHP applications including Wordpress, Cake, Symfony and Zend frameworks.

The PHP buildpack supports HHVM and PHP engines.

See the following topics:

* [Deploying and Developing PHP Applications](./gsg-php-usage.html)
* [PHP Buildpack Configuration](./gsg-php-config.html)
* [Composer](./gsg-php-composer.html)

The source for the buildpack is [here](https://github.com/cloudfoundry/php-buildpack).

## Buildpack Logging and Application Logging ##

The buildpack only runs during the staging process, and only logs
what is important to staging, such as what is being downloaded, what the
configuration is, and work that the buildpack does on your application.

The buildpack stops logging when the staging process finishes.
Application logging is a separate concern.

If you are deploying a PHP application, your application must write to STDOUT or STDERR to include its logs in the Loggregator stream.

See [Application Logging in Cloud Foundry](../../devguide/deploy-apps/streaming-logs.html).

---
title: PHP Buildpack
---

Use the PHP Buildpack with PHP applications including Wordpress, Cake, Symfony, and Zend frameworks.

The PHP buildpack supports HHVM and PHP engines.

See the following topics:

* [Deploying and Developing PHP Applications](./gsg-php-usage.html)
* [PHP Buildpack Configuration](./gsg-php-config.html)
* [Composer](./gsg-php-composer.html)

The source for the buildpack is [here](https://github.com/cloudfoundry/php-buildpack).

## Buildpack Logging and Application Logging ##

The buildpack runs only during the staging process. The buildpack logs
only what is important to staging, such as what is being downloaded, the
configuration, and work that the buildpack does on your application.

The buildpack stops logging when the staging process finishes.
Application logging is a separate concern.

If you are deploying a PHP application, your application must write to stdout or stderr to include its logs in the Loggregator stream.

See [Application Logging in Cloud Foundry](../../devguide/deploy-apps/streaming-logs.html).

Edit adding oxford comma, rephrase, format of 'stdout' and 'stderr'


class SeedTray
    constructor: () ->
        if window.Turbolinks != undefined
            $(window).on "page:change", => @ready()
        else
            $(@ready)
        @root = <%= Rails.application.class.to_s.split('::').first %>

    # Dynamically delegate ready to controller#action specific ready methods
    ready: =>
        #  Run the page specific ready code
        @delegate_ready()

        # Run the code that should run on every page.
        @site_wide_ready()

    delegate_ready: =>
        controller = $("[data-controller]").data("controller")
        action = $("[data-action").data("action")

        if @root[controller] && ready_defined(@root[controller])
            @root[controller].ready()
        else
            console.info "Skipped #{@root.name}.#{controller}.ready()."

        if @root[controller] && @root[controller][action] && ready_defined(@root[controller][action])
            @root[controller][action].ready()
            console.info "Executed #{@root.name}.#{controller}.#{action}.ready()."
        else
            console.info "Skipped #{@root.name}.#{controller}.#{action}.ready()."

    ready_defined: (object) ->
        object.ready != undefined

    site_wide_ready: ->

<%= Rails.application.class.to_s.split('::').first %>.delegator = new SeedTray()

<% app_name = Rails.application.class.to_s.split('::').first %>

class SeedTray
    constructor: () ->
        if window.Turbolinks != undefined
            $(window).on "page:change", => @ready()
        else
            $(@ready)
        @root = <%= app_name %>

    # Dynamically delegate ready to controller#action specific ready methods
    ready: =>
        #  Run the page specific ready code
        @delegate_ready()

        # Run the code that should run on every page.
        @site_wide_ready()

    delegate_ready: =>
        controller = $("[data-controller]").data("controller")
        action = $("[data-action").data("action")

        if @root[controller] && @ready_defined(@root[controller])
            @root[controller].ready()
        else
            console.info "Skipped #{@root.name}.#{controller}.ready()."

        if @root[controller] && @root[controller][action] && @ready_defined(@root[controller][action])
            @root[controller][action].ready()
            console.info "Executed #{@root.name}.#{controller}.#{action}.ready()."
        else
            console.info "Skipped #{@root.name}.#{controller}.#{action}.ready()."

    ready_defined: (object) ->
        object.ready != undefined

    site_wide_ready: ->

<%= app_name %>.delegator = new SeedTray()

Refactor application name code generator


  <fieldset class="file bg-upload">

      <%= f.text_field "files[][title]", label: "Title", class: "title", value: file.title, placeholder: t(:'dataset_file.name'), readonly: !file.id.nil? %>
      <%= f.text_area "files[][description]", label: "Description", class: "description", value: file.description, placeholder: t(:'dataset_file.description') %>
      <% if file.filename %>

              Current file

<%= link_to file.filename, file.gh_pages_url %> <%= f.check_box "Change file #{i}", label: "Change file", class: "change-file" %>

      <% else %>
        <%= f.file_field "files[][file]", label: "File", accept: ".csv" %>
      <% end %>
      <%= f.hidden_field("files[][id]", name: "files[][id]", value: file.id) if file.id %>

  </fieldset>

  <fieldset class="file bg-upload">

      <%= f.text_field "files[][title]", label: "Title", class: "title", value: file.title, placeholder: t(:'dataset_file.name'), readonly: !file.id.nil? %>
      <%= f.text_area "files[][description]", label: "Description", class: "description", value: file.description, placeholder: t(:'dataset_file.description') %>
      <% if file.dataset_file_schema %>

Warning This file has been validated against the schema <%= link_to file.dataset_file_schema.name, dataset_file_schema_path(file.dataset_file_schema) %>

      <% end %>
      <% if file.filename %>

              Current file

<%= link_to file.filename, file.gh_pages_url %> <%= f.check_box "Change file #{i}", label: "Change file", class: "change-file" %>

      <% else %>
        <%= f.file_field "files[][file]", label: "File", accept: ".csv" %>
      <% end %>
      <%= f.hidden_field("files[][id]", name: "files[][id]", value: file.id) if file.id %>

  </fieldset>

Add schema info to edit form

Add schema info to edit form


<%= tab :overview, :route => :admin %>
<%= tab :orders, :payments, :creditcard_payments, :shipments, :creditcards, :return_authorizations, {:url => admin_orders_path('q[s]' => 'completed_at desc')} %>
<%= tab :products , :option_types, :properties, :prototypes, :variants, :product_properties, :taxons %>
<%= tab :reports %>
<%= tab :configurations, :general_settings, :mail_methods, :tax_categories, :zones, :states, :payment_methods, :inventory_settings, :taxonomies, :shipping_methods, :trackers, :label => 'configuration' %>
<%= tab :users %>

Set default admin orders view to sort with most recent orders first


<%= form_for :account, url: "accounts" do |f| %>
  <%= f.text_field :email, class: "form-control", type: "email", placeholder: "Email address", required: "", autofocus: "" %>
  <%= f.password_field :password, class: "form-control", type: "password", placeholder: "Password", required: "" %>
  <%= f.submit "Sign in", class: "btn btn-lg btn-primary btn-block" %>
<% end %>

<%= form_for :account, url: "accounts" do |f| %>
  <%= f.text_field :email, class: "form-control", type: "email", placeholder: "Email address", required: "", autofocus: "" %>
  <%= f.password_field :password, class: "form-control", type: "password", placeholder: "Password", required: "" %>
  <%= f.password_field :password_confirm, class: "form-control", type: "password", placeholder: "Confirm Password", required: "" %>
  <%= f.submit "Sign in", class: "btn btn-lg btn-primary btn-block" %>
<% end %>

Add password confirm field on sign up form.


<% if flash[:login_error] %>

<%= flash[:login_error] %>

<% end %>

User Login

    <%= form_for :session, url: sessions_path do |f| %>

        <%= f.label :email %>
        <%= f.email_field :email %>

        <%= f.label :password %>
        <%= f.password_field :password %>

        <%= f.submit :Login %>

    <% end %>

Add line breaks to new sessions view.

Add line breaks to new sessions view.


# DO NOT EDIT - This file is being maintained by Chef

require "rubygems"

class Chef
  class Handler
    class Email < Chef::Handler
      attr_reader :config

      def initialize(config = {})
        @config = config
        @config[:from] ||= "root@openstreetmap.org"
        @config
      end

      def report
        if failed? && !exception.is_a?(SystemExit)
          subject = "Chef run failed on #{node.name}"
          message = "#{run_status.formatted_exception}\n"
        elsif elapsed_time > 300
          subject = "Chef run took #{elapsed_time} on #{node.name}"
          message = ""
        end

        return unless subject

        message << Array(backtrace).join("\n")

        require "pony"

        Pony.mail(:to => @config[:to], :from => @config[:from],
                  :subject => subject, :body => message, :via => :smtp)
      end
    end
  end
end

# DO NOT EDIT - This file is being maintained by Chef

require "rubygems"

class Chef
  class Handler
    class Email < Chef::Handler
      attr_reader :config

      def initialize(config = {})
        @config = config
        @config[:from] ||= "root@openstreetmap.org"
        @config
      end

      def report
        if failed? && !exception.is_a?(SystemExit)
          subject = "Chef run failed on #{node.name}"
          message = "#{run_status.formatted_exception}\n"
        elsif elapsed_time > 600
          subject = "Chef run took #{elapsed_time} on #{node.name}"
          message = ""
        end

        return unless subject

        message << Array(backtrace).join("\n")

        require "pony"

        Pony.mail(:to => @config[:to], :from => @config[:from],
                  :subject => subject, :body => message, :via => :smtp)
      end
    end
  end
end

Increase allowed time for chef runs

Increase allowed time for chef runs


<% content_for :html do %>

          <%= link_to koi_engine.dashboard_path, class: "logo-header" do %>
            <%= image_tag "koi/application/logo-katalyst.png", border: 0 %>
          <% end %>
          <%= render :partial => "layouts/koi/navigation" %>

      <%= content_for?(:body) ? yield(:body) : yield %>

          <button type="button" class="close" data-dismiss="modal">×</button>

What?

          <input class="input-xlarge" name="answer" koi:bind="answer" />

          <button type="button" name="cancel" class="btn close" data-dismiss="modal">Cancel</button>
          <button type="button" name="submit" class="space-r-1 btn btn-primary" data-dismiss="modal">Ok</button>

<% end %>

<%= render :file => 'layouts/koi/html' %>

Make some space between the bottom of the page and the window.


<%= stylesheet_link_tag 'suit-components-grid/index.css', 'suit-utils-size/index.css', 'suit-utils-position/index.css', 'modules/Event' %>

        <items-section id="section"></items-section>

  <%= render 'sidebar' %>

<%= stylesheet_link_tag params[:controller] %>

<%= include_gon %>

<%= javascript_load_dependencies([params[:controller]]) %>

<%= mount_riot_components do %>

<% end %>

Adjust in "items-section" in section to count correctly


<%= @title %>

  <% @board.each do |member| %>

      <% url = "/metrics/#{member['metric']}" %>
      <iframe src='<%= url %>?layout=bare&<%= query_string member %>' class='embed-responsive-item' width='100%' height='100%' frameBorder='0' scrolling='no'>

  <% end %>

Use Masonry's gutter setting for right hand margin


Hello <%= @user.name %>,

[A reply][mail-post-aaaaa] has been posted to [a thread you have
watched][mail-parent-aaaaa] on the PPC Board.

**Subject:** <%= @post.subject %>

**Author:** <%= @post.author %>

**Posted at:** <%= @post.created_at %>

<%= Sanitize.clean(@post.body, Sanitize::Config::RELAXED) || "" %>

<hr />

If you don't want to keep receiving emails about replies to "<%= @parent.subject %>", please go to [the post you watched][mail-parent-aaaaa] and click
"Disable reply emails".

[mail-post-aaaaa]: <%= post_url(@post, :only_path => false)  %>
[mail-parent-aaaaa]: <%= post_url(@parent, :only_path => false) %>

Remove random line break in on-reply mail


<% # Clients of this partial must supply the following variables:
   # comments
   # user
%>

<% comments.includes(:creator, :editor).each do |comment| %>
  <%= render :partial => 'commontator/comments/show',
             :locals => { :comment => comment,
                          :user => user } %>
<% end %>

<% # Clients of this partial must supply the following variables:
   # comments
   # user
%>

<div class="messages">
  <% comments.includes(:creator, :editor).each do |comment| %>
    <%= render :partial => 'commontator/comments/show',
               :locals => { :comment => comment,
                            :user => user } %>
  <% end %>
</div>

Put comments into scrollable div

Put comments into scrollable div


Delete submission?

    <% if @submission.reviews.empty? %>

<%= button_to "Delete", @submission, :method => :delete, :class => 'btn btn-primary' %>

    <% else %>

        Submission cannot be deleted because it has reviews.

    <% end %>

    <%= render 'submission_info_box' %>

<%= link_to :Cancel, @exercise %>

Delete submission?

    <% if @submission.reviews.empty? %>

<%= button_to "Delete", submission_path(@submission), :method => :delete, :class => 'btn btn-primary' %>

    <% else %>

        Submission cannot be deleted because it has reviews.

    <% end %>

    <%= render 'submission_info_box' %>

<%= link_to :Cancel, @exercise %>

Allow AplusSubmissions to be deleted

Allow AplusSubmissions to be deleted


  <dic class="list-group sidetiq-sidenav">
    <a href="<%= root_path %>sidetiq" class="list-group-item<%= current_path == 'sidetiq' ? ' active' : nil %>">

      Home

    <a href="<%= root_path %>sidetiq/#{@worker.name}/schedule" class="list-group-item<%= current_path == "sidetiq/#{@worker.name}/schedule" ? ' active' : nil %>">

      Job Schedule

    <a href="<%= root_path %>sidetiq/#{@worker.name}/history" class="list-group-item<%= current_path == "#{@worker.name}/history" ? ' active' : nil %>">

      Job History

Fix typo in worker navigation view partial.


  <%= render :partial => 'activities/time_ago',
             :locals => { :activity => activity } %>

  <%= render :partial => 'activities/comment',
             :locals => { :activity => activity } %>

  <%= render :partial => 'activities/like',
             :locals => { :activity => activity } %>

  <%= render :partial => 'activities/audience',
             :locals => { :activity => activity } %>

  <%= render :partial => 'activities/time_ago',
             :locals => { :activity => activity } %>

  <% if activity.direct_object.present? %>

    <%= render :partial => 'activities/comment',
               :locals => { :activity => activity } %>

    <%= render :partial => 'activities/like',
               :locals => { :activity => activity } %>

    <%= render :partial => 'activities/audience',
               :locals => { :activity => activity } %>

  <% end %>

Remove actions from follow activities

Remove actions from follow activities

Fixes #89


<% text_for :title do %>
  Diplomatic Business
<% end %>

<% govspeak_for :body do %>
  You won’t need a visa to come to the UK for a posting or to transit through the UK if you’re going to or returning from a posting in another country. You can still apply for an [exempt vignette](/exempt-vignette).

  Your partner or family members [may need a visa to join you](/government/collections/visa-application-forms-diplomats-and-official-visits).

  ##Government business

  You won’t need a visa to come to the UK on official government business for your country if you're a serving government minister. You can still apply for an [exempt vignette](/exempt-vignette).

  Your partner or family members [may need a visa to join you](/government/collections/visa-application-forms-diplomats-and-official-visits).
<% end %>

<% text_for :title do %>
  Diplomatic Business
<% end %>

<% govspeak_for :body do %>
  You will not need a visa to come to the UK for a posting or to transit through the UK if you’re going to or returning from a posting in another country.

  You can apply for an [exempt vignette](/exempt-vignette) to help you avoid delays when you enter the UK. Your partner or family members might also be able to apply.

  ##Government business

  You will not need a visa to come to the UK on official government business for your country if you’re a serving government minister.

  You can apply for an [exempt vignette](/exempt-vignette) to help you avoid delays when you enter the UK. Your partner or family members might also be able to apply.
<% end %>

Update diplomatic business outcome text

Update diplomatic business outcome text


This is an automated list of the projects that have achieved
a passing badge in <% @month %>.  We congratulate them all!

<% @projects.each do |project| %>

<a href="https://bestpractices.coreinfrastructure.org/projects/<%= project.id %>"><%= project.name %> at <%= project.achieved_passing_at %>
<% end %>

This is an automated list of the projects that have achieved
a passing badge in <%= @month %>.  We congratulate them all!

<% @projects.each do |project| %>

<a href="https://bestpractices.coreinfrastructure.org/projects/<%= project.id %>"><%= project.name %> at <%= project.achieved_passing_at %>
<% end %>

Fix display bug in monthly announcement

Fix display bug in monthly announcement


<% if !user_signed_in? %>

    <% if I18n.locale == :en %>
      <%= image_tag asset_path('flags/us.png'), class: 'locale-flag' %>
      English

    <% elsif I18n.locale == :es %>
      <%= image_tag asset_path('flags/es.png'), class: 'locale-flag' %>
      Español

    <% end %>

      <%= link_to url_for(locale: 'en') do %>
        <%= image_tag asset_path('flags/us.png'), class: 'locale-flag' %>
        English
      <% end %>

      <%= link_to url_for(locale: 'es') do %>
        <%= image_tag asset_path('flags/es.png'), class: 'locale-flag' %>
        Español
      <% end %>

<% end %>

Replace caret icon from glyphicons with caret icon from fontawesome, for better consistency.


Social Media Navigation

  <%= mail_to "mailto:downeydillon@gmail.com", itemprop:"email" do %>
    <%= image_tag("https://#{Rails.application.secrets.s3_host_name}/#{Rails.application.secrets.s3_bucket_name}/images/social-icons/gmail-64x64.png", width:"64", height:"64", alt:"Gmail link icon", id:"gmail-icon") %>
  <% end %>
  <%= link_to "https://github.com/downeyd27", itemprop:"url" do %>
    <%= image_tag("https://#{Rails.application.secrets.s3_host_name}/#{Rails.application.secrets.s3_bucket_name}/images/social-icons/github-64x64.png", width:"64", height:"64", alt:"Github link icon", class:"github-icon") %>
  <% end %>
  <%= link_to "https://www.linkedin.com/in/dillondowney", itemprop:"url" do %>
    <%= image_tag("https://#{Rails.application.secrets.s3_host_name}/#{Rails.application.secrets.s3_bucket_name}/images/social-icons/linkedin-64x64.png", width:"64", height:"64", alt:"Linkedin link icon", class:"linkedin-icon") %>
  <% end %>

Social Media Navigation

  <%= mail_to "mailto:downeydillon@gmail.com", itemprop:"email" do %>
    <%= image_tag("https://#{ENV["S3_HOST_ALIAS"]}/#{ENV["S3_BUCKET_NAME"]}/images/icons/gmail-64x64.png", width:"64", height:"64", alt:"Gmail link icon", id:"gmail-icon") %>
  <% end %>
  <%= link_to "https://github.com/downeyd27", itemprop:"url" do %>
    <%= image_tag("https://#{ENV["S3_HOST_ALIAS"]}/#{ENV["S3_BUCKET_NAME"]}/images/icons/github-64x64.png", width:"64", height:"64", alt:"Github link icon", class:"github-icon") %>
  <% end %>
  <%= link_to "https://www.linkedin.com/in/dillondowney", itemprop:"url" do %>
    <%= image_tag("https://#{ENV["S3_HOST_ALIAS"]}/#{ENV["S3_BUCKET_NAME"]}/images/icons/linkedin-64x64.png", width:"64", height:"64", alt:"Linkedin link icon", class:"linkedin-icon") %>
  <% end %>

Check ENV variable for image urls.

Check ENV variable for image urls.