- if signed_in?
  .global-actions
    .btn-group
      = link_to gardens_by_owner_path(owner: current_member.slug), class: 'btn btn-default' do
        = t('links.my_gardens')

    .btn-group
      = link_to new_planting_path, class: 'btn btn-default' do
        = t('buttons.plant')
      = link_to new_harvest_path, class: 'btn btn-default' do
        = t('buttons.harvest')
      = link_to new_seed_path, class: 'btn btn-default' do
        = t('buttons.save_seeds')

    .btn-group
      = link_to t('posts.write_blog_post'), new_post_path, class: 'btn btn-default'

- content_for(:attributions) do
  seed by Template from the Noun Project

Add "something" to global action labels

- if signed_in?
  .global-actions
    .btn-group
      = link_to gardens_by_owner_path(owner: current_member.slug), class: 'btn btn-default' do
        = t('links.my_gardens')

    .btn-group
      = link_to new_planting_path, class: 'btn btn-default' do
        = t('plantings.plant_something')
      = link_to new_harvest_path, class: 'btn btn-default' do
        = t('harvests.harvest_something')
      = link_to new_seed_path, class: 'btn btn-default' do
        = t('buttons.save_seeds')

    .btn-group
      = link_to t('posts.write_blog_post'), new_post_path, class: 'btn btn-default'

- content_for(:attributions) do
  seed by Template from the Noun Project


- cache ["v3", scraper] do
  = link_to scraper, class: "list-group-item" do
    %div.scraper-block
      - unless scraper.language.blank?
        %small.scraper-lang.pull-right= scraper.language.human
      .icon-box.pull-right= render partial: "scrapers/auto_clock", locals: {scraper: scraper}
      .icon-box.pull-right= render partial: "scrapers/running_indicator", locals: {scraper: scraper}
      - if scraper.last_run && scraper.last_run.finished_with_errors?
        %span.label.label-danger errored
      %strong.full_name= scraper.full_name
      %div
        - unless scraper.description.blank?
          = scraper.description
        %p.scraper-domains-list.text-muted
          osom.cfa.vic.gov.au, ruralfire.qld.gov.au, sentinel.ga.gov.au, and 5 others

Make list of domains scraped dynamic

- cache ["v3", scraper] do
  = link_to scraper, class: "list-group-item" do
    %div.scraper-block
      - unless scraper.language.blank?
        %small.scraper-lang.pull-right= scraper.language.human
      .icon-box.pull-right= render partial: "scrapers/auto_clock", locals: {scraper: scraper}
      .icon-box.pull-right= render partial: "scrapers/running_indicator", locals: {scraper: scraper}
      - if scraper.last_run && scraper.last_run.finished_with_errors?
        %span.label.label-danger errored
      %strong.full_name= scraper.full_name
      %div
        - unless scraper.description.blank?
          = scraper.description
        - unless scraper.scraped_domains.empty?
          %p.scraper-domains-list.text-muted= simplified_scraped_domains_list(scraper.scraped_domains)


- previous_offset = [0, pagination[:offset].pred].max
- next_offset     = [pagination[:total], pagination[:offset].next].min

%ul.pagination
  %li
    = link_to(job_failures_path(error_type: error_type, offset: 0), class: "btn btn-default #{page_nav_disabled_class(previous_offset, 0)}") do
      %i.fa.fa-angle-double-left
  %li
    = link_to(job_failures_path(error_type: error_type, offset: previous_offset), class: "btn btn-default #{page_nav_disabled_class(previous_offset, 0)}") do
      %i.fa.fa-angle-left
  %li
    = link_to(job_failures_path(error_type: error_type, offset: next_offset), class: "btn btn-default #{page_nav_disabled_class(next_offset, pagination[:total])}") do
      %i.fa.fa-angle-right
  %li
    = link_to(job_failures_path(error_type: error_type, offset: pagination[:total]), class: "btn btn-default #{page_nav_disabled_class(next_offset, pagination[:total])}") do
      %i.fa.fa-angle-double-right

Add titles to pagination buttons.

- previous_offset = [0, pagination[:offset].pred].max
- next_offset     = [pagination[:total], pagination[:offset].next].min

%ul.pagination
  %li
    = link_to(job_failures_path(error_type: error_type, offset: 0), class: "btn btn-default #{page_nav_disabled_class(previous_offset, 0)}", title: 'First') do
      %i.fa.fa-angle-double-left
  %li
    = link_to(job_failures_path(error_type: error_type, offset: previous_offset), class: "btn btn-default #{page_nav_disabled_class(previous_offset, 0)}", title: 'Previous') do
      %i.fa.fa-angle-left
  %li
    = link_to(job_failures_path(error_type: error_type, offset: next_offset), class: "btn btn-default #{page_nav_disabled_class(next_offset, pagination[:total])}", title: 'Next') do
      %i.fa.fa-angle-right
  %li
    = link_to(job_failures_path(error_type: error_type, offset: pagination[:total]), class: "btn btn-default #{page_nav_disabled_class(next_offset, pagination[:total])}", title: 'Last') do
      %i.fa.fa-angle-double-right


.alert.alert-warning
  %i.fa.fa-bell-o.fa-lg.pull-left
  Missing documentation. Help out by providing a code snippet.

Add Node.js environment variable example

%pre
  :preserve
    // Use my secret value
    my_secret_value = process.env.MORPH_MYSECRET;


- if champ.drop_down_list && champ.drop_down_list.options.any?
    = select_tag("champs['#{champ.id}']",
      options_for_select(champ.drop_down_list.options, selected: champ.drop_down_list.selected_options(champ),
                                                 disabled: champ.drop_down_list.disabled_options),
                         multiple: champ.drop_down_list.multiple,
                         class: champ.drop_down_list.multiple ? 'select2' : nil)

Fix the indentation in the drop down list template


.row
  .col-sm-12
    .panel.panel-default
      .panel-heading
        %h3.panel-title
          Highlights
      .panel-body
        = render 'details'
.row
  .col-sm-12.col-md-3
    .panel.panel-default
      .panel-heading
        .row
          .col-sm-6
            %h3.panel-title
              %i.fa.fa-star
              = @asset
          .col-sm-6
            = render 'actions'
      .panel-body
        = render :partial => 'summary', :locals => {:asset => @asset}

  .col-sm-12.col-md-9#profile
    .panel.panel-default
      .panel-heading
        %h3.panel-title
          Profile
      .panel-body
        = render 'profile'

=render 'show_scripts'

Tweak layout so Highlights panel doesn't take over page.

:css
  .panel-body-fixed {
    height: 300px;
    overflow: scroll;
  }

.row
  .col-sm-12
    .panel.panel-default
      .panel-heading
        %h3.panel-title
          Highlights
      .panel-body.panel-body-fixed
        = render 'details'
.row
  .col-sm-12.col-md-3
    .panel.panel-default
      .panel-heading
        .row
          .col-sm-6
            %h3.panel-title
              %i.fa.fa-star
              = @asset
          .col-sm-6
            = render 'actions'
      .panel-body
        = render :partial => 'summary', :locals => {:asset => @asset}

  .col-sm-12.col-md-9#profile
    .panel.panel-default
      .panel-heading
        %h3.panel-title
          Profile
      .panel-body
        = render 'profile'

=render 'show_scripts'


- unless smart_listing.empty?
  %table.table
    %thead
      %th.col-md-4.col-lg-4= smart_listing.sortable 'Email', :email
      %th.col-md-4.col-lg-4= smart_listing.sortable 'Date de dernière connexion', :last_sign_in_at
      %th.col-md-2.col-lg-2 Procédure active
      %th.col-md-2.col-lg-2 Dossier en cours

    - @admins.each do |admin|
      %tr
        %td
          = admin.email
        %td
          - unless admin.last_sign_in_at.nil?
            = time_ago_in_words(l(admin.last_sign_in_at, format: "%d/%m/%Y %H:%M UTC +02:00"))
            (
            = admin.last_sign_in_at.to_date.strftime('%d/%m/%Y')
            )
        %td
          = admin.procedures.where(published: true).count
        %td
          - total_dossier = 0
          - admin.procedures.each do |procedure| total_dossier += procedure.dossiers.count end
          = total_dossier
  = smart_listing.paginate
  = smart_listing.pagination_per_page_links

- else
  %h4.center
    Aucun administrateur créé

Change count on administrations page

- unless smart_listing.empty?
  %table.table
    %thead
      %th.col-md-4.col-lg-4= smart_listing.sortable 'Email', :email
      %th.col-md-4.col-lg-4= smart_listing.sortable 'Date de dernière connexion', :last_sign_in_at
      %th.col-md-2.col-lg-2 Procédure active
      %th.col-md-2.col-lg-2 Dossier en cours

    - @admins.each do |admin|
      %tr
        %td
          = admin.email
        %td
          - unless admin.last_sign_in_at.nil?
            = time_ago_in_words(l(admin.last_sign_in_at, format: "%d/%m/%Y %H:%M UTC +02:00"))
            (
            = admin.last_sign_in_at.to_date.strftime('%d/%m/%Y')
            )
        %td
          = admin.procedures.where(published: true).count
        %td
          - total_dossier = 0
          - admin.procedures.each do |procedure| total_dossier += procedure.dossiers.where.not(state: :draft).count end
          = total_dossier
  = smart_listing.paginate
  = smart_listing.pagination_per_page_links

- else
  %h4.center
    Aucun administrateur créé


- main_toolbar do |t|
  = t.edit resource

= main_informations attachment: true do
  = attributes_list do |l|
    - l.attribute :number
    - l.attribute :reference_number
    - l.attribute :sensor, url: true
    - l.attribute :product, url: true
    - l.attribute :sampler, url: true
    - l.attribute :sampled_at
    - l.attribute :analyser, url: true
    - l.attribute :analysed_at

  - if resource.geolocation
    :ruby
      data_product = []
      product = resource.product
      if product.shape
        data_product << {name: product.name, shape: product.shape}
      end
    = visualization do |v|
      - v.serie :data, [{name: resource.number, shape: resource.geolocation}]
      - if data_product.any?
        - v.serie :data_product, data_product
        - v.categories :activity, :data_product
      - v.path "#{resource.number}", :data
      - v.control :zoom
      - v.control :scale
      - v.control :fullscreen
      - v.control :layer_selector

= cobbles do |c|

  - c.cobble :items do
    = cobble_list :items

Fix missing test on analysis view.

- main_toolbar do |t|
  = t.edit resource

= main_informations attachment: true do
  = attributes_list do |l|
    - l.attribute :number
    - l.attribute :reference_number
    - l.attribute :sensor, url: true
    - l.attribute :product, url: true
    - l.attribute :sampler, url: true
    - l.attribute :sampled_at
    - l.attribute :analyser, url: true
    - l.attribute :analysed_at

  - if resource.geolocation
    :ruby
      data_product = []
      product = resource.product
      if product && product.shape
        data_product << {name: product.name, shape: product.shape}
      end
    = visualization do |v|
      - v.serie :data, [{name: resource.number, shape: resource.geolocation}]
      - if data_product.any?
        - v.serie :data_product, data_product
        - v.categories :activity, :data_product
      - v.path "#{resource.number}", :data
      - v.control :zoom
      - v.control :scale
      - v.control :fullscreen
      - v.control :layer_selector

= cobbles do |c|

  - c.cobble :items do
    = cobble_list :items


.group_brief
  .inner
    .title= link_to group_name(group, current_user), group
    .description
      :markdown
        #{group.description}
    %ul.actions
      - if current_user.member_of?(group)
        %li
          = form_tag(group_membership_path(group, current_user.memberships.find_by_group_id(group.id)), :method => :delete) do
            = submit_tag t(".links.leave", :default => "leave")
        %li= link_to t(".links.session", :default => "Session"), new_group_supervision_path(group)
        %li= link_to t(".links.chat", :default => "Chat"), group_chat_room_path(group.chat_room)
        %li= link_to t(".links.edit", :default => "Edit"), edit_group_path(group.id)
        %li= link_to t(".links.delete", :default => "delete"), group_path(group.id), :method => :delete, :confirm => t(".confirmations.delete", :default => "You sure?")
      - else
        %li
          = form_tag(group_memberships_path(group), :method => :post) do
            = submit_tag t(".links.join", :default => "join")

Fix incorrect link for group's chat room

