Mathio Party

  <% if current_user %>
  	<%= link_to 'Logout', destroy_user_session_path, method: :delete %>
  	<% if !player2_logged_in? %>
  		<%= link_to 'Player 2 Login', players_new_path %>
  	<% else %>
  		<%= link_to 'Player 2 Logout', players_logout_path, method: :delete %>
  	<% end %>
  <% else %>
  	<%= link_to 'Login', new_user_session_path %>
  <% end %>

Mathio Party

  <% if current_user %>
  	<%= link_to 'Logout', destroy_user_session_path, method: :delete %>
  	<% if !player2_logged_in? %>
  		<%= link_to 'Player 2 Login', players_new_path %>
  	<% else %>
  		<%= link_to 'Player 2 Logout', players_logout_path, method: :delete %>
  	<% end %>
  <% else %>
  	<%= link_to 'Login', new_user_session_path %>
    <%= link_to 'Sign Up', new_user_registration_path  %>
  <% end %>

Add sign up link to nav bar

Add sign up link to nav bar


My Votes

			Number
			Title
			My Vote

				<% @votes.each do |vote| %>

						<%= link_to vote.item.number, item_path(vote.item) %>
						<%= link_to vote.item.title, item_path(vote.item) %>
						<td class="user-vote-<%=vote.vote.downcase %>">
							<%= vote.vote %>

				<% end %>

<%= paginate @votes %>

Fix Table Body Being In Error Spot In Table


## Description:
 The CF push has not been working for 5 minutes. <%= cloudops_pagerduty %>.

## Escalation Path:
  CAPI, Diego

## Possible Causes:
## Potential Solutions:

##Feedback:
 Have feedback for this alert? [File an issue](https://github.com/pivotal-cf/datadog-config/issues/new)

<%= environment %> CF: SLI is lower than 100% in the last 5 minutes.

Question: max(last_5m):avg:pws.cf_sli.app_start_status{deployment:<%= deployment %>} < 1

Add a page on SLI failure

Add a page on SLI failure

[#147240953] Page on SLI failure


All groups in <%= @neighborhood.title %>

    <% @neighborhood.groups.each do |group| %>

        <%= group.id %>
        <%= group.name %>
        <%= group.description %>
        <button>  <%=link_to 'Learn more', neighborhood_group_path(@neighborhood, group) %> </button>

    <% end %>

<%= link_to "Create new group", new_neighborhood_group_path(@neighborhood) %>

Add new show view for neighborhoods

Add new show view for neighborhoods


		<%= form_tag('/info', method: 'get') do %>
		<%= text_field_tag(:c, nil, placeholder: "Company Name") %>
		<%= submit_tag("Submit") %>
		<% end %>

Add error page for empty query parameter in gather action


  <%= link_to "Todas turmas", teams_path, remote: true,
                              id: "all-teams", class: "btn btn-default active" %>
  <%= link_to "Minhas turmas", teams_path(my_teams: true), remote: true,
                              id: "my-teams", class: "btn btn-default" %>

<% if can? :create, @team %>
  <%=link_to "Criar nova turma", new_team_path(@team),
                                  class: "btn btn-primary pull-right" %>
<% end %>

  <%= render 'teams' %>

<%= render "shared/paginate", object: @teams %>

  <%= link_to "Todas turmas", teams_path, remote: true,
                              id: "all-teams", class: "btn btn-default active" %>
  <%= link_to "Minhas turmas", teams_path(my_teams: true), remote: true,
                              id: "my-teams", class: "btn btn-default" %>

<% if can? :create, Team %>
  <%=link_to "Criar nova turma", new_team_path(@team),
                                  class: "btn btn-primary pull-right" %>
<% end %>

  <%= render 'teams' %>

<%= render "shared/paginate", object: @teams %>

Fix autorization to create Team in Team index view


Fax-Bericht

Erstellt: <%= Time.zone.now %>

    Fax
    Empfänger
    Erstellt
    Status
    Zustellversuche

  <% @faxes.each do |fax| %>
    <%= content_tag_for(:tr, fax, class: fax.state) do %>
      <%= content_tag(:td, class: 'title') do %>
        <%= link_to(fax.title, fax, target: '_blank') %>
      <% end %>
      <%= content_tag(:td, fax.phone, class: 'phone') %>
      <%= content_tag(:td, fax.created_at, class: 'created_at') %>
      <%= content_tag(:td, fax.state, class: 'state') %>
      <%= content_tag(:td, fax.delivery_attempts) %>
    <% end %>
  <% end %>

Fax-Bericht

Erstellt: <%= Time.zone.now %>

    Fax
    Empfänger
    Erstellt
    Status
    Zustellversuche

  <% @faxes.each do |fax| %>
    <%= content_tag_for(:tr, fax, class: fax.state) do %>
      <%= content_tag(:td, fax.title, class: 'title') %>
      <%= content_tag(:td, fax.phone, class: 'phone') %>
      <%= content_tag(:td, fax.created_at.to_date, class: 'created_at') %>
      <%= content_tag(:td, fax.state, class: 'state') %>
      <%= content_tag(:td, fax.delivery_attempts) %>
    <% end %>
  <% end %>

Tidy up fax report a bit.

Tidy up fax report a bit.


<%= render 'shared/js_config' %>
<%= render 'shared/icons/svg_icons_home' %>
<%= render 'shared/icons/svg_icons_social' %>
<%= render 'shared/navigate/default_navigate' %>
<%= render 'cover', title: @title, description: @desc %>
<%= render 'summary', cards: @summary %>
<%= render 'use_examples', uses: @uses %>
<%= render 'applications', apps: @apps %>
<%= render 'news' %>
<%= render 'shared/social' %>

Remove the old social component

Remove the old social component


<%= title('FAQ') %>

Frequently Asked Questions

        <%= render 'static_pages/faq/faq_accordion'%>

    <%= render 'shared/bottom_cta',
      button: chat_button,
      heading: 'Have a question?',
      sub_heading: 'Chat with our friendly Odin community in our Discord server!'
    %>

Add mx-auto class to faq page's heading

Add mx-auto class to faq page's heading


<% view = false unless view %>
<% edit = false unless edit %>

<%= @checklist.text %>

Directions:

<%= @checklist.directions %>

  <%= render :partial => 'checklists/question_definition', :collection=>@checklist.question_definitions, :locals=>{:view=>view,:edit=>edit} %>
<% unless  @checklist.checklist_definition.recommendation_definition %>

 Please submit a recommendation after completing the checklist.

<% end %>

Add reminder to complete recommendation after optional checklist.


You already voted '<%= @item.user_votes.where(user_id: current_user.id, item_id: @item.id).first.vote %>' for this agenda item

	<div class="past-vote <%=@past_vote.downcase %>-vote ">

You already voted '<%= @past_vote %>' for this agenda item

Add class to partial depending on user's past vote


<%= render layout: 'layouts/base' do %>

  <%= render 'components/breadcrumbs' %>

          <%= yield %>

<% end %>

Remove duplicate closing div from articles layout


<%= render "govuk_publishing_components/components/contents_list", {
  contents: [
    {
      text: "Biography",
      href: "#biography"
    },

    person.currently_in_a_role? ? {
      text: "Roles",
      href: "#current-roles"
    } : nil,

    person.has_previous_roles? ? {
      text: "Previous roles",
      href: "#previous-roles"
    } : nil,

    person.has_announcements? ? {
      text: "Announcements",
      href: "#announcements"
    } : nil,
  ].compact
} %>

<%= render "govuk_publishing_components/components/contents_list", {
  contents: [
    {
      text: "Biography",
      href: "#biography"
    },

    person.currently_in_a_role? ? {
      text: "Role",
      href: "#current-roles"
    } : nil,

    person.has_previous_roles? ? {
      text: "Previous roles",
      href: "#previous-roles"
    } : nil,

    person.has_announcements? ? {
      text: "Announcements",
      href: "#announcements"
    } : nil,
  ].compact
} %>

Change contents label to 'Role'

Change contents label to 'Role'

This matches the current behaviour in Whitehall.


<div id="project_<%= project.name %>" class="project build_<%= project.last_complete_build_status %>">

      <%= link_to project.name, project_path(project), :id => project.name %>

      <%= last_commit_avatar project -%>

      <%= render :partial => "builds/build_buttons", :locals => { :project => project } %>

      <%= link_to image_tag('rss_light.gif'), :action => 'show', :id => project.name, :format => 'rss' %>

    <% status = project.sleeping? ? project.last_complete_build_status : project.builder_state_and_activity %>

    <div class="project_status <%= status %>">
      <%= status.titleize %>

    <div class="status <%= project.last_complete_build_status %>">
      <%= project.last_complete_build_status.humanize %>

      <% if project.building? %>
        <%= link_to_build(project, project.last_build) %>
      <% elsif project.previously_built? %>
        <%= link_to_build_with_elapsed_time(project, project.last_complete_build) %>
      <% end %>

<div id="project_<%= project.name %>" class="project build_<%= project.last_complete_build_status %>">

      <%= link_to project.name, project_path(project), :id => project.name %>

      <%#= last_commit_avatar project -%>

      <%= render :partial => "builds/build_buttons", :locals => { :project => project } %>

      <%= link_to image_tag('rss_light.gif'), :action => 'show', :id => project.name, :format => 'rss' %>

    <% status = project.sleeping? ? project.last_complete_build_status : project.builder_state_and_activity %>

    <div class="project_status <%= status %>">
      <%= status.titleize %>

    <div class="status <%= project.last_complete_build_status %>">
      <%= project.last_complete_build_status.humanize %>

      <% if project.building? %>
        <%= link_to_build(project, project.last_build) %>
      <% elsif project.previously_built? %>
        <%= link_to_build_with_elapsed_time(project, project.last_complete_build) %>
      <% end %>

Disable the last commiter avatar. It takes a lot of time getting the git output and it breaks.


      Task name
      Time used
      Days Left
      <% if current_user.admin? %>
        User
      <% end %>

    <% tasks.each do |task| %>
      <% if task.overdue? %>
        <tr class="priority<%= task.priority %> overdue">
      <% else %>

      <% end %>
        <td class="swatch priority<%= task.priority %>">

	  <% if task.archived? %>
	    <input type="checkbox" id="task-<%= task.id %>" checked />
	  <% else %>
	    <input type="checkbox" id="task-<%= task.id %>" />
	  <% end %>

        <%= task.explicit_name %>
        <%= task.percent_time_used.round %>%
        <%= days_left(task.days_left) %>
        <% if current_user.admin? %>
          <%= task.user.username %>
        <% end %>

            <%= edit_btn edit_task_path(task) %>
            <%= delete_btn task %>

    <% end %>

Indent conditional task table row tag

Indent conditional task table row tag


<fieldset>
  <legend><%=_ "Work Times" %></legend>

  <% work = @task.user_work -%>
  <% users = work.keys.sort_by { |u| u.name } -%>
  <% users.each do |user| -%>

      <%= user.name %>
      <%= worked_nice(work[user]) %>

  <% end -%>

    <%= add_work_link(@task, "add new...") %>

</fieldset>

<fieldset>
  <legend><%=_ "Work Times" %></legend>

  <% work = @task.user_work -%>
  <% users = work.keys.sort_by { |u| u.name } -%>
  <% users.each do |user| -%>

      <%= user.name %>
      <%= worked_nice(work[user]/60) %>

  <% end -%>

    <%= add_work_link(@task, "add new...") %>

</fieldset>

Fix users work times bug

Fix users work times bug


      <%= t("admin.settings.setting") %>
      <%= t("admin.settings.setting_status") %>
      <%= t("admin.settings.setting_actions") %>

    <% features.each do |feature| %>

          <%= t("settings.#{feature.key}") %>

            <%= t("settings.#{feature.key}_description", default: t("admin.settings.no_description")) %>

          <% if feature.enabled? %>

                <%= t ("admin.settings.index.features.enabled") %>

          <% else %>

              <%= t("admin.settings.index.features.disabled") %>

          <% end %>

          <%= render "admin/settings/featured_settings_form", feature: feature, tab: tab %>

    <% end %>

      <%= t("admin.settings.setting") %>
      <%= t("admin.settings.setting_status") %>
      <%= t("admin.settings.setting_actions") %>

    <% features.each do |feature| %>

          <%= t("settings.#{feature.key}") %>

            <%= t("settings.#{feature.key}_description", default: t("admin.settings.no_description")) %>

          <% if feature.enabled? %>

                <%= t("admin.settings.index.features.enabled") %>

          <% else %>

              <%= t("admin.settings.index.features.disabled") %>

          <% end %>

          <%= render "admin/settings/featured_settings_form", feature: feature, tab: tab %>

    <% end %>

Apply ParenthesesAsGroupedExpression rule in ERB


Domain Tagging

<%= form_tag domain_tags_path, method: :get, class: 'form-inline' do %>
  <%= text_field_tag :filter, params[:filter], class: 'form-control input-sm' %>
  <%= submit_tag 'Search', class: 'btn btn-primary btn-sm' %>
<% end %>

      Tag
      Occurrences

    <% @tags.each do |t| %>

        #<%= t.name %>
        <%= @counts[t.id] || 0 %>
        <%= link_to 'Details', domain_tag_path(t) %>
        <% if user_signed_in? && current_user.has_role?(:core) %>
          <%= link_to 'Edit', edit_domain_tag_path(t) %>
        <% end %>
        <% if user_signed_in? && current_user.has_role?(:admin) %>
          <%= link_to 'Delete', destroy_domain_tag_path(t), method: :delete, class: 'text-danger',
                          data: { confirm: 'Are you sure?' } %>
        <% end %>

    <% end %>

Domain Tagging

<%= form_tag domain_tags_path, method: :get, class: 'form-inline' do %>
  <%= text_field_tag :filter, params[:filter], class: 'form-control input-sm' %>
  <%= submit_tag 'Search', class: 'btn btn-primary btn-sm' %>
<% end %>

      Tag
      Domains

    <% @tags.each do |t| %>

        #<%= t.name %>
        <%= @counts[t.id] || 0 %>
        <%= link_to 'Details', domain_tag_path(t) %>
        <% if user_signed_in? && current_user.has_role?(:core) %>
          <%= link_to 'Edit', edit_domain_tag_path(t) %>
        <% end %>
        <% if user_signed_in? && current_user.has_role?(:admin) %>
          <%= link_to 'Delete', destroy_domain_tag_path(t), method: :delete, class: 'text-danger',
                          data: { confirm: 'Are you sure?' } %>
        <% end %>

    <% end %>

Fix unclear heading on domain tags index


Hide progress bar by default.

Hide progress bar by default.


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

# Configuration File For Chef (chef-client)
#
# The chef-client program will connect the local system to the specified
# server URLs through a RESTful API to retrieve its configuration.

# Force the default external encoding to UTF-8

Encoding.default_external = Encoding::UTF_8

# Load supporting code for report handlers

require "/etc/chef/report"

# Log at level info

log_level :info

# Set the location of the log file

log_location "/var/log/chef/client.log"

# Don't verify SSL certificates

ssl_verify_mode :verify_none

# Set the URL for the chef server

chef_server_url "https://chef.openstreetmap.org"

# Create report handler

email_handler = Chef::Handler::Email.new(:to => "tom@compton.nu")

# Configure report handlers

exception_handlers << email_handler
report_handlers << email_handler

# Make our plugins visible to ohai

Ohai::Config[:plugin_path] << "/etc/chef/ohai"

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

# Configuration File For Chef (chef-client)
#
# The chef-client program will connect the local system to the specified
# server URLs through a RESTful API to retrieve its configuration.

# Force the default external encoding to UTF-8

Encoding.default_external = Encoding::UTF_8

# Load supporting code for report handlers

require "/etc/chef/report"

# Log at level info

log_level :info

# Set the location of the log file

log_location "/var/log/chef/client.log"

# Verify SSL certificates

ssl_verify_mode :verify_peer

# Set the URL for the chef server

chef_server_url "https://chef.openstreetmap.org"

# Create report handler

email_handler = Chef::Handler::Email.new(:to => "tom@compton.nu")

# Configure report handlers

exception_handlers << email_handler
report_handlers << email_handler

# Make our plugins visible to ohai

Ohai::Config[:plugin_path] << "/etc/chef/ohai"

Enable SSL certification verification in chef


<!DOCTYPE html>
<%= render '/refinery/html_tag' %>
  <% content_for :meta, "<meta refinerycms='#{Refinery.version}' />".html_safe %>
  <%= render 'refinery/admin/head' %>
  <body class="<%= action_name %> <%= I18n.locale %>">
    <%= render '/refinery/site_bar' %>

        <%= render 'refinery/admin/menu' %>

              <%= render '/refinery/no_script' %>
              <%= render '/refinery/message' %>

            <%= yield %>

<!DOCTYPE html>
<%= render '/refinery/html_tag' %>
  <% content_for :meta, tag(:meta, name: 'refinerycms', content: Refinery.version) %>
  <%= render 'refinery/admin/head' %>
  <body class="<%= action_name %> <%= I18n.locale %>">
    <%= render '/refinery/site_bar' %>

        <%= render 'refinery/admin/menu' %>

              <%= render '/refinery/no_script' %>
              <%= render '/refinery/message' %>

            <%= yield %>

Use tag helper for refinery meta in admin layout


server {

  listen      <%= @web_port %>;
  index       index.php;
  root        <%= @web_dir %>;
  server_name "";

  access_log /var/log/nginx/zabbix.access.log;

  location / {
    rewrite ^(.*)$ /index.php last;
  }

  location ~ .*\.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_read_timeout 60000;
    fastcgi_buffers 512 16k;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index   index.php;
    fastcgi_param PHP_VALUE "date.timezone='<%= @timezone %>'";
    fastcgi_param SCRIPT_FILENAME <%=@web_dir%>$fastcgi_script_name;
  }
}

server {

  listen      <%= @web_port %>;
  index       index.php;
  root        <%= @web_dir %>;
  server_name "";

  access_log /var/log/nginx/zabbix.access.log;

  location ~ .*\.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_read_timeout 60000;
    fastcgi_buffers 512 16k;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index   index.php;
    fastcgi_param PHP_VALUE "date.timezone='<%= @timezone %>'";
    fastcgi_param SCRIPT_FILENAME <%=@web_dir%>$fastcgi_script_name;
  }
}

