%div{ class:"sidebar #{controller.controller_name}" }
  %span#sidebar-toggle
    %i.fa.fa-navicon
  .pusher
    - if Rails.configuration.hackathon['logo_asset']
      #logo-cta
        = link_to root_path do
          = image_tag Rails.configuration.hackathon['logo_asset'], id: 'logo', alt: "#{Rails.configuration.hackathon['name']} logo", title: Rails.configuration.hackathon['name']
    - if user_signed_in?
      %div
        - if current_user.admin?
          = btn_link_to "Manage", manage_root_path
        - else
          = btn_link_to "Review", new_questionnaires_path
    - else
      %div
        = btn_link_to "Sign In", new_user_session_path
      %div
        = btn_link_to "Sign Up", new_user_registration_path
    - if user_signed_in?
      %div
        = btn_link_to "Sign Out", destroy_user_session_path, method: :delete

Revise sidebar to be less button-sparse

%div{ class:"sidebar #{controller.controller_name}" }
  %span#sidebar-toggle
    %i.fa.fa-navicon
  .pusher
    - if Rails.configuration.hackathon['logo_asset']
      #logo-cta
        = link_to root_path do
          = image_tag Rails.configuration.hackathon['logo_asset'], id: 'logo', alt: "#{Rails.configuration.hackathon['name']} logo", title: Rails.configuration.hackathon['name']
    %nav
      %ul.nav-list
        %li
          = link_to "Home", root_path, class: 'nav-link'
        - if user_signed_in?
          %li
            - if current_user.admin?
              = link_to "Manage", manage_root_path, class: 'nav-link'
            - else
              = link_to "My Account", new_questionnaires_path, class: 'nav-link'
          %li
            = link_to "Sign Out", destroy_user_session_path, method: :delete, class: 'nav-link'
        - else
          %li
            = link_to "Sign In", new_user_session_path, class: 'nav-link'
          %li
            = link_to "Sign Up", new_user_registration_path, class: 'nav-link'


%div.bookmark_item{ :id => bookmark_dom_item(bookmark), 'data-bookmark-id' => bookmark.id }
  = check_box_tag('is_visible', 'true', bookmark.is_visible, :class => 'visibility', :id => nil)
  %a.control.slide ☰
  = link_to_remote(fa_icon('trash-o', '', :class => 'control'), { |
      :confirm => "Delete bookmark to #{bookmark.name}?", |
      :url => portal_delete_bookmark_path(bookmark) }) |
  %a.control.edit ✎
  %a.link_text{:href => portal_visit_bookmark_path(bookmark), :target => "_blank"}= bookmark.name
  %div.editor{:style => "display: none;"}
    %input{:name => 'name', :type => 'text', :value => bookmark.name, :class => 'name-field'}
    - if bookmark.is_a? Portal::GenericBookmark
      %input{:name => 'url', :type => 'text', :value => bookmark.url, :class => 'url-field'}
    %button.save Save