.group_brief
  .inner
    .title= link_to group_name(group, current_user), group
    .description
      :markdown
        #{group.description}
    %ul.actions
      - if current_user.member_of?(group)
        %li
          = form_tag(group_membership_path(group, current_user.memberships.find_by_group_id(group.id)), :method => :delete) do
            = submit_tag t(".links.leave", :default => "leave")
        %li= link_to t(".links.session", :default => "Session"), new_group_supervision_path(group)
        %li= link_to t(".links.chat", :default => "Chat"), group_chat_room_path(group)
        %li= link_to t(".links.edit", :default => "Edit"), edit_group_path(group.id)
        %li= link_to t(".links.delete", :default => "delete"), group_path(group.id), :method => :delete, :confirm => t(".confirmations.delete", :default => "You sure?")
      - else
        %li
          = form_tag(group_memberships_path(group), :method => :post) do
            = submit_tag t(".links.join", :default => "join")


%nav.navbar.navbar-default.navbar-fixed-top
	.container
		.navbar-header
			%button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", :type => "button"}
				%span.sr-only Toggle navigation
				%span.icon-bar
				%span.icon-bar
				%span.icon-bar
			= link_to image_tag('BitParrot_logo_GrayFont.png', width: 150, height: 50, align: 'left', style: 'margin: 0px 0px 10px 0px'), root_path
			= link_to 'Home', root_path, class: 'navbar-brand', style: 'margin: 0px 0px 0px 15px'
			= link_to 'Python', python_path, class: 'navbar-brand', style: 'margin: 0px 0px 0px 15px'
			= link_to 'About', about_path, class: 'navbar-brand'
			= link_to 'FAQ', faq_path, class: 'navbar-brand'
			-#= link_to 'Sign In', new_user_session_path, class: 'navbar-brand'
			-#= link_to 'Sign Up', new_user_registration_path, class: 'navbar-brand'
		.collapse.navbar-collapse
			%ul.nav.navbar-nav
				= render 'layouts/navigation_links'

Change home link to be called Ruby Rails since we have more than that now

%nav.navbar.navbar-default.navbar-fixed-top
	.container
		.navbar-header
			%button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", :type => "button"}
				%span.sr-only Toggle navigation
				%span.icon-bar
				%span.icon-bar
				%span.icon-bar
			= link_to image_tag('BitParrot_logo_GrayFont.png', width: 150, height: 50, align: 'left', style: 'margin: 0px 0px 10px 0px'), root_path
			= link_to 'Ruby Rails', root_path, class: 'navbar-brand', style: 'margin: 0px 0px 0px 15px'
			= link_to 'Python', python_path, class: 'navbar-brand', style: 'margin: 0px 0px 0px 15px'
			= link_to 'About', about_path, class: 'navbar-brand'
			= link_to 'FAQ', faq_path, class: 'navbar-brand'
			-#= link_to 'Sign In', new_user_session_path, class: 'navbar-brand'
			-#= link_to 'Sign Up', new_user_registration_path, class: 'navbar-brand'
		.collapse.navbar-collapse
			%ul.nav.navbar-nav
				= render 'layouts/navigation_links'


- add_to_breadcrumbs _("Issues"), project_issues_path(@project)
- breadcrumb_title _("New")
- page_title _("New Issue")

%h3.page-title
  _("New Issue")
%hr

= render "form"

Fix new issue header text

- add_to_breadcrumbs _("Issues"), project_issues_path(@project)
- breadcrumb_title _("New")
- page_title _("New Issue")

%h3.page-title= _("New Issue")
%hr

= render "form"


%div{bindonce: true}
  %div.modal-centered{"bo-if" => "enterprise.email || enterprise.website || enterprise.phone"}
    %p.modal-header Contact
    %p{"ng-if" => "enterprise.phone"}
      {{ enterprise.phone }}

    %p{"ng-if" => "enterprise.email"}
      %a{"ng-href" => "{{enterprise.email | stripUrl}}", target: "_blank", mailto: true}
        %span.email
          {{ enterprise.email | stripUrl }}

    %p{"ng-if" => "enterprise.website"}
      %a{"ng-href" => "http://{{enterprise.website | stripUrl}}", target: "_blank" }
        {{ enterprise.website | stripUrl }}

Add class to force word wrap

%div{bindonce: true}
  %div.modal-centered{"bo-if" => "enterprise.email || enterprise.website || enterprise.phone"}
    %p.modal-header Contact
    %p{"ng-if" => "enterprise.phone"}
      {{ enterprise.phone }}

    %p.word-wrap{"ng-if" => "enterprise.email"}
      %a{"ng-href" => "{{enterprise.email | stripUrl}}", target: "_blank", mailto: true}
        %span.email
          {{ enterprise.email | stripUrl }}

    %p.word-wrap{"ng-if" => "enterprise.website"}
      %a{"ng-href" => "http://{{enterprise.website | stripUrl}}", target: "_blank" }
        {{ enterprise.website | stripUrl }}


- storing ||= f.object
- variant = Maybe(storing.parcel_item.variant)

.nested-fields.storing-fields
  .delivery-item
    = f.referenced_association :storage, source: :storage, label: false, input_html: { class: 'storing-storage', data: { product_of_delivery_item: { url: backend_product_path("RECORD_ID", format: :json), scope: 'storage' }, required: true } }
    %input.hidden{data: { 'when-item': 'name', 'when-set-value': 'RECORD_VALUE', 'when-scope': 'storage'}}
  .storing-quantifier
    = f.input :quantity, label: false, wrapper: :append do
      = f.input_field :quantity, class: 'storing-quantity', placeholder: '0', data: { required: true }
      %span.add-on.storage-unit-name{data: { 'when-item': 'unit_name', 'when-set-value': 'RECORD_VALUE', 'when-scope': 'unit'}}
        = variant.unit_name.or_else('#')
  .nested-remove.act
    - if f.object.destroyable?
      = link_to_remove_association(content_tag(:i) + h(:destroy.tl), f, 'data-no-turbolink' => true, class: 'destroy remove remove-item')

Fix bug where unit name didn't display correctly when adding a storage zone

- storing ||= f.object
- variant = Maybe(storing.parcel_item.variant)

.nested-fields.storing-fields
  .delivery-item
    = f.referenced_association :storage, source: :storage, label: false, input_html: { class: 'storing-storage', data: { product_of_delivery_item: { url: backend_product_path("RECORD_ID", format: :json), scope: 'storage' }, required: true } }
    %input.hidden{data: { 'when-item': 'name', 'when-set-value': 'RECORD_VALUE', 'when-scope': 'storage'}}
  .storing-quantifier
    = f.input :quantity, label: false, wrapper: :append do
      = f.input_field :quantity, class: 'storing-quantity', placeholder: '0', data: { required: true }
      %span.add-on.item-population-unit-name.storage-unit-name{data: { 'when-item': 'unit_name', 'when-set-value': 'RECORD_VALUE', 'when-scope': 'unit'}}
        = variant.unit_name.or_else('#')
  .nested-remove.act
    - if f.object.destroyable?
      = link_to_remove_association(content_tag(:i) + h(:destroy.tl), f, 'data-no-turbolink' => true, class: 'destroy remove remove-item')


- case notification.type_notif
- when "commentaire"
  .type-notif.fa.fa-comments-o
- when "submited"
  .type-notif.fa.fa-thumbs-o-up
- when "champs"
  .type-notif.fa.fa-list-alt
- when "piece_justificative"
  .type-notif.fa.fa-chain

Fix case for submitted dossiers, notification font awsome

- case notification.type_notif
- when "commentaire"
  .type-notif.fa.fa-comments-o
- when "submitted"
  .type-notif.fa.fa-thumbs-o-up
- when "champs"
  .type-notif.fa.fa-list-alt
- when "piece_justificative"
  .type-notif.fa.fa-chain


.list-entry.row
  .column.small-4.large-4.thumbnail-column
    .thumbnail{ng: {style: "{'background-image': url({{entry.images.thumbnail}})}"}}
  .column.small-8.large-8
    .entry-word {{entry.entry_word}}
    .translation {{entry.translation}}

Fix background image url binding syntax error

.list-entry.row
  .column.small-4.large-4.thumbnail-column
    .thumbnail{ng: {style: "{'background-image': url('{{entry.images.thumbnail}}')}"}}
  .column.small-8.large-8
    .entry-word {{entry.entry_word}}
    .translation {{entry.translation}}


= tag "meta", charset: "utf-8"
= tag "meta", content: "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible"
= tag "meta", content: "width=device-width, initial-scale=1.0", name: "viewport"
= tag "meta", name: "author", content: "Euro Team Outreach, Inc."
= tag "meta", name: "robots", content: smart_robots(current_page.path).to_s
= tag "meta", name: "description", content: data.site.description
- if production?
  = tag "meta", property: "og:url", content: data.site.url
  = tag "meta", property: "og:title", content: data.site.title
  = tag "meta", property: "og:description", content: data.site.description
  = tag "meta", property: "og:image",
  content: "http://d3lyzr3q25n7t0.cloudfront.net/biblefirst-fb.png"
  = tag "meta", name: "google-site-verification",
    content: "X_IwE2aubtyfqpk9MSnDlWIWl8_Bjfhc1w8N9jNjCXE"

%title= full_title(current_page.data.title)
= favicon_tag "images/favicon.png"

= tag "link", href: "images/apple-touch-icon.png", rel: "apple-touch-icon"

= stylesheet_link_tag :site
= javascript_include_tag :bundle

Load js ansychronously unless in development env.

= tag "meta", charset: "utf-8"
= tag "meta", content: "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible"
= tag "meta", content: "width=device-width, initial-scale=1.0", name: "viewport"
= tag "meta", name: "author", content: "Euro Team Outreach, Inc."
= tag "meta", name: "robots", content: smart_robots(current_page.path).to_s
= tag "meta", name: "description", content: data.site.description
- if production?
  = tag "meta", property: "og:url", content: data.site.url
  = tag "meta", property: "og:title", content: data.site.title
  = tag "meta", property: "og:description", content: data.site.description
  = tag "meta", property: "og:image",
  content: "http://d3lyzr3q25n7t0.cloudfront.net/biblefirst-fb.png"
  = tag "meta", name: "google-site-verification",
    content: "X_IwE2aubtyfqpk9MSnDlWIWl8_Bjfhc1w8N9jNjCXE"

%title= full_title(current_page.data.title)
= favicon_tag "images/favicon.png"

= tag "link", href: "images/apple-touch-icon.png", rel: "apple-touch-icon"

= stylesheet_link_tag :site
= javascript_include_tag :bundle, async: !development?


%tr{id: planning_application.id}
  %td
    %div.map
      = planning_application.tinymap
  %td.title
    - title_length= planning_application.part_hidden? ? 80 : 200
    %h3{title: planning_application.title}= link_to (truncate planning_application.title, length: title_length, separator: ' '),
      show_uid_planning_applications_path(planning_application.uid)
    - if planning_application.part_hidden?
      .tag-item
        = t ".part_hidden"

    - if planning_application.has_issue?
      %p= t ".converted_to_issue"
      %p= planning_application.issue_link
    -else
      = link_to t(".convert_to_issue_html"), new_planning_application_issue_path(planning_application), class: "btn-green"

      - if planning_application.users.include? current_user
        = link_to t(".unhide"), unhide_planning_application_path(planning_application),
          method: :put, class: "btn-grey", remote: :true
      -else
        = link_to t(".hide"), hide_planning_application_path(planning_application),
          method: :put, title: t('.hide_tooltip'), class: "btn-grey", remote: :true

  %td
    %p= planning_application.authority_name
  %td{title: planning_application.description}
    %p= planning_application.description.truncate(300)
  %td
    %p= link_to planning_application.uid, planning_application.url

Fix when planning app description is nil

%tr{id: planning_application.id}
  %td
    %div.map
      = planning_application.tinymap
  %td.title
    - title_length= planning_application.part_hidden? ? 80 : 200
    %h3{title: planning_application.title}= link_to (truncate planning_application.title, length: title_length, separator: ' '),
      show_uid_planning_applications_path(planning_application.uid)
    - if planning_application.part_hidden?
      .tag-item
        = t ".part_hidden"

    - if planning_application.has_issue?
      %p= t ".converted_to_issue"
      %p= planning_application.issue_link
    -else
      = link_to t(".convert_to_issue_html"), new_planning_application_issue_path(planning_application), class: "btn-green"

      - if planning_application.users.include? current_user
        = link_to t(".unhide"), unhide_planning_application_path(planning_application),
          method: :put, class: "btn-grey", remote: :true
      -else
        = link_to t(".hide"), hide_planning_application_path(planning_application),
          method: :put, title: t('.hide_tooltip'), class: "btn-grey", remote: :true

  %td
    %p= planning_application.authority_name
  %td{title: planning_application.description}
    %p= planning_application.description.try(:truncate, 300)
  %td
    %p= link_to planning_application.uid, planning_application.url