Fix zabbix nginx site template so that css/js are rendered properly


---
title: Calendar
---

Calendar Of Events

Add corrected public calendar link

Add corrected public calendar link


Change blog name to default blog name

Change blog name to default blog name


      <form class="navbar-search pull-left">
        <input type="text" class="search-query" placeholder="Search">
      </form>

          <%= render 'devise/menu/registration_items' %>
          <%= render 'devise/menu/login_items' %>

      <form class="navbar-search pull-left">
        <%= form_tag notes_path, :method => 'get' do %>
          <%= text_field_tag :search, params[:search], :class => "search-query", :placeholder => "Search" %>
        <% end %>
      </form>

          <%= render 'devise/menu/registration_items' %>
          <%= render 'devise/menu/login_items' %>

Fix search field in navbar.

Fix search field in navbar.


<% @questions.each do |question| %>
<%= link_to question.title, question_path(question) %>
<% end %>

Add h3 tag to questions title links in layout


<% @movie_data.each do |movie| %>
  <%= link_to movies_path(movie_id: movie['id']), method: 'post', remote: true do %>
    <div data-movie-title='<%= movie['title'] %>' class="movie-card">
      <% @movie_post_url = "http://image.tmdb.org/t/p/w185#{movie['poster_path']}" %>

<%= image_tag @movie_post_url %>

<%= movie['title'] %>

  <% end %>
<% end %>

Fix open divs in movie partial.

Fix open divs in movie partial.


You may be able to register a civil partnership or get married at the British embassy or consulate in Peru.