- if defined?(new_bookmark_id)
  :javascript
    if (window.bookmarksManager) {
      window.bookmarksManager.addBookmarks();
      window.bookmarksManager.editBookmark(#{new_bookmark_id});
    }

Fix regression related to creating or viewing class bookmarks.

%div.bookmark_item{ :id => bookmark_dom_item(bookmark), 'data-bookmark-id' => bookmark.id }
  = check_box_tag('is_visible', 'true', bookmark.is_visible, :class => 'visibility', :id => nil)
  %a.control.slide ☰
  = link_to_remote(fa_icon('trash-o', class: 'control'), { |
      :confirm => "Delete bookmark to #{bookmark.name}?", |
      :url => portal_delete_bookmark_path(bookmark) }) |
  %a.control.edit ✎
  %a.link_text{:href => portal_visit_bookmark_path(bookmark), :target => "_blank"}= bookmark.name
  %div.editor{:style => "display: none;"}
    %input{:name => 'name', :type => 'text', :value => bookmark.name, :class => 'name-field'}
    - if bookmark.is_a? Portal::GenericBookmark
      %input{:name => 'url', :type => 'text', :value => bookmark.url, :class => 'url-field'}
    %button.save Save
- if defined?(new_bookmark_id)
  :javascript
    if (window.bookmarksManager) {
      window.bookmarksManager.addBookmarks();
      window.bookmarksManager.editBookmark(#{new_bookmark_id});
    }


.container
  %section.first
    .inner-container
      .start-group__success
        %h1= t :"start_group_form.success.header"
        %p= t :"start_group_form.success.email_delivered", email: @group_with_creator.email

        %h3= t :"start_group_form.success.email_not_arrived"
        %p= t :"start_group_form.success.please_hold"

Fix group with creator email

.container
  %section.first
    .inner-container
      .start-group__success
        %h1= t :"start_group_form.success.header"
        %p= t :"start_group_form.success.email_delivered", email: @group_with_creator.params[:email]

        %h3= t :"start_group_form.success.email_not_arrived"
        %p= t :"start_group_form.success.please_hold"


.container
  .card
    .card-title Identité du demandeur
    - if @dossier.entreprise.present?
      = render partial: "identite_entreprise", locals: { entreprise: @dossier.entreprise }

Add dossier champs (minimalist version)

.container
  .card
    .card-title Identité du demandeur
    - if @dossier.entreprise.present?
      = render partial: "identite_entreprise", locals: { entreprise: @dossier.entreprise }

  .card.featured
    .card-title Construction du dossier
    - if @dossier.champs.present? && @dossier.champs.any?
      %table.table
        %tbody
          - @dossier.champs.each do |c|
            %tr
              %th
                = "#{c.libelle} :"
              %td
                = c.value


- first_game  = Game.first_game_in_tournament

%p.hidden-phone.hidden-tablet
  = I18n.t('tournament_starts_in')
#counter_desktop.hidden-phone.hidden-tablet{'data-countdowntimestamp'=> first_game.start_at.to_i}
#counter_desc_desktop.hidden-phone.hidden-tablet=I18n.t('counter_desc_desktop')

FIx wenn kein Spiel in der DB

- first_game  = Game.first_game_in_tournament
- if first_game.present?
  %p.hidden-phone.hidden-tablet
    = I18n.t('tournament_starts_in')
  #counter_desktop.hidden-phone.hidden-tablet{'data-countdowntimestamp'=> first_game.start_at.to_i}
  #counter_desc_desktop.hidden-phone.hidden-tablet=I18n.t('counter_desc_desktop')


= semantic_form_for @booking do |f|
  = f.semantic_errors
  = f.inputs do
    = f.input :code
    = f.input :value_date, :as => :date_field, :input_html => {"data-autofocus" => true}
    = f.input :title
    = f.input :amount, :input_html => {:size => 12}
    = f.input :credit_account, :as => :combobox
    = f.input :debit_account, :as => :combobox
    = f.input :reference_type, :as => :select, :collection => reference_types_as_collection
    = f.input :reference_id, :as => :string
    = f.input :comments, :input_html => {:rows => 5}
  = f.buttons do
    = f.commit_button

Use better combobox for account fields in booking form.

= semantic_form_for @booking do |f|
  = f.semantic_errors
  = f.inputs do
    = f.input :code
    = f.input :value_date, :as => :date_field, :input_html => {"data-autofocus" => true}
    = f.input :title
    = f.input :amount, :input_html => {:size => 12}
    = f.input :credit_account, :as => :combobox, :collection => Account.all.collect{|account| ["%s - %s" % [account.code, account.title], account.id]}
    = f.input :debit_account, :as => :combobox, :collection => Account.all.collect{|account| ["%s - %s" % [account.code, account.title], account.id]}
    = f.input :reference_type, :as => :select, :collection => reference_types_as_collection
    = f.input :reference_id, :as => :string
    = f.input :comments, :input_html => {:rows => 5}
  = f.buttons do
    = f.commit_button


- div_for(pitch) do
  .block-spacer-negative
  .box_white
    #equalize
      = render :partial => 'news_items/news_item', :object => pitch
      .span-235.button_news_items
        = render :partial => "donations/button", :locals => { :news_item => pitch }
    .clear

Fix styling for pitch partial

- div_for(pitch) do
  .block-spacer-negative
  .box_white
    #equalize
      = render :partial => 'news_items/news_item', :object => pitch
      .span-205.button_news_items
        = render :partial => "donations/button", :locals => { :news_item => pitch }
    .clear


- content_for :body_classes, 'home-page'

%h1= t('peoplefinder.home.heading', group_name: @group.name)
= link_to t('peoplefinder.home.add_new_person'), new_person_path, class: 'add-new-person'
%p= t('peoplefinder.home.explanation')

%h3= t('peoplefinder.home.search_heading')
%p.hint-text{ aria: { hidden: 'true' } }= t('peoplefinder.home.search_hint')

= render 'peoplefinder/shared/search'

%p.hint-text.text= t('peoplefinder.home.usage_1')
%p.hint-text.text= t('peoplefinder.home.usage_2')

%h3.org-structure= t('peoplefinder.home.org_heading')
%h4.hint-text= t('peoplefinder.home.org_sub_heading')
%p.hint-text= t('peoplefinder.home.org_hint_html', link: link_to(@group.name, groups_path))

= render 'peoplefinder/shared/org_browser', org_structure: @org_structure

Correct home page header hierarchy

- content_for :body_classes, 'home-page'

%h1= t('peoplefinder.home.heading', group_name: @group.name)
= link_to t('peoplefinder.home.add_new_person'), new_person_path, class: 'add-new-person'
%p= t('peoplefinder.home.explanation')

%h2= t('peoplefinder.home.search_heading')
%p.hint-text{ aria: { hidden: 'true' } }= t('peoplefinder.home.search_hint')

= render 'peoplefinder/shared/search'

%p.hint-text.text= t('peoplefinder.home.usage_1')
%p.hint-text.text= t('peoplefinder.home.usage_2')

%h2.org-structure= t('peoplefinder.home.org_heading')
%h3.hint-text= t('peoplefinder.home.org_sub_heading')
%p.hint-text= t('peoplefinder.home.org_hint_html', link: link_to(@group.name, groups_path))

= render 'peoplefinder/shared/org_browser', org_structure: @org_structure


= semantic_form_for @group, url: [:admin, @group] do |f|
  = f.inputs :name, :short_name, :website, :email
  = f.buttons

Add cancel link to group form.

= semantic_form_for @group, url: [:admin, @group] do |f|
  = f.inputs :name, :short_name, :website, :email
  = f.buttons do
    = f.commit_button
    = cancel_link


#form_login
  %br
  = render partial: 'users/sessions/resume_procedure'

  %h2#login_user
    =t('dynamics.users.connexion_title')

  %a.btn_fc#btn_fcp{href: '/france_connect/particulier'}
    = image_tag 'franceconnect_logo.png'

  %br
  %a.text-info{href: 'https://fcp.integ01.dev-franceconnect.fr/a-propos', target: '_blank'}
    Qu’est-ce que FranceConnect ?

  %hr
  = form_for @user, url: user_session_path, method: :post do |f|
    %h4
      = f.label :email
    .input-group
      .input-group-addon
        %span.fa.fa-user
      = f.email_field :email, class: 'form-control'
    %br
    %h4
      = f.label 'Mot de passe'
    .input-group
      .input-group-addon
        %span.fa.fa-asterisk
      = f.password_field :password, class: 'form-control', value: "#{@user.password}"
    %br
    %br
    .actions
      = f.submit "Se connecter", class:'btn btn-primary'
    %br
  = render "users/shared/links"
  %div{style: "margin-top: 5px; margin-bottom: 5px;"}
    \-
  Vous êtes un administrateur de procédure ?
  %br
  = link_to "Cliquez ici.", '/administrateurs/sign_in'

Remove admin connection link on user connection page


%n1:individual{"xmlns:n1" => "http://openhbx.org/api/terms/1.0", "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", "xsi:schemaLocation" => "http://openhbx.org/api/terms/1.0 individual.xsd"}
  %n1:person
    %n1:id
      %n1:id= person.authority_member.hbx_member_id
    %n1:is_authoratative= person.is_authoritative?
    %n1:alias_ids
    - person.members.each do |member|
      %n1:alias_id
        %n1:id= member.hbx_member_id
    %n1:person_name
      = render 'shared/v2/name', object: person
    - unless person.addresses.empty?
      %n1:addresses
        - person.addresses.each do |address|
          = render 'shared/v2/address', address: address
    - unless person.emails.empty?
      %n1:emails
        - person.emails.each do |email|
          = render 'shared/v2/email', email: email
    - unless person.phones.empty?
      %n1:phones
        - person.phones.each do |phone|
          = render 'shared/v2/phone', phone: phone
      = render 'shared/v2/timestamp', record: person
  = render 'shared/v2/person_demographics', member: member

Revert "Fixing issue with bogus member ID in person match."

%n1:individual{"xmlns:n1" => "http://openhbx.org/api/terms/1.0", "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", "xsi:schemaLocation" => "http://openhbx.org/api/terms/1.0 individual.xsd"}
  %n1:person
    %n1:id
      %n1:id= person.authority_member.id
    %n1:is_authoratative= person.is_authoritative?
    %n1:alias_ids
    - person.members.each do |member|
      %n1:alias_id
        %n1:id= member.hbx_member_id
    %n1:person_name
      = render 'shared/v2/name', object: person
    - unless person.addresses.empty?
      %n1:addresses
        - person.addresses.each do |address|
          = render 'shared/v2/address', address: address
    - unless person.emails.empty?
      %n1:emails
        - person.emails.each do |email|
          = render 'shared/v2/email', email: email
    - unless person.phones.empty?
      %n1:phones
        - person.phones.each do |phone|
          = render 'shared/v2/phone', phone: phone
      = render 'shared/v2/timestamp', record: person
  = render 'shared/v2/person_demographics', member: member


%h1&= build.human_status

%form{ :action => build_path(build), :method => :post }
  %p.submit
    %button{ :type => :submit, :title => "Rebuild this commit" }<
      Rebuild

%blockquote
  %p
    #{'
' + h(build.full_message).gsub("\n", '
')}
  %p.meta<
    %span.who<
      &== by: #{build.author}
    |
    %span.when{ :title => build.committed_at }<
      &= pretty_date build.committed_at
    - if build.project.github?
      |
      %span.github<
        %a{ :href => github_commit_url(build) } view on GitHub

- if build.completed?
  %h2
    Build Output
    %a{:href => build_path(build, :raw)} (raw)

  %pre.output
    :preserve
      #{bash_color_codes h(build.output)}

Delete now useless leading break

%h1&= build.human_status

%form{ :action => build_path(build), :method => :post }
  %p.submit
    %button{ :type => :submit, :title => "Rebuild this commit" }<
      Rebuild

%blockquote
  %p
    #{h(build.full_message).gsub("\n", '<br />')}
  %p.meta<
    %span.who<
      &== by: #{build.author}
    |
    %span.when{ :title => build.committed_at }<
      &= pretty_date build.committed_at
    - if build.project.github?
      |
      %span.github<
        %a{ :href => github_commit_url(build) } view on GitHub

- if build.completed?
  %h2
    Build Output
    %a{:href => build_path(build, :raw)} (raw)

  %pre.output
    :preserve
      #{bash_color_codes h(build.output)}


:ruby
  has_report_actions = lookup_context.template_exists?("#{@report_view}_actions", 'reports', true)
  has_common_actions = lookup_context.template_exists?("common_actions", 'reports', true)

%nav.navbar.navbar-default
  .container-fluid
    .navbar-header
      %button.navbar-toggle.collapsed{:data => {:toggle => "collapse", :target => "#report-form-actions"}}
        %span.sr-only Toggle Controls
        %span.icon-bar
        %span.icon-bar
        %span.icon-bar
      .navbar-brand= @report.name

    - if has_report_actions || has_common_actions
      .collapse.navbar-collapse#report-form-actions
        - if has_common_actions
          = render :partial => "common_actions"
        - if has_report_actions
          = render :partial => "#{@report_view}_actions"

.row
  .col-lg-12.col-md-12.col-sm-12.col-xs-12
    = render @report_view

Remove filter button and automatically filter TAM service life report when choosing asset category; update label.

:ruby
  has_report_actions = lookup_context.template_exists?("#{@report_view}_actions", 'reports', true)
  has_common_actions = lookup_context.template_exists?("common_actions", 'reports', true)
  has_specific_actions = lookup_context.template_exists?("#{@report.class_name.underscore}_actions", 'reports', true)

%nav.navbar.navbar-default
  .container-fluid
    .navbar-header
      %button.navbar-toggle.collapsed{:data => {:toggle => "collapse", :target => "#report-form-actions"}}
        %span.sr-only Toggle Controls
        %span.icon-bar
        %span.icon-bar
        %span.icon-bar
      .navbar-brand= @report.name

    - if has_report_actions || has_common_actions || has_specific_actions
      .collapse.navbar-collapse#report-form-actions
        - if has_common_actions
          = render :partial => "common_actions"
        - if has_specific_actions
          = render :partial => "#{@report.class_name.underscore}_actions"
        - elsif has_report_actions
          = render :partial => "#{@report_view}_actions"

.row
  .col-lg-12.col-md-12.col-sm-12.col-xs-12
    = render @report_view


!!!
%html
  %head
    %meta{:content => "width=device-width, initial-scale=1.0", :name => "viewport"}
      %title= content_for?(:title) ? yield(:title) : "Teikei"

      = javascript_include_tag "http://use.typekit.net/cuk4pxu.js"
      :javascript
        try{Typekit.load();}catch(e){}

      %meta{:content => content_for?(:description) ? yield(:description) : "Teikei", :name => "description"}
        = stylesheet_link_tag "application", :media => "all"
        = yield(:head)

  %body{:class => "#{controller_name} #{action_name}"}
    %header.container
      = render 'layouts/navigation'
    #main.map{:role => "main"}
      = render 'layouts/messages'
      = yield
    %footer

    = javascript_include_tag "application"
    = javascript_include_tag "map"

Fix a minor indentation error in the map layout's HTML head.


%tr
  %td= account.code
  %td= link_to account.title, account_path(account, :by_value_period => params[:by_value_period])
  - if @date
    %td{:style => "text-align: right"}= currency_fmt(account.saldo(@date))
  - elsif params[:by_value_period]
    %td{:style => "text-align: right"}= currency_fmt(account.saldo(params[:by_value_period][:from]..params[:by_value_period][:to]))
  - else
    %td{:style => "text-align: right"}= currency_fmt(account.saldo)
  %td.action-links
    = icon_edit_link_to edit_account_path(account)
    = icon_delete_link_to account, account_path(account)

Add item class/id to account list columns.

%tr[account]
  %td= account.code
  %td= link_to account.title, account_path(account, :by_value_period => params[:by_value_period])
  - if @date
    %td{:style => "text-align: right"}= currency_fmt(account.saldo(@date))
  - elsif params[:by_value_period]
    %td{:style => "text-align: right"}= currency_fmt(account.saldo(params[:by_value_period][:from]..params[:by_value_period][:to]))
  - else
    %td{:style => "text-align: right"}= currency_fmt(account.saldo)
  %td.action-links
    = icon_edit_link_to edit_account_path(account)
    = icon_delete_link_to account, account_path(account)


-if @comment.opinions.present?
  .opinions
    - @comment.opinions.each do |opinion|
      - opinion_type = opinion.class.name.split('::').last.downcase
      .opinion{ :class => "opinion-#{opinion_type}" }
        - if opinion_type == 'like'
          %i.icon-thumbs-up
        - else
          %i.icon-thumbs-down
        %img.avatar.img-rounded{ :src => opinion.user.profile_picture_url, :alt => opinion.user.alias }
        %span.who
          = link_to_unless opinion.user.nil?, opinion.user.alias, opinion.user
-else
  No hay opiniones aún

Fix opinions popover not showing for unexisting user

-if @comment.opinions.present?
  .opinions
    - @comment.opinions.each do |opinion|
      - if opinion.user
        - opinion_type = opinion.class.name.split('::').last.downcase
        .opinion{ :class => "opinion-#{opinion_type}" }
          - if opinion_type == 'like'
            %i.icon-thumbs-up
          - else
            %i.icon-thumbs-down
          %img.avatar.img-rounded{ :src => opinion.user.profile_picture_url, :alt => opinion.user.alias }
          %span.who
            = link_to_unless opinion.user.nil?, opinion.user.alias, opinion.user
-else
  No hay opiniones aún


:javascript
  $(document).ready(function() {
    sortWishlistTable();
    $('.help').tooltip({ showURL: false });
  });
%table#wishlists.list.tablesorter
  %thead
    %tr
      %th Item
      %th Priority
      %th Note
      %th Slot
      %th.image
  %tbody#wishlist
    - @wishlists.each do |wishlist|
      = render :partial => "wishlists/wishlist_row", :object => wishlist, :locals => { :recent_loots => @recent_loots }
%br
#wishlist-edit{ :style => "display: none" }'
= render :partial => 'wishlists/form_inline'

Remove a stray apostrophe that's been there for months, apparently.

:javascript
  $(document).ready(function() {
    sortWishlistTable();
    $('.help').tooltip({ showURL: false });
  });
%table#wishlists.list.tablesorter
  %thead
    %tr
      %th Item
      %th Priority
      %th Note
      %th Slot
      %th.image
  %tbody#wishlist
    - @wishlists.each do |wishlist|
      = render :partial => "wishlists/wishlist_row", :object => wishlist, :locals => { :recent_loots => @recent_loots }
%br
#wishlist-edit{ :style => "display: none" }
= render :partial => 'wishlists/form_inline'


- if completion
  - @completion = completion
.timeline-block.panel
  .large-3.small-3.columns.no-padding= link_to image_tag(@completion.user.profile_pic), @completion.user
  .large-9.small-9.columns
    = "#{@completion.user.name} completed #{Wod.find(@completion.wod_id).name} in #{@completion.time}"
    .timeline-details
      = @completion.created_at.asctime
    = form_for([@completion, Comment.new], remote: true) do |f|
      = tag(:input, :type => "hidden", :name => request_forgery_protection_token.to_s, :value => form_authenticity_token)
      = f.text_field :text, :class => "text-input"
    = render 'completions/votes_form'
    %hr/
    .timeline-comments
      = render 'comments/show', completion: @completion

Fix error with undefined user

- if defined? completion
  - @completion = completion
.timeline-block.panel
  .large-3.small-3.columns.no-padding= link_to image_tag(@completion.user.profile_pic), @completion.user
  .large-9.small-9.columns
    = "#{@completion.user.name} completed #{Wod.find(@completion.wod_id).name} in #{@completion.time}"
    .timeline-details
      = @completion.created_at.asctime
    = form_for([@completion, Comment.new], remote: true) do |f|
      = tag(:input, :type => "hidden", :name => request_forgery_protection_token.to_s, :value => form_authenticity_token)
      = f.text_field :text, :class => "text-input"
    = render 'completions/votes_form'
    %hr/
    .timeline-comments
      = render 'comments/show', completion: @completion


- if !user_signed_in?
  = link_to "Signup", new_supporter_path(plan_id: plan.stripe_plan_id), class: "btn btn-default btn-lg"
- elsif current_user.plan == plan
  = button_tag class: "btn btn-default btn-lg", disabled: true do
    %i.fa.fa-check.text-success
    You're a
    = current_user.plan.name
- else
  = button_tag plan_change_word(current_user.plan, plan),
               id: plan.stripe_plan_id,
               class: "btn btn-default btn-lg",
               data: {key: Rails.configuration.stripe[:publishable_key],
                      description: description,
                      amount: amount,
                      email: current_user.email,
                      plan_id: plan.stripe_plan_id,
                      stripe: !current_user.supporter? }

Change sign up button's text for logged out users

- if !user_signed_in?
  = link_to plan_change_word(Plan.new(nil), plan), new_supporter_path(plan_id: plan.stripe_plan_id), class: "btn btn-default btn-lg"
- elsif current_user.plan == plan
  = button_tag class: "btn btn-default btn-lg", disabled: true do
    %i.fa.fa-check.text-success
    You're a
    = current_user.plan.name
- else
  = button_tag plan_change_word(current_user.plan, plan),
               id: plan.stripe_plan_id,
               class: "btn btn-default btn-lg",
               data: {key: Rails.configuration.stripe[:publishable_key],
                      description: description,
                      amount: amount,
                      email: current_user.email,
                      plan_id: plan.stripe_plan_id,
                      stripe: !current_user.supporter? }


:ruby
  index             = @review_list.index(@snapshot)
  previous_snapshot = @review_list[index - 1] if index > 0
  next_snapshot     = @review_list[index + 1]

%ul.pager
  %li.previous{ class: ('disabled' unless previous_snapshot) }
    :ruby
      href = if previous_snapshot
               snapshot_path(previous_snapshot)
             else
               'javascript:return false;'
             end
    = link_to href, data: { keyboard_shortcut: '[' } do
      %i.glyphicon.glyphicon-chevron-left
      Previous in sweep

  %li.next{ class: ('disabled' unless next_snapshot) }
    :ruby
      href = if next_snapshot
               snapshot_path(next_snapshot)
             else
               'javascript:return false;'
             end
    = link_to href, data: { keyboard_shortcut: ']' } do
      Next in sweep
      %i.glyphicon.glyphicon-chevron-right

Use arrows instead of chevrons for sweep nav

:ruby
  index             = @review_list.index(@snapshot)
  previous_snapshot = @review_list[index - 1] if index > 0
  next_snapshot     = @review_list[index + 1]

%ul.pager
  %li.previous{ class: ('disabled' unless previous_snapshot) }
    :ruby
      href = if previous_snapshot
               snapshot_path(previous_snapshot)
             else
               'javascript:return false;'
             end
    = link_to href, data: { keyboard_shortcut: '[' } do
      %i.glyphicon.glyphicon-arrow-left
      Previous in sweep

  %li.next{ class: ('disabled' unless next_snapshot) }
    :ruby
      href = if next_snapshot
               snapshot_path(next_snapshot)
             else
               'javascript:return false;'
             end
    = link_to href, data: { keyboard_shortcut: ']' } do
      Next in sweep
      %i.glyphicon.glyphicon-arrow-right


%footer
  .container
    .row
      .col-sm-12.text-center
        %div.col-sm-12.text-center
        %ul.nav.nav-pills.nav-justified
          %li
            = link_to(announcements_path) do
              %i.fa.fa-bullhorn
              News
          %li
            = link_to(about_path) do
              %i.fa.fa-info
              About
          %li
            = link_to(gallery_path) do
              %i.fa.fa-picture-o
              Pics
          %li
            = link_to(faqs_path) do
              %i.fa.fa-question
              FAQ
          %li
            = link_to('https://github.com/SUSE/hackweek/blob/master/CREDITS.md') do
              %i.fa.fa-heart
              Credit.
        %p.small{style: 'padding-top: 25px'}
          ©
          = Time.current.year
          SUSE.
          This tool is
          = link_to 'free software,', 'http://www.gnu.org/philosophy/free-sw.html'
          you can run, copy, distribute, study, change and improve it.
          The source code and the developers are on
          = link_to 'github.', 'https://github.com/SUSE/hackweek'

Align code style of links with other links in the file

%footer
  .container
    .row
      .col-sm-12.text-center
        %div.col-sm-12.text-center
        %ul.nav.nav-pills.nav-justified
          %li
            = link_to(announcements_path) do
              %i.fa.fa-bullhorn
              News
          %li
            = link_to(about_path) do
              %i.fa.fa-info
              About
          %li
            = link_to(gallery_path) do
              %i.fa.fa-picture-o
              Pics
          %li
            = link_to(faqs_path) do
              %i.fa.fa-question
              FAQ
          %li
            = link_to('https://github.com/SUSE/hackweek/blob/master/CREDITS.md') do
              %i.fa.fa-heart
              Credit.
        %p.small{style: 'padding-top: 25px'}
          ©
          = Time.current.year
          SUSE.
          This tool is
          = link_to('free software,', 'https://www.gnu.org/philosophy/free-sw.html')
          you can run, copy, distribute, study, change and improve it.
          The source code and the developers are on
          = link_to('GitHub.', 'https://github.com/SUSE/hackweek')


.footer-sponsors
  We are currently looking for the following sponsors in order to help us sustain
  RubyBench:

  %ol
    %li Hosting sponsor

    %li
      %strong
        Sponsor for bare metal server. We're currently running the bare metal
        server using a free one month trial from Softlayer. While the lowest
        bare metal server costs around USD170, we would prefer a bare metal
        server in the range of USD500 such that the benchmarks do not take forever
        to complete.

  For parties interested in sponsoring any of the above, please drop us a note
  at our
  = succeed '.' do
    = link_to ' discussion forum', 'http://community.miniprofiler.com/t/status-progress-cooperation/337', target: '_blank', class: 'alert-link'

%hr

.l-align-center
  %h5
    Built and maintained by
    = link_to '@tgxworld', 'https://github.com/tgxworld'

  %h5
    Calming cat gif by
    = link_to 'Thomas Bogner', 'https://dribbble.com/bogner'

Add target _blank to links in footer.

.footer-sponsors
  We are currently looking for the following sponsors in order to help us sustain
  RubyBench:

  %ol
    %li Hosting sponsor

    %li
      %strong
        Sponsor for bare metal server. We're currently running the bare metal
        server using a free one month trial from Softlayer. While the lowest
        bare metal server costs around USD170, we would prefer a bare metal
        server in the range of USD500 such that the benchmarks do not take forever
        to complete.

  For parties interested in sponsoring any of the above, please drop us a note
  at our
  = succeed '.' do
    = link_to ' discussion forum', 'http://community.miniprofiler.com/t/status-progress-cooperation/337', target: '_blank', class: 'alert-link'

%hr

.l-align-center
  %h5
    Built and maintained by
    = link_to '@tgxworld', 'https://github.com/tgxworld', target: '_blank'

  %h5
    Calming cat gif by
    = link_to 'Thomas Bogner', 'https://dribbble.com/bogner', target: '_blank'


#header
  .logo
    %p
      = link_to "Spot.us - Community Funded Reporting", "/", :class => "logo-link", :title => "Spot.us - Community Funded Reporting"
      %strong
        Spot.Us is currently in a testing phase. Site is safe and secure, launching in full soon. Stay tuned!
  .nav-container
    %ul#main-nav
      %li.start_story= link_to "Start a Story", start_story_path
      %li.fund_story= link_to "Fund a Story", news_items_path
      %li.read_story= link_to "Read a Story", news_items_path
      %li.about_spotus= link_to "About", page_path('about')
  .clear

Revert "Desi - adding header thingy"


!!!
%html
  %head
    %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
    %title hackEDU Labs
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
    = javascript_include_tag 'application', 'data-turbolinks-track' => true
    = render 'layouts/analytics_head'
    = csrf_meta_tags
  - if current_leader.nil?
    %body
      = render 'layouts/flash'
      = yield
      = render 'layouts/analytics_body'
  - else
    %body.with-top-navbar
      = render 'layouts/flash'
      %nav.navbar.navbar-inverse.navbar-fixed-top
        .container.container-spacious
          .navbar-header
            %button{type: 'button', class: 'navbar-toggle collapsed',
             'data-toggle': 'collapse', 'data-target': '#navbar',
             'aria-expanded': 'false', 'aria-controls': 'navbar'}
              %span.sr-only Toggle navigation
              %span.icon-bar
              %span.icon-bar
              %span.icon-bar
            = link_to root_path, class: 'navbar-brand navbar-brand-emphasized' do
              %span.icon.icon-line-graph.navbar-brand-icon
              Labs
          #navbar.navbar-collapse.collapse
            = render 'layouts/nav_items'

      .container.container-spacious
        = yield
      = render 'layouts/analytics_body'

Change title to "Labs Dashboard"

!!!
%html
  %head
    %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
    %title Labs Dashboard
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
    = javascript_include_tag 'application', 'data-turbolinks-track' => true
    = render 'layouts/analytics_head'
    = csrf_meta_tags
  - if current_leader.nil?
    %body
      = render 'layouts/flash'
      = yield
      = render 'layouts/analytics_body'
  - else
    %body.with-top-navbar
      = render 'layouts/flash'
      %nav.navbar.navbar-inverse.navbar-fixed-top
        .container.container-spacious
          .navbar-header
            %button{type: 'button', class: 'navbar-toggle collapsed',
             'data-toggle': 'collapse', 'data-target': '#navbar',
             'aria-expanded': 'false', 'aria-controls': 'navbar'}
              %span.sr-only Toggle navigation
              %span.icon-bar
              %span.icon-bar
              %span.icon-bar
            = link_to root_path, class: 'navbar-brand navbar-brand-emphasized' do
              %span.icon.icon-line-graph.navbar-brand-icon
              Labs
          #navbar.navbar-collapse.collapse
            = render 'layouts/nav_items'

      .container.container-spacious
        = yield
      = render 'layouts/analytics_body'


%ul.breadcrumb.repo-breadcrumb
  %li
    %i.icon-angle-right
    = link_to project_tree_path(@project, @ref) do
      = @project.path
  - tree_breadcrumbs(@tree, 6) do |title, path|
    %li
      - if path
        - if path.end_with?(@path)
          = link_to project_blob_path(@project, path) do
            %strong
              = truncate(title, length: 40)
        - else
          = link_to truncate(title, length: 40), project_tree_path(@project, path)
      - else
        = link_to title, '#'

%ul.blob-commit-info.bs-callout.bs-callout-info.hidden-xs
  - blob_commit = @repository.last_commit_for_path(@commit.id, @blob.path)
  = render blob_commit, project: @project

%div#tree-content-holder.tree-content-holder
  %article.file-holder
    .file-title.clearfix
      %i.icon-file
      %span.file_name
        = blob.name
        %small= number_to_human_size blob.size
      %span.options.hidden-xs= render "actions"
    - if blob.text?
      = render "text", blob: blob
    - elsif blob.image?
      = render "image", blob: blob
    - else
      = render "download", blob: blob

Use blob local instead of instance.

%ul.breadcrumb.repo-breadcrumb
  %li
    %i.icon-angle-right
    = link_to project_tree_path(@project, @ref) do
      = @project.path
  - tree_breadcrumbs(@tree, 6) do |title, path|
    %li
      - if path
        - if path.end_with?(@path)
          = link_to project_blob_path(@project, path) do
            %strong
              = truncate(title, length: 40)
        - else
          = link_to truncate(title, length: 40), project_tree_path(@project, path)
      - else
        = link_to title, '#'

%ul.blob-commit-info.bs-callout.bs-callout-info.hidden-xs
  - blob_commit = @repository.last_commit_for_path(@commit.id, blob.path)
  = render blob_commit, project: @project

%div#tree-content-holder.tree-content-holder
  %article.file-holder
    .file-title.clearfix
      %i.icon-file
      %span.file_name
        = blob.name
        %small= number_to_human_size blob.size
      %span.options.hidden-xs= render "actions"
    - if blob.text?
      = render "text", blob: blob
    - elsif blob.image?
      = render "image", blob: blob
    - else
      = render "download", blob: blob


%article.file[file]
  %div
    .path= file.path
    .elapsed= file.elapsed
    .clearfix
  .percentage_img_container
    .percentage
      -# TODO: Move this to the presenter after having resolved the presenter
      -#       issues, in Draper I can't access helpers for some reason
      - max_elapsed = ::WatchTower::Server::File.where('project_id = ?', file.project_id).order('elapsed_time DESC').first.elapsed_time
      - percentage = (file.elapsed_time * 100 / max_elapsed).to_i rescue 100
      %img.percentage_img{src: asset_path('percentage.png'), 'data-width' => percentage}/
  .clearfix

Use the percent from the file model to display the percent image.

%article.file[file]
  %div
    .path= file.path
    .elapsed= file.elapsed
    .clearfix
  .percentage_img_container
    .percentage
      %img.percentage_img{src: asset_path('percentage.png'), 'data-width' => file.percent}/
  .clearfix


- if ENV['BUGSNAG_JAVASCRIPT_API_KEY']
  %script{ src:"//d2wy8f7a9ursnm.cloudfront.net/bugsnag-2.min.js",
    "data-apikey" => "#{ENV["BUGSNAG_JAVASCRIPT_API_KEY"]}" }
  :javascript
    Bugsnag.releaseStage = "#{Rails.env}";
    Bugsnag.notifyReleaseStages = ["staging", "production"];
    var ErrorNotifier = {};
    ErrorNotifier['notify'] = function( error, label, metadata ) {
      Bugsnag.notifyException(error.message, error.stack);
    }
- else
  :javascript
    var ErrorNotifier = {}
    ErrorNotifier['notify'] = function( error, label, metadata ) {
      label = typeof label !== 'undefined' ? label : 'Uncaught Error';
      console.log(label + ": " , error);
    }

Throw errors where Bugsnag is not available

- if ENV['BUGSNAG_JAVASCRIPT_API_KEY']
  %script{ src:"//d2wy8f7a9ursnm.cloudfront.net/bugsnag-2.min.js",
    "data-apikey" => "#{ENV["BUGSNAG_JAVASCRIPT_API_KEY"]}" }
  :javascript
    Bugsnag.releaseStage = "#{Rails.env}";
    Bugsnag.notifyReleaseStages = ["staging", "production"];
    var ErrorNotifier = {};
    ErrorNotifier['notify'] = function( error, label, metadata ) {
      Bugsnag.notifyException(error.message, error.stack);
    }
- else
  :javascript
    var ErrorNotifier = {}
    ErrorNotifier['notify'] = function( error, label, metadata ) {
      throw error;
    }


- reporter = abuse_report.reporter
- user = abuse_report.user
%tr
  %td
    - if user
      = link_to user.name, [:admin, user]
      .light.small
        Joined #{time_ago_with_tooltip(user.created_at)}
    - else
      (removed)
  %td
    - if reporter
      = link_to reporter.name, [:admin, reporter]
    - else
      (removed)
    .light.small
      = time_ago_with_tooltip(abuse_report.created_at)
  %td
    = markdown(abuse_report.message.squish!, pipeline: :single_line)
  %td
    - if user
      = link_to 'Remove user & report', admin_abuse_report_path(abuse_report, remove_user: true),
        data: { confirm: "USER #{user.name} WILL BE REMOVED! Are you sure?" }, remote: true, method: :delete, class: "btn btn-xs btn-remove js-remove-tr"

  %td
    - if user && !user.blocked?
      = link_to 'Block user', block_admin_user_path(user), data: {confirm: 'USER WILL BE BLOCKED! Are you sure?'}, method: :put, class: "btn btn-xs"
    - else
      .btn.btn-xs
        Already Blocked
    = link_to 'Remove report', [:admin, abuse_report], remote: true, method: :delete, class: "btn btn-xs btn-close js-remove-tr"

Disable "Already Blocked" button in admin abuse report page

- reporter = abuse_report.reporter
- user = abuse_report.user
%tr
  %td
    - if user
      = link_to user.name, [:admin, user]
      .light.small
        Joined #{time_ago_with_tooltip(user.created_at)}
    - else
      (removed)
  %td
    - if reporter
      = link_to reporter.name, [:admin, reporter]
    - else
      (removed)
    .light.small
      = time_ago_with_tooltip(abuse_report.created_at)
  %td
    = markdown(abuse_report.message.squish!, pipeline: :single_line)
  %td
    - if user
      = link_to 'Remove user & report', admin_abuse_report_path(abuse_report, remove_user: true),
        data: { confirm: "USER #{user.name} WILL BE REMOVED! Are you sure?" }, remote: true, method: :delete, class: "btn btn-xs btn-remove js-remove-tr"

  %td
    - if user && !user.blocked?
      = link_to 'Block user', block_admin_user_path(user), data: {confirm: 'USER WILL BE BLOCKED! Are you sure?'}, method: :put, class: "btn btn-xs"
    - else
      .btn.btn-xs.disabled
        Already Blocked
    = link_to 'Remove report', [:admin, abuse_report], remote: true, method: :delete, class: "btn btn-xs btn-close js-remove-tr"


%ul.nav.navbar-nav.navbar-right
  - if user_signed_in?
    = render("shared/navigation/user_is_signed_in")
  - else
    = nav_link 'Sign in', new_session_path(:user)

- if user_signed_in? && current_user.in_trial_without_card?
  = link_to("Upgrade (#{days_remaining_in_trial(current_user.subscription)} left)", new_credit_card_path, class: "btn btn-primary navbar-btn navbar-right")

Remove sign in / sign up link

/ %ul.nav.navbar-nav.navbar-right
/   - if user_signed_in?
/     = render("shared/navigation/user_is_signed_in")
/   - else
/     = nav_link 'Sign in', new_session_path(:user)

/ - if user_signed_in? && current_user.in_trial_without_card?
/   = link_to("Upgrade (#{days_remaining_in_trial(current_user.subscription)} left)", new_credit_card_path, class: "btn btn-primary navbar-btn navbar-right")


.columns.eight.right{style: 'float:right'}
  = image_tag(Spree::Product.gift_cards.first.images.first.attachment.url(:product), style: "width:100%")

Use full scale pig image.

.columns.eight.right{style: 'float:right'}
  = image_tag(Spree::Product.gift_cards.first.images.first.attachment.url(:large), style: "width:100%")


!!!
%html{:lang => "en"}
  %head
    %meta{:charset => "utf-8"}/
    %title Tweet My Council
    %meta{:content => "", :name => "description"}/
    %meta{:content => "OpenAustralia Foundation", :name => "author"}/
    / Le HTML5 shim, for IE6-8 support of HTML elements
    /[if lt IE 9]

    / Le styles
    %link{:href => "http://twitter.github.com/bootstrap/1.4.0/bootstrap.min.css", :rel => "stylesheet"}/
    :css
      body {
        padding-top: 60px;
      }
  %body
    .topbar
      .fill
        .container
          %a.brand{:href => "/"} Tweet My Council
          %ul.nav
            %li
              %a{:href => "/"} Home
            %li
              %a{:href => "/api"} API
    .container
      = yield
      %footer
        %p An OpenAustralia Foundation project

Add a link to teh sauce

!!!
%html{:lang => "en"}
  %head
    %meta{:charset => "utf-8"}/
    %title Tweet My Council
    %meta{:content => "", :name => "description"}/
    %meta{:content => "OpenAustralia Foundation", :name => "author"}/
    / Le HTML5 shim, for IE6-8 support of HTML elements
    /[if lt IE 9]

    / Le styles
    %link{:href => "http://twitter.github.com/bootstrap/1.4.0/bootstrap.min.css", :rel => "stylesheet"}/
    :css
      body {
        padding-top: 60px;
      }
  %body
    .topbar
      .fill
        .container
          %a.brand{:href => "/"} Tweet My Council
          %ul.nav
            %li
              %a{:href => "/"} Home
            %li
              %a{:href => "/api"} API
            %li
              %a{:href => "https://github.com/mlandauer/tweetmycouncil"} Code
    .container
      = yield
      %footer
        %p An OpenAustralia Foundation project


- with_label = local_assigns.fetch(:with_label, true)

.form-group.visibility-level-setting
  - if with_label
    = f.label :visibility_level, class: 'col-form-label col-sm-2' do
      Visibility Level
      = link_to icon('question-circle'), help_page_path("public_access/public_access")
  %div{ :class => ("col-sm-10" if with_label) }
    - if can_change_visibility_level
      = render('shared/visibility_radios', model_method: :visibility_level, form: f, selected_level: visibility_level, form_model: form_model)
    - else
      %div
        %span.info
          = visibility_level_icon(visibility_level)
          %strong
            = visibility_level_label(visibility_level)
          .light= visibility_level_description(visibility_level, form_model)

Fix alignment of visibility options on new group page

- with_label = local_assigns.fetch(:with_label, true)

.form-group.row.visibility-level-setting
  - if with_label
    = f.label :visibility_level, class: 'col-form-label col-sm-2' do
      Visibility Level
      = link_to icon('question-circle'), help_page_path("public_access/public_access")
  %div{ :class => ("col-sm-10" if with_label) }
    - if can_change_visibility_level
      = render('shared/visibility_radios', model_method: :visibility_level, form: f, selected_level: visibility_level, form_model: form_model)
    - else
      %div
        %span.info
          = visibility_level_icon(visibility_level)
          %strong
            = visibility_level_label(visibility_level)
          .light= visibility_level_description(visibility_level, form_model)


#contents
  =h1 "Proposer une dépêche"

  - if (news = News.draft).any?
    %p Les dépêches suivantes sont déjà en cours de rédaction. Vous pouvez y contribuer directement si vous le souhaitez :
    %ul
      = list_of(news) do |news|
        = link_to news.title, [:redaction, news]

  = render "preview", :preview => @news if @preview_mode

  = form_for setup_news(@news), :url => '/news' do |form|
    = render form

  = render 'shared/wiki_help'

Add a link to moderation rules

#contents
  =h1 "Proposer une dépêche"

  %p
    Les dépêches proposées sont relues et modérées a priori par l'équipe de LinuxFr.org.
    La ligne éditoriale est expliquée sur la page « Règles de modération ».

  - if (news = News.draft).any?
    %p Les dépêches suivantes sont déjà en cours de rédaction. Vous pouvez y contribuer directement si vous le souhaitez :
    %ul
      = list_of(news) do |news|
        = link_to news.title, [:redaction, news]

  = render "preview", :preview => @news if @preview_mode

  = form_for setup_news(@news), :url => '/news' do |form|
    = render form

  = render 'shared/wiki_help'


- if can? :update, @org
  .btn-group.pull-right.panel-action
    %button.btn.btn-primary.btn-sm.dropdown-toggle{:data => {:toggle => 'dropdown'}}
      I want to
      %span.caret
    %ul.dropdown-menu{:role => 'menu'}

      - # Load module specific actions if they exist
      - SystemConfig.transam_module_names.each do |mod|
        = render :partial => "organizations/#{mod}_detail_actions" rescue nil

      - if can? :update, @org
        %li
          = link_to edit_organization_path(@org) do
            %i.fa.fa-edit.fa-fw
            = " Update this organization"

Fix authorizations on orgs partial


.control-group
  %label.control-label{:for => 'latest-date'} If item remains unavailable, cancel hold after:
  #latest-date.controls
    %label.radio{ :for => "30 days"}
      %input(type="radio" name="latest-date" value="#{d30.strftime("%Y-%m-%d")}" id="30 days")
      30 days (#{d30.strftime("%m-%d-%Y")})
    %label.radio{ :for => "60 days"}
      %input(type="radio" name="latest-date" value="#{d60.strftime("%Y-%m-%d")}" id="60 days")
      60 days (#{d60.strftime("%m-%d-%Y")})
    %label.radio{ :for => "180 days"}
      %input(type="radio" name="latest-date" value="#{d180.strftime("%Y-%m-%d")}" id="180 days")
      180 days (#{d180.strftime("%m-%d-%Y")})

Fix bug in request_date partial.

-d30 = 30.day.from_now
-d60 = 60.day.from_now
-d180 = 180.day.from_now
.control-group
  %label.control-label{:for => 'latest-date'} If item remains unavailable, cancel hold after:
  #latest-date.controls
    %label.radio{ :for => "30 days"}
      %input(type="radio" name="latest-date" value="#{d30.strftime("%Y-%m-%d")}" id="30 days")
      30 days (#{d30.strftime("%m-%d-%Y")})
    %label.radio{ :for => "60 days"}
      %input(type="radio" name="latest-date" value="#{d60.strftime("%Y-%m-%d")}" id="60 days")
      60 days (#{d60.strftime("%m-%d-%Y")})
    %label.radio{ :for => "180 days"}
      %input(type="radio" name="latest-date" value="#{d180.strftime("%Y-%m-%d")}" id="180 days")
      180 days (#{d180.strftime("%m-%d-%Y")})


%h1 Editing input

= render 'form'

= link_to 'Show', @input
\|
= link_to 'Back', api_v1_inputs_path

Fix link in edit inputs view

%h1 Editing input

= render 'form'

= link_to 'Show', api_v1_input_path(@input)
\|
= link_to 'Back', api_v1_inputs_path


= render partial: 'shared/components/filter_controls'

.row.animate-show{"ng-show" => "filtersActive"}
  .small-12.columns

    .row.filter-box
      .small-12.columns
        %h5.tdhead
          .light Filter by
          Type

    .row.filter-box
      .small-12.columns
        %taxon-selector{objects: "Producers.visible | filterProducers:query",
          results: "activeTaxons"}

    .row.filter-box.animate-show{"ng-show" => "filtersActive && totalActive() > 0"}
      .small-12.columns
        %a.button.secondary.small.expand{"ng-click" => "clearAll()"}
          %i.ofn-i_009-close
          Clear all filters

Adjust layout for small views

= render partial: 'shared/components/filter_controls'

.row.animate-show{"ng-show" => "filtersActive"}
  .small-12.columns
    .row.filter-box
      .small-12.columns
        %h5.tdhead
          .light Filter by
          Type
        %taxon-selector{objects: "Producers.visible | filterProducers:query",
          results: "activeTaxons"}

    .row.filter-box.animate-show{"ng-show" => "filtersActive && totalActive() > 0"}
      .small-12.columns
        %a.button.secondary.small.expand{"ng-click" => "clearAll()"}
          %i.ofn-i_009-close
          Clear all filters


#state_infos.well
  .ontology-state
    = state_tag(resource)

    - if resource.state == 'failed' && resource.class.respond_to?(:retry_failed)
      = link_to 'Retry', retry_resource_chain, method: :post, class: 'btn btn-xs btn-primary', data: {disable_with: t(:wait)}
    - elsif resource.state == 'pending'
      .pending_message
        Our servers are currently busy, please come back later.

Add error message to state partial.

#state_infos.well
  .ontology-state
    = state_tag(resource)

    - if resource.state == 'failed' && resource.class.respond_to?(:retry_failed)
      = link_to 'Retry', retry_resource_chain, method: :post, class: 'btn btn-xs btn-primary', data: {disable_with: t(:wait)}
    - elsif resource.state == 'pending'
      .pending_message
        Our servers are currently busy, please come back later.

- if resource.state == 'failed' && resource.last_error
  = format_error_message resource.last_error


.row.panelized
  .col-md-12
    %h4
      %i.fa.fa-cogs
      Workers Running

    .m-t-10
      - current_project.active_workers.each do |w|
        %i.fa.fa-cog.fa-spin.fa-1x{style: 'color: green;'}
        = w[0...26]
    %p
      You can
      = link_to worker_setup_project_settings_path(current_project) do
        %b configure
      your workers here.
    %hr
  .col-md-12
    %h4
      %i.fa.fa-book
      = link_to 'Documentation', 'http://documentation.testributor.com', target: '_blank'

    Documentation is under continuous improvement.
    %br
    We do our best to keep it up to date and complete but don’t hesitate to contact us if you find something missing or wrong.
    %hr
  .col-md-12
    %h4
      %i.fa.fa-life-ring
      Help

    We are always available to answer every question.
    Send us an e-mail at
    = mail_to 'info@testributor.com', 'info@testributor.com'

Fix how worker UUIDs are displayed

.row.panelized
  .col-md-12
    %h4
      %i.fa.fa-cogs
      Workers Running (UUID)

    .m-t-10
      - current_project.active_workers.each do |w|
        %div
          %i.fa.fa-cog.fa-spin.fa-1x{style: 'color: green;'}
          = w.split("_").last[0..7]
    %br
    %p
      You can
      = link_to worker_setup_project_settings_path(current_project) do
        %b configure
      your workers here.
    %hr
  .col-md-12
    %h4
      %i.fa.fa-book
      = link_to 'Documentation', 'http://documentation.testributor.com', target: '_blank'

    Documentation is under continuous improvement.
    %br
    We do our best to keep it up to date and complete but don’t hesitate to contact us if you find something missing or wrong.
    %hr
  .col-md-12
    %h4
      %i.fa.fa-life-ring
      Help

    We are always available to answer every question.
    Send us an e-mail at
    = mail_to 'info@testributor.com', 'info@testributor.com'


%section.new-thread
  %h1= t ".title"
  %p= t ".for_group", name: @thread.group.name
  = semantic_form_for @thread, as: :thread, url: {action: :create} do |f|
    = f.semantic_errors
    = f.inputs do
      = f.input :title
      = f.input :privacy, as: :select, collection: @thread.group.thread_privacy_options_map_for(current_user)
      = semantic_fields_for @message do |f2|
        = f2.semantic_errors
        = f2.input :body, input_html: { rows: 15 }
      = f.input :tags_string
    = f.actions do
      = f.action :submit
      = cancel_link

Make new admin threads use tinymce

%section.new-thread
  %h1= t ".title"
  %p= t ".for_group", name: @thread.group.name
  = semantic_form_for @thread, as: :thread, url: {action: :create} do |f|
    = f.semantic_errors
    = f.inputs do
      = f.input :title
      = f.input :privacy, as: :select, collection: @thread.group.thread_privacy_options_map_for(current_user)
      = semantic_fields_for @message do |f2|
        = f2.semantic_errors
        = f2.input :body, input_html: { rows: 15, class: "tinymce" }
      = f.input :tags_string
    = f.actions do
      = f.action :submit
      = cancel_link


= content_for :title, 'Adresse bearbeiten'

.page-header
  %h1= content_for :title

= bootstrap_form_for @address,
  layout: :horizontal,
  label_col: 'col-md-2',
  control_col: 'col-md-4' do |f|
  = f.hidden_field :addressable_id
  = f.text_field :street
  = f.text_field :zipcode
  = f.text_field :city

  = f.form_group do
    = f.primary
    = link_to t('links.cancel'), player_path(@address.addressable),
      class: 'default-button'

Add hidden field for addressable type

= content_for :title, 'Adresse bearbeiten'

.page-header
  %h1= content_for :title

= bootstrap_form_for @address,
  layout: :horizontal,
  label_col: 'col-md-2',
  control_col: 'col-md-4' do |f|
  = f.hidden_field :addressable_id
  = f.hidden_field :addressable_type
  = f.text_field :street
  = f.text_field :zipcode
  = f.text_field :city

  = f.form_group do
    = f.primary
    = link_to t('links.cancel'), player_path(@address.addressable),
      class: 'default-button'


.container.u-py-4
  .Grid
    .Grid-cell.1-of-4--desk.u-t-align-right
    .Grid-cell.2-of-4--desk
      %h2 Add a new list
      %p.u-t-muted After you have created your list you can add items and tags to it.

  =form_for @list, html: { class: 'Form' } do |f|
    .Grid
      .Grid-cell.1-of-4--desk.u-t-align-right
        =f.label :title, 'List title'
      .Grid-cell.2-of-4--desk
        =f.text_field :title
      .Grid-cell.1-of-4--desk

    .Grid
      .Grid-cell.1-of-4--desk.u-t-align-right
        =f.label :description, 'List description'
      .Grid-cell.2-of-4--desk.u-t-align-right
        =f.text_area :description
      .Grid-cell.1-of-4--desk

    .Grid
      .Grid-cell.1-of-4--desk
      .Grid-cell.2-of-4--desk
        %p
          =f.check_box :public, checked: true
          %label{:for => "public"} This is a public list

    .Grid
      .Grid-cell.1-of-4--desk
      .Grid-cell.2-of-4--desk
        %button.Button.Button--withIcon{:name => "action", :type => "submit"}
          %i.material-icons add
          Create list

Remove description and public input from new list.

.container.u-py-4
  .Grid
    .Grid-cell.1-of-4--desk.u-t-align-right
    .Grid-cell.2-of-4--desk
      %h2 Add a new list
      %p.u-t-muted After you have created your list you can add items and tags to it.

  =form_for @list, html: { class: 'Form' } do |f|
    .Grid
      .Grid-cell.1-of-4--desk.u-t-align-right
        =f.label :title, 'List title'
      .Grid-cell.2-of-4--desk
        =f.text_field :title
      .Grid-cell.1-of-4--desk

    .Grid
      .Grid-cell.1-of-4--desk
      .Grid-cell.2-of-4--desk
        %button.Button.Button--withIcon{:name => "action", :type => "submit"}
          %i.material-icons add
          Create list


= form_for(target, :url => event, :remote => true, :method => :put, :html => {:class => "event_update_form"}) do |f|
  .target_actions
    %h2 Actions
    = target.actions
  .target_reflection
    %h2 Reflection
    - unless target.complete_date or target.drop_date
      = f.text_area :reflection
    - else
      = target.reflection
  .target_date
    - if target.drop_date
      %h2 Drop Date
    - else
      %h2 Complete Date
    - unless target.complete_date or target.drop_date
      = f.date_select :complete_date, :order => [:day,:month,:year], :use_short_month => true
      = hidden_field_tag :person_id, @topic.mis_id
      = submit_tag "Complete", :value => "Complete"
    - else
      = pretty_date(target.complete_date || target.drop_date)

- unless target.complete_date or target.drop_date
  = button_to "Drop", event_url(event,"target[drop_date]" => Date.today), :method => :put, :remote => true, :form_class => "event_update_form"

Make dropping other people's targets work

= form_for(target, :url => event, :remote => true, :method => :put, :html => {:class => "event_update_form"}) do |f|
  .target_actions
    %h2 Actions
    = target.actions
  .target_reflection
    %h2 Reflection
    - unless target.complete_date or target.drop_date
      = f.text_area :reflection
    - else
      = target.reflection
  .target_date
    - if target.drop_date
      %h2 Drop Date
    - else
      %h2 Complete Date
    - unless target.complete_date or target.drop_date
      = f.date_select :complete_date, :order => [:day,:month,:year], :use_short_month => true
      = hidden_field_tag :person_id, @topic.mis_id
      = submit_tag "Complete", :value => "Complete"
    - else
      = pretty_date(target.complete_date || target.drop_date)

- unless target.complete_date or target.drop_date
  = button_to "Drop", person_event_url(@topic, event,"target[drop_date]" => Date.today), :method => :put, :remote => true, :form_class => "event_update_form"


- if pitch.editable_by?(current_user) || pitch.featureable_by?(current_user) || pitch.postable_by?(current_user) || (pitch.story && pitch.fact_checker == current_user) || (pitch.fully_funded? && current_user == pitch.user)
  .block-spacer-negative
- if pitch.editable_by?(current_user)
  .centered= link_to image_tag("edit_this_pitch_b.png"), edit_pitch_path(pitch)
- if pitch.featureable_by?(current_user)
  - if pitch.featured?
    .centered= link_to image_tag('un-feature.gif'), unfeature_pitch_path(pitch), :method => :put
  - else
    .centered= link_to image_tag('feature_this_pitch.png'), feature_pitch_path(pitch), :method => :put
- if pitch.postable_by?(current_user)
  = link_to image_tag('make_blog_post.gif'), new_pitch_post_path(pitch)
- if pitch.story && pitch.fact_checker == current_user
  = link_to image_tag('go_to_story.gif'), story_path(pitch.story)
- if pitch.fully_funded? && current_user == pitch.user
  = link_to image_tag('report.gif'), edit_story_path(pitch.story)

Remove excessive logic in action buttons partial

- if pitch.editable_by?(current_user) || pitch.featureable_by?(current_user) || pitch.postable_by?(current_user)
  .block-spacer-negative
- if pitch.editable_by?(current_user)
  .centered= link_to image_tag("edit_this_pitch_b.png"), edit_pitch_path(pitch)
- if pitch.featureable_by?(current_user)
  - if pitch.featured?
    .centered= link_to image_tag('un-feature.gif'), unfeature_pitch_path(pitch), :method => :put
  - else
    .centered= link_to image_tag('feature_this_pitch.png'), feature_pitch_path(pitch), :method => :put
- if pitch.postable_by?(current_user)
  = link_to image_tag('make_blog_post.gif'), new_pitch_post_path(pitch)
- if pitch.story && pitch.fact_checker == current_user
  = link_to image_tag('go_to_story.gif'), story_path(pitch.story)
- if pitch.fully_funded? && current_user == pitch.user
  = link_to image_tag('report.gif'), edit_story_path(pitch.story)


- if ENV['GOOGLE_ANALYTICS_TRACKING_ID'] && !ENV['GOOGLE_ANALYTICS_TRACKING_ID'].blank?
  :javascript
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', '#{ENV['GOOGLE_ANALYTICS_TRACKING_ID']}', '#{request.host}');
    ga('send', 'pageview');

Revert "Don't use analytics setting if env variable set and blank"

- if ENV['GOOGLE_ANALYTICS_TRACKING_ID']
  :javascript
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', '#{ENV['GOOGLE_ANALYTICS_TRACKING_ID']}', '#{request.host}');
    ga('send', 'pageview');


- if @meeting.venue.present?
  %h4 Venue
  %strong= @meeting.venue.name
  %p= @host_address

  %h4 RSVP

  - if logged_in?
    - if @meeting.past?
      %p This event has already occurred.

    - elsif current_user.banned?
      %p Your invitations have been temporarily suspended.

    - elsif @meeting.attending?(current_user)
      %h5 You are attending this event.
      %strong
        = link_to "Can't make it anymore? Click here to cancel your spot.", meeting_cancel_path(meeting_id: @meeting.id, token: @invitation.token)

    - elsif @meeting.invitable && @meeting.not_full
      = link_to meeting_invitation_path(@meeting), class: 'button round' do
        = "Attend"

    - elsif !@meeting.not_full
      %h5 This event is now full.
      %strong To join the waitlist, please email us.

    - else
      %h5 This event is not open for RSVP.

  - else
    = link_to "Sign up", new_member_path, class: 'button'
    = link_to "Log in", login_path, class: 'button'

Change email link for monthlies waitlist to direct link to monthlies Airtable form

- if @meeting.venue.present?
  %h4 Venue
  %strong= @meeting.venue.name
  %p= @host_address

  %h4 RSVP

  - if logged_in?
    - if @meeting.past?
      %p This event has already occurred.

    - elsif current_user.banned?
      %p Your invitations have been temporarily suspended.

    - elsif @meeting.attending?(current_user)
      %h5 You are attending this event.
      %strong
        = link_to "Can't make it anymore? Click here to cancel your spot.", meeting_cancel_path(meeting_id: @meeting.id, token: @invitation.token)

    - elsif @meeting.invitable && @meeting.not_full
      = link_to meeting_invitation_path(@meeting), class: 'button round' do
        = "Attend"

    - elsif !@meeting.not_full
      %h5 This event is now full.
      %strong To join the waitlist, please fill in your details here.

    - else
      %h5 This event is not open for RSVP.

  - else
    = link_to "Sign up", new_member_path, class: 'button'
    = link_to "Log in", login_path, class: 'button'


.producers{"ng-controller" => "ProducersCtrl"}
  :javascript
    angular.module('Darkswarm').value('producers', #{render partial: "json/producers", object: @producers})
  -#%pre
    -#{{ Producers.producers | json }}

  #active-table-search.row
    .small-12.columns.text-center
      %p
      %h1 Producers
      %div
        Select a
        %ofn-modal{title: "producer"}
          = render partial: "modals/producers"
        from the list below:
        %p

      %input{type: :text,
      "ng-model" => "query",
      placeholder: "Search postcode, suburb or hub name...",
      "ng-debounce" => "150",
      "ofn-disable-enter" => true}

  .row{bindonce: true}
    .small-12.columns
      .active_table
        %producer.active_table_node.row{id: "{{producer.path}}",
        "ng-repeat" => "producer in filteredProducers = (Producers.producers | filterProducers:query)",
        "ng-controller" => "ProducerNodeCtrl",
        "ng-class" => "{'closed' : !open(), 'open' : open(), 'inactive' : !producer.active}",
        id: "{{producer.hash}}"}

          .small-12.columns
            = render partial: 'producers/skinny'
            = render partial: 'producers/fat'

= render partial: "shared/footer"

Add search icon into search input on producers page

.producers{"ng-controller" => "ProducersCtrl"}
  :javascript
    angular.module('Darkswarm').value('producers', #{render partial: "json/producers", object: @producers})
  -#%pre
    -#{{ Producers.producers | json }}

  .row
    .small-12.columns.text-center.pad-top
      %h1 Producers
      %div
        Select a
        %ofn-modal{title: "producer"}
          = render partial: "modals/producers"
        from the list below:

  #active-table-search.row.pad-top
    .small-12.columns
      %i.ofn-i_020-search
      %input{type: :text,
      "ng-model" => "query",
      placeholder: "Search postcode, suburb or hub name...",
      "ng-debounce" => "150",
      "ofn-disable-enter" => true}

  .row{bindonce: true}
    .small-12.columns
      .active_table
        %producer.active_table_node.row{id: "{{producer.path}}",
        "ng-repeat" => "producer in filteredProducers = (Producers.producers | filterProducers:query)",
        "ng-controller" => "ProducerNodeCtrl",
        "ng-class" => "{'closed' : !open(), 'open' : open(), 'inactive' : !producer.active}",
        id: "{{producer.hash}}"}

          .small-12.columns
            = render partial: 'producers/skinny'
            = render partial: 'producers/fat'

= render partial: "shared/footer"


.row
  .col-md-12
    .page-header
      - if @survey.new_record?
        %h1 New Survey
      - else
        %h1 Edit Survey: #{ @survey.title }

  .col-md-6
    = form_for @survey, url: @url do |f|
      = f.hidden_field :surveyable_type
      = f.hidden_field :surveyable_id
      .form-group
        = f.label :title
        %abbr{title: 'This field is required'} *
        = f.text_field :title, class: 'form-control'
      .form-group
        = f.label :description
        = f.text_area :description, rows: 3, class: 'form-control'
      .form-group
        = f.label :target, "When to ask"
        = f.select :target, Survey.targets.keys, class: 'form-control'
      .form-group
        = f.label :start_date
        = f.text_field :start_date, class: 'datetimepicker', class: 'form-control'
        = f.label :end_date
        = f.text_field :end_date, class: 'datetimepicker', class: 'form-control'
      = f.submit nil, class: 'btn btn-primary'

Correct failure to enable survey date pickers

.row
  .col-md-12
    .page-header
      - if @survey.new_record?
        %h1 New Survey
      - else
        %h1 Edit Survey: #{ @survey.title }

  .col-md-6
    = form_for @survey, url: @url do |f|
      = f.hidden_field :surveyable_type
      = f.hidden_field :surveyable_id
      .form-group
        = f.label :title
        %abbr{title: 'This field is required'} *
        = f.text_field :title, class: 'form-control'
      .form-group
        = f.label :description
        = f.text_area :description, rows: 3, class: 'form-control'
      .form-group
        = f.label :target, "When to ask"
        = f.select :target, Survey.targets.keys, class: 'form-control'
      .form-group
        = f.label :start_date
        = f.text_field :start_date, class: 'datetimepicker form-control'
        = f.label :end_date
        = f.text_field :end_date, class: 'datetimepicker form-control'
      = f.submit nil, class: 'btn btn-primary'


- message = n_("1 Instance to be Evacuated", "%{amount} Instances to be Evacuated", @evacuate_items.length) % {:amount => @evacuate_items.length}
- form_id = @evacuate_items.length == 1 ? @evacuate_items[0].id : ''
%vm-cloud-evacuate-form{'record-id' => form_id}
%hr
  %div
    %h3
      = message
    - if @evacuate_items
      - @embedded = true
      - @quadicon_no_url = true
      = render :partial => "layouts/gtl"
- unless @explorer
  %table{:width => '100%'}
    %tr
      %td{:align => 'right'}
        #buttons_on
          = button_tag(t = _('Submit'),
            :class   => "btn btn-primary",
            :alt     => t,
            :title   => t,
            :onclick => "miqAjaxButton('#{url_for_only_path(:action => "evacuate_vm", :button => "submit")}');")
          = button_tag(t = _('Cancel'),
            :class   => "btn btn-default",
            :alt     => t,
            :title   => t,
            :onclick => "miqAjaxButton('#{url_for_only_path(:action => "evacuate_vm", :button => "cancel")}');")
:javascript
  miq_bootstrap('vm-cloud-evacuate-form');

Use pagingDivButtonGroupController, remove buttons for non-explorer because it never happens

- message = n_("1 Instance to be Evacuated", "%{amount} Instances to be Evacuated", @evacuate_items.length) % {:amount => @evacuate_items.length}
- form_id = @evacuate_items.length == 1 ? @evacuate_items[0].id : ''
%vm-cloud-evacuate-form{'record-id' => form_id}
%div_for_paging{'ng-controller'                    => "pagingDivButtonGroupController",
                'paging_div_buttons_state_enabled' => true,
                'paging_div_buttons_id'            => "angular_paging_div_buttons",
                'paging_div_buttons_type'          => "Submit"}
  %hr
    %div
      %h3
        = message
      - if @evacuate_items
        - @embedded = true
        - @quadicon_no_url = true
        = render :partial => "layouts/gtl"
:javascript
  miq_bootstrap('vm-cloud-evacuate-form');
  miq_bootstrap('div_for_paging');


.contextual
  = icon_link_to 'only_credit_bookings', url_for(:only_credit_bookings => true) unless params[:only_credit_bookings]
  = icon_link_to 'only_debit_bookings', url_for(:only_debit_bookings => true) unless params[:only_debit_bookings]
  = icon_link_to 'all_bookings', @account if params[:only_credit_bookings] || params[:only_debit_bookings]
  = contextual_links_for

= boot_page_title

.tabbable
  %ul.nav.nav-tabs
    %li.active= link_to t_title(:journal, Account), '#tab-bookings', {:data => {:toggle => 'tab'}}
    %li= link_to t_title(:info, Account), '#tab-info', {:data => {:toggle => 'tab'}}
    %li= link_to t_title(:list, Attachment), '#tab-attachments', {:data => {:toggle => 'tab'}}

.tab-content
  #tab-bookings.tab-pane.active= render 'show_bookings'
  #tab-info.tab-pane= render "form"
  #tab-attachments.tab-pane= render 'show_attachments'

= render 'bookings/sidebar'

Add print/pdf link for accounts view.

.contextual
  = icon_link_to 'only_credit_bookings', url_for(:only_credit_bookings => true) unless params[:only_credit_bookings]
  = icon_link_to 'only_debit_bookings', url_for(:only_debit_bookings => true) unless params[:only_debit_bookings]
  = icon_link_to 'all_bookings', @account if params[:only_credit_bookings] || params[:only_debit_bookings]
  = icon_link_to :print, :format => :pdf, :by_value_period => params[:by_value_period], :years => params[:years], :per_page => 10000
  = contextual_links_for

= boot_page_title

.tabbable
  %ul.nav.nav-tabs
    %li.active= link_to t_title(:journal, Account), '#tab-bookings', {:data => {:toggle => 'tab'}}
    %li= link_to t_title(:info, Account), '#tab-info', {:data => {:toggle => 'tab'}}
    %li= link_to t_title(:list, Attachment), '#tab-attachments', {:data => {:toggle => 'tab'}}

.tab-content
  #tab-bookings.tab-pane.active= render 'show_bookings'
  #tab-info.tab-pane= render "form"
  #tab-attachments.tab-pane= render 'show_attachments'

= render 'bookings/sidebar'


= render partial: "year_switcher"

%h1
  = "Archives #{@year}"
  = render partial: "account_switcher"

.row
  %table.table.table-hover#archives
    %thead
      %th Month
      %th Status
      %th Action
    %tbody
    - @archives.each do |archive|
      %tr.archive{id: "archive-#{archive.id}"}
        %td= Date::MONTHNAMES[archive.month]
        %td{class: "status status-#{archive.current_state}"}= archive.current_state.titleize
        %td= archive_action_link(archive)

Remove table headers and make its first column headers

= render partial: "year_switcher"

%h1
  = "Archives #{@year}"
  = render partial: "account_switcher"

.row
  %table.table.table-hover#archives
    %tbody
    - @archives.each do |archive|
      %tr.archive{id: "archive-#{archive.id}"}
        %th= Date::MONTHNAMES[archive.month]
        %td{class: "status status-#{archive.current_state}"}= archive.current_state.titleize
        %td= archive_action_link(archive)


.row
  .col-md-12
    - if @asset.images.empty?
      %p There are no photos for this asset.
    - else
      - @asset.images.each do |p|
        = link_to image_tag(p.image.url(:thumb)), p.image.url, :alt => "#{p.description}", :class => "img-responsive gallery-image thumbnail col-md-2 col-sm-4 col-xs-4", :data => {:lightbox => 'true '}

.row
  .col-md-12
    %fieldset
      %legend Add Photo
      = simple_form_for([@asset, Image.new],
          :url => inventory_images_path(@asset, Image.new),
          :html => {:multipart => true, :class => 'form-vertical' },
          :wrapper => :vertical_form,
          :wrapper_mappings => {:check_boxes => :vertical_radio_and_checkboxes, :radio_buttons => :vertical_radio_and_checkboxes, :file => :vertical_file_input, :boolean => :vertical_boolean}) do |f|
        = f.input :image, :required => true
        = f.input :description, :as => :text, :placeholder => 'Enter a brief description of the photo...', :required => true, :minlength => 10
        = f.submit "Add Photo", :class => 'btn btn-primary', :id => 'image_submit'

Use new image renderer partial

.row
  .col-md-12
    - if @asset.images.empty?
      %p There are no photos for this asset.
    - else
      = render :partial => 'shared/images', :locals => {:images => @asset.images}

.row
  .col-md-12
    %fieldset
      %legend Add Photo
      = simple_form_for([@asset, Image.new],
          :url => inventory_images_path(@asset, Image.new),
          :html => {:multipart => true, :class => 'form-vertical' },
          :wrapper => :vertical_form,
          :wrapper_mappings => {:check_boxes => :vertical_radio_and_checkboxes, :radio_buttons => :vertical_radio_and_checkboxes, :file => :vertical_file_input, :boolean => :vertical_boolean}) do |f|
        = f.input :image, :required => true
        = f.input :description, :as => :text, :placeholder => 'Enter a brief description of the photo...', :required => true, :minlength => 10
        = f.submit "Add Photo", :class => 'btn btn-primary', :id => 'image_submit'


!!!
%html
  %head
    %title Pivotal Planning Poker
    = stylesheet_link_tag 'blueprint/screen'
    = stylesheet_link_tag 'blueprint/print', :media => 'print'
    = stylesheet_link_tag 'poker'

    /[if lt IE 8]
      = stylesheet_link_tag 'blueprint/ie'

  %body
    = javascript_include_tag 'jquery'
    = csrf_meta_tag

    .container
      .span-24.last
        %h1 Pivotal Tracker Planning Poker

      - if flash.any?
        .span-24.last
          = flash_messages

      = yield

Add link to git repo

!!!
%html
  %head
    %title Pivotal Planning Poker
    = stylesheet_link_tag 'blueprint/screen'
    = stylesheet_link_tag 'blueprint/print', :media => 'print'
    = stylesheet_link_tag 'poker'

    /[if lt IE 8]
      = stylesheet_link_tag 'blueprint/ie'

  %body
    = javascript_include_tag 'jquery'
    = csrf_meta_tag

    .container
      .span-24.last
        %h1 Pivotal Tracker Planning Poker

      - if flash.any?
        .span-24.last
          = flash_messages

      = yield

      .span-24.last
        %hr.prepend-top
        = link_to "Pivotal Planning Poker git repo", "http://github.com/stackbuilders/pivotal_planning_poker"


- map_id = "leaflet-#{dom_id(planning_application)}"
%div{id: map_id}
.hidden
  .map-data{"data-center" => location_to_geojson(planning_application.location),
    "data-opts" => { domid: map_id, feature: item_to_geojson(planning_application) }.to_json}

Fix planning app show map

%div#map
.hidden
  .map-data{"data-center" => location_to_geojson(planning_application.location),
    "data-opts" => { feature: item_to_geojson(planning_application) }.to_json}


.container
  .row
    .col-sm-4.offset-sm-4
      = render "layouts/messages"
      .card.mt-3
        .card-body
          %h1.mb-3.mt-0= t(".heading")
          = bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name), method: :post) do |f|
            = f.text_field :otp_attempt, autofocus: true, inputmode: :numeric, label: t(".otp_attempt")
            = f.submit t("voc.login"), class: "btn btn-primary mt-3 mb-3"

= render "shared/links"

Remove Turbo from 2FA form

.container
  .row
    .col-sm-4.offset-sm-4
      = render "layouts/messages"
      .card.mt-3
        .card-body
          %h1.mb-3.mt-0= t(".heading")
          = bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name), method: :post, data: { turbo: false }) do |f|
            = f.text_field :otp_attempt, autofocus: true, inputmode: :numeric, label: t(".otp_attempt")
            = f.submit t("voc.login"), class: "btn btn-primary mt-3 mb-3"

= render "shared/links"


- content_for :breadcrumbs do
  = link_to "Boards", boards_path
  »
  = link_to @post.board.name, board_path(@post.board)
  »
  %b= @post.subject

.post-header
  .padding-15.inline-block
    = @post.subject
    - if logged_in?
      .character-new-select{style: 'visibility: hidden;'}
      = link_to post_path(@post, unread: true), :method => :put do
        .character-view-select
          = image_tag '/images/book_open.png', class:'character-icon-select'
          Mark Unread
= render partial: 'replies/single', locals: {reply: @post}
- if @replies.present?
  = render partial: 'paginator', locals: { paginated: @replies, path: :post_path }
- @replies.each do |reply|
  = render partial: 'replies/single', locals: {reply: reply}
- if @replies.present?
  = render partial: 'paginator', locals: { paginated: @replies, path: :post_path }
- if logged_in? && current_user.writes_in?(@post.board)
  = render partial: 'write_reply', locals: { reply: @reply, url: replies_path, method: :post }

- unless true
  %table
    %tr
      %th{colspan: 2}
        = @post.subject
        - if params[:thread_id].present?
          = link_to post_path(@post) do
            .character-view-select « Thread Index

Fix the long title + mark unread thing. Properly. Don't unfloat the button.

- content_for :breadcrumbs do
  = link_to "Boards", boards_path
  »
  = link_to @post.board.name, board_path(@post.board)
  »
  %b= @post.subject

.post-header
  .padding-15{style: 'overflow: auto;'}
    = @post.subject
    - if logged_in?
      .character-new-select{style: 'visibility: hidden;'}
      = link_to post_path(@post, unread: true), :method => :put do
        .character-view-select
          = image_tag '/images/book_open.png', class:'character-icon-select'
          Mark Unread
= render partial: 'replies/single', locals: {reply: @post}
- if @replies.present?
  = render partial: 'paginator', locals: { paginated: @replies, path: :post_path }
- @replies.each do |reply|
  = render partial: 'replies/single', locals: {reply: reply}
- if @replies.present?
  = render partial: 'paginator', locals: { paginated: @replies, path: :post_path }
- if logged_in? && current_user.writes_in?(@post.board)
  = render partial: 'write_reply', locals: { reply: @reply, url: replies_path, method: :post }

- unless true
  %table
    %tr
      %th{colspan: 2}
        = @post.subject
        - if params[:thread_id].present?
          = link_to post_path(@post) do
            .character-view-select « Thread Index


---
title: Brug - Rails Girls Brussels - Ruby Belgium
---

%header.header
  .layer
    .container.text-center

      %h1.animated.fadeInUp Rails Girls Brussels
      %h3.header__subtitle
        %p Get excited and make things!

= partial :overview

= partial :images

= partial :coaches

Fix typo in rails girls title

---
title: Rails Girls Brussels - Ruby Belgium
---

%header.header
  .layer
    .container.text-center

      %h1.animated.fadeInUp Rails Girls Brussels
      %h3.header__subtitle
        %p Get excited and make things!

= partial :overview

= partial :images

= partial :coaches


- content_for :breadcrumbs do
  = breadcrumbs(Home.path + @group.path + ['Organogram'])

- @page_title = "#{ @group.name } Organogram"
.organogram
  .group-title
    - if @group.acronym?
      %h1
        = @group.acronym
        team organogram
    - else
      %h1
        = @group.name
        team organogram

  - if @group.leaderships.present?
    %div.inner-block
      %div.grid-wrapper.leaders
        %h2 Team leaders
        - @group.leaderships_by_person.each do |person, leaderships|
          %div.leader= render partial: 'leaderships', object: leaderships, locals: { person: person }

  - if @group.all_people.present?
    %div.inner-block
      %div.grid-wrapper.people
        %h2 People
        - @group.all_people.each do |person, summary|
          %div.person
            .image-background
              = profile_image_tag person
            %h4= link_to person, person
            .role= person.role_names
            .tel= person.primary_phone_number

  - if @group.children.present?
    %div.inner-block
      %div.grid-wrapper.teams
        %h2 Teams
        - @group.children.each do |subgroup|
          %div.team
            .image-background
              .maginot
                =image_tag ('medium_team.png')
            %a{ href: url_for(subgroup) }
              %h3= link_to subgroup

Update team link and some print styling

- content_for :breadcrumbs do
  = breadcrumbs(Home.path + @group.path + ['Organogram'])

- @page_title = "#{ @group.name } Organogram"
.organogram
  .group-title
    - if @group.acronym?
      %h1
        = @group.acronym
        team organogram
    - else
      %h1
        = @group.name
        team organogram

  - if @group.leaderships.present?
    %div.inner-block
      %div.grid-wrapper.leaders
        %h2 Team leaders
        - @group.leaderships_by_person.each do |person, leaderships|
          %div.leader= render partial: 'leaderships', object: leaderships, locals: { person: person }

  - if @group.all_people.present?
    %div.inner-block
      %div.grid-wrapper.people
        %h2 People
        - @group.all_people.each do |person, summary|
          %div.person
            .image-background
              = profile_image_tag person
            %h4= link_to person, person
            .role= person.role_names
            .tel= person.primary_phone_number

  - if @group.children.present?
    %div.inner-block
      %div.grid-wrapper.teams
        %h2 Teams
        - @group.children.each do |subgroup|
          %div.team
            .image-background
              .maginot
                =image_tag ('medium_team.png')
            %a{ href: url_for(subgroup) }
              %h3= subgroup


- url = url_for(:action => 'tag_edit_form_field_changed', :id => @sb[:rec_id] || @edit[:object_ids][0])
#tab_div
  %h3
    = _("Tag Assignment%s") % (@tagitems.length > 1 ? " (#{_('Tags common to all selected items')})" : "")
  %table.table.table-bordered{:style => "margin-bottom: 0;"}
    %thead
      %tr
        %th
          = _("Select a customer tag to assign:")
        %th
          - @categories.each do |cat_key, _|
            - if session[:assigned_filters].include?(cat_key.downcase)
              - @categories.delete(cat_key)
          = select_tag("tag_cat",
            options_for_select(@categories.sort, @edit[:cat].name),
            "data-miq_observe"     => {:url => url}.to_json,
            "class"                => "selectpicker")
          :javascript
            miqInitSelectPicker();
            miqSelectPickerEvent("tag_cat", "#{url}", {beforeSend: true, complete: true});
        %th
          = render :partial => "layouts/tag_edit_cat_tags"
  = render :partial => 'layouts/tag_edit_assignments', :locals => {:entry => nil}
  %br
  = ("* Only a single value can be assigned from these categories")

Add missing gettext into tag edit screen

- url = url_for(:action => 'tag_edit_form_field_changed', :id => @sb[:rec_id] || @edit[:object_ids][0])
#tab_div
  %h3
    = _("Tag Assignment%s") % (@tagitems.length > 1 ? " (#{_('Tags common to all selected items')})" : "")
  %table.table.table-bordered{:style => "margin-bottom: 0;"}
    %thead
      %tr
        %th
          = _("Select a customer tag to assign:")
        %th
          - @categories.each do |cat_key, _|
            - if session[:assigned_filters].include?(cat_key.downcase)
              - @categories.delete(cat_key)
          = select_tag("tag_cat",
            options_for_select(@categories.sort, @edit[:cat].name),
            "data-miq_observe"     => {:url => url}.to_json,
            "class"                => "selectpicker")
          :javascript
            miqInitSelectPicker();
            miqSelectPickerEvent("tag_cat", "#{url}", {beforeSend: true, complete: true});
        %th
          = render :partial => "layouts/tag_edit_cat_tags"
  = render :partial => 'layouts/tag_edit_assignments', :locals => {:entry => nil}
  %br
  = _("* Only a single value can be assigned from these categories")


.span4
  %section
    %header
      %h2= t :settings
    %ul.content.nav
      %li
        %a= t :my_profile
      %li
        = link_to t(:my_favorites), '#' #user_favorites_path(@user)
      %li
        %a= t :my_applications
  - if @user.developer?
    %section
      %header
        %h2= t :developer
      %ul.content.nav
        = link_to t(:my_canteens), user_canteens_path(@user)

Make profile nav link working

.span4
  %section
    %header
      %h2= t :settings
    %ul.content.nav
      %li
        = link_to t(:my_profile), user_path(@user)
      %li
        = link_to t(:my_favorites), '#' #user_favorites_path(@user)
      %li
        %a= t :my_applications
  - if @user.developer?
    %section
      %header
        %h2= t :developer
      %ul.content.nav
        = link_to t(:my_canteens), user_canteens_path(@user)


%ul.list-group#notifications
  - if @notifications.count.zero?
    %li.list-group-item.text-center
      .notifications--none
        %i.fa.fa-bell-o.notification__bell-icon
      %p
        - if params[:type] == 'all'
          = t(".none_filtered")
        - else
          = t(".none")
  - else
    - @notifications.each do |notification|
      .card
        %li.list-group-item
          .media
            = render "notifications/type/#{notification.target.class.name.downcase.split('::').last}", notification: notification

  - unless @notifications.count.zero?
    = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @notifications_last_id, permitted_params: %i[type]

    - if @more_data_available
      .d-flex.justify-content-center.justify-content-sm-start
        %button.btn.btn-light#load-more-btn{ type: :button, data: { last_id: @notifications_last_id } }
          = t("voc.load")

- provide(:title, generate_title(t(".title")))

Add card to empty notifications list

%ul.list-group#notifications
  - if @notifications.count.zero?
    .card
      %li.list-group-item.text-center
        .notifications--none
          %i.fa.fa-bell-o.notification__bell-icon
        %p
          - if params[:type] == 'all'
            = t(".none_filtered")
          - else
            = t(".none")
  - else
    - @notifications.each do |notification|
      .card
        %li.list-group-item
          .media
            = render "notifications/type/#{notification.target.class.name.downcase.split('::').last}", notification: notification

  - unless @notifications.count.zero?
    = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @notifications_last_id, permitted_params: %i[type]

    - if @more_data_available
      .d-flex.justify-content-center.justify-content-sm-start
        %button.btn.btn-light#load-more-btn{ type: :button, data: { last_id: @notifications_last_id } }
          = t("voc.load")

- provide(:title, generate_title(t(".title")))


- if dossier.procedure.module_api_carto.quartiers_prioritaires?
  .col-md-9.col-lg-9#qp.col-md-3.col-lg-3.list
    %h3.text-info Quartiers prioritaires
    %ul
      - dossier.quartier_prioritaires.each do |qp|
        %li #{qp.commune} : #{qp.nom}

      - if error.present?
        %b Merci de dessiner une surface plus petite afin de récupérer les quartiers prioritaires.

- if dossier.procedure.module_api_carto.cadastre?
  .col-md-9.col-lg-9#cadastre.col-md-3.col-lg-3.list
    %h3.text-warning Parcelles cadastrales
    %ul
      - dossier.cadastres.each do |cadastre|
        %li Parcelle nº #{cadastre.numero} - Feuille #{cadastre.code_arr} #{cadastre.section} #{cadastre.feuille}

      - if error.present?
        %b Merci de dessiner une surface plus petite afin de récupérer les parcelles cadastrales.

Add a blank state message to carto

- if dossier.procedure.module_api_carto.quartiers_prioritaires?
  .col-md-9.col-lg-9#qp.col-md-3.col-lg-3.list
    %h3.text-info Quartiers prioritaires
    - if dossier.quartier_prioritaires.blank?
      Aucun quartier prioritaire sur les zones séléctionnées
    - else
      %ul
        - dossier.quartier_prioritaires.each do |qp|
          %li #{qp.commune} : #{qp.nom}

        - if error.present?
          %b Merci de dessiner une surface plus petite afin de récupérer les quartiers prioritaires.

- if dossier.procedure.module_api_carto.cadastre?
  .col-md-9.col-lg-9#cadastre.col-md-3.col-lg-3.list
    %h3.text-warning Parcelles cadastrales
    - if dossier.cadastres.blank?
      Aucune parcelle cadastrale sur les zones séléctionnées
    - else
      %ul
        - dossier.cadastres.each do |cadastre|
          %li Parcelle nº #{cadastre.numero} - Feuille #{cadastre.code_arr} #{cadastre.section} #{cadastre.feuille}

        - if error.present?
          %b Merci de dessiner une surface plus petite afin de récupérer les parcelles cadastrales.


#contents
  - title @poll.title
  - meta_for @poll
  = render @poll
  = render @poll.node

Add a notice on polls

%article.poll-notice
  La liste des options proposées est volontairement limitée : tout l'intérêt (ou son absence) de ce type de sondage réside dans le fait de forcer les participants à faire un choix.
  Les réponses multiples sont interdites pour les mêmes raisons.
  Il est donc inutile de se plaindre au sujet du faible nombre de réponses proposées, ou de l'impossibilité de choisir plusieurs réponses.
  76,78% des sondés estiment que ces sondages sont ineptes.

#contents
  - title @poll.title
  - meta_for @poll
  = render @poll
  = render @poll.node


%ul.nav.nav-tabs
  %li= render partial: 'shared/ref_switcher', locals: {destination: 'commits'}

  = nav_link(controller: [:commit, :commits]) do
    = link_to 'Commits', project_commits_path(@project, @repository.root_ref)
  = nav_link(controller: :compare) do
    = link_to 'Compare', project_compare_index_path(@project)

  = nav_link(html_options: {class: branches_tab_class}) do
    = link_to recent_project_branches_path(@project) do
      Branches
      %span.badge= @repository.branches.length

  = nav_link(controller: :tags) do
    = link_to project_tags_path(@project) do
      Tags
      %span.badge= @repository.tags.length

  = nav_link(controller: :repositories, action: :stats) do
    = link_to stats_project_repository_path(@project) do
      Stats

  - if current_controller?(:commits) && current_user.private_token
    %li.pull-right
      = link_to project_commits_path(@project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Feed" do
        %i.icon-rss

Add default values to compare page link

%ul.nav.nav-tabs
  %li= render partial: 'shared/ref_switcher', locals: {destination: 'commits'}

  = nav_link(controller: [:commit, :commits]) do
    = link_to 'Commits', project_commits_path(@project, @repository.root_ref)
  = nav_link(controller: :compare) do
    = link_to 'Compare', project_compare_index_path(@project, from: @repository.root_ref, to: @ref || @repository.root_ref)

  = nav_link(html_options: {class: branches_tab_class}) do
    = link_to recent_project_branches_path(@project) do
      Branches
      %span.badge= @repository.branches.length

  = nav_link(controller: :tags) do
    = link_to project_tags_path(@project) do
      Tags
      %span.badge= @repository.tags.length

  = nav_link(controller: :repositories, action: :stats) do
    = link_to stats_project_repository_path(@project) do
      Stats

  - if current_controller?(:commits) && current_user.private_token
    %li.pull-right
      = link_to project_commits_path(@project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Feed" do
        %i.icon-rss


- content_for :column do
  = render 'polls/box'

- cache_unless account_signed_in?, "home/#{@order}/#{@nodes.current_page}", expires_in: 1.minute do
  =h1 "Accueil"
  - feed "Flux Atom des dépêches", "/news.atom"
  - if @ppp
    %section#phare
      = render @ppp
  - if @banner
    %aside.banner
      = @banner
  = paginated_section @nodes, link_to("Proposer une dépêche", "/news/nouveau") do
    %main#contents(role="main")
      = render @nodes.map(&:content)

Fix atom feed in <head> for anonymous user

- content_for :column do
  = render 'polls/box'

- feed "Flux Atom des dépêches", "/news.atom"
- cache_unless account_signed_in?, "home/#{@order}/#{@nodes.current_page}", expires_in: 1.minute do
  =h1 "Accueil"
  - if @ppp
    %section#phare
      = render @ppp
  - if @banner
    %aside.banner
      = @banner
  = paginated_section @nodes, link_to("Proposer une dépêche", "/news/nouveau") do
    %main#contents(role="main")
      = render @nodes.map(&:content)


%div
  %div= render :partial => 'votes/vote'
  %h= @idea.rating
  %h2= h @idea.title
  %p=    @idea.description
  %div
    %h5 Tags
    = @idea.tags.map { |tag| link_to h(tag.name), search_ideas_path(:search => ['tag', tag.name]), :method => :post }.join(', ')
  %div
    %h3 Comments
    %div= render :partial => 'comments/comment', :collection => @comments, :controller => 'comments'
    %div
      - if user_signed_in?
        %h4 Comment on this idea
        %div= render :partial => 'comments/new'

Fix tag link rendering in Idea views

%div
  %div= render :partial => 'votes/vote'
  %h= @idea.rating
  %h2= h @idea.title
  %p=    @idea.description
  %div
    %h5 Tags
    - @idea.tags.each do |tag|
      = render :partial => 'tags/tag', :locals => { :tag => tag }
  %div
    %h3 Comments
    %div= render :partial => 'comments/comment', :collection => @comments, :controller => 'comments'
    %div
      - if user_signed_in?
        %h4 Comment on this idea
        %div= render :partial => 'comments/new'


%h2 New Page

- form_for :page, :action => url(:page, @page) do
  %ul#page-form
    %li= text_control :name, :label => 'Name'
    %li~ text_area_control :content, :label => 'Content'
    %li= submit_button 'Submit'

Remove text control to edit title. Make header more informative.

%h2
  Editing
  %strong= @page.name

- form_for :page, :action => url(:page, @page) do
  %ul#page-form
    %li~ text_area_control :content, :label => 'Content'
    %li= submit_button 'Submit'


%h1 Sign In

= render 'form'

You can also view #{link_to 'all books', :books}.

Add a little more description to the sign in page

%h1 Sign In

= render 'form'

%p After you sign in, you can write books in markdown, and purchase books written by others.

%p You can also view #{link_to 'all books', :books}.


.ss-fb.sharelink
  %a{:href => "http://www.facebook.com/share.php?u=#{material_url}",:target=>"_blank"}
    %img{:alt => "Share on Facebook", :height => "20", :src => "http://concord.org/sites/all/themes/cc/img/icons/fb-button.png", :title => "Share on Facebook", :width => "46"}/
.ss-tw.sharelink
  %a{:href=>"https://twitter.com/share", :class=>"twitter-share-button" ,:"data-url"=>"#{material_url}" ,:"data-text"=>"#{material_title}" ,:"data-count"=>"none"}Tweet
  %script
    !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
.ss-li.sharelink
  %script{:type=>"IN/Share",:"data-url"=>"#{material_url}"}
.ss-po.sharelink
  %script{:type=>"text/javascript",:src=>"https://apis.google.com/js/plusone.js"}
  %div{:class=>"g-plusone",:"data-size"=>"medium",:"data-annotation"=>"none",:"data-href"=>"#{material_url}"}

Add page title as title for twitter

.ss-fb.sharelink
  %a{:href => "http://www.facebook.com/share.php?u=#{material_url}",:target=>"_blank"}
    %img{:alt => "Share on Facebook", :height => "20", :src => "http://concord.org/sites/all/themes/cc/img/icons/fb-button.png", :title => "Share on Facebook", :width => "46"}/
.ss-tw.sharelink
  %a{:href=>"https://twitter.com/share", :class=>"twitter-share-button" ,:"data-url"=>"#{material_url}" ,:"data-text"=>"#{@page_title}" ,:"data-count"=>"none"}Tweet
  %script
    !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
.ss-li.sharelink
  %script{:type=>"IN/Share",:"data-url"=>"#{material_url}"}
.ss-po.sharelink
  %script{:type=>"text/javascript",:src=>"https://apis.google.com/js/plusone.js"}
  %div{:class=>"g-plusone",:"data-size"=>"medium",:"data-annotation"=>"none",:"data-href"=>"#{material_url}"}


%script(charset="utf-8" src="https://widgets.twimg.com/j/2/widget.js")

:javascript
  new TWTR.Widget({
    version: 2,
    type: 'profile',
    rpp: 2,
    interval: 30000,
    width: 'auto',
    height: 300,
    theme: {
      shell: {
        background: '#dedede',
        color: '#000000'
      },
      tweets: {
        background: '#ffffff',
        color: '#000000',
        links: '#005e00'
      }
    },
    features: {
      scrollbar: false,
      loop: false,
      live: false,
      behavior: 'all'
    }
  }).render().setUser('Cyclescape').start();

Add twitter feed to front page


!!!
%html
  %body
    .container{ style: 'max-width: 600px; margin: auto;' }
      .banner{ style: 'background: #0b0c0c; vertical-align: bottom;' }
        = image_tag("http://www.prisonsvisits.gov.uk/mailers/govuk-header-logo.png", alt: "GOV.UK")
      .content{ style: 'padding: 16px 30px 0;' }
        = yield

Fix email header GOVUK logo

!!!
%html
  %body
    .container{ style: 'max-width: 600px; margin: auto;' }
      .banner{ style: 'background: #0b0c0c; vertical-align: bottom;' }
        = image_tag("https://www.prisonvisits.service.gov.uk/mailers/govuk-header-logo.png", alt: "GOV.UK")
      .content{ style: 'padding: 16px 30px 0;' }
        = yield


#main_div
  - if ["instances"].include?(@display) && @showtype != "compare"
    = render :partial => "layouts/gtl", :locals => {:action_url => "show/#{@record.id}"}
  - elsif @showtype == 'main'
    = render(:partial => 'main')

Allow cloud_subnet to show nested cloud_subnet

#main_div
  - if ["instances", "cloud_subnets"].include?(@display) && @showtype != "compare"
    = render :partial => "layouts/gtl", :locals => {:action_url => "show/#{@record.id}"}
  - elsif @showtype == 'main'
    = render(:partial => 'main')