%h3 Activity

%ul
  %li
    - if member.plantings.size > 0
      = link_to pluralize(member.plantings.size, "planting"), plantings_by_owner_path(:owner => member)
    - else
      0 plantings
  %li
    - if member.harvests.size > 0
      = link_to pluralize(member.harvests.size, "harvest"), harvests_by_owner_path(:owner => member)
    - else
      0 harvests
  %li
    - if member.seeds.size > 0
      = link_to pluralize(member.seeds.size, "seeds"), seeds_by_owner_path(:owner => member)
    - else
      0 seeds
  %li
    - if member.posts.size > 0
      = link_to pluralize(member.posts.size, "post"), posts_by_author_path(:author => member)
    - else
      0 posts

  %li
    - if member.followed.size > 0
      = link_to pluralize(member.followed.size, "follow"), member_follows_path(member)
    - else
      0 following

  %li
    - if member.followers.size > 0
      = link_to pluralize(member.followers.size, "follower"), member_followers_path(member)
    - else
      0 followers

Add list-inline to ensure the sidebar never conflicts with other content

%h3 Activity

%ul.list-inline
  %li
    - if member.plantings.size > 0
      = link_to pluralize(member.plantings.size, "planting"), plantings_by_owner_path(:owner => member)
    - else
      0 plantings
  %li
    - if member.harvests.size > 0
      = link_to pluralize(member.harvests.size, "harvest"), harvests_by_owner_path(:owner => member)
    - else
      0 harvests
  %li
    - if member.seeds.size > 0
      = link_to pluralize(member.seeds.size, "seeds"), seeds_by_owner_path(:owner => member)
    - else
      0 seeds
  %li
    - if member.posts.size > 0
      = link_to pluralize(member.posts.size, "post"), posts_by_author_path(:author => member)
    - else
      0 posts

  %li
    - if member.followed.size > 0
      = link_to pluralize(member.followed.size, "follow"), member_follows_path(member)
    - else
      0 following

  %li
    - if member.followers.size > 0
      = link_to pluralize(member.followers.size, "follower"), member_followers_path(member)
    - else
      0 followers


#claim-form
  = form_for claim, as: :claim, builder: AdpFormBuilder, html: { novalidate: true }, multipart: true, authenticity_token: true do |f|

    = f.hidden_field :form_id, value: @form_id || params[:claim][:form_id]
    = f.hidden_field :form_step, value: claim.form_step

    = render partial: "#{claim.current_step}_form_step", locals: { claim: claim, f: f }

Revert use of claim presenter due to cocoon conflicts

#claim-form
  = form_for @claim, as: :claim, builder: AdpFormBuilder, html: { novalidate: true }, multipart: true, authenticity_token: true do |f|

    = f.hidden_field :form_id, value: @form_id || params[:claim][:form_id]
    = f.hidden_field :form_step, value: @claim.form_step

    = render partial: "#{claim.current_step}_form_step", locals: { claim: claim, f: f }


%footer
  .container
    = 'This site is a project of the'
    = link_to 'Wiki Education Foundation', 'https://wikiedu.org'
    = "and subject to Wiki Ed's"
    = link_to 'Terms of Service', 'https://wikiedu.org/terms-of-service'
    = 'and'
    = link_to 'Privacy Policy', 'https://wikiedu.org/privacy-policy'
    = '.'

Add CC-BY-SA note to Wiki Ed footer.

%footer
  .container
    = 'This site is a project of the'
    = link_to 'Wiki Education Foundation', 'https://wikiedu.org'
    = "and subject to Wiki Ed's"
    = link_to 'Terms of Service', 'https://wikiedu.org/terms-of-service'
    = 'and'
    = link_to 'Privacy Policy', 'https://wikiedu.org/privacy-policy'
    = '. All content is'
    = link_to 'CC-BY-SA', 'http://creativecommons.org/licenses/by-sa/3.0/'
    = '.'


%h1.page-title
  = "Your account"

.grid-row.basic-info-row
  .column-quarter
    .bold-xsmall
      Name:
    .xsmall
      = @external_user.name
  .column-quarter
    .bold-xsmall
      Email:
    .xsmall
      = mail_to @external_user.email, @external_user.email
  .column-half

.grid-row.basic-info-row
  .column-quarter
    .bold-xsmall
      Role:
    .xsmall
      = @external_user.role.humanize
  .column-quarter
    .bold-xsmall
      Supplier number:
    .xsmall
      = @external_user.supplier_number
  .column-half

- if can? :edit, @external_user
  = link_to 'Edit', edit_external_users_admin_external_user_path(@external_user), class: 'button button-secondary'

- if can? :change_password, @external_user
  = link_to 'Change password', change_password_external_users_admin_external_user_path(@external_user), class: 'button button-secondary'

Update template to show roles

%h1.page-title
  = "Your account"

.grid-row.basic-info-row
  .column-quarter
    .bold-xsmall
      Name:
    .xsmall
      = @external_user.name
  .column-quarter
    .bold-xsmall
      Email:
    .xsmall
      = mail_to @external_user.email, @external_user.email
  .column-half

.grid-row.basic-info-row
  .column-quarter
    .bold-xsmall
      Roles:
    .xsmall
      = @external_user.roles.map(&:humanize).join(', ')
  .column-quarter
    .bold-xsmall
      Supplier number:
    .xsmall
      = @external_user.supplier_number
  .column-half

- if can? :edit, @external_user
  = link_to 'Edit', edit_external_users_admin_external_user_path(@external_user), class: 'button button-secondary'

- if can? :change_password, @external_user
  = link_to 'Change password', change_password_external_users_admin_external_user_path(@external_user), class: 'button button-secondary'


!!!xml
- report = @incident.driver_incident_report
- sup_report = @incident.supervisor_report
%object_interface
  %accident_incident
    %ai_block= report.block
    %ai_code= @incident.reason_code.try :identifier
    %ai_commentary= report.description
    %ai_date_occured= @incident.occurred_at.try :strftime, '%Y-%m-%d'
    %ai_direction= report.direction
    %ai_district= report.town
    %ai_division= @incident.division
    - if sup_report.present?
      %ai_dvr_pulled= sup_report.hard_drive_pulled?
    %ai_employee= report.user.hastus_id
    %ai_point_of_impact= report.point_of_impact
    %ai_time_occured
      = @incident.occurred_at.try :strftime, '2000-01-01T%H:%M:00.000'
    %ai_type_situation= report.type_situation
    %ai_vehicle= report.bus
    %ai_occured_year= @incident.occurred_at.try :year
    %ai_street= report.location

Add report time and date to Hastus export

!!!xml
- report = @incident.driver_incident_report
- sup_report = @incident.supervisor_report
%object_interface
  %accident_incident
    %ai_block= report.block
    %ai_code= @incident.reason_code.try :identifier
    %ai_commentary= report.description
    %ai_date_occured= @incident.occurred_at.try :strftime, '%Y-%m-%d'
    %ai_direction= report.direction
    %ai_district= report.town
    %ai_division= @incident.division
    - if sup_report.present?
      %ai_dvr_pulled= sup_report.hard_drive_pulled?
    %ai_employee= report.user.hastus_id
    %ai_point_of_impact= report.point_of_impact
    %ai_time_occured
      = @incident.occurred_at.try :strftime, '2000-01-01T%H:%M:00.000'
    %ai_type_situation= report.type_situation
    %ai_vehicle= report.bus
    %ai_occured_year= @incident.occurred_at.try :year
    %ai_report_final_date= Time.zone.now.strftime '%Y-%m-%d'
    %ai_report_final_time= Time.zone.now.strftime '2000-01-01T%H:%M:00.000'
    %ai_street= report.location


%section.content-section.realms
  %header
    %h2 Realms
    %span.label.badge.dark.count= @realms.length

  .content
    - form_tag multi_destroy_realms_path do
      = submit_tag "Delete", :id => 'delete_button', :class => 'button'

      = render :partial => 'layouts/select_all_none'

      %table#realms_table.flat.checkbox_table
        %thead
          %tr
            %th.ignore
            %th= link_to "Realm Name", hardware_profiles_path(:sort_by => "name")
        - unless @realms.blank?
          - @realms.each do |realm|
            %tr{:class => cycle('nostripe','stripe')}
              %td
                - selected = params[:select] == 'all'
                = check_box_tag "realm_selected[]", realm.id, selected, :id => "realm_checkbox_#{realm.id}"
              %td= link_to realm.name, realm_path(realm)

Fix the URL in the Realms table header

%section.content-section.realms
  %header
    %h2 Realms
    %span.label.badge.dark.count= @realms.length

  .content
    - form_tag multi_destroy_realms_path do
      = submit_tag "Delete", :id => 'delete_button', :class => 'button'

      = render :partial => 'layouts/select_all_none'

      %table#realms_table.flat.checkbox_table
        %thead
          %tr
            %th.ignore
            %th= link_to "Realm Name", params.merge(:sort_by => "name")
        - unless @realms.blank?
          - @realms.each do |realm|
            %tr{:class => cycle('nostripe','stripe')}
              %td
                - selected = params[:select] == 'all'
                = check_box_tag "realm_selected[]", realm.id, selected, :id => "realm_checkbox_#{realm.id}"
              %td= link_to realm.name, realm_path(realm)


- if current_user && current_user.see_support_levels
  - if @owner.supporter?
    %small.supporter-plan{class: ('bounceInDown animated' if @new_supporter)}
      = link_to plan_image_tag(Plan.new(@owner.stripe_plan_id), '32x32'), new_supporter_path
      = link_to @owner.plan.name, new_supporter_path

Make the icon bigger on the profile page

- if current_user && current_user.see_support_levels
  - if @owner.supporter?
    %small.supporter-plan{class: ('bounceInDown animated' if @new_supporter)}
      = link_to plan_image_tag(Plan.new(@owner.stripe_plan_id), '48x48'), new_supporter_path
      = link_to @owner.plan.name, new_supporter_path


= simple_form_for(@organization, html: { class: 'form-vertical', id: "global-defaults-form" }, wrapper: :vertical_form, remote: true) do |f|
  = f.input :currency, collection: Organization::CURRENCIES, selected: current_user.organization.currency
  = f.input :seedamount, input_html: {placeholder: "E.g. 10"}, label: 'Seed Amount'
  = f.input :seedvalues, input_html: {placeholder: "E.g. 100, 200, 300 ..."}, label: 'Seed Percentage Values'
  = f.input :redirectto, input_html: {placeholder: "https://example.com"}, label: 'Redirect to (optional)'
  = f.input :thank_you_text, input_html: {placeholder: "Thanks for contributing", label: "Thank you message"}, as: :text
  = f.input :country, input_html: {placeholder: "E.g. US", label: "Default Country"}, as: :string
  = f.input :contact_email, as: :string
  = f.button :submit, 'Save', data: { disable_with: 'Saving...' }
  - if valid
    %span{class: "glyphicon glyphicon-ok text-success global-defaults-success"}

Use form's organization currency value instead of current_user's

= simple_form_for(@organization, html: { class: 'form-vertical', id: "global-defaults-form" }, wrapper: :vertical_form, remote: true) do |f|
  = f.input :currency, collection: Organization::CURRENCIES, selected: f.object.currency
  = f.input :seedamount, input_html: {placeholder: "E.g. 10"}, label: 'Seed Amount'
  = f.input :seedvalues, input_html: {placeholder: "E.g. 100, 200, 300 ..."}, label: 'Seed Percentage Values'
  = f.input :redirectto, input_html: {placeholder: "https://example.com"}, label: 'Redirect to (optional)'
  = f.input :thank_you_text, input_html: {placeholder: "Thanks for contributing", label: "Thank you message"}, as: :text
  = f.input :country, input_html: {placeholder: "E.g. US", label: "Default Country"}, as: :string
  = f.input :contact_email, as: :string
  = f.button :submit, 'Save', data: { disable_with: 'Saving...' }
  - if valid
    %span{class: "glyphicon glyphicon-ok text-success global-defaults-success"}