[Make an appointment at the embassy in Lima.](https://www.book-consular-appointment.service.gov.uk/TimeSelection?location=125&service=10)

##What documents you’ll need

You need to have been living in Peru for 21 days. You and your partner will need to sign a declaration and provide proof of residence for example, an employer’s letter or a bank statement.

You’ll both need to bring your original passports. You’ll also need evidence that your partner is free to marry - a document from their government or their passport that says they are unmarried. If either of you have been divorced, widowed or in a civil partnership before, you’ll also need to provide:

- a [decree absolute or final order](/copy-decree-absolute-final-order)
- the [death certificate](/order-copy-birth-death-marriage-certificate/)

##What you need to do

At your appointment the embassy or consulate will give you:

-  a notice of registration
-  a declaration that you and your partner will need to swear, stating that you’re legally entitled to marry or enter into a civil partnership

Once you’ve completed these and paid the registration fee, the embassy or consulate will display your notice publicly for 14 days.

As long as nobody registers an objection you can get married or enter into a civil partnership up to 3 months after you gave notice.

You’ll need to bring two witnesses to your ceremony - they’ll need to show their photo ID (for example passport or driver’s licence).

You’ll need to pay a fee to register your marriage or civil partnership and a fee for your marriage or civil partnership certificate.

^All same-sex marriages must take place under English and Welsh or Scottish law even if you live in or are from Northern Ireland. Tell the embassy or consulate which law you want to get married under at your appointment.^

##Naturalisation of your partner if they move to the UK

Your partner can apply to [become a British citizen](/becoming-a-british-citizen/if-your-spouse-is-a-british-citizen) once they’ve lived in the UK for 3 years.

## Fees

<%= render partial: 'consular_fees_table_items',
    collection: calculator.services,
    as: :service,
    locals: { calculator: calculator } %>

You normally have to pay fees for consular services in the local currency - these are shown in the list of [consular fees for Peru](/government/publications/peru-consular-fees).

You can pay by cash or credit card, but not by personal cheque.

It’s not possible to get legal recognition for your same-sex relationship in Peru.

Remove same-sex option for Peru - Peru, local 1


  <% @gems.each do |name, version| %>

      <%= name %> (<%= version %>)
      gem install <%= name %> -v "<%= version %>"
      <form class="delete-form" method="post" action="/gems/<%= name %>-<%= version %>.gem">
        <input type="hidden" name="_method" value="DELETE" />
        <input type="submit" value="delete" />
      </form>

  <% end %>

Upload Another Gem

<% if @gems.any? %>
  Upload Another Gem

    <% @gems.each do |name, version| %>

        <%= name %> (<%= version %>)
        gem install <%= name %> -v "<%= version %>"
        <form class="delete-form" method="post" action="/gems/<%= name %>-<%= version %>.gem">
          <input type="hidden" name="_method" value="DELETE" />
          <input type="submit" value="delete" />
        </form>

    <% end %>

<% end %>

Upload Another Gem

Add another upload link at the top of the list.


Recent Articles

      <% blog.articles[0...5].each do |article| %>

          <%= link_to article.title, article %>

      <% end %>

Tags

      <% blog.tags.each do |tag, articles| %>

          <%= link_to "#{tag} (#{articles.size})", tag_path(tag),
              class: "badge no-hvr", id: "#{tag}" %>

      <% end %>

      <% project_tags().each do |tag, articles| %>
        <%= link_to "#{tag} (#{articles.size})", '/topics/' + tag,
              class: "badge no-hvr", id: "#{tag}" %>
      <% end %>

Recent Articles

      <% blog.articles[0...5].each do |article| %>

          <%= link_to article.title, article %>

      <% end %>

Tags

      <% blog.tags.each do |tag, articles| %>

          <%= link_to "#{tag} (#{articles.size})", tag_path(tag),
              class: "badge no-hvr #{tag}" %>

      <% end %>

Remove reference to project tags

Remove reference to project tags


set :domain, "<%=@domain%>"

set :branch, "<%=@branch%>"

set :app_parent_directory, "<%=@app_parent_directory %>"
set :deploy_to, "<%=@deploy_to%>"

set_default(:stage, "<%=@stage_name%>")
set_default(:stage_db_user, "<%=@application_name%>_<%=@stage_name%>"")

set :domain, "<%=@domain%>"

set :branch, "<%=@branch%>"

set :app_parent_directory, "<%=@app_parent_directory %>"
set :deploy_to, "<%=@deploy_to%>"

set_default(:stage, "<%=@stage_name%>")
set_default(:stage_db_user, "<%=@application_name%>_<%=@stage_name%>")

Remove extra double quotes in stages file


<%= image_tag @conference.logo_url if @conference.logo_url %>

<%= @conference.name%>

<%= link_to icon('external-link'), @conference.website_url%>

<%= @conference.location%>

<%= @conference.description %>

<%= link_to @conference.twitter_name, @conference.twitter_url %>

    <%= render partial: "twitter" %>
    <%= render @conference.tweets %>

<%= image_tag @conference.logo_url if @conference.logo_url %>

<%= @conference.name%>

<%= link_to icon('external-link'), @conference.website_url%>

<%= @conference.location%>

<%= @conference.description %>

<%= link_to @conference.twitter_name, @conference.twitter_url %>

CFP deadline

<%= @conference.call_for_proposals_ends_at %>

CFP URL

<%= @conference.call_for_proposals_url %>

Conference begin date

<%= @conference.starts_at %>

Conference end date

<%= @conference.ends_at %>

Speaker travel funding provided

<%= @conference.has_travel_funding %>

Speaker lodging funding provided

<%= @conference.has_lodging_funding %>

Speaker honorarium provided

<%= @conference.has_honorariums %>

Diversity scholarships available

<%= @conference.has_diversity_scholarships %>

Childcare available

<%= @conference.has_childcare %>

Code of conduct URL

<%= @conference.code_of_conduct_url %>

Speaker notification deadline

<%= @conference.speaker_notifications_at %>

Hashtag

<%= @conference.hashtag %>

    <%= render partial: "twitter" %>
    <%= render @conference.tweets %>

Allow organizers to edit more conference attributes


Our Organizers

    These are the groups that are sponsored and a main focus for Prairie I/O. They're doing awesome stuff and we're here to help.

<% if @organizers.count > 0 %>

    <% @organizers.each do |organizer| %>

          <%= link_to organizer do %>
            <%= image_tag organizer.logo %>
          <% end %>

          <%== organizer.description %> <%= link_to "Attend an #{organizer.name} event!", organizer.events.published.last %>

    <% end %>

<% end %>

Our Organizers

    These are the groups that are sponsored and a main focus for Prairie I/O. They're doing awesome stuff and we're here to help.

<% if @organizers.count > 0 %>

    <% @organizers.each do |organizer| %>

          <%= link_to organizer do %>
            <%= image_tag organizer.logo %>
          <% end %>

          <%== organizer.description %> <%= link_to "Learn more about #{organizer.name}.", organizer %>

    <% end %>

<% end %>

Change link to be a read more link.

Change link to be a read more link.


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

<%= raw @playlist.name %>

	</hgroup>

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

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

Move TOC to directly under playlist title


<%= form_for :chatparams, class: "form-signin", url: chatlog_path(@chat.id),:method => :patch, :remote => true, :html => { :id => "newpost"} do |f| %>
<%= f.text_field :post, :rows => 1, class: "form-control", placeholder: "Enter post" %>
<div align="center">
<%= submit_tag "Send", class: "btn btn-large btn-primary", style: "width: 200px;"  %>
</div>
<% end %>

<%= form_for :chatparams, class: "form-signin", url: chatlog_path(@chat),:method => :patch, :remote => true, :html => { :id => "newpost"} do |f| %>
<%= f.text_field :post, :rows => 1, class: "form-control", placeholder: "Enter post" %>
<div align="center">
<%= submit_tag "Send", class: "btn btn-large btn-primary", style: "width: 200px;"  %>
</div>
<% end %>

Fix bug that prevented posting to chat.

Fix bug that prevented posting to chat.


<div id='post_<%= post.id %>' class='post <%= cycle('odd', 'even') -%>'>

<%= post.user -%>

member for 3 months

<%= time_ago_in_words(post.created_at) -%> ago

    <%= post.text %>

    <% if current_user %>
      <%= link_to "Reply", new_topic_post_path(@topic, :reply_to_id => post.id) %>
      |
      <%= link_to "Delete", topic_post_path(@topic, post), :method => :delete, :confirm => "Are you sure?" %>
    <% end %>
    <% if post.reply_to %>
      <%= link_to "In reply to #{post.reply_to.user}", "#post-#{post.reply_to.id}" %>
    <% end %>

<div id='post_<%= post.id %>' class='post <%= cycle('odd', 'even') -%>'>

<%= post.user -%>

member for 3 months

<%= time_ago_in_words(post.created_at) -%> ago

      <%= post.text %>

    <% if post.reply_to %>
      <%= link_to "In reply to #{post.reply_to.user}", "#post-#{post.reply_to.id}" %>
    <% end %>

      <% if current_user %>

<%= link_to "Reply", new_topic_post_path(@topic, :reply_to_id => post.id) %>

<%= link_to "Delete", topic_post_path(@topic, post), :method => :delete, :confirm => "Are you sure?" %>

      <% end %>

Add better markup for posts.

[markup] Add better markup for posts.


Related content

  <% categories.each do |category| %>

        <%= link_to category.title, category.path %>

        <% category.contents.each do |article| %>

            <%= link_to article.title, article.path %>

        <% end %>

  <% end %>

Related content

  <% categories.each do |category| %>

        <%= category.title %>

        <% category.contents.each do |article| %>

            <%= link_to article.title, article.path %>

        <% end %>

<%= link_to 'View all...', category.path %>

  <% end %>

Add new HTML to the related links component


                  <%= presenter.full_name %>
                  <%= presenter.student.race %>
                  <%= presenter.sped %>
                  <%= presenter.limited_english_proficient %>
                  <% if @star.present? %>
                    <% unless controller_name == 'pages' && action_name == 'roster_demo' %>
                      <% star_result = presenter.student.star_results.last %>
                    <% else %>
                      <% star_result = StarResult.new(StarResult.fake_data) %>
                    <% end %>
                    <% present(star_result) do |result_presenter| %>
                      <%= render "students/star_row_fragment", star_presenter: result_presenter %>
                    <% end %>
                  <% end %>
                  <% if @mcas.present? %>
                    <% unless controller_name == 'pages' && action_name == 'roster_demo' %>
                      <% mcas_result = presenter.student.mcas_results.last %>
                    <% else %>
                      <% mcas_result = McasResult.new(McasResult.fake_data) %>
                    <% end %>
                    <% present(mcas_result) do |result_presenter| %>
                      <%= render "students/mcas_row_fragment", mcas_presenter: result_presenter %>
                    <% end %>
                  <% end %>

                  <%= presenter.full_name %>
                  <%= presenter.student.race %>
                  <%= presenter.sped %>
                  <%= presenter.limited_english_proficient %>
                  <% if @star.present? %>
                    <% unless controller_name == 'pages' && action_name == 'roster_demo' %>
                      <% star_result = presenter.student.star_results.last %>
                    <% else %>
                      <% star_result = StarResult.new(StarResult.fake_data) %>
                    <% end %>
                    <% if star_result.present? %>
                      <% present(star_result) do |result_presenter| %>
                        <%= render "students/star_row_fragment", star_presenter: result_presenter %>
                      <% end %>
                    <% end %>
                  <% end %>
                  <% if @mcas.present? %>
                    <% unless controller_name == 'pages' && action_name == 'roster_demo' %>
                      <% mcas_result = presenter.student.mcas_results.last %>
                    <% else %>
                      <% mcas_result = McasResult.new(McasResult.fake_data) %>
                    <% end %>
                    <% if mcas_result.present? %>
                      <% present(mcas_result) do |result_presenter| %>
                        <%= render "students/mcas_row_fragment", mcas_presenter: result_presenter %>
                      <% end %>
                    <% end %>
                  <% end %>

Add guards for missing assessment results


# Generated by Chef
description "Monit service manager"

limit core unlimited unlimited

start on runlevel [2345]
stop on runlevel [!2345]

expect daemon
respawn

pre-start script
    test -x <%= @binary %> || { stop; exit 0; }
    <%= @binary %> -t || { echo "invalid configuration syntax" ; stop; exit 0; }
end script

exec <%= @binary %> -c <%= @conf_file %>

pre-stop exec <%= @binary %> -c <%= @conf_file %> quit

# Generated by Chef
description "Monit service manager"

limit core unlimited unlimited

start on runlevel [2345]
stop on runlevel [!2345]

expect daemon
respawn

pre-start script
    test -x <%= @binary %> || { stop; exit 1; }
    <%= @binary %> -t || { echo "invalid configuration syntax" ; stop; exit 1; }
end script

exec <%= @binary %> -c <%= @conf_file %>

pre-stop exec <%= @binary %> -c <%= @conf_file %> quit

Exit with 1 to indicate something went wrong (syntax check)


<!DOCTYPE html>

  <title>Faxomat</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>

    Keine Panik: Die Faxe werden wieder verzögerungsfrei gesendet, auch wenn hier noch nix zu sehen ist. Hang on...

<%= yield %>

<!DOCTYPE html>
<html>
<head>
  <title>Faxomat</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

Remove warning message for users.

Remove warning message for users.


<%= t('nlt.hello_to', :recipient => @resource.email) %>

<%= t('devise.passwords.follow_instructions') %>

<%= link_to t('devise.passwords.action'), edit_password_url(@resource, :reset_password_token => @token) %>

Remove blank line from end of file

Remove blank line from end of file


## Handlebars Helpers

Habitat not only allows you to use [Handlebars-based](http://handlebarsjs.com) tunables in your plan, but you can also use both built-in Handlebars helpers as well as Habitat-specific helpers to define your configuration logic.

- [Built-in Helpers](#builtin-helpers)
- [Habitat Helpers](#habitat-helpers)

Built-in Helpers

<%= partial '/partials/docs/built-in-helpers'%>

Habitat Helpers

<%= partial "/partials/docs/reference-handlebars-helpers"%>

Make header more consistent in reference docs

Signed-off-by: David Aronsohn <e44d276949ba4ab4193cf1662f2d7af26a1537f2@Me.com>


# Merging from an upstream buildpack

## Introduction

The buildpacks team endeavours to provide current and dependable buildpacks. We mitigate risks by depending on
community-tested upstream buildpacks for patches. Doing so allows us to focus on offline capabilities. For example, the
[Cloud Foundry Ruby buildpack](http://github.com/cloudfoundry/cf-buildpack-ruby) is a fork of the
[Heroku Ruby buildpack](http://github.com/heroku/heroku-buildpack-ruby). Changes made to Heroku's buildpack are pulled down into ours.

## Strategy

To merge upstream buildpacks, please ensure you do not use 'git rebase' as you might when doing feature branches. This
approach is not sustainable, as you will need to confront the same merge conflicts over and over again.

Use the approach [outlined on github](https://help.github.com/articles/syncing-a-fork).

Migrate merging info from github.io to cf docs

[#73156178]


<% content_for :title, step_by_step.title %>

<% content_for :meta_tags do %>
  <meta name="description" content="<%= step_by_step.description %>">
<% end %>

    <%= render 'govuk_publishing_components/components/title',
        title: step_by_step.title,
        average_title_length: 'long',
        margin_bottom: 0 %>

<%= raw(step_by_step.introduction) %>

    <%= render "govuk_publishing_components/components/step_by_step_nav", step_by_step.payload_for_component %>

<% content_for :title, step_by_step.title %>

<% content_for :meta_tags do %>
  <meta name="description" content="<%= step_by_step.description %>">
<% end %>

    <%= render 'govuk_publishing_components/components/title',
        title: step_by_step.title,
        average_title_length: 'long',
        margin_bottom: 4 %>

    <%= render "govuk_publishing_components/components/govspeak", {
    } do %>
      <%= raw(step_by_step.introduction) %>
    <% end %>

    <%= render "govuk_publishing_components/components/step_by_step_nav", step_by_step.payload_for_component %>

Increase padding between title and intro text by 30px

## Changes
- Changes margin_bottom to option 4 for page title which adds margin of $gutter
- Removes raw HTML for govuk-govspeak in favour of component.

### Note
- Changes will require new version of components
- GovSpeak component has additional styling such as larger text and margin bottom. However this makes the page more readable.

## What
The intro text and page title are currently jammed together on the step by step overview page e.g. https://www.gov.uk/report-treasure-step-by-step

We should increase the padding between the two.

## Why
One of our goals this quarter is to optimise the user-facing step by step pattern.

Ticket: https://trello.com/c/rybSrXTF/699-increase-padding-between-title-and-intro-text-by-30px


<% title = t "head.title.works.show", title: @work.local_title %>
<% description = meta_description(t("head.meta.description.works.show", title: @work.local_title)) %>
<% keywords = meta_keywords(@work.title) %>
<% image_url = ann_image_url(@work.work_image, :image, size: "640x", ratio: "3:4") %>
<% set_meta_tags(title: title, description: description, keywords: keywords, og: { description: description, image: image_url }, twitter: { description: description, image: image_url }, reverse: true, prefix: false) %>

<c-work-detail></c-work-detail>

<% title = t "head.title.works.show", title: @work.local_title %>
<% description = meta_description(t("head.meta.description.works.show", title: @work.local_title)) %>
<% image_url = ann_image_url(@work.work_image, :image, size: "640x", ratio: "3:4") %>
<% set_meta_tags(title: title, description: description, og: { description: description, image: image_url }, twitter: { description: description, image: image_url }, reverse: true, prefix: false) %>

<c-work-detail></c-work-detail>

Remove keywords in meta tag

Remove keywords in meta tag


<% root_taxons.each do |root_taxon| %>
  <% root_taxon = TopicTreePresenter.new(root_taxon, collapsed: root_taxons.size > 1) %>

    <a class="<%= root_taxon.toggle_classes %>" data-toggle="collapse" href="#<%= root_taxon.content_id %>"><%= root_taxon.name %>

    <div class="<%= root_taxon.tree_classes %>" id="<%= root_taxon.content_id %>">
      <%= render partial: "sub_taxons", locals: {form: @edition_tag_form, taxons: root_taxon.children } %>

<% end %>

<% root_taxons.each do |root_taxon| %>
  <% root_taxon = TopicTreePresenter.new(root_taxon, collapsed: root_taxons.size > 1) %>

  <% if root_taxon.children.empty? %>
    <%= render partial: "sub_taxons", locals: { form: @edition_tag_form, taxons: [root_taxon] } %>
  <% else %>

      <a class="<%= root_taxon.toggle_classes %>" data-toggle="collapse" href="#<%= root_taxon.content_id %>"><%= root_taxon.name %>

      <div class="<%= root_taxon.tree_classes %>" id="<%= root_taxon.content_id %>">
        <%= render partial: "sub_taxons", locals: {form: @edition_tag_form, taxons: root_taxon.children } %>

  <% end %>
<% end %>

Allow tagging to singular root taxons

Allow tagging to singular root taxons


<%= semantic_form_for @resource, :url => edition_path(@resource), :as => :edition, :html => { :id => 'edition-form' } do |f| %>
  <%= f.inputs do %>
    <%= render :partial => 'shared/title_etc', :locals => {:f => f} %>
    <%= f.input :body,
                :as => :text,
                :hint => 'The body text is overwritten by the service feedback survey',
                :input_html => { :class => 'col-md-12', :disabled => 'disabled' } %>
  <% end %>
<% end %>

<%= semantic_form_for @resource, :url => edition_path(@resource), :as => :edition, :html => { :id => 'edition-form' } do |f| %>
  <%= f.inputs do %>
    <%= render :partial => 'shared/title_etc', :locals => {:f => f} %>

    <%= f.input :body,
                :as => :text,
                :hint => 'The body text is overwritten by the service feedback survey',
                :input_html => { :disabled => 'disabled' } %>

  <% end %>
<% end %>

Change bootstrap classes for completed transaction


<% provide(:title, @user.name) %>

Home

  <%= link_to 'Leave feedback', new_feedback_path %>

  <% @user.initiatives.each do |i| %>

<%= link_to i.name, i %>

      <% i.users.each do |x| %>
          <%= link_to x.name, x %>
          <% if x.privilege == 1 %>
              <%= x.telephone %>
          <% end %>
      <% end %>

<%= i.location %>

<%= i.description %>

  <% end %>

<% provide(:title, @user.name) %>

Home

  <%= @user.feedback_due %>
  <% if @user.feedback_due <= Date.today %>
      Your feedback was due <%= (Date.today - @user.feedback_due).to_i %> day(s) ago

      <%= link_to 'Leave feedback', new_feedback_path %>
  <% else %>
      Your feedback is due in <%= (@user.feedback_due - Date.today).to_i %> day(s)
  <% end %>

  <% @user.initiatives.each do |i| %>

<%= link_to i.name, i %>

      <% i.users.each do |x| %>
          <%= link_to x.name, x %>
          <% if x.privilege == 1 %>
              <%= x.telephone %>
          <% end %>
      <% end %>

<%= i.location %>

<%= i.description %>

  <% end %>

Format service users homepage to display when a feedback is due, and let them leave feedback if this date has been met.


#!/bin/bash
TIMEOUT=<%= @timeout %>
PORT=<%= @app_port %>

# FAILURE TIME TO DIE
function die {
  echo "ERROR: $1"
  exit 1
}

# Let the app server finish any open requests
function finish_requests {
 <%= @finished_requests_command %>
}

# Is the app currently running
function app_running {
  <%= @app_running_command %>
}

# Wait until the app is running
function app_up {
  # Give the app *at least* a minute to boot
  # (curl will wait 5 seconds per attempt)
  for i in {1..$TIMEOUT}
  do
    app_running && return
    status=$?
    sleep 1
  done

  return $status
}

# Remove Instance from the load balancer
<%= "#{@base_dir}/#{@remove_bin}" %>

# Allow open requests to finish
finish_requests

# Restart the application
<%= @restart_command %>

# Wait for the app to come back up or fail the restart
app_up || die "restart failed"

# Add Instance back into the load balancer
<%= "#{@base_dir}/#{@add_bin}" %>

#!/bin/bash
TIMEOUT=<%= @timeout %>
PORT=<%= @app_port %>

# FAILURE TIME TO DIE
function die {
  echo "ERROR: $1"
  exit 1
}

# Let the app server finish any open requests
function finish_requests {
 <%= @finished_requests_command %>
}

# Is the app currently running
function app_running {
  <%= @app_running_command %>
}

# Wait until the app is running
function app_up {
  # Give the app *at least* a minute to boot
  # (curl will wait 5 seconds per attempt)
  for i in {1..$TIMEOUT}
  do
    app_running && return
    status=$?
    sleep 1
  done

  return $status
}

# Remove Instance from the load balancer
<%= "#{@bin_dir}/#{@remove_bin}" %>

# Allow open requests to finish
finish_requests

# Restart the application
<%= @restart_command %>

# Wait for the app to come back up or fail the restart
app_up || die "restart failed"

# Add Instance back into the load balancer
<%= "#{@bin_dir}/#{@add_bin}" %>

Fix bin paths for lb add/remove scripts

Fix bin paths for lb add/remove scripts


<%= t('.sign_in', default: 'Sign in') %>

<%= form_for(resource, as: resource_name, url: session_path(resource_name), html: { role: 'form' }) do |f| %>

    <%= f.label :email %>
    <%= f.email_field :email, autofocus: true, class: 'form-control' %>

    <%= f.label :password %>
    <%= f.password_field :password, autocomplete: 'off', class: 'form-control' %>

  <% if devise_mapping.rememberable? %>

      <%= f.label :remember_me do %>
        <%= f.check_box :remember_me %> <%= t('.remember_me', default: 'Remember me') %>
      <% end %>

  <% end %>

    <%= f.submit  t('.sign_in', default: 'Sign in'), class: 'btn btn-primary' %>

<% end %>

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

<%= t('.sign_in', default: 'Sign in') %>

<%= form_for(resource, as: resource_name, url: session_path(resource_name), html: { role: 'form' }) do |f| %>

    <%= f.label :email %>
    <%= f.email_field :email, autofocus: true, class: 'form-control' %>

    <%= f.label :password %>
    <%= f.password_field :password, autocomplete: 'off', class: 'form-control' %>

  <% if devise_mapping.rememberable? %>

      <%= f.label :remember_me, class: 'form-check-label' do %>
        <%= f.check_box :remember_me, class: 'form-check-input' %>
        <%= t('.remember_me', default: 'Remember me') %>
      <% end %>

  <% end %>

    <%= f.submit  t('.sign_in', default: 'Sign in'), class: 'btn btn-primary' %>

<% end %>

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

Add styles to "Remember me" checkbox

Add styles to "Remember me" checkbox


<!DOCTYPE html>

    <title><%= yield :title %> - GOV.UK</title>
    <%= stylesheet_link_tag 'application' %>
    <%= stylesheet_link_tag 'print', :media => :print %>
    <%= yield :head %>
    <%= render 'govuk_publishing_components/components/meta_tags', content_item: @content_item %>
    <%= javascript_include_tag 'application.js', integrity: true, crossorigin: 'anonymous' %>
    <% if @meta_section %>
      <meta name="govuk:section" content="<%= @meta_section %>">
    <% end %>

      <%= render 'govuk_publishing_components/components/contextual_breadcrumbs', content_item: @content_item %>

          <%= yield %>

          <div class="app-o-related-container <%= yield :related_container_class %>">
            <%= render 'govuk_publishing_components/components/contextual_sidebar', content_item: @content_item %>

      <%= render 'govuk_publishing_components/components/feedback' %>

<!DOCTYPE html>

    <title><%= yield :title %> - GOV.UK</title>
    <%= stylesheet_link_tag 'application' %>
    <%= stylesheet_link_tag 'print', :media => :print %>
    <%= yield :head %>
    <%= render 'govuk_publishing_components/components/meta_tags', content_item: @content_item %>
    <%= javascript_include_tag 'application.js', integrity: true, crossorigin: 'use-credentials' %>
    <% if @meta_section %>
      <meta name="govuk:section" content="<%= @meta_section %>">
    <% end %>

      <%= render 'govuk_publishing_components/components/contextual_breadcrumbs', content_item: @content_item %>

          <%= yield %>

          <div class="app-o-related-container <%= yield :related_container_class %>">
            <%= render 'govuk_publishing_components/components/contextual_sidebar', content_item: @content_item %>

      <%= render 'govuk_publishing_components/components/feedback' %>

Change crossorigin from 'anonymous' to 'use-credentials'


upstream <%= name %>-ssl-proxy {
  server localhost:<%= @listen_port %>;
}

server {
  server_name <%= vhost %>  <%= aliases.join(" ") unless aliases.empty? %>;

  listen              443 ssl;
  ssl_certificate     /etc/nginx/ssl/<%= vhost %>.crt;
  ssl_certificate_key /etc/nginx/ssl/<%= vhost %>.key;
  include             /etc/nginx/ssl.conf;

  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;

  access_log /var/log/nginx/<%= vhost %>-access.log timed_combined;
  error_log /var/log/nginx/<%= vhost %>-error.log;

  location / {
<%- if @internal_only -%>
    # Only accept connnections from internal machines
    allow 10.0.0.0/8;
    allow 127.0.0.1;
    deny all;
<%- end -%>
    proxy_pass https://<%= name %>-ssl-proxy;
  }
}

upstream <%= name %>-ssl-proxy {
  server localhost:<%= @listen_port %>;
}

server {
  server_name <%= vhost %>  <%= aliases.join(" ") unless aliases.empty? %>;

  listen              443 ssl;
  ssl_certificate     /etc/nginx/ssl/<%= vhost %>.crt;
  ssl_certificate_key /etc/nginx/ssl/<%= vhost %>.key;
  include             /etc/nginx/ssl.conf;

  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;

  access_log /var/log/nginx/<%= vhost %>-access.log timed_combined;
  error_log /var/log/nginx/<%= vhost %>-error.log;

  location / {
<%- if @internal_only -%>
    # Only accept connnections from internal machines
    allow 10.0.0.0/8;
    # Office IP when on CDN02
    allow 80.194.52.34;
    # Office IP when on CDN02_test
    allow 80.194.77.100;
    allow 127.0.0.1;
    deny all;
<%- end -%>
    proxy_pass https://<%= name %>-ssl-proxy;
  }
}

Allow office IP to access app loadbalancers


<%= render partial: 'forums/forums/header', locals: { } %>

New Topic

<%= form_for @topic, url: course_forum_topics_path(@course, @forum),
             html: { class: 'form-horizontal' } do |f| %>
  <%= f.fields_for :posts do |post| %>
    <%= render partial: 'forums/posts/form', locals: { reply_to: nil, form: post }%>
  <% end %>

    <%= f.label :topic_type, class:"control-label" %>

      <%= f.select :topic_type, ForumTopic::TOPIC_TYPES.select {|t| can? t[2], @topic}, required: true, class: 'span7' %>

    <%= f.submit 'Create Topic', class: 'btn btn-primary' %>

<% end %>

<%= render partial: 'forums/forums/header', locals: { } %>

New Topic

<%= form_for @topic, url: course_forum_topics_path(@course, @forum),
             html: { class: 'form-horizontal' } do |f| %>
  <%= f.fields_for :posts do |post| %>
    <%= render partial: 'forums/posts/form', locals: { reply_to: nil, form: post }%>
  <% end %>

    <%= f.label :topic_type, class:"control-label" %>

      <%= f.select :topic_type, (ForumTopic::TOPIC_TYPES.select {|t| can? t[2], @topic}).map {|t| [t[0], t[1]]}, required: true, class: 'span7' %>

    <%= f.submit 'Create Topic', class: 'btn btn-primary' %>

<% end %>

Fix creation of questions; we always created topics previously.


URL:     <%= raw url_for_content(content) %>
Title:   <%= raw content.title %>
Authors: <%= raw content.node.user.try(:name) %>
<%- if content.respond_to? :edited_by -%>
         <%= raw content.edited_by.pluck(:name).to_sentence %>
<%- end -%>
Date:    <%= raw content.created_at.iso8601 %>
<%- if content.node.cc_licensed? -%>
License: CC by-sa
<%- end -%>
Tags:    <%= raw content.node.popular_tags.map(&:name).to_sentence %>
Score:   <%= raw content.score %>

URL:     <%= raw url_for_content(content) %>
Title:   <%= raw content.title %>
Authors: <%= raw content.node.user.try(:name) %>
<%- if content.respond_to? :edited_by -%>
         <%= raw content.edited_by.map(&:name).to_sentence %>
<%- end -%>
Date:    <%= raw content.created_at.iso8601 %>
<%- if content.node.cc_licensed? -%>
License: CC by-sa
<%- end -%>
Tags:    <%= raw content.node.popular_tags.map(&:name).to_sentence %>
Score:   <%= raw content.score %>

Fix show news as markdown

Fix show news as markdown


All Subscribers

<% @subscribers.each do |subscriber| %>

    <%= link_to h(subscriber.name), edit_subscriber_path(subscriber) %>
    <%= mail_to h(subscriber.email) %>

			<%= check_box_tag "subscriber[admin][#{subscriber.id}]", "1", subscriber.admin,
			:onclick => remote_function(
		  		:url => url_for(toggle_administrator_subscriber_path(subscriber)),
		  		:method => :put,
		  		:before => "Element.show('spinner-admin-#{subscriber.id}')",
		  		:complete => "Element.hide('spinner-admin-#{subscriber.id}')",
		  		:with => "this.name + '=' + this.checked"),
			:disabled => subscriber == current_user %>
			<%= label_tag "subscriber[admin][#{subscriber.id}]", 'Administrator' %>
			<%= image_tag 'spinner.gif', :id => "spinner-admin-#{subscriber.id}", :style => 'display: none' %>

<% end %>

<%= link_to 'New subscriber', new_subscriber_path %>

All Subscribers

<% @subscribers.each do |subscriber| %>

    <%= link_to h(subscriber.name), edit_subscriber_path(subscriber) %>
    <%= mail_to h(subscriber.email) %>

			<%= check_box_tag "subscriber[admin]", "1", subscriber.admin,
			:onclick => remote_function(
		  		:url => url_for(toggle_administrator_subscriber_path(subscriber)),
		  		:method => :put,
		  		:before => "Element.show('spinner-admin-#{subscriber.id}')",
		  		:complete => "Element.hide('spinner-admin-#{subscriber.id}')",
		  		:with => "this.name + '=' + this.checked"),
			:disabled => subscriber == current_user %>
			Administrator
			<%= image_tag 'spinner.gif', :id => "spinner-admin-#{subscriber.id}", :style => 'display: none' %>

<% end %>

<%= link_to 'New subscriber', new_subscriber_path %>

Fix regression with the label tag, remove it for now


<% content_for :head do %>
  <title><%= Settings.application.name %> - <%= t(:login) %></title>
<% end %>

<%= t(:login) %>

<% form_for @user_session do |f| %>
  <%= f.error_messages %>

<%= f.label t(:login_or_email) %>
<%= f.text_field :login %>

<%= f.label t(:password) %>
<%= f.password_field :password %>

<%= f.submit "Login" %>

<% end %>

Add title for the Login page

Add title for the Login page


  <% unless campaign.filename.blank? %>
    <a href="<%= campaign.link %>" title="<%= campaign.name %>" class="greed_img"><img src="<%= host_with_port + campaign.filename %>" />
    <% unless campaign.description.blank? %>

<%= campaign.description %>

    <% end %>
  <% else %>

<a href="<%= campaign.link %>"><%=h campaign.name %>

    <% unless campaign.description.blank? %>

<%= campaign.description %>

    <% end %>
  <% end %>

Modify the ad HTML to be a little more flexible


<%= notice %>

<%= image_tag @user.image_url %>

  Name:
  <%= @user.name %>

  Email:
  <%= @user.email %>

<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', root_path %>

<%= link_to "New Question", question_path %>

<%= notice %>

<%= image_tag @user.image_url %>

  Name:
  <%= @user.name %>

  Email:
  <%= @user.email %>

<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', root_path %>

<%= link_to "New Question", new_question_path %>

Fix path for new question

Fix path for new question


<% content_for(:title, "Households") %>

<% content_for(:top_buttons) do %>
  <% if policy(Household.new(community: current_community)).create? %>
    <%= link_to(icon_tag("plus") << " Create Household", new_household_path, class: "btn btn-primary") %>
  <% end %>
<% end %>

<% if @households.empty? %>

    No households found.

<% else %>

      Name
      <% if multi_community? %>
        Community
      <% end %>
      Unit #
      Users

    <% @households.each do |household| %>
      <tr class="<%= household.active? ? "" : "inactive" %>">

          <% if policy(household).show? %>
            <%= link_to(household.name, household) %>
          <% else %>
            <%= household.name %>
          <% end %>

        <% if multi_community? %>
          <%= household.community_name %>
        <% end %>

          <%= household.unit_num_and_suffix %>

          <%= load_showable_users_and_children_in(household).map(&:link).reduce(&sep(", ")) %>

    <% end %>

  <%= paginate @households %>
<% end %>

<% content_for(:title, "Households") %>

<% content_for(:top_buttons) do %>
  <% if policy(Household.new(community: current_community)).create? %>
    <%= link_to(icon_tag("plus") << " Create Household", new_household_path, class: "btn btn-primary") %>
  <% end %>
<% end %>

<% if @households.empty? %>

    No households found.

<% else %>

      Name
      Unit #
      Users

    <% @households.each do |household| %>
      <tr class="<%= household.active? ? "" : "inactive" %>">

          <% if policy(household).show? %>
            <%= link_to(household.name, household) %>
          <% else %>
            <%= household.name %>
          <% end %>

          <%= household.unit_num_and_suffix %>

          <%= load_showable_users_and_children_in(household).map(&:link).reduce(&sep(", ")) %>

    <% end %>

  <%= paginate @households %>
<% end %>

229: Remove community column from households page


<% unless flash.blank? -%>

    <% flash.each do |key, value| -%>
      <div id="flash_<%= key %>"><%=h value %>

    <% end -%>

<% end -%>

Hide the flash div if it's empty

Hide the flash div if it's empty


search results: <%= @results.length %>

	<% @results.each do |item| %>

		<a href="#school-info-section" class="page-scroll" data-loc="<%= item.location_id%>" data-school-id="<%= item.id  %>" data-dbn="<%= item.dbn%>" data-school="<%= item.school  %>" data-district="<%= item.district_name %>" data-assembly="<%= item.assembly_district  %>" data-senate="<%= item.senate_district %>" data-enrollment="<%= item.total_enrollment %>" data-owed="<%= item.amount_owed %>" >

<%= item.dbn%> <%= item.school %>  (<%= item.district_name %>)

	<% end %>

search results: <%= @results.length %>

	<% @results.each do |item| %>

		<a href="#one"
			class="page-scroll"
			data-loc="<%= item.location_id%>"
			data-school-id="<%= item.id  %>"
			data-dbn="<%= item.dbn%>"
			data-school="<%= item.school %>"
			data-district="<%= item.district_name %>"
			data-assembly="<%= item.assembly_district  %>"
			data-senate="<%= item.senate_district %>"
			data-enrollment="<%= item.total_enrollment %>"
			data-owed="<%= item.amount_owed %>" >

<%= item.dbn%> <%= item.school %>  (<%= item.district_name %>)

	<% end %>

Make data in each result item more visible


Controls

    <a href="<%= url_for :controller => :XbmcConfig %>" class="ui-btn-right">
      Settings

    Test

Controls

    <a href="<%= url_for :controller => :XbmcConfig %>" class="ui-btn-right" data-iconpos="right" data-icon="gear">
      Settings

    Test

<a href="<%= url_for :controller => :Controls %>" id="controls" class="ui-btn-active ui-state-persist" style="font-size: 10px">Controls

Movies

TV Shows

Playlist

More

Add jQuery Tab bar; fix header buttons

Add jQuery Tab bar; fix header buttons


  <%= f.send :hidden_field, field %>

  <% if current_value = f.object.send(field).presence %>

      <%= image_tag current_value, class: "original" %>

        →

Current image

  <% end %>

    <input type="search" placeholder="Search" />

      Upload new image
      <input id="fileupload" type="file"
             data-url="<%= S3_BUCKET.url %>"
             data-s3_fields="<%= s3_presigned_post_fields %>"
             name="file" />

    <%= render "admin/s3_uploads/list", source_files: @source_files %>

  <% if defined?(f) %>
    <%= f.send :hidden_field, field, value: nil %>

    <% if current_value = f.object.send(field).presence %>

        <%= image_tag current_value, class: "original" %>

          →

Current image

    <% end %>
  <% end %>

    <input type="search" placeholder="Search" />

      Upload new image
      <input id="fileupload" type="file"
             data-url="<%= S3_BUCKET.url %>"
             data-s3_fields="<%= s3_presigned_post_fields %>"
             name="file" />

    <%= render "admin/s3_uploads/list", source_files: @source_files %>

Fix gallery behavior when no change is made


  <%= simple_form_for(resource, url: session_path(resource), html: { class: 'form-inline navigation-form', id: 'login' }) do |f| %>

<%= f.input :email, label: false, placeholder: I18n.t('.email') %>

<%= f.input :password, label: false, placeholder: I18n.t('.password') %>

<%= f.submit t('.sign_in'), class: 'btn btn-primary' %>

 <%= f.input :remember_me, label: t('.remember_me'), as: :boolean, required: false %>

 <%= link_to t('.forgot_your_password', default: 'Forgot your password?'), new_password_path(resource) %>

  <% end %>

Add inline login form partial

Add inline login form partial


<% if current_user = _current_user %>

  <%if not defined?(Company) then%>
    <%= image_tag "#{request.ssl? ? "https://secure" : "http://www"}.gravatar.com/avatar/#{Digest::MD5.hexdigest current_user.email}?s=30", :alt => "" %>
  <%else%>
    <%
      company = Company.fetch(current_user.company_id)
      if company and company.logo_image.file? then
        avatar = company.logo_image.url(:thumb)
      else
        avatar = "rails_admin/no_image_icon.png"
      end
    %>
    <%= image_tag avatar, :alt => "" %>
  <%end%>

      <%= current_user.email %>

      <a href="<%= main_app.destroy_user_session_path%>"><%= t("admin.credentials.log_out")%>

<% end %>

<% if current_user = _current_user %>

  <%if not defined?(Company) then%>
    <%= image_tag "#{request.ssl? ? "https://secure" : "http://www"}.gravatar.com/avatar/#{Digest::MD5.hexdigest current_user.email}?s=30", :alt => "" %>
  <%else%>
    <%
      company = Company.fetch(current_user.company_id) if current_user.company_id
      if company and company.logo_image.file? then
        avatar = company.logo_image.url(:thumb)
      else
        avatar = "rails_admin/no_image_icon.png"
      end
    %>
    <%= image_tag avatar, :alt => "" %>
  <%end%>

      <%= current_user.email %>

      <a href="<%= main_app.destroy_user_session_path%>"><%= t("admin.credentials.log_out")%>

<% end %>

CMOSD-670: Fix root user's company association when its current company is deleted


<%= Proposition.model_name.human(count: 2).capitalize %>

  <% results.each do |r| %>

<%= link_to r.description, vote_path(r.vote.slug) %>

  <% end %>

<%= Proposition.model_name.human(count: 2).capitalize %>

  <% results.each do |r| %>

<%= link_to r.description, vote_path(r.votes.first.slug) %>

  <% end %>

Fix search result for multiple votes per proposition.


<%= @record.to_label.nil? ? active_scaffold_config.show.label : as_(:show_model, :model => clean_column_value(@record.to_label)) %>

<%= render :partial => 'show_columns', :locals => {:columns => active_scaffold_config.show.columns} -%>

  <%= link_to as_(:close), main_path_to_return, :class => 'cancel' %>
  <%= loading_indicator_tag(:action => :create, :id => params[:id]) %>

<%= active_scaffold_config.show.label(@record.to_label.nil? ? nil : clean_column_value(@record.to_label)) %>

<%= render :partial => 'show_columns', :locals => {:columns => active_scaffold_config.show.columns} -%>

  <%= link_to as_(:close), main_path_to_return, :class => 'cancel' %>
  <%= loading_indicator_tag(:action => :create, :id => params[:id]) %>

Use label defined in show

Use label defined in show


Game: <%= @game.status.humanize %>

User: <%= @game.username %>

<% if @game.won? %>

<%= "Congratulations! You guessed the word." %>

<%= "You correctly guessed: '#{@game.revealed_word}'" %>

<% elsif @game.lost? %>

<%= "Oh no, you hanged the man!" %>

<%= "The word you were trying to guess was: '#{@game.revealed_word}'" %>

<% else %>

<%= "You are trying to guess: #{@game.obfuscated_letters('*')}" %>

<%= "You have #{@game.lives} lives remaining..." %>

<% end %>

Guesses:

  <%= render @game.guesses %>

<%= render partial: "new_guess", collection: @game.unguessed_letters, as: :letter %>

Game: <%= @game.status.humanize %>

User: <%= @game.username %>

<% if @game.won? %>

<%= "Congratulations! You guessed the word." %>

<%= "You correctly guessed: '#{@game.revealed_word}'" %>

<% elsif @game.lost? %>

<%= "Oh no, you hanged the man!" %>

<%= "The word you were trying to guess was: '#{@game.revealed_word}'" %>

<% else %>

<%= "You are trying to guess: #{@game.obfuscated_letters('*')}" %>

<%= "You have #{@game.lives} lives remaining..." %>

<% end %>

Guesses:

  <%= render @game.guesses %>

<%= render partial: "new_guess", collection: @game.unguessed_letters_of_alphabet, as: :letter %>

Use renamed unguessed letters method in view


New Question

  <% @questions.each do |question| %>

<a href="/questions/<%= question.id %>"><%= question.title %>

  <% end %>

Add link for new question

Add link for new question


<% content_for :subnav do %>

<%= link_to image_tag('user.png', :alt => I18n.t("person"), :class => 'icon') + <%=I18n.t("back_to_with_spaces") %> + h(@person.name), @person %>

<% end %>

<%= link_to h(@person.name_possessive), @person %> <%=I18n.t("wall") %>

<%= will_paginate @messages %>

<%= render :partial => 'messages', :locals => {:messages => @messages} %>

<%= will_paginate @messages %>

<% content_for :subnav do %>

<%= link_to image_tag('user.png', :alt => I18n.t("person"), :class => 'icon') + I18n.t("back_to_with_spaces") + h(@person.name), @person %>

<% end %>

<%= link_to h(@person.name_possessive), @person %> <%=I18n.t("wall") %>

<%= will_paginate @messages %>

<%= render :partial => 'messages', :locals => {:messages => @messages} %>

<%= will_paginate @messages %>

Fix bug in ERB due to translation.

Fix bug in ERB due to translation.


<%= content_for :page_title do %>

Hello, I'm Morgan

<% end %>

			I'm a software developer who enjoys art, running, martinis, and house music.  My primary focus is Ruby, Rails, and JavaScript.

			Check out my projects on GitHub or listen to the music I like on SoundCloud.

Write a little blurb about myself

Write a little blurb about myself


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

Help

Basics

To start a commute, click on the "Start Commute" button. To end a commute, click on the "End Commute" button.

Location

If you'd like, you can also add your current location to the commute by clicking on the "Click to fill in geolocation info" button. Location information is optional. But, to use the location functionality, both the latitude and longitude fields must be filled out. If either field is left blank, the other (filled in) field will not be processed. For security reasons, only the owner of a commute can view the coordinates. But, any logged in user can view the other details of any other user's commute (date, times, distance traveled, average speed, etc.).

Details

Click on the heading of a given commute to view more details about it. You will also be shown a Google Maps view of your start and end locations (if and only if you're the owner of the commute).

Contact info if you need additional help

For further help, you can contact me at <%= mail_to "commutetracker@kevindong.net" %>.

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

Help

Basics

To start a commute, click on the "Start Commute" button. To end a commute, click on the "End Commute" button.

Location

If you'd like, you can also add your current location to the commute by clicking on the "Click to fill in geolocation info" button. Location information is optional. But, to use the location functionality, both the latitude and longitude fields must be filled out. If either field is left blank, the other (filled in) field will not be processed. For security reasons, only the owner of a commute can view the coordinates. But, any logged in user can view the other details of any other user's commute (date, times, distance traveled, average speed, etc.).

Details

Click on the heading of a given commute to view more details about it. You will also be shown a Google Maps view of your start and end locations (if and only if you're the owner of the commute).

Account deletion

If you'd like to delete your account (and its associated data) for any reason whatsoever, please email me at the email address below.

Got other questions?

For further help, you can contact me at <%= mail_to "commutetracker@kevindong.net" %>.

Add info on deleting account

Add info on deleting account


  <button>
    <%= link_to "Login", login_path %>
  </button>
  <button>
    <%= link_to "Sign Up", new_user_path %>
  </button>
  <button>
    <%= link_to "View Resources", resources_path %>
  </button>

    <%= link_to "Login", login_path, :class => "btn btn-primary" %>
    <%= link_to "Sign Up", new_user_path, :class => "btn btn-primary" %>
    <%= link_to "View Resources", resources_path, :class => "btn btn-primary" %>

Add button formatting for homepage

Add button formatting for homepage


Photo details

	<form data-ng-submit="update()" action="javascript:void(0);" onkeyup="if (event.keyCode == '27') $.fancybox.close()" data-ng-class="{'submitted': isSubmitted}" data-ui-if="isLoaded">

				Source
				<input id="attribution-link" type="text" required="true" autocomplete="off" data-ng-model="photo.attribution_link" placeholder="http://www.flickr.com/photos/96151552@N06/11105027134/" />

				Description
				<textarea id="alt" type="text" data-ui-keypress="{enter:'update()'}" onkeydown="if (event.keyCode == '13') update()" required="true" autocomplete="off" data-ng-model="photo.alt" data-give-focus="isLoaded" placeholder="Panoramic view of a snowy Pike's Peak with the sun setting in the horizon." />

				<input type="submit" class="btn" value="Update details" ng-click="update()" />

	</form>

Photo details

	<form data-ng-submit="update()" action="javascript:void(0);" onkeyup="if (event.keyCode == '27') $.fancybox.close()" data-ng-class="{'submitted': isSubmitted}" data-ui-if="isLoaded">

				Source
				<input id="attribution-link" type="text" autocomplete="off" data-ng-model="photo.attribution_link" placeholder="http://www.flickr.com/photos/96151552@N06/11105027134/" />

				Description
				<textarea id="alt" type="text" data-ui-keypress="{enter:'update()'}" onkeydown="if (event.keyCode == '13') update()" autocomplete="off" data-ng-model="photo.alt" placeholder="Panoramic view of a snowy Pike's Peak with the sun setting in the horizon." />

				<input type="submit" class="btn" value="Update details" ng-click="update()" />

	</form>

Remove required fields from photo details modal and remove directive giving desription input focus.


require 'rubygems'
require 'merb-core'

Merb::Config.setup(:merb_root   => File.expand_path(File.dirname(__FILE__)),
                   :environment => ENV['RACK_ENV'], :init_file => File.dirname(__FILE__) / "config/init.rb")
Merb.environment = "production" #Merb::Config[:environment]
Merb.root = Merb::Config[:merb_root]
Merb::BootLoader.run

# Uncomment if your app is mounted at a suburi
#if prefix = ::Merb::Config[:path_prefix]
#  use Merb::Rack::PathPrefix, prefix
#end

Chef::Config.from_file(File.join("/etc", "chef", "server.rb"))

run Merb::Rack::Application.new

require 'rubygems'
require 'merb-core'
require 'chef'

Chef::Config.from_file(File.join("/etc", "chef", "server.rb"))

Merb::Config.setup(:merb_root   => File.expand_path(File.dirname(__FILE__)),
                   :environment => ENV['RACK_ENV'], :init_file => File.dirname(__FILE__) / "config/init.rb")
Merb.environment = "production" #Merb::Config[:environment]
Merb.root = Merb::Config[:merb_root]
Merb::BootLoader.run

# Uncomment if your app is mounted at a suburi
#if prefix = ::Merb::Config[:path_prefix]
#  use Merb::Rack::PathPrefix, prefix
#end

run Merb::Rack::Application.new

Load server.rb prior to attempting anything that may rely on these settings.


		<% fragments = (["files"] + Array(params["splat"])).join("/").split("/") %>
		<% fragments.each_with_index do |fragment, i| %>

				<% if fragment == fragments.last %>
					<%= fragment %>
				<% else %>
					<% path = "/#{fragments[0..i].join("/")}" %>
					<a href="<%= path %>"><%= fragment %>
				<% end %>

		<% end %>

<%= yield %>

		<% fragments = (["files"] + Array(params["splat"])).join("/").split("/") %>
		<% fragments.each_with_index do |fragment, i| %>

				<% if fragment == fragments.last %>
					<%= fragment %>
				<% else %>
					<% path = site.route(fragments[0..i].join("/")) %>
					<a href="<%= path %>"><%= fragment %>
				<% end %>

		<% end %>

<%= yield %>

Make breadcrumbs work with site id

Make breadcrumbs work with site id


<% content_for :disable_breadcrumb, true %>
<%= render SliderComponent.new(id: 'slider', sliders: @sliders) %>
<% @blocks.each do |block| %>

  <%= sanitize block.content %>

<% end %>

      <%= render GameComponent.with_collection(@games) %>

Change text-block display on night market page


# This file is Puppet Managed
<%= @error_log %> /var/log/mysql/mysql-slow.log {
    daily
    rotate 7
    missingok
    create 640 mysql adm
    compress
    sharedscripts
    postrotate
        test -x /usr/bin/mysqladmin || exit 0
        # If this fails, check debian.conf!
        MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
        if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
          # Really no mysqld or rather a missing debian-sys-maint user?
          # If this occurs and is not a error please report a bug.
          #if ps cax | grep -q mysqld; then
          if killall -q -s0 -umysql mysqld; then
            exit 1
          fi
        else
          $MYADMIN flush-logs
        fi
    endscript
}

Remove a managed by puppet comment.

Remove a managed by puppet comment.


# Disable panic about huge clock offset
sed -i '/^\s*tinker panic/ d' /etc/ntp.conf
sed -i '1 i tinker panic 0' /etc/ntp.conf

# Point installed ntpd to Master node
sed -i '/^\s*server/ d' /etc/ntp.conf
echo "server $server burst iburst" >> /etc/ntp.conf
sed -i 's/SYNC_HWCLOCK\s*=\s*no/SYNC_HWCLOCK=yes/' /etc/sysconfig/ntpdate
chkconfig ntpd on
chkconfig ntpdate on

# Disable panic about huge clock offset
sed -i '/^\s*tinker panic/ d' /etc/ntp.conf
sed -i '1 i tinker panic 0' /etc/ntp.conf

echo 0 > /var/lib/ntp/drift
chown ntp: /var/lib/ntp/drift

# Point installed ntpd to Master node
sed -i '/^\s*server/ d' /etc/ntp.conf
echo "server $server burst iburst" >> /etc/ntp.conf
sed -i 's/SYNC_HWCLOCK\s*=\s*no/SYNC_HWCLOCK=yes/' /etc/sysconfig/ntpdate
chkconfig ntpd on
chkconfig ntpdate on

Add default NTP drift file to target node.


Email

<%= @user.email %>

Sign in count

<%= @user.sign_in_count %>

Current sign in

<%= l( @user.current_sign_in_at, :format => :long_date ) %>

Current sign in IP

<%= @user.current_sign_in_ip %>

Last sign in at

<%= l( @user.last_sign_in_at, :format => :long_date ) %>

Last sign in IP

<%= @user.last_sign_in_ip %>

Created at

<%= l( @user.created_at, :format => :long_date ) %>

Updated at

<%= l( @user.updated_at, :format => :long_date ) %>

Email

<%= @user.email %>

Sign in count

<%= @user.sign_in_count %>

Last sign in at

<%= l( @user.last_sign_in_at, :format => :long_date ) %>

Last sign in IP

<%= @user.last_sign_in_ip %>

Created at

<%= l( @user.created_at, :format => :long_date ) %>

Updated at

<%= l( @user.updated_at, :format => :long_date ) %>

Remove 'current sign in' and 'current sign in IP' user info.


<%= render partial: 'machines/table', locals: {machines: @machines} %>

<%= render partial: 'form' %>

<%= render partial: 'form' %>

<%= render partial: 'machines/table', locals: {machines: @machines} %>

Move search form above result.

Move search form above result.


<%= notice %>

Statistics for <%= @smoke_detector.location %>

<%= line_chart @statistics.group_by_hour(:created_at, range: 3.days.ago.to_date..Time.now).sum(:posts_scanned) %>

      Posts scanned
      At

    <% @statistics.each do |statistic| %>

        <%= statistic.posts_scanned %>
        <%= time_ago_in_words statistic.created_at %>

    <% end %>

<%= notice %>

Statistics for <%= @smoke_detector.location %>

<%= area_chart @statistics.group_by_hour(:created_at, range: 3.days.ago.to_date..Time.now).sum(:posts_scanned) %>

      Posts scanned
      At

    <% @statistics.each do |statistic| %>

        <%= statistic.posts_scanned %>
        <%= time_ago_in_words statistic.created_at %>

    <% end %>

Switch to an area chart; seems slightly more appropriate here


<%= @user.name %>

    <%= edit_profile_button %>

    <%= profile_picture_for(@user, id: 'mu-user-avatar', class: 'mu-user-avatar') %>

    <% if @user.age.present? %>

         <%= t :age %>: <%= "#{@user.age} #{t :years}" %>

    <% end %>

       <%= t :email %>: <%= @user.email %>

       <%= t :programming_since %>: <%= t(:time_since, time: time_ago_in_words(@user.created_at)) %>

    <%= edit_profile_button %>

Make responsive edit profile button

Make responsive edit profile button


// Generated by sprite_svg v<%= SvgSprite::VERSION %> at <%= Time.now %>
$<%= options[:name] %>-names: (<%= names(source) %>);

@mixin <%= options[:name] %>-before($name) {
  &:before {
    @extend %<%= options[:name] %>-#{$name};
  }
}

@mixin <%= options[:name] %>-after($name) {
  &:after {
    @extend %<%= options[:name] %>-#{$name};
  }
}

<% for svg in source %>
%<%= options[:name] %>-<%= svg.name %> {
  background-image: url(<%= svg.data_uri %>);
  <%- if svg.has_dimensions? -%>
  width: <%= svg.width %>;
  height: <%= svg.height %>;
  <%- end -%>
}
<%- end -%>

// Generated by sprite_svg v<%= SvgSprite::VERSION %> at <%= Time.now %>
$<%= options[:name] %>-names: (<%= names(source) %>);
$<%= options[:name] %>-urls: (
  <%- for svg in source -%>
  <%= svg.name %>: "<%= svg.data_uri %>",
  <%- end -%>
);

@function <%= options[:name] %>-url($name) {
  @return map-get($<%= options[:name] %>-urls, $name);
}

@mixin <%= options[:name] %>-before($name) {
  &:before {
    @extend %<%= options[:name] %>-#{$name};
  }
}

@mixin <%= options[:name] %>-after($name) {
  &:after {
    @extend %<%= options[:name] %>-#{$name};
  }
}

<% for svg in source %>
%<%= options[:name] %>-<%= svg.name %> {
  background-image: url(<%= options[:name] %>-url("<%= svg.name %>"));
  <%- if svg.has_dimensions? -%>
  width: <%= svg.width %>;
  height: <%= svg.height %>;
  <%- end -%>
}
<%- end -%>

Add a map of urls.

Add a map of urls.


<% form_remote_for @family do |form| %>
  <p>
    Scan Card:
    <%= form.text_field :barcode_id, :size => 20 %>
    <%= form.submit 'Save' %>
  </p>
<% end %>

<% form_remote_for @family do |form| %>

    Scan Card:
    <%= form.text_field :barcode_id, :size => 20 %>
    <%= form.submit 'Save' %>

Remember, this card number is not to be written down or given to any
    unauthorized persons.

<% end %>

Include note about privacy of card number.


<%= link_to :controller => :src_sets, :action => :show, :id => src_set.name do %>

    <% if src_set.thumbnail %>
        <%= image_tag(url_for(src_set.thumbnail), :size => "#{src_set.thumb_width}x#{src_set.thumb_height}") %>
    <% else %>

∅

    <% end %>
<% end %>

  <%= src_set.name %>

<%= link_to :controller => :src_sets, :action => :show, :id => src_set.name do %>

    <% if src_set.thumbnail %>
        <%= image_tag(url_for(src_set.thumbnail), size: "#{src_set.thumb_width}x#{src_set.thumb_height}") %>
    <% else %>

∅

    <% end %>
<% end %>

  <%= src_set.name %>

Convert to ruby 1.9 style hashes.

Convert to ruby 1.9 style hashes.


<% content_for :head do %>
  <script type="text/javascript">
    $(window).load(function() {
      $("label:contains('<%= payment_method.name %>')").hide();
      $("label:contains('<%= payment_method.name %>') input").attr('disabled', true);
    });
  </script>
<% end %>

Hide payment in admin order

Hide payment in admin order


  describe "<%= @resource.to_s %>" do
    let(:route) { "<%= @resource.to_s %>" }
    <% @resource.http_methods.each do |method| %>
    describe "<%= method.method.upcase %>" do
      let(:response_body) do<% body = method.responses.first.bodies.first.example.split("\n") %>
        <%= body.join("\n        ").gsub(/\:/, " =>") %>.to_json
      end

      it "<%= method.description.downcase %>" do
        <%= method.method %> route
        expect(last_response.body).to eql response_body
      end

      it "returns status <%= method.responses.first.status_code %>" do
        <%= method.method %> route
        expect(last_response.status).to eql <%= method.responses.first.status_code %>
      end
    end<% end %>
  end

  describe "<%= @resource.to_s %>" do
    let(:route) { "<%= @resource.to_s %>" }
    <% @resource.http_methods.each do |method| %>
    describe "<%= method.method.upcase %>" do
      let(:response_body) do<% body = method.responses.first.bodies.first.example.split("\n") %>
        <%= body.join("\n        ").gsub(/\:/, " =>") %>.to_json
      end

      it "<%= method.description && method.description.downcase || "#{method.method}s the resource" %>" do
        <%= method.method %> route
        expect(last_response.body).to eql response_body
      end

      it "returns status <%= method.responses.first.status_code %>" do
        <%= method.method %> route
        expect(last_response.status).to eql <%= method.responses.first.status_code %>
      end
    end<% end %>
  end

Handle the case where there is no method description


Suspend user “<%= @user.name %>”

Warning: suspensions are currently only enforced at login time. If a user is logged in, they could remain logged in forever.

<%= form_tag admin_suspension_path(@user), method: "put", :class => 'well' do %>

      Suspended?
      <%= check_box_tag "user[suspended]", "1", @user.suspended?, class: "checkbox" %>

    Reason for suspension
    <%= text_field_tag "user[reason_for_suspension]", @user.reason_for_suspension, class: "span6" %>

  <%= submit_tag "Save", class: "btn btn-primary" %>
  <%= link_to "Cancel", class: "btn" %>
<% end %>

Suspend user “<%= @user.name %>”

<%= form_tag admin_suspension_path(@user), method: "put", :class => 'well' do %>

      Suspended?
      <%= check_box_tag "user[suspended]", "1", @user.suspended?, class: "checkbox" %>

    Reason for suspension
    <%= text_field_tag "user[reason_for_suspension]", @user.reason_for_suspension, class: "span6" %>

  <%= submit_tag "Save", class: "btn btn-primary" %>
  <%= link_to "Cancel", class: "btn" %>
<% end %>

Remove warning that are now unnecessary

Remove warning that are now unnecessary


<% content_for :title, "Suspend [#{@user.name}]" %>

<%= link_to @user.name, admin_user_path(@user) %>

Suspend

Suspend “<%= @user.name %>”

<%= form_tag admin_suspension_path(@user), method: "put", :class => 'well remove-top-padding' do %>

      Suspended?
      <%= check_box_tag "user[suspended]", "1", @user.suspended? %>

    Reason for suspension
    <%= text_field_tag "user[reason_for_suspension]", @user.reason_for_suspension, class: 'form-control input-md-6' %>

  <%= submit_tag "Save", class: "btn btn-primary add-right-margin" %>
  <%= link_to "Cancel", admin_user_path(@user), class: "btn btn-default" %>
<% end %>

<% content_for :title, "Suspend [#{@user.name}]" %>

<%= link_to @user.name, admin_user_path(@user) %>

Suspend

Suspend “<%= @user.name %>”

<%= form_tag admin_suspension_path(@user), method: "put", :class => 'well remove-top-padding' do %>

      <%= check_box_tag "user[suspended]", "1", @user.suspended? %>
      Suspended?

    Reason for suspension
    <%= text_field_tag "user[reason_for_suspension]", @user.reason_for_suspension, class: 'form-control input-md-6' %>

  <%= submit_tag "Save", class: "btn btn-primary add-right-margin" %>
  <%= link_to "Cancel", admin_user_path(@user), class: "btn btn-default" %>
<% end %>

Align Suspended? check-box with label text

www.agileplannerapp.com/boards/173808/cards/6392


default: &default
  host: http://protectedplanet.net
  mailer: &mailer
    notifications_recipients:
      - andrea.rossi@unep-wcmc.org
    subject_prefix: "Protected Planet API - "

development:
  <<: *default
  mailer:
    <<: *mailer
    subject_prefix: "[Development] Protected Planet API - "

test:
  <<: *default
  mailer:
    <<: *mailer
    subject_prefix: "[Test] Protected Planet API - "

staging:
  <<: *default
  host: http://stage.protectedplanet.net
  mailer:
    <<: *mailer
    notifications_recipients:
      - andrea.rossi@unep-wcmc.org
    subject_prefix: "[Staging] Protected Planet API - "

production:
  <<: *default
  mailer:
    <<: *mailer
    notifications_recipients:
      - ferdinando.primerano@unep-wcmc.org
      - spencer.dixon@unep-wcmc.org
      - protectedareas@unep-wcmc.org
      - edward.lewis@unep-wcmc.org
      - Brian.MacSharry@unep-wcmc.org
    subject_prefix: "Protected Planet API - "

default: &default
  host: http://protectedplanet.net
  mailer: &mailer
    notifications_recipients:
      - ferdinando.primerano@unep-wcmc.org
      - spencer.dixon@unep-wcmc.org
    subject_prefix: "Protected Planet API - "

development:
  <<: *default
  mailer:
    <<: *mailer
    subject_prefix: "[Development] Protected Planet API - "

test:
  <<: *default
  mailer:
    <<: *mailer
    subject_prefix: "[Test] Protected Planet API - "

staging:
  <<: *default
  host: http://stage.protectedplanet.net
  mailer:
    <<: *mailer
    notifications_recipients:
      - ferdinando.primerano@unep-wcmc.org
      - spencer.dixon@unep-wcmc.org
    subject_prefix: "[Staging] Protected Planet API - "

production:
  <<: *default
  mailer:
    <<: *mailer
    notifications_recipients:
      - ferdinando.primerano@unep-wcmc.org
      - spencer.dixon@unep-wcmc.org
      - protectedareas@unep-wcmc.org
      - edward.lewis@unep-wcmc.org
      - Brian.MacSharry@unep-wcmc.org
    subject_prefix: "Protected Planet API - "

Update notificaion recipients in default and staging


<link rel="stylesheet" href="//cdn.quilljs.com/1.2.6/quill.snow.css">

<%= form_with(model: activity, local: true) do |form| %>
  <% if activity.errors.any? %>

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

      <% activity.errors.full_messages.each do |message| %>

<%= message %>

      <% end %>

  <% end %>

    <%= form.label :title, class: "form-label" %>
    <%= form.text_field :title, class: "form-control" %>

    <%= form.label :article, class: "form-label" %>
    <%= form.hidden_field :article, class: "form-control"%>

    <%= form.label :description, class: "form-label" %>
    <%= form.hidden_field :description, class: "form-control" %>

    <%= form.submit class: "btn btn-primary" %>

<% end %>

<link rel="stylesheet" href="//cdn.quilljs.com/1.2.6/quill.snow.css">

<%= form_with(model: activity, local: true) do |form| %>
  <% if activity.errors.any? %>

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

      <% activity.errors.full_messages.each do |message| %>

<%= message %>

      <% end %>

  <% end %>

    <%= form.label :title, class: "form-label" %>
    <%= form.text_field :title, class: "form-control" %>

    <%= form.label :article, class: "form-label" %>
    <%= form.hidden_field :article, class: "form-control"%>

    <%= form.label :description, class: "form-label" %>
    <%= form.text_field :description, class: "form-control" %>

    <%= form.submit class: "btn btn-primary" %>

<% end %>

Remove text editor from description

Remove text editor from description


Mathio Party

  <% if current_user %>
  	<%= link_to 'Logout', destroy_user_session_path, method: :delete %>
  <% else %>
  	<%= link_to 'Login', new_user_session_path %>
  <% end %>

Add links for login and logout

Add links for login and logout


<!DOCTYPE html>

  <link rel="stylesheet" href="bootstrap-3.3.2-dist/css/bootstrap-theme.css">
  <link rel="stylesheet" href="bootstrap-3.3.2-dist/css/bootstrap.css">

              <% (1..8).each do |p| %>
                Player <%= p %>
              <% end %>

            <% ['Military Conflicts', 'Treasury/Debt', 'Wonder', 'Civilian Structures', 'Commercial Structures', 'Science Structures', 'Guilds'].each do |category| %>
              <tr id="<%= "#{category.split(/[ \/]/).first.downcase}_row" %>">
                <%= category %>

                <% (1..8).each do |p| %>

                    <input type="text" name="<%= "#{category.split(/[ \/]/).first.downcase}_p#{p}" %>"  placeholder="0" class="form-control" />

                <% end %>

            <% end %>

            <tr id="<%= "leaders_row" %>" class="leaders">
              Leaders
              <% (1..8).each do |p| %>

                  <input type="text" name="<%= "leaders_p#{p}" %>"  placeholder="0" class="form-control" />

              <% end %>

            <tr id="<%= "city_row" %>" class="cities">
              City
              <% (1..8).each do |p| %>

                  <input type="text" name="<%= "city_p#{p}" %>"  placeholder="0" class="form-control" />

              <% end %>

Add scoreboard table to input data for one game

TODO:

- "total" row showing each player's total
- date
- board used by each player (type into input field and suggest from list
  and/or dropdown with valid boards)
- setting player IDs (e.g., "Michael Brandt", rather than "Player 1")
- coloring/symbols for each row
- use a partial for the table rows for less duplication in the template
- toggles for cities (not just when debt is used via Petra) and leaders
  expansions
- vary number of player columns visible
- teams?


Sequel.migration do
  up do
    alter_table(:<%= table_name %>) do
      primary_key :id
      <%= migration_data %>

      <% attributes.each do |attribute| %>
        <%= attribute.type %> :<%= attribute.name %>
      <% end %>

      # Uncomment below if timestamps were not included in your original model.
      # DateTime :created_at
      # DateTime :updated_at
    end

    alter_table(:<%= table_name %>) do
      add_index :email,                :unique => true
      add_index :reset_password_token, :unique => true
      # add_index :confirmation_token,   :unique => true
      # add_index :unlock_token,         :unique => true
    end
  end

  down do
    # By default, we don't want to make any assumption about how to roll back a migration when your
    # model already existed. Please edit below which fields you would like to remove in this migration.
    raise ActiveRecord::IrreversibleMigration
  end
end

Sequel.migration do
  up do
    change_table(:<%= table_name %>) do
      primary_key :id
      <%= migration_data %>

      <% attributes.each do |attribute| %>
        <%= attribute.type %> :<%= attribute.name %>
      <% end %>

      # Uncomment below if timestamps were not included in your original model.
      # DateTime :created_at
      # DateTime :updated_at
    end

    alter_table(:<%= table_name %>) do
      add_index :email,                :unique => true
      add_index :reset_password_token, :unique => true
      # add_index :confirmation_token,   :unique => true
      # add_index :unlock_token,         :unique => true
    end
  end

  down do
    # By default, we don't want to make any assumption about how to roll back a migration when your
    # model already existed. Please edit below which fields you would like to remove in this migration.
    raise ActiveRecord::IrreversibleMigration
  end
end

Use change_table in existing migration

Use change_table in existing migration


---
- scm:
    name: tagging-sync-check
    scm:
        - git:
            url: git@github.com:alphagov/finding-things-migration-checker.git
            branches:
              - master

- job:
    name: tagging-sync-check
    display-name: Tagging sync check
    project-type: freestyle
    description: "This job checks if taggings are in sync between Rummager and Publishing API. See https://github.com/alphagov/finding-things-migration-checker"
    scm:
      - tagging-sync-check
    logrotate:
        artifactNumToKeep: 100
    builders:
        - shell: |
            bundle install --path "${HOME}/bundles/${JOB_NAME}"
            PUBLISHING_API_BEARER_TOKEN=<%= @publishing_api_bearer_token %> bin/run_automated_checks
    wrappers:
        - ansicolor:
            colormap: xterm
    publishers:
        - archive:
            artifacts: '*.csv'

---
- scm:
    name: tagging-sync-check
    scm:
        - git:
            url: git@github.com:alphagov/finding-things-migration-checker.git
            branches:
              - master

- job:
    name: tagging-sync-check
    display-name: Tagging sync check
    project-type: freestyle
    description: "This job checks if taggings are in sync between Rummager and Publishing API. See https://github.com/alphagov/finding-things-migration-checker"
    scm:
      - tagging-sync-check
    logrotate:
        artifactNumToKeep: 100
    builders:
        - shell: |
            bundle install --path "${HOME}/bundles/${JOB_NAME}"
            PUBLISHING_API_BEARER_TOKEN=<%= @publishing_api_bearer_token %> bin/run_automated_checks
    wrappers:
        - ansicolor:
            colormap: xterm
        - timestamps
    publishers:
        - archive:
            artifacts: '*.csv'

Add timestamps to tagging-sync-check build

A day may come when this sort of thing is templated into all jobs.
But it is not this day.

See https://github.com/alphagov/govuk-puppet/pull/4472


Upload Your Email

    <%= form_for :email do |f| %>
      <%= f.label "Paste Here:" %>

      <%= f.text_area :text, class: "form-control form-group-lg" %>

      <%= button_to "Analyze", { controller: "emails", action: "create"}, class: "email btn btn-warning" %>
    <% end %>

  <%= link_to 'New Email', new_email_path %>

Emotion.

      <%= form_for :email do |f| %>
        <%= f.text_area :text, class: "email-entry", placeholder: "Paste your e-mail." %>

        <%= button_to "Analyze", { controller: "emails", action: "create"}, class: "email btn" %>

      <% end %>

Change wording for email form

Change wording for email form


<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title><%= content_for?(:title) ? yield(:title) : "Palate" %></title>

    <%= stylesheet_link_tag    "application" %>
    <%= javascript_include_tag "vendor/modernizr" %>
    <%= csrf_meta_tags %>

    <%= render "layouts/topbar" %>

Accept what life offers you and try to drink from every cup.

- Paulo Coelho

      <%= yield %>

      Our Story

    <%= javascript_include_tag "application" %>

<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title><%= content_for?(:title) ? yield(:title) : "Palate" %></title>

    <%= stylesheet_link_tag    "application" %>
    <%= javascript_include_tag "vendor/modernizr" %>
    <%= csrf_meta_tags %>

    <%= render "layouts/topbar" %>

Accept what life offers you and try to drink from every cup.

- Paulo Coelho

        Sign up for free!

      <%= yield %>

      Our Story

    <%= javascript_include_tag "application" %>

Add signup button to homepage

Add signup button to homepage


<%= link_to 'Members', members_path %> /

<%= @organization.name %>

<%= render :partial => 'organizations/organization', :locals => {:organization => @organization}%>

Add breadcrumb to member page

Add breadcrumb to member page


Register A New User

<form action="/register" method="post">
  Username:

  <input type="text" name="username" placeholder="Username">

  Email:

  <input type="text" name="email" placeholder="Email">

  Password:

  <input type="text" name="password" placeholder="Password">

  <input type="submit" value="Submit">
</form>

Register A New User

<form action="/register" method="post">
  Username:

  <input type="text" name="user[username]" placeholder="Username">

  Email:

  <input type="text" name="user[email]" placeholder="Email">

  Password:

  <input type="password" name="user[password]" placeholder="Password">

  <input type="submit" value="Submit">
</form>

Add user hash to call in routes.

Add user hash to call in routes.


  <%= tab("All Items", items_path, @category.blank?) %>

  <% @categories.each do |category| %>
    <%= tab(category.description, items_path(category_id: category.id), @category == category) %>
  <% end %>

<% if current_user.can_view_and_edit_items? %>

    <%= link_to "Create Category", new_category_path, class: "btn btn-primary btn-block" %>

<% end %>

Add 'All Items' to tabs on inventory page


  <% if @issue.tasks.any? %>

<%= Swattr.t(:tasks) %>

  <% @issue.tasks.each do |task| %>

        <%= task.title %>

        <%= task.author.email %>

        <%= link_to Swattr.t(:destroy), project_issue_task_path(@project, @issue, task), method: :delete, data: { confirm: Swattr.t(:are_you_sure) } %>

  <% end %>

  <% else %>

    <%= Swattr.t(:no_tasks) %>

  <% end %>

<%= Swattr.t(:tasks) %>

  <% if @issue.tasks.any? %>

  <% @issue.tasks.each do |task| %>

        <%= task.title %>

        <%= task.author.email %>

        <%= link_to Swattr.t(:destroy), project_issue_task_path(@project, @issue, task), method: :delete, data: { confirm: Swattr.t(:are_you_sure) } %>

  <% end %>

  <% else %>

    <%= Swattr.t(:no_tasks) %>

  <% end %>

Move the tasks title in place

Move the tasks title in place


    <%= inline_svg "logo-text.svg", height: 42 %>

Intro

Docs

Book

VMware

Community

        <%= inline_svg "download.svg" %> Download

        <%= inline_svg "github.svg" %> GitHub

    <%= inline_svg "logo-text.svg", height: 42, class: "logo" %>

Intro

Docs

Book

VMware

Community

        <%= inline_svg "download.svg" %> Download

        <%= inline_svg "github.svg" %> GitHub

Use colored logo in sidebar

Use colored logo in sidebar


[Match]
Name=wg0

[Network]
Address=<%= node[:networking][:wireguard][:address] %>/128

[Route]
Destination=fd43:e709:ea6d:1::/64
<% node[:networking][:wireguard][:peers].each do |peer| -%>
<% Array(peer[:allowed_ips]).sort.each do |ip| -%>
<% unless ip =~ /^fd43:e709:ea6d:1::/ -%>

[Route]
Destination=<%= ip %>
<% end -%>
<% end -%>
<% end -%>

[Match]
Name=wg0

[Network]
<% if node.internal_ipaddress -%>
Address=<%= node.internal_ipaddress %>/32
<% end -%>
Address=<%= node[:networking][:wireguard][:address] %>/128

[Route]
Destination=fd43:e709:ea6d:1::/64
<% node[:networking][:wireguard][:peers].each do |peer| -%>
<% Array(peer[:allowed_ips]).sort.each do |ip| -%>
<% unless ip =~ /^fd43:e709:ea6d:1::/ -%>

[Route]
Destination=<%= ip %>
<% end -%>
<% end -%>
<% end -%>

Configure v4 address for wireguard endpoints with an internal address


#!/bin/sh
cd <%= node['jenkins']['server']['home'] %>
touch jenkins.start
exec chpst -u <%= node['jenkins']['server']['user'] %> -U <%= node['jenkins']['server']['user'] %> \
  env HOME=<%= node['jenkins']['server']['home'] %> \
  JENKINS_HOME=<%= node['jenkins']['server']['home'] %>/jenkins-data \
  java -jar jenkins.war \
  -Xloggc:<%= node['jenkins']['server']['log_dir'] %>/gclog.log <%= node['jenkins']['server']['jvm_options'] %> \
  --httpPort=<%= node['jenkins']['server']['port'] %>

[COOK-2532] Fix node['jenkins']['server']['port'] does not work