%td.title=h suggestion.title
%td.user=h suggestion.user || 'No User'
%td.time
  %abbr.timeago{:title => suggestion.created_at}= suggestion.created_at.strftime("%m/%d/%Y %l:%M%p")

Use unix time to ease sorting

%td.title=h suggestion.title
%td.user=h suggestion.user || 'No User'
%td.time
  %abbr.timeago{:title => suggestion.created_at}= suggestion.created_at.strftime("%s")


%html
  %head
    %title #{@name} - History
  %body
    %h2
      %a#main_link{:href => to("/d/#@name")}= @name
    %ul
      - @dates.each do |date|
        %li
          %a.version{:href => to("/d/#@name/#{date.iso8601}")}= date.strftime("%F %T")
          %a.diff{:href => to("/d/#@name/#{date.iso8601}/diff")} (diff)

Declare RSS feed on page

%html
  %head
    %link(rel="alternate" type="application/rss+xml" title="Doc history RSS feed" href="history.rss")
    %title #{@name} - History
  %body
    %h2
      %a#main_link{:href => to("/d/#@name")}= @name
    %ul
      - @dates.each do |date|
        %li
          %a.version{:href => to("/d/#@name/#{date.iso8601}")}= date.strftime("%F %T")
          %a.diff{:href => to("/d/#@name/#{date.iso8601}/diff")} (diff)


-#= journals_tag

= beehive do |b|
  - b.hbox do
    - b.cell :cashes_balance, if: Cash.any?
    - b.cell :accountancy_balance
  - b.hbox do
    - b.cell :payable_taxes
    - b.cell :cashes_balance_evolution

Remove bad cells from accountancy dashboard.

-#= journals_tag

= beehive do |b|
  - b.hbox do
    - b.cell :cashes_balance, if: Cash.any?
    -# b.cell :accountancy_balance
  - b.hbox do
    - b.cell :cashes_balance_evolution
    -# b.cell :payable_taxes


= form.send field.view_helper, field.method_name, field.html_attributes

- tag_suggestions(field, :length => 5, :order => { :count => :desc }).each do |tag|
  = link_to tag, '#', :class => 'tag_suggestion', :data => { :input_id => form.dom_id(field) }

:javascript
  jQuery(function(){
    var input_id = '#{form.dom_id(field)}'
    $('.tag_suggestion[data-input-id=' + input_id + ']').click(function(event){
      var tag_list, current_values, new_values, tag;
      tag_list = $(this).siblings('input#' + input_id);
      // Get the current values by splitting on a comma and stripping whitespace.
      current_values = jQuery.map(tag_list.val().split(','), function(val){ return jQuery.trim(val) });
      tag = $(this).text();
      // Remove the current tag, if present.
      new_values = jQuery.grep(current_values, function(n) {
        return jQuery.trim(n) != tag
      });
      // Add the current tag, unless we've altered the values already.
      if (new_values.length == current_values.length) {
        new_values[new_values.length] = tag
      }
      tag_list.val(new_values.join(', '));

      return false;
    });
  });

%style
  :sass
    .tag_suggestion
      color: #777
      border-bottom: 1px dotted #b94a48
      &:hover
        color: #aaa
        border-bottom: 1px dotted #953b39
        text-decoration: none

Revert "Suggestion links toggle tags, instead of just adding them."

= form.send field.view_helper, field.method_name, field.html_attributes

- tag_suggestions(field, :length => 5, :order => { :count => :desc }).each do |tag|
  = link_to tag, '#', :class => 'tag_suggestion', :data => { :input_id => form.dom_id(field) }

:javascript
  jQuery(function(){
    var input_id = '#{form.dom_id(field)}'
    $('.tag_suggestion[data-input-id=' + input_id + ']').click(function(event){
      var tag_list, new_value;
      tag_list = $(this).siblings('input#' + input_id);

      if (!tag_list.val().match(/\S/)) {
        new_value = this.innerHTML;
      } else {
        new_value = [tag_list.val(), this.innerHTML].join(', ');
      };
      tag_list.val(new_value);

      event.preventDefault();
      return false;
    });
  });

%style
  :sass
    .tag_suggestion
      color: #777
      border-bottom: 1px dotted #b94a48
      &:hover
        color: #aaa
        border-bottom: 1px dotted #953b39
        text-decoration: none


.card
  .card-body
    = t(".services", count: services.count)

    - APP_CONFIG["sharing"].each do |service, service_options|
      - if service_options["enabled"] && services.none? { |x| x.provider == service.to_s }
        %p= button_to t(".connect", service: service.capitalize), "/auth/#{service}", method: :post, class: "btn btn-info"

  - if services.count.positive?
    %ul.list-group
      - services.each do |service|
        %li.list-group-item
          %i{ class: "fa fa-#{service.provider}" }
          %strong= service.provider.capitalize
          (#{service.nickname})
          = button_to t(".disconnect"),
            service_path(service),
            data: { confirm: t(".confirm", service: service.provider.capitalize) },
            method: :delete,
            class: "btn btn-link text-danger",
            form: { class: "d-inline" }

          .col-md-6.mt-2
            = bootstrap_form_for(service, url: update_service_path(service)) do |f|
              = f.text_field :post_tag, label_as_placeholder: true,
                append: f.submit(t("voc.update"), class: "btn btn-primary"), maxlength: 20, pattern: "^[^@]*$"

Fix service settings form submitting with incorrect entity name

.card
  .card-body
    = t(".services", count: services.count)

    - APP_CONFIG["sharing"].each do |service, service_options|
      - if service_options["enabled"] && services.none? { |x| x.provider == service.to_s }
        %p= button_to t(".connect", service: service.capitalize), "/auth/#{service}", method: :post, class: "btn btn-info"

  - if services.count.positive?
    %ul.list-group
      - services.each do |service|
        %li.list-group-item
          %i{ class: "fa fa-#{service.provider}" }
          %strong= service.provider.capitalize
          (#{service.nickname})
          = button_to t(".disconnect"),
            service_path(service),
            data: { confirm: t(".confirm", service: service.provider.capitalize) },
            method: :delete,
            class: "btn btn-link text-danger",
            form: { class: "d-inline" }

          .col-md-6.mt-2
            = bootstrap_form_for(service, as: "service", url: update_service_path(service)) do |f|
              = f.text_field :post_tag, label_as_placeholder: true,
                append: f.submit(t("voc.update"), class: "btn btn-primary"), maxlength: 20, pattern: "^[^@]*$"


- flash.each do |type, message|
  .alert{ class: bootstrap_alert_class(type) }
    %button.close{ type: 'button', 'data-dismiss' => 'alert'}
      %span
        &times
    = message

Clear flash after displaying message in template

- flash.each do |type, message|
  .alert{ class: bootstrap_alert_class(type) }
    %button.close{ type: 'button', 'data-dismiss' => 'alert'}
      %span
        &times
    = message

- flash.clear


!!!
%html
  %head
    %title= Settings.app_name
    = stylesheet_link_tag 'canvas_assets', media: 'all'
    = javascript_include_tag 'canvas_assets'
    = javascript_include_tag 'home/custom.js.coffee'
    = csrf_meta_tags
    %meta{name: "viewport", content: "width=device-width, initial-scale=1, maximum-scale=1"}
  %body.pull_top
    = render partial: 'layouts/home_header'
    = yield

Remove unnecessary code from canvas theme layout

!!!
%html
  %head
    %title= Settings.app_name
    = stylesheet_link_tag 'canvas_assets', media: 'all'
    = javascript_include_tag 'canvas_assets'
    / = javascript_include_tag 'home/custom.js.coffee'
    = csrf_meta_tags
    %meta{name: "viewport", content: "width=device-width, initial-scale=1, maximum-scale=1"}
  %body.pull_top
    = render partial: 'layouts/home_header'
    = yield


- if admin_menus.any?
  .medium-8.columns
    %h4 Modules
    .row.addons
      - admin_menus.each do |menu|
        .small-6.columns.end
          = link_to eval(menu.items.first.path), class: 'media addon-link' do
            .media-object
              %i.icon{class: "icon-express_#{menu.name.downcase}"}
            .media-body
              = menu.name

Change admin menu rendering to fit new scheme

- if admin_menus.any?
  .medium-8.columns
    %h4 Modules
    .row.addons
      - admin_menus.each do |menu|
        .small-6.columns.end
          = link_to eval(menu.path), class: 'media addon-link' do
            .media-object
              %i.icon{class: "icon-express_#{menu.name.downcase}"}
            .media-body
              = menu.name


%h2.panel__heading
  %span.fa.fa-file-o
  Last published pages
- PagePresenter.collect(@last_published_pages).each do |page|
  %p
    = link_to page.label, edit_comfy_admin_cms_site_page_path(page.site, page)
    | Last edit:
    = page.last_update

Improve icon spacing on dashboard panel

%h2.panel__heading
  %span.panel__heading-icon.fa.fa-file-o
  Last published pages
- PagePresenter.collect(@last_published_pages).each do |page|
  %p
    = link_to page.label, edit_comfy_admin_cms_site_page_path(page.site, page)
    | Last edit:
    = page.last_update


.media.smiles
  .pull-left
    %i.fa.fa-smile-o
  .media-body
    - if a.smiles.all.count.zero?
      = t 'views.answerbox.no_smile'
    - else
      - a.smiles.all.each do |smile|
        %a{ href: show_user_profile_path(smile.user.screen_name),
          title: smile.user.screen_name,
          data: { toggle: :tooltip, placement: :top, smile_id: smile.id } }
          %img.avatar-xs{ src: smile.user.profile_picture.url(:medium) }

Use display name instead of screen name in smile tooltip

.media.smiles
  .pull-left
    %i.fa.fa-smile-o
  .media-body
    - if a.smiles.all.count.zero?
      = t 'views.answerbox.no_smile'
    - else
      - a.smiles.all.each do |smile|
        %a{ href: show_user_profile_path(smile.user.screen_name),
          title: smile.user.display_name,
          data: { toggle: :tooltip, placement: :top, smile_id: smile.id } }
          %img.avatar-xs{ src: smile.user.profile_picture.url(:medium) }


#enterprise
  %h1= @enterprise.name
  %h2= enterprise_type_name(@enterprise)

  -# We need an action to render the welcome template, that this button can link to
  %button Change type

#message
  Message bar

.row
  .alpha.seven.columns
    See your profile live on the Open Food Network map.
    %br/
    -# Can we pass an anchor here to zoom to our enterprise?
    = link_to "#{@enterprise.name} live", main_app.map_path

  .two.columns

  .seven.columns.omega
    Change or tweak any of the details of your profile
    %br/
    = link_to "Manage #{@enterprise.name}", main_app.edit_admin_enterprise_path(@enterprise)

.row
  .alpha.seven.columns
    - if can? :admin, Spree::Product
      Add and manage products
      %br/
      = link_to "Manage products", bulk_edit_admin_products_path

  .two.columns

  .seven.columns.omega
    - if can? :admin, OrderCycle
      Add and manage order cycles
      %br/
      = link_to "Manage order cycles", main_app.admin_order_cycles_path

Tweak header to be consistent with other admin pages

- content_for :page_title do
  %h1
    = @enterprise.name
    %span.small
      (
      = enterprise_type_name(@enterprise)
      )

- content_for :page_actions do
  -# We need an action to render the welcome template, that this button can link to
  %button Change type

#message
  Message bar

.row
  .alpha.seven.columns
    See your profile live on the Open Food Network map.
    %br/
    -# Can we pass an anchor here to zoom to our enterprise?
    = link_to "#{@enterprise.name} live", main_app.map_path

  .two.columns

  .seven.columns.omega
    Change or tweak any of the details of your profile
    %br/
    = link_to "Manage #{@enterprise.name}", main_app.edit_admin_enterprise_path(@enterprise)

.row
  .alpha.seven.columns
    - if can? :admin, Spree::Product
      Add and manage products
      %br/
      = link_to "Manage products", bulk_edit_admin_products_path

  .two.columns

  .seven.columns.omega
    - if can? :admin, OrderCycle
      Add and manage order cycles
      %br/
      = link_to "Manage order cycles", main_app.admin_order_cycles_path


.row
  .col-md-12
    - if @asset.capital_projects.empty?
      %p This asset is not associated with any capital projects
    - else
      = render :partial => 'capital_projects/summary_index_table', :locals => {:projects => @asset.capital_projects}

Sort capital projects by fiscal year in descending order on asset detail page.

.row
  .col-md-12
    - if @asset.capital_projects.empty?
      %p This asset is not associated with any capital projects
    - else
      = render :partial => 'capital_projects/summary_index_table', :locals => {:projects => @asset.capital_projects.sort_by { |p| -p.fy_year }}


- title 'Register'
.form-container.signup
  %h1.section-title.center
    Register for
    %span.emphasized= HackathonConfig['name']

  - if HackathonConfig['registration_is_open'] || HackathonConfig['disclaimer_message'].present?
    #disclaimer
      - unless HackathonConfig['registration_is_open']
        .center
          %strong Registration is now closed. Thanks to everyone who applied!
        %br
      - if HackathonConfig['disclaimer_message'].present?
        = markdown(HackathonConfig['disclaimer_message'])

  = render 'form'

Hide empty disclaimer message on register page

- title 'Register'
.form-container.signup
  %h1.section-title.center
    Register for
    %span.emphasized= HackathonConfig['name']

  - if !HackathonConfig['registration_is_open'] || HackathonConfig['disclaimer_message'].present?
    #disclaimer
      - if !HackathonConfig['registration_is_open']
        .center
          %strong Registration is now closed. Thanks to everyone who applied!
        %br
      - if HackathonConfig['disclaimer_message'].present?
        = markdown(HackathonConfig['disclaimer_message'])

  = render 'form'


%li
  %ul.stats
    - if ontology.logic
      %li= ontology.logic

    - if ontology.entities_count
      %li= link_to pluralize(ontology.entities_count, 'Entity'), [ontology, :entities]
      %li= link_to pluralize(ontology.axioms_count, 'Axiom'), [ontology, :axioms]

    - else
      %li= ontology.state

  %h3= link_to highlight(ontology.to_s, @search), ontology

  %p= highlight(ontology.uri.to_s, @search)

Fix view reference to ontology properties

%li
  %ul.stats
    - if ontology.language
      %li= ontology.language

    - if ontology.entities_count
      %li= link_to pluralize(ontology.entities_count, 'Entity'), [ontology, :entities]
      %li= link_to pluralize(ontology.axioms_count, 'Axiom'), [ontology, :axioms]

    - else
      %li= ontology.state

  %h3= link_to highlight(ontology.to_s, @search), ontology

  %p= highlight(ontology.iri.to_s, @search)


- content_for(:subject_title, subject_title)
- content_for(:page_id, number)
- if page_title != nil
  - content_for(:page_title, page_title)

%article
  %header
    %h1
      = "#{subject_title}"
      - if page_title != nil
        = "▸ #{page_title}"
      %small.nice-number= number
  %section#video
    %iframe{ src: "//www.youtube.com/embed/#{video_url}", allowfullscreen: true }
    %small
      1080 y audifonos recomendado
  %section#details
    %p= description

    %h2 Código
    %ul
      - code_url.each do |code_link|
        %li
          = link_to code_link, code_link

    %h2 Links relacionados
    %ul
      - links.each do |link|
        %li
          = link_to link, link, { rel: "external" }

    %h2 Keywords
    %ul.keywords
      - keywords.each do |keyword|
        %li= keyword

    %ul.pagination
      - if previous_page
        %li.prev
          = link_to "❬ Anterior", previous_page, { class: 'button', rel: 'prev'}
      - if next_page
        %li.next
          = link_to "Siguiente ❭", next_page, { class: 'button', rel: 'next'}

  %section#comments
    %h2 Comentarios
    #disqus_thread

Swap angle bracket ornaments for arrows on nav buttons

- content_for(:subject_title, subject_title)
- content_for(:page_id, number)
- if page_title != nil
  - content_for(:page_title, page_title)

%article
  %header
    %h1
      = "#{subject_title}"
      - if page_title != nil
        = "▸ #{page_title}"
      %small.nice-number= number
  %section#video
    %iframe{ src: "//www.youtube.com/embed/#{video_url}", allowfullscreen: true }
    %small
      1080 y audifonos recomendado
  %section#details
    %p= description

    %h2 Código
    %ul
      - code_url.each do |code_link|
        %li
          = link_to code_link, code_link

    %h2 Links relacionados
    %ul
      - links.each do |link|
        %li
          = link_to link, link, { rel: "external" }

    %h2 Keywords
    %ul.keywords
      - keywords.each do |keyword|
        %li= keyword

    %ul.pagination
      - if previous_page
        %li.prev
          = link_to "← Anterior", previous_page, { class: 'button', rel: 'prev'}
      - if next_page
        %li.next
          = link_to "Siguiente →", next_page, { class: 'button', rel: 'next'}

  %section#comments
    %h2 Comentarios
    #disqus_thread


%h2.frametitle New Frame
=form_for [presentation, FassetsPresentations::Frame.new], :url => fassets_presentations.presentation_frames_path(presentation),:html => {:class => "collapsable_frame"} do |f|
  =render :partial => "fassets_presentations/frames/form", :object => f, :locals => {:presentation => presentation, :disable_self => false}
  =submit_tag "Create"

%div{:id => "presentations.#{presentation.id}.frames"}
  %ol{:id => "frames", :path => "presentations.#{presentation.id}.frames.sort"}
    -unless presentation.root_frame == nil
      -if wysiwyg == true
        =tree_ol(presentation.root_frame.children()) {|item| link_to h(item.title), edit_wysiwyg_presentation_frame_path(presentation, item) }
      -else
        =tree_ol(presentation.root_frame.children()) {|item| link_to h(item.title), edit_presentation_frame_path(presentation, item) }

Fix the display of the collapsible panel for frame creation.

.collapsible
  %h2.title New Frame
  =form_for [presentation, FassetsPresentations::Frame.new], :url => fassets_presentations.presentation_frames_path(presentation) do |f|
    =render :partial => "fassets_presentations/frames/form", :object => f, :locals => {:presentation => presentation, :disable_self => false}
    =submit_tag "Create"

%div{:id => "presentations.#{presentation.id}.frames"}
  %ol{:id => "frames", :path => "presentations.#{presentation.id}.frames.sort"}
    -unless presentation.root_frame == nil
      -if wysiwyg == true
        =tree_ol(presentation.root_frame.children()) {|item| link_to h(item.title), edit_wysiwyg_presentation_frame_path(presentation, item) }
      -else
        =tree_ol(presentation.root_frame.children()) {|item| link_to h(item.title), edit_presentation_frame_path(presentation, item) }


%h2 Sign up
= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
  = devise_error_messages!
  %div
    = f.label :name
    %br/
    = f.text_field :name, autofocus: true
  %div
    = f.label :email
    %br/
    = f.email_field :email
  %div
    = f.label :password
    %br/
    = f.password_field :password, autocomplete: "off"
  %div
    = f.label :password_confirmation
    %br/
    = f.password_field :password_confirmation, autocomplete: "off"
  %div= f.submit "Sign up"
%p or
= link_to "Sign in with Twitter", user_omniauth_authorize_path(:twitter)
= render "users/shared/links"

Remove superfluous link to Twitter login

%h2 Sign up
= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
  = devise_error_messages!
  %div
    = f.label :name
    %br/
    = f.text_field :name, autofocus: true
  %div
    = f.label :email
    %br/
    = f.email_field :email
  %div
    = f.label :password
    %br/
    = f.password_field :password, autocomplete: "off"
  %div
    = f.label :password_confirmation
    %br/
    = f.password_field :password_confirmation, autocomplete: "off"
  %div= f.submit "Sign up"
= render "users/shared/links"


.row
  .small-12.large-8.columns
    %div
      %p.modal-header {{'label_about' | t}}
      %div
        %span.filter-shopfront.taxon-selectors
          %ul.inline-block
            %li{"ng-repeat" => "taxon in enterprise.supplied_taxons"}
              %a.button.tiny.disabled{"ng-bind" => "taxon.name"}

        %span.filter-shopfront.property-selectors.pad-top
          %ul.inline-block
            %li{"ng-repeat" => "property in enterprise.supplied_properties"}
              %a.button.tiny.disabled{"ng-bind" => "property.presentation"}

      .about-container.pad-top
        %img.enterprise-logo{"ng-src" => "{{::enterprise.logo}}", "ng-if" => "::enterprise.logo"}
        %p.text-small{"ng-bind-html" => "::enterprise.long_description"}
  .small-12.large-4.columns
    %ng-include{src: "'partials/contact.html'"}
    %ng-include{src: "'partials/follow.html'"}

Fix enterprise description display formatting

.row
  .small-12.large-8.columns
    %div
      %p.modal-header {{'label_about' | t}}
      %div
        %span.filter-shopfront.taxon-selectors
          %ul.inline-block
            %li{"ng-repeat" => "taxon in enterprise.supplied_taxons"}
              %a.button.tiny.disabled{"ng-bind" => "taxon.name"}

        %span.filter-shopfront.property-selectors.pad-top
          %ul.inline-block
            %li{"ng-repeat" => "property in enterprise.supplied_properties"}
              %a.button.tiny.disabled{"ng-bind" => "property.presentation"}

      .about-container.pad-top
        %img.enterprise-logo{"ng-src" => "{{::enterprise.logo}}", "ng-if" => "::enterprise.logo"}
        %div{"ng-bind-html" => "::enterprise.long_description"}
  .small-12.large-4.columns
    %ng-include{src: "'partials/contact.html'"}
    %ng-include{src: "'partials/follow.html'"}


- @map.each_pair do |catalog, catalog_entries|
  %h1{:style => 'font-size: 18pt;'}
    = catalog.name
    Catalog

  - catalog_entries.each_pair do |entry, images|
    %h2{:style => 'font-size: 16pt;'}
      = entry.name
      Catalog Entry

    - images.each_pair do |image, provider_images|
      %h3{:style => 'font-size: 14pt;'}
        Image:
        = "#{image.name} (#{image.uuid})"

      %ul
      - provider_images.each do |provider_image|
        %li
          = "#{provider_image.uuid} pushed to #{provider_image.provider.name}"

Fix provider image list to use provider_name method

- @map.each_pair do |catalog, catalog_entries|
  %h1{:style => 'font-size: 18pt;'}
    = catalog.name
    Catalog

  - catalog_entries.each_pair do |entry, images|
    %h2{:style => 'font-size: 16pt;'}
      = entry.name
      Catalog Entry

    - images.each_pair do |image, provider_images|
      %h3{:style => 'font-size: 14pt;'}
        Image:
        = "#{image.name} (#{image.uuid})"

      %ul
      - provider_images.each do |provider_image|
        %li
          = "#{provider_image.uuid} pushed to #{provider_image.provider_name}"


= form_for @project_member, as: :project_member, url: namespace_project_project_members_path(@project.namespace, @project), html: { class: 'form-horizontal users-project-form' } do |f|
  .form-group
    = f.label :user_ids, "People", class: 'control-label'
    .col-sm-10
      = users_select_tag(:user_ids, multiple: true, class: 'input-large', scope: :all, email_user: true)
      .help-block
        Search for users by name, username, or email, or invite new ones using their email address.

  .form-group
    = f.label :access_level, "Project Access", class: 'control-label'
    .col-sm-10
      = select_tag :access_level, options_for_select(ProjectMember.access_level_roles, @project_member.access_level), class: "project-access-select select2"
      .help-block
        Read more about role permissions
        %strong= link_to "here", help_page_path("user/permissions"), class: "vlink"

  .form-group
    = f.label :expires_at, "Membership expires at", class: 'control-label'
    .col-sm-10
      = text_field_tag :expires_at, nil, class: "datepicker form-control", placeholder: "Select expires at"

  .form-actions
    = f.submit 'Add users to project', class: "btn btn-create"

Initialize the datepicker - the ugly way :(

= form_for @project_member, as: :project_member, url: namespace_project_project_members_path(@project.namespace, @project), html: { class: 'form-horizontal users-project-form' } do |f|
  .form-group
    = f.label :user_ids, "People", class: 'control-label'
    .col-sm-10
      = users_select_tag(:user_ids, multiple: true, class: 'input-large', scope: :all, email_user: true)
      .help-block
        Search for users by name, username, or email, or invite new ones using their email address.

  .form-group
    = f.label :access_level, "Project Access", class: 'control-label'
    .col-sm-10
      = select_tag :access_level, options_for_select(ProjectMember.access_level_roles, @project_member.access_level), class: "project-access-select select2"
      .help-block
        Read more about role permissions
        %strong= link_to "here", help_page_path("user/permissions"), class: "vlink"

  .form-group
    = f.label :expires_at, "Access expiration date", class: 'control-label'
    .col-sm-10
      = text_field_tag :expires_at, nil, class: "datepicker form-control", placeholder: "Select access expiration date"
      .help-block
        Leave it empty if you do not want this user's access to expire.

  .form-actions
    = f.submit 'Add users to project', class: "btn btn-create"

:javascript
  $(".datepicker").datepicker({
    dateFormat: "yy-mm-dd"
  });


- content_for :title, @member.login_name
- content_for :subtitle, @member.location
- content_for :buttonbar do
  - if can? :update, @member
    = link_to 'Edit profile', edit_member_registration_path, :class => 'btn btn-default'
  - if @member == current_member && !@member.is_paid?
    = link_to "Upgrade account", shop_path, :class => 'btn btn-default'
  -if can? :create, Notification and current_member != @member
    =link_to 'Send message', new_notification_path(:recipient_id => @member.id), :class => 'btn btn-default'

- content_for :member_rss_login_name, @member.login_name
- content_for :member_rss_slug, @member.slug

.row

  .col-md-9

    = render :partial => "map", :locals => { :member => @member }
    = render :partial => "bio", :locals => { :member => @member }
    = render :partial => "gardens", :locals => { :member => @member }

  .col-md-3
    = render :partial => "avatar", :locals => { :member => @member }
    = render :partial => "account", :locals => { :member => @member }
    = render :partial => "contact", :locals => { :member => @member, :twitter_auth => @twitter_auth, :flickr_auth => @flickr_auth }
    = render :partial => "stats", :locals => { :member => @member }

Update position of activity on member details page

- content_for :title, @member.login_name
- content_for :subtitle, @member.location
- content_for :buttonbar do
  - if can? :update, @member
    = link_to 'Edit profile', edit_member_registration_path, :class => 'btn btn-default'
  - if @member == current_member && !@member.is_paid?
    = link_to "Upgrade account", shop_path, :class => 'btn btn-default'
  -if can? :create, Notification and current_member != @member
    =link_to 'Send message', new_notification_path(:recipient_id => @member.id), :class => 'btn btn-default'

- content_for :member_rss_login_name, @member.login_name
- content_for :member_rss_slug, @member.slug

.row

  .col-md-9

    = render :partial => "map", :locals => { :member => @member }
    = render :partial => "bio", :locals => { :member => @member }
    = render :partial => "gardens", :locals => { :member => @member }

  .col-md-3
    = render :partial => "avatar", :locals => { :member => @member }
    = render :partial => "account", :locals => { :member => @member }
    = render :partial => "stats", :locals => { :member => @member }
    = render :partial => "contact", :locals => { :member => @member, :twitter_auth => @twitter_auth, :flickr_auth => @flickr_auth }


= semantic_form_for @booking do |f|
  = f.semantic_errors
  = f.inputs do
    = f.input :value_date, :as => :date_field, :input_html => {"data-autofocus" => true, :size => 10, :style => 'text-align: right'}
    = f.input :amount, :input_html => {:size => 12, :style => 'text-align: right'}
    = f.input :title
    = f.input :credit_account
    = f.input :debit_account
    = f.input :comments, :input_html => {:rows => 5}
  = f.buttons do
    = f.commit_button

Move title before amount in booking form.

= semantic_form_for @booking do |f|
  = f.semantic_errors
  = f.inputs do
    = f.input :value_date, :as => :date_field, :input_html => {"data-autofocus" => true, :size => 10, :style => 'text-align: right'}
    = f.input :title
    = f.input :amount, :input_html => {:size => 12, :style => 'text-align: right'}
    = f.input :credit_account
    = f.input :debit_account
    = f.input :comments, :input_html => {:rows => 5}
  = f.buttons do
    = f.commit_button


- content_for :header_title, @title

- content_for :rss_feed do
  = datasets_path(format: 'feed')

%section
  %p.rss-top.pull-right
    %i.icon.icon-rss-sign
    %a{href: yield(:rss_feed)} Subscribe to the RSS feed

  = form_tag datasets_path, method: 'get' do
    %div.form-search.input-append
      = text_field_tag :search, params[:search], class: 'typeahead-search'
      = submit_tag t('certificates.search.submit_search'), :class => 'btn'

- if @datasets.any?

  %hr.heavy
  = render partial: 'dataset_min', collection: @datasets
  = paginate @datasets

- else
  %p= t('certificates.no_certificates_found')

Include search terms in feed link

- content_for :header_title, @title

- content_for :rss_feed do
  = datasets_path(params.merge(format: 'feed'))

%section
  %p.rss-top.pull-right
    %i.icon.icon-rss-sign
    %a{href: yield(:rss_feed)} Subscribe to the RSS feed

  = form_tag datasets_path, method: 'get' do
    %div.form-search.input-append
      = text_field_tag :search, params[:search], class: 'typeahead-search'
      = submit_tag t('certificates.search.submit_search'), :class => 'btn'

- if @datasets.any?

  %hr.heavy
  = render partial: 'dataset_min', collection: @datasets
  = paginate @datasets

- else
  %p= t('certificates.no_certificates_found')


= contextual_links

%h1= t_title
= render 'search_form'

%ul.overview-list.level-1
  %li
    = link_to t_model(DebitInvoice), debit_invoices_path
    %ul.overview-list.level-2
      %li= link_to "Offene Rechnungen", debit_invoices_path(:by_state => :booked)
      %li= link_to "Überfällige Rechnungen", debit_invoices_path(:overdue => true)

Drop search form from invoice index.

= contextual_links

%h1= t_title
%ul.overview-list.level-1
  %li
    = link_to t_model(DebitInvoice), debit_invoices_path
    %ul.overview-list.level-2
      %li= link_to "Offene Rechnungen", debit_invoices_path(:by_state => :booked)
      %li= link_to "Überfällige Rechnungen", debit_invoices_path(:overdue => true)


!!! 5
%html{ lang: "en"}
  = render "layouts/head"
  %body.ui_basic.login-page
    = render "layouts/flash"
    .container
      .content
        %center
          %h1 GitLab
          %p.light
            GitLab is open source software to collaborate on code.
            %br
            #{link_to "Sign in", new_user_session_path} or browse for #{link_to "public projects", public_projects_path}.
    %hr
    .container
      .content
        = yield

Remove redundant signin link from signin page.

!!! 5
%html{ lang: "en"}
  = render "layouts/head"
  %body.ui_basic.login-page
    = render "layouts/flash"
    .container
      .content
        %center
          %h1 GitLab
          %p.light
            GitLab is open source software to collaborate on code.
            %br
            Sign in or browse for #{link_to "public projects", public_projects_path}.
    %hr
    .container
      .content
        = yield


%link{ href:'//fonts.googleapis.com/css?family=Open+Sans:300,400,600', rel: 'stylesheet', type: 'text/css' }

Add 700 font weight for open sans

%link{ href:'//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700', rel: 'stylesheet', type: 'text/css' }


- image_title = "#{interactive.caption} #{interactive.credit_with_link}"
- if interactive.show_lightbox
  %a{ :href => interactive.url,
      :title => image_title,
      :class => 'colorbox'}
    = render :partial => 'image_interactives/image', :locals => { :interactive => interactive }
- else
  = render :partial => 'image_interactives/image', :locals => { :interactive => interactive }
.under-image
  - if interactive.show_lightbox
    .fullscreen.screen-only
      = link_to image_tag('icons/zoom-in.svg', :alt => 'Show at full size'), interactive.url, {:title => image_title, :class => 'colorbox'}
  - unless interactive.caption.blank?
    .caption
      = interactive.caption
  - unless interactive.credit.blank?
    .credit
      = interactive.credit_with_link
%br
%br

Remove caption link HTML from image link title.

- image_title = "#{interactive.caption} #{interactive.credit}"
- if interactive.show_lightbox
  %a{ :href => interactive.url,
      :title => image_title,
      :class => 'colorbox'}
    = render :partial => 'image_interactives/image', :locals => { :interactive => interactive }
- else
  = render :partial => 'image_interactives/image', :locals => { :interactive => interactive }
.under-image
  - if interactive.show_lightbox
    .fullscreen.screen-only
      = link_to image_tag('icons/zoom-in.svg', :alt => 'Show at full size'), interactive.url, {:title => image_title, :class => 'colorbox'}
  - unless interactive.caption.blank?
    .caption
      = interactive.caption
  - unless interactive.credit.blank?
    .credit
      = interactive.credit_with_link
%br
%br


- cache "interesting_members" do
  - members = Member.interesting.first(6)
  - if members.present?
    %h2 Some of our members

    .visible-desktop.visible-tablet
      .row-fluid
        - members.each do |m|
          .span6.homepage-members
            = render :partial => "members/thumbnail", :locals => { :member => m }

    .visible-phone
      - members.each do |m|
        = render :partial => "members/thumbnail", :locals => { :member => m }

    %p.text-right
      = link_to "View all members »", members_path

Hide members when in mobile view

- cache "interesting_members" do
  .visible-desktop.visible-tablet
    - members = Member.interesting.first(6)
    - if members.present?
      %h2 Some of our members

      .row-fluid
        - members.each do |m|
          .span6.homepage-members
            = render :partial => "members/thumbnail", :locals => { :member => m }

      %p.text-right
        = link_to "View all members »", members_path


.alert.alert-error.alert-block
  %h4
    %i.icon-code-fork
    Fork Error!
  %p
    You are trying to fork
    = link_to_project @project
    but it fails due to next reason:

  - if @forked_project && @forked_project.errors.any?
    %p
      –
      = @forked_project.errors.full_messages.first

  %p
    = link_to fork_project_path(@project), title: "Fork", class: "btn", method: "POST" do
      %i.icon-code-fork
      Try to Fork again

Fix grammar in fork error message.

.alert.alert-error.alert-block
  %h4
    %i.icon-code-fork
    Fork Error!
  %p
    You tried to fork
    = link_to_project @project
    but it failed for the following reason:

  - if @forked_project && @forked_project.errors.any?
    %p
      –
      = @forked_project.errors.full_messages.first

  %p
    = link_to fork_project_path(@project), title: "Fork", class: "btn", method: "POST" do
      %i.icon-code-fork
      Try to Fork again


%h1
  = link_to @scraper.owner.to_param, @scraper.owner
  \/
  = link_to @scraper.name, @scraper

%h4= @scraper.description

- if @scraper.scraperwiki_url
  %p
    Forked from
    = link_to "ScraperWiki", @scraper.scraperwiki_url

- if @scraper.github_url
  %p
    = link_to @scraper.github_url do
      %i.icon-github-sign.icon-large
      = @scraper.name
      on GitHub

- if @scraper.forking?
  %h2 Forking!
  .progress.progress-striped.active
    .bar(style="width: 100%")
  %span.muted
    (Refresh page for the latest)

- else
  = render "status"
  .row
    .col-md-9

      - if @scraper.owned_by?(current_user)
        %p= button_to "Run it now!", run_scraper_path(@scraper), class: ((@scraper.queued? || @scraper.running?) ? "btn btn-primary btn-lg disabled" : "btn btn-primary btn-lg"), disabled: (@scraper.queued? || @scraper.running?)
    .col-md-3
      = render "settings"

  = render "console"
  = render "data"
  = render "danger"

Fix progress bar for bootstrap3

%h1
  = link_to @scraper.owner.to_param, @scraper.owner
  \/
  = link_to @scraper.name, @scraper

%h4= @scraper.description

- if @scraper.scraperwiki_url
  %p
    Forked from
    = link_to "ScraperWiki", @scraper.scraperwiki_url

- if @scraper.github_url
  %p
    = link_to @scraper.github_url do
      %i.icon-github-sign.icon-large
      = @scraper.name
      on GitHub

- if @scraper.forking?
  %h2 Forking!
  .progress.progress-striped.active
    .progress-bar(style="width: 100%")
  %span.muted
    (Refresh page for the latest)

- else
  = render "status"
  .row
    .col-md-9

      - if @scraper.owned_by?(current_user)
        %p= button_to "Run it now!", run_scraper_path(@scraper), class: ((@scraper.queued? || @scraper.running?) ? "btn btn-primary btn-lg disabled" : "btn btn-primary btn-lg"), disabled: (@scraper.queued? || @scraper.running?)
    .col-md-3
      = render "settings"

  = render "console"
  = render "data"
  = render "danger"


%h1 Follow a User
%p You can follow your friends from other sites that use the ostatus protocol by providing their webfinger identification.
%p For examples for some common sites, direct your attention to the bottom of this page.

#follow-form.search
  = form_tag "/subscriptions" do
    %input{:type => "text", :name => "subscribe_to"}
    %input.button.follow{:type => "submit", :value => "Follow"}

%h3 OStatus Sites

#sites
  .osite
    %h4
      %a{:href=>"http://rstat.us"} rstat.us
    %p username@rstat.us

  .osite
    %h4
      %a{:href=>"http://identi.ca"} identi.ca
    %p username@identi.ca

  .osite
    %h4
      %a{:href=>"http://status.net"} status.net
    %p username@status.net

Use the username CSS class just created to make the username field the same height as the buttons

%h1 Follow a User
%p You can follow your friends from other sites that use the ostatus protocol by providing their webfinger identification.
%p For examples for some common sites, direct your attention to the bottom of this page.

#follow-form.search
  = form_tag "/subscriptions" do
    %input{:type => "text", :name => "subscribe_to", :class => "username" }
    %input.button.follow{:type => "submit", :value => "Follow"}

%h3 OStatus Sites

#sites
  .osite
    %h4
      %a{:href=>"http://rstat.us"} rstat.us
    %p username@rstat.us

  .osite
    %h4
      %a{:href=>"http://identi.ca"} identi.ca
    %p username@identi.ca

  .osite
    %h4
      %a{:href=>"http://status.net"} status.net
    %p username@status.net


- cache ['v5', run] do
  %li.list-group-item{ class: run.finished_successfully? ? 'alert-success' : 'alert-danger' }
    - if run.auto?
      Auto
    - else
      Manually
    ran
    - if run.git_revision
      revision
      = link_to run.git_revision[0..7], run.git_revision_github_url
    and
    - if run.finished_successfully?
      completed successfully
    - else
      failed
    #{timeago_tag(run.finished_at, force: true)}.

    .pull-right.hidden-xs
      %div
        run time
        = format('%.1f s', run.wall_time)
      %div
    %div= database_changes_in_words(run)
    %div
      - if run.connection_logs.size > 0
        = pluralize(run.connection_logs.size, 'page')
        scraped

Make the time of a run more human if longer than a minute

- cache ['v6', run] do
  %li.list-group-item{ class: run.finished_successfully? ? 'alert-success' : 'alert-danger' }
    - if run.auto?
      Auto
    - else
      Manually
    ran
    - if run.git_revision
      revision
      = link_to run.git_revision[0..7], run.git_revision_github_url
    and
    - if run.finished_successfully?
      completed successfully
    - else
      failed
    #{timeago_tag(run.finished_at, force: true)}.

    .pull-right.hidden-xs
      %div
        run time
        - if run.wall_time < 60
          = format('%.f s', run.wall_time)
        - else
          = distance_of_time_in_words(run.wall_time)
      %div
    %div= database_changes_in_words(run)
    %div
      - if run.connection_logs.size > 0
        = pluralize(run.connection_logs.size, 'page')
        scraped


- model_class = Drink
- content_for :actions do
  %li.nav-item
    = link_to 'new drink', [:new, :drink], class: "nav-link"

.page-header
  %h1
    Drinks.
    %small All of them!

%table.table.table-striped.table-bordered
  %thead
    %tr
      %th
        = model_class.human_attribute_name(:logo)
        %span.small
          (click to edit drink)
      %th= model_class.human_attribute_name(:name)
      %th= model_class.human_attribute_name(:bottle_size)
      %th= model_class.human_attribute_name(:caffeine)
      %th= model_class.human_attribute_name(:price)
      %th= model_class.human_attribute_name(:created_at)
  %tbody
    - @drinks.each do |drink|
      %tr
        %td
          = link_to [:edit, drink] do
            = image_tag drink.logo(:thumb), class: drink.active ? "" : "disabled"
        %td= drink.name
        %td= drink.bottle_size
        %td= drink.caffeine
        %td= show_amount drink.price
        %td
          %span{ :title => l(drink.created_at)}= l(drink.created_at, format: :short)

Change the drink overview to show full dates

- model_class = Drink
- content_for :actions do
  %li.nav-item
    = link_to 'new drink', [:new, :drink], class: "nav-link"

.page-header
  %h1
    Drinks.
    %small All of them!

%table.table.table-striped.table-bordered
  %thead
    %tr
      %th
        = model_class.human_attribute_name(:logo)
        %span.small
          (click to edit drink)
      %th= model_class.human_attribute_name(:name)
      %th= model_class.human_attribute_name(:bottle_size)
      %th= model_class.human_attribute_name(:caffeine)
      %th= model_class.human_attribute_name(:price)
      %th= model_class.human_attribute_name(:created_at)
  %tbody
    - @drinks.each do |drink|
      %tr
        %td
          = link_to [:edit, drink] do
            = image_tag drink.logo(:thumb), class: drink.active ? "" : "disabled"
        %td= drink.name
        %td= drink.bottle_size
        %td= drink.caffeine
        %td= show_amount drink.price
        %td= drink.created_at.strftime("%d %b %Y - %H:%M")


%h2 We've got your code - better tell us who you are!

= form_for(@user, :url => user_registration_path) do |f|
  %div
    = f.label :name
    %br/
    = f.text_field :name, :value => @user.fetched_name
  %div
    = f.label :email
    %br/
    = f.email_field :email, :value => @user.fetched_email
  %div
    = f.label :password
    %br/
    = f.password_field :password
  -# %div
  -#   = f.label :password_confirmation
  -#   %br/
  -#   = f.password_field :password_confirmation
  %div= f.submit "Sign up"

Make the new user signup button more button-like

%h2 We've got your code - better tell us who you are!

= form_for(@user, :url => user_registration_path) do |f|
  %div
    = f.label :name
    %br/
    = f.text_field :name, :value => @user.fetched_name
  %div
    = f.label :email
    %br/
    = f.email_field :email, :value => @user.fetched_email
  %div
    = f.label :password
    %br/
    = f.password_field :password
  -# %div
  -#   = f.label :password_confirmation
  -#   %br/
  -#   = f.password_field :password_confirmation
  %div= f.submit "Sign up", :class => "btn primary"


.layout-page{ class: page_with_sidebar_class }
  - if defined?(nav) && nav
    = render "layouts/nav/sidebar/#{nav}"
  .content-wrapper
    = render 'shared/outdated_browser'
    .mobile-overlay
    .alert-wrapper
      = render "layouts/broadcast"
      = yield :flash_message
      - unless @hide_breadcrumbs
        = render "layouts/nav/breadcrumbs"
      = render "layouts/flash"
    %div{ class: "#{(container_class unless @no_container)} #{@content_class}" }
      .content{ id: "content-body" }
        = yield

Add support for adding custom class on content wrapper element

.layout-page{ class: page_with_sidebar_class }
  - if defined?(nav) && nav
    = render "layouts/nav/sidebar/#{nav}"
  .content-wrapper{ class: "#{@content_wrapper_class}" }
    = render 'shared/outdated_browser'
    .mobile-overlay
    .alert-wrapper
      = render "layouts/broadcast"
      = yield :flash_message
      - unless @hide_breadcrumbs
        = render "layouts/nav/breadcrumbs"
      = render "layouts/flash"
    %div{ class: "#{(container_class unless @no_container)} #{@content_class}" }
      .content{ id: "content-body" }
        = yield


= simple_form_for @feedback do |f|
  = render :partial => 'feedback_form'
  = f.submit "Valider", :class => 'next purple'

Revert "ajout du bouton valider pour le formulaire de fin"


.row
  %h5 Letters (Patient: #{@patient.full_name})

.row
  %table.letters.responsive
    %thead
      %tr
        %th
          Author
        %th
          Description
        %th
          State
        %th
          Last updated
        %th.g-center
          Actions

    %tbody
      = render @letters

.row
  = link_to 'Draft letter', new_patient_letter_path(@patient), class: 'button tiny save'

Add standard patient header to Patient Letters

.wide-screen
  .columns.large-12
    = render partial: "patients/patient_info_header", locals: { model: @patient }
    = render partial: "patients/mini_renal_profile", locals: { model: @patient }

    %h5 Letters

    %table.letters.responsive
      %thead
        %tr
          %th
            Author
          %th
            Description
          %th
            State
          %th
            Last updated
          %th.g-center
            Actions

      %tbody
        = render @letters

.row
  = link_to 'Draft letter', new_patient_letter_path(@patient), class: 'button tiny save'


- groups.each do |group|
  = link_to group, class: 'profile-groups-avatars', :title => group.name do
    = image_tag group_icon(group.path)

Remove whitespace link between user group avatars

- groups.each do |group|
  = link_to group, class: 'profile-groups-avatars', :title => group.name do
    - image_tag group_icon(group.path)


!!! 5
%html{ lang: "en"}
  = render "layouts/head", title: "Public Projects"
  %body{class: "#{app_theme} application", :'data-page' => body_data_page}
    - if current_user
      = render "layouts/head_panel", title: "Public Projects"
    - else
      %header.navbar.navbar-static-top.navbar-gitlab
        .navbar-inner
          .container
            %div.app_logo
              %span.separator
              = link_to public_root_path, class: "home" do
                %h1 GITLAB
              %span.separator
            %h1.project_name Public Projects
            %ul.nav
              %li
                %a
                  %div.hide.turbolink-spinner
                    %i.icon-refresh.icon-spin
                    Loading...

    .container.navless-container
      .content
        = yield

Add sing-in button for public area panel

!!! 5
%html{ lang: "en"}
  = render "layouts/head", title: "Public Projects"
  %body{class: "#{app_theme} application", :'data-page' => body_data_page}
    - if current_user
      = render "layouts/head_panel", title: "Public Projects"
    - else
      %header.navbar.navbar-static-top.navbar-gitlab
        .navbar-inner
          .container
            %div.app_logo
              %span.separator
              = link_to public_root_path, class: "home" do
                %h1 GITLAB
              %span.separator
            %h1.project_name Public Projects
            %ul.nav
              %li
                %a
                  %div.hide.turbolink-spinner
                    %i.icon-refresh.icon-spin
                    Loading...
              %li
                = link_to "Sign in", new_session_path(:user)

    .container.navless-container
      .content
        = yield


!!! 5
%html
  %head
    %meta{ charset: "utf-8" }
    %title Garage
    = csrf_meta_tags
    = stylesheet_link_tag "garage/application", :media => "all"
    = javascript_include_tag "garage/application"
    = favicon_link_tag "favicon.ico"

  %body
    %header
      .section
        %h1
          = link_to "Garage", garage_docs.resources_path
        %ul.right
          %li= link_to "Docs", garage_docs.resources_path
          %li= link_to "Console", garage_docs.console_resources_path
          - if _current_user
            %li= link_to "signout(#{_current_user.name})", "/signout", method: :post

    .main
      = yield

Remove user name from docs header navigation

!!! 5
%html
  %head
    %meta{ charset: "utf-8" }
    %title Garage
    = csrf_meta_tags
    = stylesheet_link_tag "garage/application", :media => "all"
    = javascript_include_tag "garage/application"
    = favicon_link_tag "favicon.ico"

  %body
    %header
      .section
        %h1
          = link_to "Garage", garage_docs.resources_path
        %ul.right
          %li= link_to "Docs", garage_docs.resources_path
          %li= link_to "Console", garage_docs.console_resources_path
          - if _current_user
            %li= link_to "signout", "/signout", method: :post

    .main
      = yield


.section
  %h1 Newsletter
  = link_to @last_newsletter.document.url do
    .btn.btn-primary#newsletter-btn-home
      %span.glyphicon.glyphicon-file
      %p#news-label
        = @last_newsletter.name

Add a view all link to homepage Newsletter section

.section
  %h1 Newsletter
  = link_to @last_newsletter.document.url do
    .btn.btn-primary#newsletter-btn-home
      %span.glyphicon.glyphicon-file
      %p#news-label
        = @last_newsletter.name
  %hr
  %ul.list-inline
    %li
      = link_to "All Newsletters", "newsletters"


.row
  .span8
    %section
      %header#canteen-header
        %h1= @canteen.name
      #remote-canteens-show
        = render partial: "show_section"

  .span4.hide-handheld
    .section
      %section
        %header
          %h2 Location

        = map @canteen

Remove location box from canteen view


.training__show.container
  %ol.breadcrumbs= render_breadcrumbs tag: :li, separator: ' > '
.training__section-overview.container
  %section.training__header
    %h1
      #{@library.name}
    %p
      = @library.introduction
  %ul.training__categories
    - @library.categories.each do |lib_category|
      %li
        .training__category__header
          %h1.h3= lib_category.title
          %p= lib_category.description
        %ul.training__categories__modules
          - lib_category.modules.each do |lib_module|
            - mod = TrainingModule.find_by(slug: lib_module.slug)
            - pm = ::TrainingProgressManager.new(current_user, mod)
            %li
              = link_to training_module_path(@library.slug, lib_module.slug), class: 'action-card' do
                %header.action-card-header
                  %h3.action-card-title
                    = lib_module.name
                    %span.pull-right.action-card-title__completion= pm.module_progress
                  %span.icon-container
                    %i.action-card-icon.icon.icon-rt_arrow
                %p.action-card-text
                  %small.block-element.capitalize{ class: pm.assignment_status_css_class }
                    = pm.assignment_status
                  %span= lib_module.description

Make training pages more resilient to on-wiki changes

.training__show.container
  %ol.breadcrumbs= render_breadcrumbs tag: :li, separator: ' > '
.training__section-overview.container
  %section.training__header
    %h1
      #{@library.name}
    %p
      = @library.introduction
  %ul.training__categories
    - @library.categories.each do |lib_category|
      %li
        .training__category__header
          %h1.h3= lib_category.title
          %p= lib_category.description
        %ul.training__categories__modules
          - lib_category.modules.each do |lib_module|
            - mod = TrainingModule.find_by(slug: lib_module.slug)
            - next unless mod # On P&E Dashboard, training content is unpredictable
            - pm = ::TrainingProgressManager.new(current_user, mod)
            %li
              = link_to training_module_path(@library.slug, lib_module.slug), class: 'action-card' do
                %header.action-card-header
                  %h3.action-card-title
                    = lib_module.name
                    %span.pull-right.action-card-title__completion= pm.module_progress
                  %span.icon-container
                    %i.action-card-icon.icon.icon-rt_arrow
                %p.action-card-text
                  %small.block-element.capitalize{ class: pm.assignment_status_css_class }
                    = pm.assignment_status
                  %span= lib_module.description


%ul.social
  %li
    = link_to 'https://instagram.com' do
      %i{class: 'fa fa-instagram'}
  %li
    = link_to 'https://twitter.com/EPICPressYA' do
      %i{class: 'fa fa-twitter'}
  %li
    = link_to 'https://www.facebook.com/EPICPressYA' do
      %i{class: 'fa fa-facebook'}

Reorder social icons, fix instagram link

%ul.social
  %li
    = link_to 'https://www.facebook.com/EPICPressYA' do
      %i{class: 'fa fa-facebook'}
  %li
    = link_to 'https://instagram.com/EPICPressYA' do
      %i{class: 'fa fa-instagram'}
  %li
    = link_to 'https://twitter.com/EPICPressYA' do
      %i{class: 'fa fa-twitter'}


%h2 Interface map

= link_to_function 'toggle slides', '$("ul.slides").toggle()'
= link_to_function 'toggle sliders', '$("ul.sliders").toggle()'

%ul#interface_map
  - Tab.ordered.each do |tab|
    %li
      = link_to tab.key, edit_admin_tab_path(tab)
      %ul
        - tab.sidebar_items.ordered.each do |sidebar_item|
          %li
            = link_to sidebar_item.key, edit_admin_sidebar_item_path(sidebar_item)
            %ul.slides
              - sidebar_item.slides.ordered.each do |slide|
                %li
                  = link_to slide.key, edit_admin_slide_path(slide)
                  %ul.sliders
                    - slide.sliders.ordered.each do |slider|
                      %li= link_to slider.key, edit_admin_input_element_path(slider)

Fix toggle links on the admin interface map

%h2 Interface map

%a(href="#" onclick="$('ul.slides').toggle(); return false;") toggle slides
%a(href="#" onclick="$('ul.sliders').toggle(); return false;") toggle sliders

%ul#interface_map
  - Tab.ordered.each do |tab|
    %li
      = link_to tab.key, edit_admin_tab_path(tab)
      %ul
        - tab.sidebar_items.ordered.each do |sidebar_item|
          %li
            = link_to sidebar_item.key, edit_admin_sidebar_item_path(sidebar_item)
            %ul.slides
              - sidebar_item.slides.ordered.each do |slide|
                %li
                  = link_to slide.key, edit_admin_slide_path(slide)
                  %ul.sliders
                    - slide.sliders.ordered.each do |slider|
                      %li= link_to slider.key, edit_admin_input_element_path(slider)


#main_div
  - if @root_node
    = render :partial => 'generic_object_definition/list'
  - if @god_node
    = render :partial => 'generic_object_definition/show_god'
  - if @actions_node
    = render :partial => 'generic_object_definition/show_actions'
  - if @custom_button_group_node
    = render :partial => 'generic_object_definition/show_custom_button_group'
  - if @custom_button_node
    = render :partial => 'generic_object_definition/show_custom_button'

  %generic-object-definition-toolbar#generic_object_definition_show_list_form{'entity' => _('Generic Object Class'), 'redirect-url' => "/generic_object_definition"}

:javascript
  miq_bootstrap('#generic_object_definition_show_list_form');

Fix double id in GOD


%li.commit
  .browse_code_link_holder
    %p
      %strong= link_to "Browse Code »", project_tree_path(@project, commit), class: "right"
  %p
    = link_to commit.short_id(8), project_commit_path(@project, commit), class: "commit_short_id"
    = commit.author_link avatar: true, size: 24

    = link_to_gfm truncate(commit.title, length: 70), project_commit_path(@project, commit.id), class: "row_title"

    %span.committed_ago
      = time_ago_in_words(commit.committed_date)
      ago

    %span.notes_count
      - notes = @project.notes.for_commit_id(commit.id)
      - if notes.any?
        %span.btn.disabled.grouped
          %i.icon-comment
          = notes.count

Add commit full time tooltip to `commited_ago`

%li.commit
  .browse_code_link_holder
    %p
      %strong= link_to "Browse Code »", project_tree_path(@project, commit), class: "right"
  %p
    = link_to commit.short_id(8), project_commit_path(@project, commit), class: "commit_short_id"
    = commit.author_link avatar: true, size: 24

    = link_to_gfm truncate(commit.title, length: 70), project_commit_path(@project, commit.id), class: "row_title"

    %time.committed_ago{ datetime: commit.committed_date, title: commit.committed_date.stamp("Aug 21, 2011 9:23pm") }
      = time_ago_in_words(commit.committed_date)
      ago

    %span.notes_count
      - notes = @project.notes.for_commit_id(commit.id)
      - if notes.any?
        %span.btn.disabled.grouped
          %i.icon-comment
          = notes.count


- if group
  .group-title.clearfix
    %h2= group.fancy_link
    #privacy{:class => group.viewable_by.to_s}
      =image_tag("privicon_"+group.viewable_by.to_s+".png", title: "Privacy: '"+group.viewable_by.to_s+"' can see this group.", alt: group.viewable_by.to_s)
    - can_edit = can? :edit, group
    - can_leave = group.users_include? current_user
    - can_email = can? :email_members, group
    - if can_edit || can_leave
      .dropdown.btn-group.group-options
        %a.btn.dropdown-toggle{ :href => "#", 'data-toggle' => 'dropdown' }
          %i.icon-cog
          Options
          = image_tag("dropdown.png", title:'Options', alt:'Options', class: "options-dropdown-icon")

        %ul.dropdown-menu.pull-right
          - if can_email
            %li= link_to "Email group members", "#email-members-modal", "data-toggle" => "modal"
            %hr
          - if can_edit
            %li= link_to "Edit group", edit_group_path(group)
          - if can_leave
            - membership = current_user.group_membership(group)
            %li= link_to "Leave group", membership, method: :delete, confirm: "Are you sure you wish to leave #{group.name}?"
    - if can_email
      #email-members-modal.modal.hidden
        = render "groups/email_members", :group => group

Disable group emailing for now.

- if group
  .group-title.clearfix
    %h2= group.fancy_link
    #privacy{:class => group.viewable_by.to_s}
      =image_tag("privicon_"+group.viewable_by.to_s+".png", title: "Privacy: '"+group.viewable_by.to_s+"' can see this group.", alt: group.viewable_by.to_s)
    - can_edit = can? :edit, group
    - can_leave = group.users_include? current_user
    - can_email = can? :email_members, group
    - if can_edit || can_leave
      .dropdown.btn-group.group-options
        %a.btn.dropdown-toggle{ :href => "#", 'data-toggle' => 'dropdown' }
          %i.icon-cog
          Options
          = image_tag("dropdown.png", title:'Options', alt:'Options', class: "options-dropdown-icon")

        %ul.dropdown-menu.pull-right
          -#- if can_email
            -#%li= link_to "Email group members", "#email-members-modal", "data-toggle" => "modal"
            -#%hr
          - if can_edit
            %li= link_to "Edit group", edit_group_path(group)
          - if can_leave
            - membership = current_user.group_membership(group)
            %li= link_to "Leave group", membership, method: :delete, confirm: "Are you sure you wish to leave #{group.name}?"
    - if can_email
      #email-members-modal.modal.hidden
        = render "groups/email_members", :group => group


.ui.three.items
  - @games.each do |game|
    .item
      .image
        = image_tag game.image, alt: game.name
      .content
        .name= game.name
        .description= game.description
        .extra
          %i.users.icon
          %span #{game.players_min} - #{game.players_max}
          %span.right.floated
            %i.time.icon
            %span #{game.playing_time} min

Change the users icon on the user icon

.ui.three.items
  - @games.each do |game|
    .item
      .image
        = image_tag game.image, alt: game.name
      .content
        .name= game.name
        .description= game.description
        .extra
          %i.user.icon
          %span #{game.players_min} - #{game.players_max}
          %span.right.floated
            %i.time.icon
            %span #{game.playing_time} min


!!!
%html
  %head
    %title Jasmine Spec Runner

    = stylesheet_link_tag "jasmine"
    = javascript_include_tag "jasminerice", :debug => Rails.env.development?
    = javascript_include_tag "spec", :debug => Rails.env.development?

  / include source files here...
  %body

Test to include application.js in view

!!!
%html
  %head
    %title Jasmine Spec Runner

    = stylesheet_link_tag "jasmine"
    = javascript_include_tag "jasminerice", :debug => Rails.env.development?
    = javascript_include_tag "spec", :debug => Rails.env.development?

    = javascript_include_tag "application"

  / include source files here...
  %body


- if current_user
  - if co.pending? || co.proposed?
    %ul#nav
      %li.navitem= link_to 'Checklist', checklist_path
      %li.navitem= link_to 'Members', members_path
      %li.navitem= link_to 'Directors', directors_path
      %li.navitem= link_to 'Rules', constitution_path
      %li.navitem= link_to 'Registration form', edit_registration_form_path
  -else
    %ul#nav
      %li.navitem= link_to 'Dashboard', root_path
      %li.navitem= link_to 'Proposals', proposals_path
      %li.navitem= link_to 'Meetings', meetings_path
      %li.navitem= link_to 'Members', members_path
      %li.navitem= link_to 'Directors', directors_path
      %li.navitem= link_to 'Rules', constitution_path
      %li.navitem= link_to 'Shares', shares_path

Add 'Board' link to menu.

- if current_user
  - if co.pending? || co.proposed?
    %ul#nav
      %li.navitem= link_to 'Checklist', checklist_path
      %li.navitem= link_to 'Members', members_path
      %li.navitem= link_to 'Directors', directors_path
      %li.navitem= link_to 'Rules', constitution_path
      %li.navitem= link_to 'Registration form', edit_registration_form_path
  -else
    %ul#nav
      %li.navitem= link_to 'Dashboard', root_path
      %li.navitem= link_to 'Proposals', proposals_path
      %li.navitem= link_to 'Meetings', meetings_path
      %li.navitem= link_to 'Members', members_path
      %li.navitem= link_to 'Directors', directors_path
      %li.navitem= link_to 'Rules', constitution_path
      %li.navitem= link_to 'Shares', shares_path
      - if can?(:create, BoardResolution)
        %li.navitem= link_to 'Board', board_path