%table.table.table-striped.simpleTable
  %thead
    %tr
      %th.sortable{"data-sort" => "string"} #{term_for :student}
      %th.sortable{"data-sort" => "string"} #{term_for :badges}
      - if current_course.valuable_badges?
        %th.sortable{"data-sort" => "int"} Total Badge Score
  %tbody
    - current_course.students.each do |student|
      - cache ['v1', student, current_course, 'public_badges'] do
        - if student.badges_shared(current_course)
          %tr
            %td= student.name
            %td
              - student.earned_badges.each do |earned_badge|
                - cache ['v1', earned_badge.badge, 'shared'] do
                  - if earned_badge.shared? && earned_badge.icon.present?
                    = image_tag earned_badge.icon, :alt => earned_badge.name, :width => '40'

Fix display of Total Badge Score on student dashboard.

%table.table.table-striped.simpleTable
  %thead
    %tr
      %th.sortable{"data-sort" => "string"} #{term_for :student}
      %th.sortable{"data-sort" => "string"} #{term_for :badges}
      - if current_course.valuable_badges?
        %th.sortable{"data-sort" => "int"} Total Badge Score
  %tbody
    - current_course.students.each do |student|
      - cache ['v1', student, current_course, 'public_badges'] do
        - if student.badges_shared(current_course)
          %tr
            %td= student.name
            %td
              - student.earned_badges.each do |earned_badge|
                - cache ['v1', earned_badge.badge, 'shared'] do
                  - if earned_badge.shared? && earned_badge.icon.present?
                    = image_tag earned_badge.icon, :alt => earned_badge.name, :width => '40'
              %td
                - if current_course.valuable_badges?
                  = student.earned_badge_score_for_course(current_course)


- if current_user.require_ssh_key?
  %p.error_message.centered
    You won't be able to pull or push project code via SSH until you #{link_to 'add an SSH key', new_key_path} to your profile

Fix new ssh key link from shared partial

- if current_user.require_ssh_key?
  %p.error_message.centered
    You won't be able to pull or push project code via SSH until you #{link_to 'add an SSH key', new_profile_key_path} to your profile


.form-actions
  .commit-button-annotation
    = button_tag 'Commit Changes',
                 class: 'btn commit-btn js-commit-button btn-create'
    .message
      to branch
      %strong= ref
  = link_to 'Cancel', cancel_path,
            class: 'btn btn-cancel', data: {confirm: leave_edit_message}

Remove mention of branch to commit to.

.form-actions
  .commit-button-annotation
    = button_tag 'Commit Changes',
                 class: 'btn commit-btn js-commit-button btn-create'
  = link_to 'Cancel', cancel_path,
            class: 'btn btn-cancel', data: {confirm: leave_edit_message}


Revert "deleted unused file". sorry!! :(

:css
  body{
    width:600px;
    font-family: 'Helvetica',sans-serif;
    }
  #container{
  }
  header{
    margin-bottom: 25px;
  }
  p{
    padding:5px;
  }
  p.small{
    font-size:smaller;
    color:#999;
    font-style:italic;
  }
  a{
    color:#107FC9;
    font-weight:bold;
  }
  a:hover{
    color: #22AAE0;
  }
  a:active{
    color: #005D9C;
  }


= render 'users/demo' if Rails.env.demo?

= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
  = f.input :email, :input_html => {'data-autofocus' => true}
  = f.input :password, :hint => false
  - if devise_mapping.rememberable?
    = f.input :remember_me, :as => :boolean
  = f.button :submit

= render "devise/shared/links"

Add .form-actions to line up login button.

= render 'users/demo' if Rails.env.demo?

= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
  = f.input :email, :input_html => {'data-autofocus' => true}
  = f.input :password, :hint => false
  - if devise_mapping.rememberable?
    = f.input :remember_me, :as => :boolean

  .form-actions
    = f.button :submit

= render "devise/shared/links"


%br
-if flash[:message]
    %h1= flash[:message]
    %br
%h2= @assignment.title
%p= @assignment.description
%p= "Start: #{@assignment.start_date.to_s}"
%p= "Due:   #{@assignment.due_date.to_s}"

-if Date.today < @assignment.due_date
    =button_to 'Submit Project to Assignment', submission_new_path(@assignment), method: :get
-else
    =button_to 'Submission closed', submission_new_path(@assignment), method: :get, disabled: true
%br
%br
-if @assignment.course.userRole(@user).teacher?
    =button_to 'Edit Assignment', assignment_edit_path(@assignment), method: :get
    =button_to 'Delete Assignment', assignment_delete_path(@assignment), method: :get

Fix route for deleting assignment

%br
-if flash[:message]
    %h1= flash[:message]
    %br
%h2= @assignment.title
%p= @assignment.description
%p= "Start: #{@assignment.start_date.to_s}"
%p= "Due:   #{@assignment.due_date.to_s}"

-if Date.today < @assignment.due_date
    =button_to 'Submit Project to Assignment', submission_new_path(@assignment), method: :get
-else
    =button_to 'Submission closed', submission_new_path(@assignment), method: :get, disabled: true
%br
%br
-if @assignment.course.userRole(@user).teacher?
    =button_to 'Edit Assignment', assignment_edit_path(@assignment), method: :get
    =button_to 'Delete Assignment', assignment_delete_path(@assignment), method: :post


.navbar
  .navbar-inner
    .container
      .nav-collapse
        %ul.nav
          %li
            %a{:href => "#"} About
          %li.divider-vertical
          %ul.nav
            %li
              %a{:href => "#"} Submission
          %li.divider-vertical
          %ul.nav
            %li
              %a{:href => "#"} Browse


.instance-panel
  .container
    .col-md-12{:class => "text-center"}
      %h1
        Directorio de Esquemas
      .form-group.col-md-6.container-form
        = form_tag(search_schemas_path, method: "get") do
          .inner-addon.left-addon
            %i.glyphicon.glyphicon-search
            %input#search-schema.form-control{:value => @text_search, :type => "text", :name => "text_search"}/
.container.no-gutter
  .row.no-gutter
    .col-md-12.schema-wrapper.text-left
      ="No se han encontrado resultados" if @schemas.empty?
      - @schemas.each do |schema|
        .box-schema(data-categories="category-#{schema.schema_category.id}")
          .title
            = link_to [schema, schema.last_version] do
              = truncate(schema.name, :length => 56)
          .body
            %span
              Descripción:
            = truncate(schema.description, :length => 183)

Add tag and center no results message on schema search

.instance-panel
  .container
    .col-md-12{:class => "text-center"}
      %h1
        Directorio de Esquemas
      .form-group.col-md-6.container-form
        = form_tag(search_schemas_path, method: "get") do
          .inner-addon.left-addon
            %i.glyphicon.glyphicon-search
            %input#search-schema.form-control{:value => @text_search, :type => "text", :name => "text_search"}/
.container.no-gutter
  .row.no-gutter
    .col-md-12.schema-wrapper.text-left
      = content_tag(:p, "No se han encontrado resultados",
        class:"text-center") if @schemas.empty?
      - @schemas.each do |schema|
        .box-schema(data-categories="category-#{schema.schema_category.id}")
          .title
            = link_to [schema, schema.last_version] do
              = truncate(schema.name, :length => 56)
          .body
            %span
              Descripción:
            = truncate(schema.description, :length => 183)


.md-area
  .md-header
    %ul.nav-links
      %li.active
        %a.js-md-write-button{ href: "#md-write-holder" }
          Write
      %li
        %a.js-md-preview-button{ href: "#md-preview-holder" }
          Preview
      %li.pull-right
        %button.zen-cotrol.zen-control-full.js-zen-enter{ type: 'button' }
          Go full screen

  .md-write-holder
    = yield
  .md.md-preview-holder.js-md-preview.hide{class: (preview_class if defined?(preview_class))}

  - if defined?(referenced_users) && referenced_users
    %div.referenced-users.hide
      %span
        = icon('exclamation-triangle')
        You are about to add
        %strong
          %span.js-referenced-users-count 0
          people
        to the discussion. Proceed with caution.

Remove tab stop from "Write", "Preview", "Go full screen" links

.md-area
  .md-header
    %ul.nav-links
      %li.active
        %a.js-md-write-button{ href: "#md-write-holder", tabindex: -1 }
          Write
      %li
        %a.js-md-preview-button{ href: "#md-preview-holder", tabindex: -1 }
          Preview
      %li.pull-right
        %button.zen-cotrol.zen-control-full.js-zen-enter{ type: 'button', tabindex: -1 }
          Go full screen

  .md-write-holder
    = yield
  .md.md-preview-holder.js-md-preview.hide{class: (preview_class if defined?(preview_class))}

  - if defined?(referenced_users) && referenced_users
    %div.referenced-users.hide
      %span
        = icon('exclamation-triangle')
        You are about to add
        %strong
          %span.js-referenced-users-count 0
          people
        to the discussion. Proceed with caution.


%div.highlighted-data{class: user_color_scheme_class}
  .line-numbers
    - blob.data.lines.size.times do |index|
      - offset = defined?(first_line_number) ? first_line_number : 1
      - i = index + offset
      = link_to "#L#{i}", id: "L#{i}", rel: "#L#{i}" do
        %i.icon-link
        = i
  .highlight
    %pre
      %code
        = blob.data

Fix 500 error in Ruby 1.9.

%div.highlighted-data{class: user_color_scheme_class}
  .line-numbers
    - blob.data.lines.to_a.size.times do |index|
      - offset = defined?(first_line_number) ? first_line_number : 1
      - i = index + offset
      = link_to "#L#{i}", id: "L#{i}", rel: "#L#{i}" do
        %i.icon-link
        = i
  .highlight
    %pre
      %code
        = blob.data


Move editor HTML partial from /comfy repo to /cms repo

- if ComfortableMexicanSofa.config.reveal_cms_partials
  .cms-partial
    = __FILE__.split('/').last(5).join('/').gsub(/\.html\.haml\z/, '')

.editor.editor--html.js-html-editor
  %nav.editor__toolbar.js-html-editor-toolbar
    =button_tag("Bold", type: 'button', data: { "command-name" => "bold"})
    =button_tag("Link", type: 'button', data: { "command-name" => "linkPrompt"})
    =button_tag("Unlink", type: 'button', data: { "command-name" => "unlink"})
    =button_tag("OL", type: 'button', data: { "command-name" => "insertOrderedList"})
    =button_tag("UL", type: 'button', data: { "command-name" => "insertUnorderedList"})
    =button_tag("h1", type: 'button', data: { "command-name" => "h1"})
    =button_tag("h2", type: 'button', data: { "command-name" => "h2"})
    =button_tag("h3", type: 'button', data: { "command-name" => "h3"})
    =button_tag("h4", type: 'button', data: { "command-name" => "h4"})
    =button_tag("Remove Formatting", type: "button", data: { "command-name" => "removeFormat"})
  .editor__content.js-html-editor-content

%button.js-switch-mode{type: "button", data: { "mode" => "html" }}
  HTML
%button.js-switch-mode{type: "button", data: { "mode" => "markdown" }}
  Markdown


.panel.panel-default
  .panel-heading.clearfix
    = search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'dash-filter form-control'
    - if current_user.can_create_project?
      %span.pull-right
        = link_to new_project_path, class: "btn btn-new" do
          %i.icon-plus
          New project

  %ul.well-list.dash-list
    - projects.each do |project|
      %li.project-row
        = render "project", project: project

    - if projects.blank?
      %li
        .nothing-here-block There are no projects here.
    - if @projects_count > @projects_limit
      %li.bottom
        %span.light
          #{@projects_limit} of #{pluralize(@projects_count, 'project')} displayed.
        .pull-right.append-right-10
          = link_to projects_dashboard_path do
            Show all
            %i.icon-angle-right

Fix dashboard "show more project" link padding

.panel.panel-default
  .panel-heading.clearfix
    = search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'dash-filter form-control'
    - if current_user.can_create_project?
      %span.pull-right
        = link_to new_project_path, class: "btn btn-new" do
          %i.icon-plus
          New project

  %ul.well-list.dash-list
    - projects.each do |project|
      %li.project-row
        = render "project", project: project

    - if projects.blank?
      %li
        .nothing-here-block There are no projects here.
    - if @projects_count > @projects_limit
      %li.bottom
        %span.light
          #{@projects_limit} of #{pluralize(@projects_count, 'project')} displayed.
        .pull-right
          = link_to projects_dashboard_path do
            Show all
            %i.icon-angle-right


Add nil check for activity investigation

D:\GIT\RIGSE>@git.exe %*
%table.result_material{:cellpadding=>0,:cellspacing=>0}
  %tr
    -if false
      %td.material_type
        .material_thumbnail
        .material_type
          = type
    %td.material_list
      - materials.each do |activity|
        - unless activity.parent.nil?
          .material_list_item
            %div
              %div{:style=>'overflow:hidden'}
                %span.material_header
                  = "#{activity.name}, "
                %span
                  from
                  = activity.parent.name
                .material_button{:style=>'float:right'}
                  =link_to 'Assign to class','',:class=>"button"
                .material_button{:style=>'float:right'}
                  = link_to "Preview",'',:class=>"button"
            .material_body
              = activity.description
              %i
                Used in: #{activity.offerings.length} classes.
D:\GIT\RIGSE>@set ErrorLevel=%ErrorLevel%

D:\GIT\RIGSE>@rem Restore the original console codepage.

D:\GIT\RIGSE>@chcp %cp_oem% > nul < nul


.box
  = form_tag params, :method => :get do
    %label{:for => "search_text"}= t_title('search') + ':'
    = text_field '', :by_text, :autocomplete => 'off', 'data-autofocus' => true
    = submit_tag t_action('search')

Add .search-form class to search forms.

.box.search-form
  = form_tag params, :method => :get do
    %label{:for => "search_text"}= t_title('search') + ':'
    = text_field '', :by_text, :autocomplete => 'off', 'data-autofocus' => true
    = submit_tag t_action('search')


- page_title @commit.id, "Commits"
= render "commit_box"
= render "projects/diffs/diffs", diffs: @diffs, project: @project
= render "projects/notes/notes_with_form"

Include commit message in page title.

- page_title "#{@commit.title} (#{@commit.short_id})", "Commits"
= render "commit_box"
= render "projects/diffs/diffs", diffs: @diffs, project: @project
= render "projects/notes/notes_with_form"


%html{lang: "en"}
  %head
    %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
      %title
        GitLab CI

  %body
    %h1{style: "background: #228899; color: #FFF; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;"}
      GitLab CI
    %table{align: "left", border: "0", cellpadding: "0", cellspacing: "0", style: "padding: 10px 0;", width: "100%"}
      - if @project
        %tr
          %td{align: "left", style: "margin: 0; padding: 10px;"}
            = link_to @project.name, project_url(@project), style: 'color: #29B; text-decoration: none'
            %br

      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          = yield
          %br
      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          %p{style: "font-size:small;color:#777"}
            - if @project
              You're receiving this notification because you the one who triggered a build on the #{@project.name} project.

Add missing verb to notification text

%html{lang: "en"}
  %head
    %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
      %title
        GitLab CI

  %body
    %h1{style: "background: #228899; color: #FFF; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;"}
      GitLab CI
    %table{align: "left", border: "0", cellpadding: "0", cellspacing: "0", style: "padding: 10px 0;", width: "100%"}
      - if @project
        %tr
          %td{align: "left", style: "margin: 0; padding: 10px;"}
            = link_to @project.name, project_url(@project), style: 'color: #29B; text-decoration: none'
            %br

      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          = yield
          %br
      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          %p{style: "font-size:small;color:#777"}
            - if @project
              You're receiving this notification because you are the one who triggered a build on the #{@project.name} project.


!!! 5
%html{ lang: "en"}
  = render "layouts/head"
  %body.ui_mars.login-page.application
    = render "layouts/broadcast"
    .container.navless-container
      .content
        = render "layouts/flash"
        .row.prepend-top-20
          .col-sm-5.pull-right
            = yield
          .col-sm-7.brand-holder.pull-left
            %h1
              = brand_title
            - if brand_item
              = brand_image
              = brand_text
            - else
              %h3 Open source software to collaborate on code

              %p
                Manage git repositories with fine grained access controls that keep your code secure.
                Perform code reviews and enhance collaboration with merge requests.
                Each project can also have an issue tracker and a wiki.

            - if extra_sign_in_text.present?
              = markdown(extra_sign_in_text)

    %hr
    .container
      .footer-links
        = link_to "Explore", explore_root_path
        = link_to "Documentation", "http://doc.gitlab.com/"
        = link_to "About GitLab", "https://about.gitlab.com/"

Add gitlab logo on login page

!!! 5
%html{ lang: "en"}
  = render "layouts/head"
  %body.ui_mars.login-page.application
    %header.navbar.navbar-fixed-top.navbar-gitlab
      .navbar-inner
        .container
          %h4.center
            = image_tag 'logo-white.png', width: 32, height: 32
    = render "layouts/broadcast"
    .container.navless-container
      .content
        = render "layouts/flash"
        .row.prepend-top-20
          .col-sm-5.pull-right
            = yield
          .col-sm-7.brand-holder.pull-left
            %h1
              = brand_title
            - if brand_item
              = brand_image
              = brand_text
            - else
              %h3 Open source software to collaborate on code

              %p
                Manage git repositories with fine grained access controls that keep your code secure.
                Perform code reviews and enhance collaboration with merge requests.
                Each project can also have an issue tracker and a wiki.

            - if extra_sign_in_text.present?
              = markdown(extra_sign_in_text)

    %hr
    .container
      .footer-links
        = link_to "Explore", explore_root_path
        = link_to "Documentation", "http://doc.gitlab.com/"
        = link_to "About GitLab", "https://about.gitlab.com/"


- if params[:milestone_title]
  = hidden_field_tag(:milestone_title, params[:milestone_title])
= dropdown_tag(h(params[:milestone_title].presence || "Milestone"), options: { title: "Filter by milestone", toggle_class: 'js-milestone-select js-filter-submit', filter: true, dropdown_class: "dropdown-menu-selectable",
  placeholder: "Search milestones", footer_content: @project.present?, data: { show_no: true, show_any: true, field_name: "milestone_title", selected: params[:milestone_title], project_id: @project.try(:id), milestones: milestones_filter_dropdown_path, default_label: "Milestone" } }) do
  - if @project
    %ul.dropdown-footer-list
      - if can? current_user, :admin_milestone, @project
        %li
          = link_to new_namespace_project_milestone_path(@project.namespace, @project), title: "New Milestone" do
            Create new
      %li
        = link_to namespace_project_milestones_path(@project.namespace, @project) do
          - if can? current_user, :admin_milestone, @project
            Manage milestones
          - else
            View milestones

Add js-extras so show any and show no for milestones show up.

- if params[:milestone_title]
  = hidden_field_tag(:milestone_title, params[:milestone_title])
= dropdown_tag(h(params[:milestone_title].presence || "Milestone"), options: { title: "Filter by milestone", toggle_class: 'js-milestone-select js-filter-submit js-extra-options', filter: true, dropdown_class: "dropdown-menu-selectable",
  placeholder: "Search milestones", footer_content: @project.present?, data: { show_no: true, show_any: true, field_name: "milestone_title", selected: params[:milestone_title], project_id: @project.try(:id), milestones: milestones_filter_dropdown_path, default_label: "Milestone" } }) do
  - if @project
    %ul.dropdown-footer-list
      - if can? current_user, :admin_milestone, @project
        %li
          = link_to new_namespace_project_milestone_path(@project.namespace, @project), title: "New Milestone" do
            Create new
      %li
        = link_to namespace_project_milestones_path(@project.namespace, @project) do
          - if can? current_user, :admin_milestone, @project
            Manage milestones
          - else
            View milestones


%ul.nav.nav-pills.nav-stacked.mySidebar
  .btn-group
    %button{type: 'button', class: 'btn btn-default btn-link dropdown-toggle', 'data-toggle'=>'dropdown'}
      %span.fa.fa-home
      All Conferences
      %span.caret
    %ul.dropdown-menu{role: 'menu'}
      %li
        = link_to(admin_conferences_path) do
          %span.fa.fa-home
          All Conferences
      - @conferences.each do |conference|
        - if can? :show, conference
          %li
            = link_to(admin_conference_path(conference.short_title)) do
              %span.fa.fa-cog
              Manage
              = conference.short_title
      - if can? :new, Conference.new
        %li
          = link_to(new_admin_conference_path) do
            %span.fa.fa-plus
            New Conference
  - if can? :index, User
    %hr
    %li
      = link_to(admin_users_path) do
        %span.fa.fa-user
        Users
  - if can? :index, PaperTrail::Version
    %li
      = link_to(admin_revision_history_path) do
        %span.fa.fa-history
        Revision History
    - if ENV['ORGANIZATIONS_ENABLED'] == 'true'
      %li
        = link_to(admin_organizations_path) do
          %span.fa.fa-group
          Organizations

Add Button that links to /admin/organizations in _admin_sidebar_index partial file located in views/layouts

%ul.nav.nav-pills.nav-stacked.mySidebar
  .btn-group
    %button{type: 'button', class: 'btn btn-default btn-link dropdown-toggle', 'data-toggle'=>'dropdown'}
      %span.fa.fa-home
      All Conferences
      %span.caret
    %ul.dropdown-menu{role: 'menu'}
      %li
        = link_to(admin_conferences_path) do
          %span.fa.fa-home
          All Conferences
      - @conferences.each do |conference|
        - if can? :show, conference
          %li
            = link_to(admin_conference_path(conference.short_title)) do
              %span.fa.fa-cog
              Manage
              = conference.short_title
      - if can? :new, Conference.new
        %li
          = link_to(new_admin_conference_path) do
            %span.fa.fa-plus
            New Conference
  - if can? :index, User
    %hr
    %li
      = link_to(admin_users_path) do
        %span.fa.fa-user
        Users
  - if can? :index, Organization
    %li
      = link_to(admin_organizations_path) do
        %span.fa.fa-users
        Organizations
  - if can? :index, PaperTrail::Version
    %li
      = link_to(admin_revision_history_path) do
        %span.fa.fa-history
        Revision History
    - if ENV['ORGANIZATIONS_ENABLED'] == 'true'
      %li
        = link_to(admin_organizations_path) do
          %span.fa.fa-group
          Organizations


Change preview investigation link name for has.

%li#home.trail= link_to 'Home', home_path
%li.trail= link_to 'About', about_path
- if current_user.has_role?('admin', 'manager', 'researcher', 'author', 'member') || current_user.portal_teacher
  %li.trail=link_to(top_level_container_name.humanize.pluralize, investigations_path)
- if current_user.has_role?('admin') || current_user.portal_teacher
  %li.trail= link_to "#{ResourcePage.display_name.pluralize}", resource_pages_path
- if current_user.has_role?('guest')
  %li.trail= link_to "Preview Investigations", investigation_preview_list_path


Create partial for scraper search filters

.list-filters
  %h2.h5.text-muted Filter scrapers
  .btn-group
    = link_to "With data", search_path(q: @q), class: "btn btn-default #{('active' unless @show == 'all')}"
    = link_to "All", search_path(q: @q, show: "all"), class: "btn btn-default #{('active' if @show == 'all')}"


#domain_statuses
  = f.fields_for :domain_statuses, @client_statuses do |status_fields|
    .panel.panel-default
      .panel-heading.clearfix
        .pull-left= t('shared.status')
        .pull-right
          = link_to(t('shared.add_another'), '#', class: 'btn btn-primary btn-xs add-domain-status')
          = link_to(t('shared.delete'), '#', class: 'btn btn-danger btn-xs destroy')
      .panel-body
        .errors
          = render 'shared/errors', object: status_fields.object
          - if status_fields.object.errors.any?
            %hr
        .row
          .col-md-6
            .form-group
              = status_fields.label :value
              = status_fields.select :value, options_for_select(DomainStatus.statuses_for_client, status_fields.object.value.try(:sub, 'client', '')), {include_blank: true}, {class: 'form-control'}
          .col-md-6
            .form-group
              = status_fields.label :description
              = status_fields.text_field :description, class: 'form-control', autocomplete: 'off'
:javascript
  $("#domain_statuses").nestedAttributes({
    bindAddTo: $(".add-domain-status"),
    afterAdd: function(item) {
      item.find('.errors').html('');
    }
  });

Make domain statuses form horizontal

#domain-statuses
  = f.fields_for :domain_statuses, @client_statuses do |status_fields|
    .panel.panel-default
      .panel-heading.clearfix
        .pull-left= t('shared.status')
        .pull-right
          = link_to(t('shared.add_another'), '#', class: 'btn btn-primary btn-xs add-domain-status')
          = link_to(t('shared.delete'), '#', class: 'btn btn-danger btn-xs destroy')
      .panel-body
        .errors
          = render 'shared/errors', object: status_fields.object
          - if status_fields.object.errors.any?
            %hr
        .form-group
          = status_fields.label :value, class: 'col-md-2 control-label'
          .col-md-10
            = status_fields.select :value, options_for_select(DomainStatus.statuses_for_client, status_fields.object.value.try(:sub, 'client', '')), {include_blank: true}, {class: 'form-control'}

        .form-group
          = status_fields.label :description, class: 'col-md-2 control-label'
          .col-md-10
            = status_fields.text_field :description, class: 'form-control', autocomplete: 'off'
:javascript
  $("#domain-statuses").nestedAttributes({
    bindAddTo: $(".add-domain-status"),
    afterAdd: function(item) {
      item.find('.errors').html('');
    }
  });


=sales_steps

=formalize do |f|
  -f.error :incoming_delivery
  -f.title :infos
  -f.field :incoming_delivery, :contact_id, :choices=>:incoming_delivery_contacts, :new=>{:controller=>:relations, :action=>:contact_create, :entity_id=>@sales_order.client_id}
  -f.field :incoming_delivery, :mode_id, :choices=>{:reflection=>:incoming_delivery_modes}, :new=>{:action=>:incoming_delivery_mode_create}
  -f.field :incoming_delivery, :planned_on
%h2=IncomingDelivery.human_attribute_name("lines")
%table.kame
  %tr
    %th=IncomingDeliveryLine.human_attribute_name(:product)
    %th=tc(:line_amount)
    %th=tc(:line_amount_with_taxes)
    %th=tc(:total_quantity)
    %th=IncomingDeliveryLine.human_attribute_name(:unit)
    %th=tc(:quantity_rest)
    %th=tc(:quantity)
    %th=IncomingDeliveryLine.human_attribute_name(:amount)
    %th=IncomingDeliveryLine.human_attribute_name(:amount_with_taxes)
  -for line in @incoming_delivery_lines
    %tr{:class=>cycle('odd','even')}
      %td=line.order_line.label
      %td.dec{:class=>"pta-#{line.order_line_id}"}=line.order_line.price.amount
      %td.dec{:class=>"awt-#{line.order_line_id}"}=line.order_line.price.amount_with_taxes
      %td.dec=line.order_line.quantity
      %td=line.order_line.unit.label
      %td.dec=line.order_line.undelivered_quantity
      %td=text_field_tag "incoming_delivery_line[#{line.order_line_id}][quantity]", line.quantity, :id=>"incoming_delivery_line_#{line.order_line_id}_quantity", :onkeyup=>"t6(this, #{line.order_line.undelivered_quantity});", :class=>"pta-#{line.order_line_id} awt-#{line.order_line_id}"
      %td.dec.pta{"mul-of"=>"pta-#{line.order_line_id}"}
      %td.dec.awt{"mul-of"=>"awt-#{line.order_line_id}"}
  %tr.total
    %th{:colspan=>7}=tg :total
    %td#total_amount{"sum-of"=>"pta"}=@incoming_delivery.amount
    %td#total_amount_with_taxes{"sum-of"=>"awt"}=@incoming_delivery.amount_with_taxes
  :javascript
    window.t6 = function(element, max) {
      compute("total_amount");
      compute("total_amount_with_taxes");
      if (element !== null) {
        if (isNaN(element.value) || (!isNaN(element.value) && parseFloat(element.value)>max)) {
          element.addClassName("invalid");
        } else {
          element.removeClassName("invalid");
        }
      }
    }
    t6();


.box-search-schemas
  .container
    .col-md-12{:class => "text-center"}
      %h1
        Directorio de Esquemas
      .form-group.col-md-6.container-form
        = form_tag(search_schemas_path, method: "get") do
          .inner-addon.left-addon
            %i.glyphicon.glyphicon-search
            %input#search-schema.form-control{:value => @text_search, :type => "text", :name => "text_search"}/
.container.no-gutter
  .row.no-gutter
    .col-md-12.schema-wrapper.text-left
      ="No se han encontrado resultados" if @text_search.blank?
      - @schemas.each do |schema|
        .box-schema(data-categories="category-#{schema.schema_category.id}")
          .title
            %a{href: "#"}
              = truncate(schema.name, :length => 56)
          .body
            %span
              Descripción:
            = truncate(schema.description, :length => 183)

Fix when to display no results message on schema search

.box-search-schemas
  .container
    .col-md-12{:class => "text-center"}
      %h1
        Directorio de Esquemas
      .form-group.col-md-6.container-form
        = form_tag(search_schemas_path, method: "get") do
          .inner-addon.left-addon
            %i.glyphicon.glyphicon-search
            %input#search-schema.form-control{:value => @text_search, :type => "text", :name => "text_search"}/
.container.no-gutter
  .row.no-gutter
    .col-md-12.schema-wrapper.text-left
      ="No se han encontrado resultados" if @schemas.blank?
      - @schemas.each do |schema|
        .box-schema(data-categories="category-#{schema.schema_category.id}")
          .title
            %a{href: "#"}
              = truncate(schema.name, :length => 56)
          .body
            %span
              Descripción:
            = truncate(schema.description, :length => 183)


= simple_form_for resource do |f|

  .row-fluid
    .span6
      %h3= t('form.person.address')
      = render 'vcards/form', :f => f

    .span6
      %h3= t_model(PhoneNumber)
      = link_to t_action(:more), [:new_phone_number, resource.persisted? ? resource : controller_name], :remote => true, :class => 'icon-add-text', :style => 'float: right'
      .nested-form.list.contacts
        = f.fields_for :vcard do |vcard|
          - vcard.object.contacts.build_defaults
          - vcard.fields_for :contacts do |contact|
            = render 'phone_numbers/form', :item => contact

  = f.button :submit

Refactor "more" action in contacts list to use a button.

= simple_form_for resource do |f|

  .row-fluid
    .span6
      %h3= t('form.person.address')
      = render 'vcards/form', :f => f

    .span6
      %h3= t_model(PhoneNumber)
      .nested-form.list.contacts
        = f.fields_for :vcard do |vcard|
          - vcard.object.contacts.build_defaults
          - vcard.fields_for :contacts do |contact|
            = render 'phone_numbers/form', :item => contact
      = link_to [:new_phone_number, resource.persisted? ? resource : controller_name], :remote => true, :class => 'btn' do
        %i.icon-plus
        =t_action(:more)

  = f.button :submit


%ul.nav.pull-right
  - if main_app_root_path = (main_app.root_path rescue false)
    %li= link_to t('admin.home.name'), main_app_root_path
  %li= link_to 'Sidekiq', main_app.sidekiq_path
  - if _current_user
    - if logout_path.present?
      %li= link_to content_tag('span', t('admin.misc.log_out'), :class => 'label label-important'), logout_path, :method => Devise.sign_out_via
    %li
      = edit_user_Link do
        - image_tag _current_user.image_url(size: :tiny, ssl: request.ssl?)

Fix typo in rails_admin nav

%ul.nav.pull-right
  - if main_app_root_path = (main_app.root_path rescue false)
    %li= link_to t('admin.home.name'), main_app_root_path
  %li= link_to 'Sidekiq', main_app.sidekiq_path
  - if _current_user
    - if logout_path.present?
      %li= link_to content_tag('span', t('admin.misc.log_out'), :class => 'label label-important'), logout_path, :method => Devise.sign_out_via
    %li
      = edit_user_link do
        - image_tag _current_user.image_url(size: :tiny, ssl: request.ssl?)


.row
  .small-12.columns
    %a.button.primary.tiny.filterbtn{{"ng-click" => "filtersActive = !filtersActive"}}
      {{ filterText(filtersActive) }}
      %i.ofn-i_052-point-down{"ng-show" => "!filtersActive"}
      %i.ofn-i_053-point-up{"ng-show" => "filtersActive"}

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

    .row.filter-box
      .small-12.large-8.columns
        %h5.tdhead
          .light Filter by
          Type
      .small-12.large-4.columns
        %h5.tdhead
          .light Filter by
          Delivery

    .row.filter-box
      .small-12.large-8.columns
        %taxon-selector{objects: "Hubs.visible | filterHubs:query",
          results: "activeTaxons"}

      .small-12.large-4.columns
        %shipping-type-selector{results: "shippingTypes"}

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


.contextual
  = link_to t_crud('new'), new_tenant_path, :class => "icon icon-add"
%h2= t_title

= render 'list'

Use contextual link helper in tenants.

= contextual_links

%h1= t_title

= render 'list'


Add menu links for the kefed library page

#menu-title
  %h1#content-title
    %em #{@project.name}
    Project Settings
#menu-actions
  = link_to("Back", yogo_projects_path, :class => 'icon icon-back')
  |
  = link_to("Dashboard", yogo_project_path(@project), :class => 'icon icon-projects')


%dl.tabs{:data => {'tab' => true}}
  %dd.active
    %a{ "href" => "#tabkerb" } UM Login
  %dd.tabgc
    %a{ "href" => "#tabgc"} GradeCraft Login
.tabs-content
  .content.small-12#tabkerb.active
    .kerberos-auth
      = form_for User.new, :url => auth_kerberos_callback_path do |f|
        = label_tag :username, 'User name', class:'sr-only'
        = text_field_tag :username, nil, placeholder: 'Uniqname', :autocorrect => "off", :autocapitalize => "off"
        = label_tag :password, 'Password', class:'sr-only'
        = password_field_tag :password, nil, placeholder: 'Password'
        .right= f.submit 'Log in', class: 'button radius', alt: 'Log in'
  .content.small-12#tabgc
    .gradegraft-auth
      = form_for User.new, :url => user_sessions_path do |f|
        = label_tag :user_email, 'Email', class:'sr-only'
        = f.text_field :email, placeholder: "Email", :autocorrect => "off", :autocapitalize => "off"
        = label_tag :user_password, 'Password', class:'sr-only'
        = f.password_field :password, placeholder: 'Password'
        .right
          = f.submit "Log in", class: 'button radius', alt: "Log in"

Add forgot password link to GradeCraft login tab

%dl.tabs{:data => {'tab' => true}}
  %dd.active
    %a{ "href" => "#tabkerb" } UM Login
  %dd.tabgc
    %a{ "href" => "#tabgc"} GradeCraft Login
.tabs-content
  .content.small-12#tabkerb.active
    .kerberos-auth
      = form_for User.new, :url => auth_kerberos_callback_path do |f|
        = label_tag :username, 'User name', class:'sr-only'
        = text_field_tag :username, nil, placeholder: 'Uniqname', :autocorrect => "off", :autocapitalize => "off"
        = label_tag :password, 'Password', class:'sr-only'
        = password_field_tag :password, nil, placeholder: 'Password'
        .right= f.submit 'Log in', class: 'button radius', alt: 'Log in'
  .content.small-12#tabgc
    .gradegraft-auth
      = form_for User.new, :url => user_sessions_path do |f|
        = label_tag :user_email, 'Email', class:'sr-only'
        = f.text_field :email, placeholder: "Email", :autocorrect => "off", :autocapitalize => "off"
        = label_tag :user_password, 'Password', class:'sr-only'
        = f.password_field :password, placeholder: 'Password'
        .right= f.submit "Log in", class: 'button radius', alt: "Log in"
        .right= link_to "Forgot password?", new_password_path


.col-md-12
  %h2 Photos
- @photos.each do |photo|
  .col-md-6.col-xs-12= render('photos/thumbnail', photo: photo)


.login-box
  %h3.page_title Sing in
  %br
  - if ldap_enabled?
    %ul.nav.nav-tabs
      %li.active
        = link_to 'LDAP', '#tab-ldap', 'data-toggle' => 'tab'
      %li
        = link_to 'Ordinary', '#tab-signin', 'data-toggle' => 'tab'
    .tab-content
      %div#tab-ldap.tab-pane.active
        = render partial: 'devise/sessions/new_ldap'
      %div#tab-signin.tab-pane
        = render partial: 'devise/sessions/new_base'

  - else
    = render partial: 'devise/sessions/new_base'

  = render 'devise/sessions/oauth_providers' if devise_mapping.omniauthable?

  - if Gitlab.config.gitlab.signup_enabled
    %hr
    %div
      Don't have an account?
      %strong
        = link_to "Sign up", new_registration_path(resource_name)

  - if extra_config.has_key?('sign_in_text')
    %hr
    = markdown(extra_config.sign_in_text)

Fix spell error in sing in

.login-box
  %h3.page_title Sign in
  %br
  - if ldap_enabled?
    %ul.nav.nav-tabs
      %li.active
        = link_to 'LDAP', '#tab-ldap', 'data-toggle' => 'tab'
      %li
        = link_to 'Ordinary', '#tab-signin', 'data-toggle' => 'tab'
    .tab-content
      %div#tab-ldap.tab-pane.active
        = render partial: 'devise/sessions/new_ldap'
      %div#tab-signin.tab-pane
        = render partial: 'devise/sessions/new_base'

  - else
    = render partial: 'devise/sessions/new_base'

  = render 'devise/sessions/oauth_providers' if devise_mapping.omniauthable?

  - if Gitlab.config.gitlab.signup_enabled
    %hr
    %div
      Don't have an account?
      %strong
        = link_to "Sign up", new_registration_path(resource_name)

  - if extra_config.has_key?('sign_in_text')
    %hr
    = markdown(extra_config.sign_in_text)


#modal-confirm-danger.modal{tabindex: -1}
  .modal-dialog
    .modal-content
      .modal-header
        %a.close{href: "#", "data-dismiss" => "modal"} ×
        %h4 Confirmation required

      .modal-body
        %p.cred.lead.js-confirm-text

        %p
          This action can lead to data loss.
          To prevent accidental actions we ask you to confirm your intention.
          %br
          Please type
          %code.js-confirm-danger-match #{phrase}
          to proceed or close this modal to cancel

        .form-group
          = text_field_tag 'confirm_name_input', '', class: 'form-control js-confirm-danger-input'
        .form-group
          = submit_tag 'Confirm', class: "btn btn-danger js-confirm-danger-submit"

Add missing dot in confirm modal

#modal-confirm-danger.modal{tabindex: -1}
  .modal-dialog
    .modal-content
      .modal-header
        %a.close{href: "#", "data-dismiss" => "modal"} ×
        %h4 Confirmation required

      .modal-body
        %p.cred.lead.js-confirm-text

        %p
          This action can lead to data loss.
          To prevent accidental actions we ask you to confirm your intention.
          %br
          Please type
          %code.js-confirm-danger-match #{phrase}
          to proceed or close this modal to cancel.

        .form-group
          = text_field_tag 'confirm_name_input', '', class: 'form-control js-confirm-danger-input'
        .form-group
          = submit_tag 'Confirm', class: "btn btn-danger js-confirm-danger-submit"


- content_for :title, 'Account settings'
- content_for :on_load, "givefocus('user_name')"

%h1= yield :title
%p
  %span.ptitle User name:
  henare
  %br/
  %span.ptitle Real name:
  Henare Degan
  %br/
  %span.ptitle Email:
  henare@oaf.org.au (
  %a{:href => "changeemail.php"}> change email
  )
  %br/
  %span.ptitle Password:
  (
  %a{:href => "changepass.php"}> change password
  )
%h2 Forum profile
%p henare
%h2 Policies which you made
%br/
%a{:href => "../policy.php?id=1"} Marriage equality
(public)
%br/
%a{:href => "../policy.php?id=2"} Offshore processing
(public)
%p
  (
  %a{:href => "addpolicy.php"}> make a new policy
  )


= simple_form_for [:admin, resource] do |f|
  .row-fluid
    .span6= f.input :code, :input_html => {'data-autofocus' => true}
  = simple_fields_for :user do |u|
    = u.input :role_texts, :as => :hidden
    .row-fluid
      .span6= u.input :email
      .span6= u.input :login if u.object.respond_to? :login
    .row-fluid
      .span6= u.input :password, :input_html => {:autocomplete => "off"}
      .span6= u.input :password_confirmation

  .form-actions
    = f.button :submit

Append bookyt.ch to code field in tenant admin form.

= simple_form_for [:admin, resource] do |f|
  .row-fluid
    .span6
      = f.input :code, :wrapper => :append, :class => 'inline' do
        = f.input_field :code, 'data-autofocus' => true, :class => 'span6'
        .add-on .bookyt.ch

  = simple_fields_for :user do |u|
    = u.input :role_texts, :as => :hidden
    .row-fluid
      .span6= u.input :email
      .span6= u.input :login if u.object.respond_to? :login
    .row-fluid
      .span6= u.input :password, :input_html => {:autocomplete => "off"}
      .span6= u.input :password_confirmation

  .form-actions
    = f.button :submit


=  simple_form_for resource do |f|
  = f.input :customer_id, :as => :hidden
  .row-fluid
    .span6= f.input :title
    .span6= f.input :code
  .row-fluid
    .span6= f.association :company, :as => :combobox, :input_html => {'data-autofocus' => true}
    .span6= f.input :state, :collection => invoice_states_as_collection
  .row-fluid
    .span6= f.input :value_date, :as => :date_field
    .span6= f.input :due_date, :as => :date_field
  .row-fluid
    .span6= f.input :duration_from, :as => :date_field
    .span6= f.input :duration_to, :as => :date_field
  .row-fluid
    .span12= f.input :remarks, :input_html => {:rows => 4}

  = render 'line_items/list_form', :f => f, :invoice => resource

  .form-actions
    = f.button :submit, :class => 'btn-primary'

Add manual booking actions to credit_invoice form.

.contextual
  .btn-group
    %button.btn= t_action(:book_manual)
    %button.btn.dropdown-toggle{'data-toggle' => 'dropdown'}
      %span.caret
    %ul.dropdown-menu.pull-right
      - BookingTemplate.tagged_with('use:credit_invoice').each do |template|
        %li= link_to template.title, new_invoice_simple_booking_path(resource, :booking_template_id => template.id), 'data-remote' => true

=  simple_form_for resource do |f|
  = f.input :customer_id, :as => :hidden
  .row-fluid
    .span6= f.input :title
    .span6= f.input :code
  .row-fluid
    .span6= f.association :company, :as => :combobox, :input_html => {'data-autofocus' => true}
    .span6= f.input :state, :collection => invoice_states_as_collection
  .row-fluid
    .span6= f.input :value_date, :as => :date_field
    .span6= f.input :due_date, :as => :date_field
  .row-fluid
    .span6= f.input :duration_from, :as => :date_field
    .span6= f.input :duration_to, :as => :date_field
  .row-fluid
    .span12= f.input :remarks, :input_html => {:rows => 4}

  = render 'line_items/list_form', :f => f, :invoice => resource

  .form-actions
    = f.button :submit, :class => 'btn-primary'


%tr
  = f.fields_for "", edit_booking do |f|
    %td.span2= f.text_field :value_date, :style => 'width: 96%'
    %td.span6= f.text_field :title, :style => 'width: 98%'
    %td.span1= f.text_field :amount, :style => 'width: 94%'
    %td.span1= f.text_field :credit_account_code, :style => 'width: 94%'
    %td.span1= f.text_field :debit_account_code, :style => 'width: 94%'
    %td{:style => 'display:none'}= f.hidden_field :id

Add comments field in booking editing table.

%tr
  = f.fields_for "", edit_booking do |f|
    %td.span2= f.text_field :value_date, :style => 'width: 96%'
    %td.span6
      = f.text_field :title, :style => 'width: 98%'
      = f.text_field :comments, :style => 'width: 98%'
    %td.span1= f.text_field :amount, :style => 'width: 94%'
    %td.span1= f.text_field :credit_account_code, :style => 'width: 94%'
    %td.span1= f.text_field :debit_account_code, :style => 'width: 94%'
    %td{:style => 'display:none'}= f.hidden_field :id


= semantic_form_for resource do |f|
  = f.semantic_errors
  = f.inputs do
    = f.input :customer_id, :as => :hidden
    = f.input :state, :collection => invoice_states_as_collection
    .combobox-action= list_link_for(:new, Company, :target => 'blank')
    = f.input :company, :input_html => {:class => 'combobox', 'data-autofocus' => true}
    = f.input :title
    = f.input :code
    = f.input :value_date, :as => :date_field
    = f.input :due_date, :as => :date_field
    = f.input :amount, :input_html => {:size => 12}
    = f.input :remarks, :input_html => {:rows => 4}

  = f.inputs t('title.period') do
    = f.input :duration_from, :as => :date_field
    = f.input :duration_to, :as => :date_field

  = f.inputs do
    = f.semantic_fields_for :attachments do |a|
      = a.input :title
      = a.input :file, :as => :file

  = f.buttons do
    = f.commit_button

Use multipart form for credit invoices because of attachments.

= semantic_form_for resource, :html => {:multipart => true} do |f|
  = f.semantic_errors
  = f.inputs do
    = f.input :customer_id, :as => :hidden
    = f.input :state, :collection => invoice_states_as_collection
    .combobox-action= list_link_for(:new, Company, :target => 'blank')
    = f.input :company, :input_html => {:class => 'combobox', 'data-autofocus' => true}
    = f.input :title
    = f.input :code
    = f.input :value_date, :as => :date_field
    = f.input :due_date, :as => :date_field
    = f.input :amount, :input_html => {:size => 12}
    = f.input :remarks, :input_html => {:rows => 4}

  = f.inputs t('title.period') do
    = f.input :duration_from, :as => :date_field
    = f.input :duration_to, :as => :date_field

  = f.inputs do
    = f.semantic_fields_for :attachments do |a|
      = a.input :title
      = a.input :file, :as => :file

  = f.buttons do
    = f.commit_button


- page_title "Edit", @tag.name, "Tags"
= render "projects/commits/head"

.row-content-block
  .oneline
    .title
      Release notes for tag
      %strong #{@tag.name}

.prepend-top-default
  = form_for(@release, method: :put, url: namespace_project_tag_release_path(@project.namespace, @project, @tag.name), html: { class: 'form-horizontal common-note-form release-form js-quick-submit' }) do |f|
    = render layout: 'projects/md_preview', locals: { preview_class: "md-preview", referenced_users: true } do
      = render 'projects/zen', f: f, attr: :description, classes: 'note-textarea', placeholder: "Write your release notes or drag files here..."
      = render 'projects/notes/hints'
    .error-alert
    .form-actions.prepend-top-default
      = f.submit 'Save changes', class: 'btn btn-save'
      = link_to "Cancel", namespace_project_tag_path(@project.namespace, @project, @tag.name), class: "btn btn-default btn-cancel"

Fix layout of edit tags page

- @no_container = true
- page_title "Edit", @tag.name, "Tags"
= render "projects/commits/head"

%div{ class: container_class }
  .sub-header-block.no-bottom-space
    .oneline
      .title
        Release notes for tag
        %strong #{@tag.name}

  = form_for(@release, method: :put, url: namespace_project_tag_release_path(@project.namespace, @project, @tag.name), html: { class: 'form-horizontal common-note-form release-form js-quick-submit' }) do |f|
    = render layout: 'projects/md_preview', locals: { preview_class: "md-preview", referenced_users: true } do
      = render 'projects/zen', f: f, attr: :description, classes: 'note-textarea', placeholder: "Write your release notes or drag files here..."
      = render 'projects/notes/hints'
    .error-alert
    .prepend-top-default
      = f.submit 'Save changes', class: 'btn btn-save'
      = link_to "Cancel", namespace_project_tag_path(@project.namespace, @project, @tag.name), class: "btn btn-default btn-cancel"


- if note.valid?
  :plain
    $(".note-form-holder .error").remove();
    $('.note-form-holder textarea').val("");
    $('.note-form-holder #preview-link').text('Preview');
    $('.note-form-holder #preview-note').hide();
    $('.note-form-holder').show();
    NoteList.appendNewNote(#{note.id}, "#{escape_javascript(render "notes/note", note: note)}");

- else
  :plain
    $(".note-form-holder").replaceWith("#{escape_javascript(render 'form')}");

    GitLab.GfmAutoComplete.setup();

Fix rendering template for invalid notes

- if note.valid?
  :plain
    $(".note-form-holder .error").remove();
    $('.note-form-holder textarea').val("");
    $('.note-form-holder #preview-link').text('Preview');
    $('.note-form-holder #preview-note').hide();
    $('.note-form-holder').show();
    NoteList.appendNewNote(#{note.id}, "#{escape_javascript(render "notes/note", note: note)}");

- else
  :plain
    $(".note-form-holder").replaceWith("#{escape_javascript(render 'notes/common_form')}");
    GitLab.GfmAutoComplete.setup();


{% extends "smartmin/read.html" %}
{% load smartmin i18n %}

-block title
  .medium-help.icon-chatbase{ style:'float:left;' }
  %h2.header-margin
    -trans "Chatbase Event Details"

-block above-bar
  %a.btn.btn-primary{ href: '{% url "chatbase.chatbase_list" %}' } Back

-block post-fields
  -if show_logs
    %hr
    %h3
      -trans "Data posted Log"
      %pre.data.prettyprint{ style:'margin-top:10px;' }<
        {% if object.data %}{{ object.data|default:"" }}{% else %}{% trans "No Data" %}{% endif %}

    %hr
    %h3
      -trans "Responses Log"
    %pre.responses.prettyprint{ style:'margin-top:10px;' }<
      {% if object.response %}{{ object.response|default:"" }}{% else %}{% trans "No Response" %}{% endif %}

-block extra-script
  {{ block.super }}
  <script src="{{ STATIC_URL }}rest_framework/js/prettify-min.js"></script>
  :javascript
    $(function(){
      prettyPrint();
    });

-block extra-style
  {{ block.super }}
  <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}rest_framework/css/prettify.css"/>


:javascript
  $('.nav.nav-list li.active').removeClass('active');
  $('.nav.nav-list li[data-model="#{@abstract_model.to_param}"]').addClass('active');

%title= "#{@abstract_model.try(:pretty_name) || @page_name} | #{[_get_plugin_name[0] || 'Rails', _get_plugin_name[1] || 'Admin'].join(' ')}"
.page-header
  %h1= @page_name
- flash && flash.each do |key, value|
  .alert{:class => "alert-#{key}"}
    %a.close{:href => '#', :'data-dismiss' => "alert"}×
    = value
= breadcrumb
%ul.nav.nav-tabs
  = menu_for((@abstract_model ? (@object.try(:persisted?) ? :member : :collection) : :root), @abstract_model, @object)
  = content_for :contextual_tabs
= yield

%footer
  %p © RailsAdmin 2012

Remove copyright notice and footer


%br
.overview
  %ul
    %li
      %tt #{t :stage}:
      %dt= @opportunity.stage ? t(@opportunity.stage) : t(:other)
    %li
      %tt #{t :amount}:
      %dt= @opportunity.amount ? number_to_currency(@opportunity.amount, :precision => 2) : t(:n_a)
  %ul
    %li
      %tt #{t :close_date}:
      %dt= @opportunity.closes_on ? t(@opportunity.closes_on.strftime("%m/%d/%Y")) : t(:n_a)
    %li
      %tt #{t :weighted_amount}:
      %dt= @opportunity.weighted_amount ? number_to_currency(@opportunity.weighted_amount, :precision => 2) : t(:n_a)
  %ul
    %li
      %tt #{t :probability}:
      %dt= @opportunity.probability ? t(@opportunity.probability) : t(:n_a)
    %li
      %tt #{t :assigned_to}:
      %dt= @opportunity.assigned_to ? truncate(@opportunity.assignee.full_name, :length => 16) : nil
  %ul
    %li
      %tt #{t :account}:
      %dt= @opportunity.account ? t(@opportunity.account) : t(:n_a)
    %li
      %tt #{t :campaign}:
      %dt= @opportunity.campaign ? t(@opportunity.campaign) : t(:n_a)


- ref = local_assigns.fetch(:ref)
- commits, hidden = limited_commits(@commits)

- commits.chunk { |c| c.committed_date.in_time_zone.to_date }.each do |day, commits|
  %li.commit-header.js-commit-header{ data: { day: day } }
    %span.day= l(day, format: '%d %b, %Y')
    %span.commits-count= n_("%d commit", "%d commits", commits.count) % commits.count

  %li.commits-row{ data: { day: day } }
    %ul.content-list.commit-list
      = render partial: 'projects/commits/commit', collection: commits, locals: { project: project, ref: ref }

- if hidden > 0
  %li.alert.alert-warning
    = n_('%d additional commit has been omitted to prevent performance issues.', '%d additional commits have been omitted to prevent performance issues.', hidden) % number_with_delimiter(hidden)

Fix invalid integer value when more than 1000 commits

- ref = local_assigns.fetch(:ref)
- commits, hidden = limited_commits(@commits)

- commits.chunk { |c| c.committed_date.in_time_zone.to_date }.each do |day, commits|
  %li.commit-header.js-commit-header{ data: { day: day } }
    %span.day= l(day, format: '%d %b, %Y')
    %span.commits-count= n_("%d commit", "%d commits", commits.count) % commits.count

  %li.commits-row{ data: { day: day } }
    %ul.content-list.commit-list
      = render partial: 'projects/commits/commit', collection: commits, locals: { project: project, ref: ref }

- if hidden > 0
  %li.alert.alert-warning
    = n_('%s additional commit has been omitted to prevent performance issues.', '%s additional commits have been omitted to prevent performance issues.', hidden) % number_with_delimiter(hidden)


!!!
%html
  %head
    %title Kiitos
    = stylesheet_link_tag    "kiitos/application", media: "all"
    = javascript_include_tag "kiitos/application"
    = csrf_meta_tags
  %body
    = yield


Add HTML abuse report notification email.

%p
  #{link_to @abuse_report.user.name, user_url(@abuse_report.user)}
  (@#{@abuse_report.user.username}) was reported for abuse by
  #{link_to @abuse_report.reporter.name, user_url(@abuse_report.reporter)}
  (@#{@abuse_report.reporter.username}).

%blockquote
  = @abuse_report.message

%p
  = link_to "View details", abuse_reports_url


Hello, #{@user.email}
===============================================

You have requested to reset your password.

To choose a new password, just follow this link: #{edit_password_url(@user.reset_password_token).html_safe}.

Have a great day!

Change reset password email greeting to use first name and removed the period from the url to reduce copy/paste mistakes

Hello, #{@user.first_name}
===============================================

You have requested to reset your password.

To choose a new password, just follow this link: #{edit_password_url(@user.reset_password_token).html_safe}

Have a great day!


= simple_form_for parent? ? [parent, resource] : resource do |f|
  .row-fluid
    = f.input :title

  .row-fluid
    .span6
      = f.input :file, :as => :file
    .span6
      = f.input :encoding, :collection => encoding_collection

    - if parent?
      - if parent
        - f.object.object = parent
        = f.input :object_id, :as => :hidden
        = f.input :object_type, :as => :hidden
      - else
        = f.input :object, :collection => parent_class.all

  = f.button :submit

Drop title field in booking import attachment form.

= simple_form_for parent? ? [parent, resource] : resource do |f|
  .row-fluid
    .span6
      = f.input :file, :as => :file
    .span6
      = f.input :encoding, :collection => encoding_collection

    - if parent?
      - if parent
        - f.object.object = parent
        = f.input :object_id, :as => :hidden
        = f.input :object_type, :as => :hidden
      - else
        = f.input :object, :collection => parent_class.all

  = f.button :submit


Add 'new' view for Admin Items Controller

%h1 Add new item

= form_tag admin_items_path, :method => :post do

	= label :item, :name, 'Name'
	= text_field :item, 'name'

	= label :item, :desc, 'Description'
	= text_field :item, 'desc'

	= label :item, :price, 'Price'
	= number_field :item, 'price', :step => 0.01

	= label :item, :category, 'Category'
	= select :item, :category, ['Breakfast', 'Lunch', 'Dinner']

	= submit_tag 'Create Item'


.contextual
  = icon_link_to :profit_sheet
  = icon_link_to :balance_sheet
  = contextual_links_for

%h1= link_to @tenant.company, @tenant.company

= render 'persons/show', :vcard => @tenant.company.vcard
%br
= t_attr(:vat_number) + ": " + @tenant.vat_number

.contextual
  = icon_link_to :new, new_tenant_attachment_path(resource), :remote => true
%h3= t('title.attachments')

- @attachments = resource.attachments
#attachments_list
  = render 'attachments/list' unless @attachments.empty?

Handle tenant views for tenants with no vat_number.

.contextual
  = icon_link_to :profit_sheet
  = icon_link_to :balance_sheet
  = contextual_links_for

%h1= link_to @tenant.company, @tenant.company

= render 'persons/show', :vcard => @tenant.company.vcard
%br
= t_attr(:vat_number) + ": " + @tenant.vat_number.to_s

.contextual
  = icon_link_to :new, new_tenant_attachment_path(resource), :remote => true
%h3= t('title.attachments')

- @attachments = resource.attachments
#attachments_list
  = render 'attachments/list' unless @attachments.empty?


%table.list#attachments_list
  %tr
    %th= t_attr :title, Attachment
    %th.action-links

  = render @attachments

Update classes and structure for attachments list.

%table.zebra-striped.attachments.collection
  %thead
    %tr
      %th= t_attr :title, Attachment
      %th.action-links

  %tbody
    = render @attachments


- url_params = {:controller => 'accounts', :action => 'show', :id => params[:account_id] || params[:id]}

= render 'search_form'

= paginated_section @bookings, :params => url_params.merge(:query => params[:query]) do
  %table#booking_list.list.booking_list
    = render 'accounts/booking_list_header'
    - @saldo = @account.saldo(@carry_booking, false)

    = render 'accounts/carry_booking' unless @saldo == 0

    - for @booking in @bookings
      - amount = @booking.amount
      - amount = -(amount) if @account.is_liability_account?
      - @saldo -= amount if @booking.debit_account == @account
      - @saldo += amount if @booking.credit_account == @account
      = render 'accounts/booking_item'

    = render 'accounts/booking_list_footer' unless @bookings.empty?

Drop search form in account view.

- url_params = {:controller => 'accounts', :action => 'show', :id => params[:account_id] || params[:id]}

= paginated_section @bookings, :params => url_params.merge(:query => params[:query]) do
  %table#booking_list.list.booking_list
    = render 'accounts/booking_list_header'
    - @saldo = @account.saldo(@carry_booking, false)

    = render 'accounts/carry_booking' unless @saldo == 0

    - for @booking in @bookings
      - amount = @booking.amount
      - amount = -(amount) if @account.is_liability_account?
      - @saldo -= amount if @booking.debit_account == @account
      - @saldo += amount if @booking.credit_account == @account
      = render 'accounts/booking_item'

    = render 'accounts/booking_list_footer' unless @bookings.empty?


.form-actions
  .commit-button-annotation
    = button_tag 'Commit Changes',
                 class: 'btn commit-btn js-commit-button btn-create'
    .message
      to branch
      %strong= ref
  = link_to 'Cancel', cancel_path,
            class: 'btn btn-cancel', data: {confirm: leave_edit_message}

Remove mention of branch to commit to.

.form-actions
  .commit-button-annotation
    = button_tag 'Commit Changes',
                 class: 'btn commit-btn js-commit-button btn-create'
  = link_to 'Cancel', cancel_path,
            class: 'btn btn-cancel', data: {confirm: leave_edit_message}


---
title: Gluster Developer Summit 2016
no_container: true
---
%section
  .container
    .jumbotron
      = image_tag "antmascot.png", :class => "pull-right"
      %h2 Gluster Developer Summit 2016

      %p
        The ants are marching!
        On October 6 and 7, the Gluster contributor community is coming together to discuss the state of Gluster and the plans for the future in Berlin, Germany.

.container
  .row
    .col-sm-12.col-md-4
      %h2
        Sponsorship
      %p
        Sponsor an evening event at Gluster Developer Summit! Interested?
        Email
        %a( href="mailto:amye@gluster.org")amye@gluster.org
        for more details.

    .col-md-4.col-sm-12.eventbanner
      %h2
        Berlin, Germany

      %p
        Join the conversation!

        %p
        Gluster Developer Summit will be held at the InterContinental Berlin.

      %p
      %p
        %a{ :href=>"http://www.ihg.com/intercontinental/hotels/gb/en/berlin/berha/hoteldetail" } » InterContinental Berlin

    .col-sm-12.col-md-4
      %h2 Get Involved!
      %p
        Our schedule and detailed agenda will be posted September 12.
      %h5

          %i.fa.fa-fw.fa-group

.container
  .jumbotron
    %blockquote
      Join us!

Remove the unused bits of formatting

---
title: Gluster Developer Summit 2016
no_container: true
---
%section
  .container
    .jumbotron
      = image_tag "antmascot.png", :class => "pull-right"
      %h2 Gluster Developer Summit 2016

      %p
        The ants are marching!
        On October 6 and 7, the Gluster contributor community is coming together to discuss the state of Gluster and the plans for the future in Berlin, Germany.

.container
  .row
    .col-sm-12.col-md-4
      %h2
        Sponsorship
      %p
        Sponsor an evening event at Gluster Developer Summit! Interested?
        Email
        %a( href="mailto:amye@gluster.org")amye@gluster.org
        for more details.

    .col-md-4.col-sm-12.eventbanner
      %h2
        Berlin, Germany

      %p
        Join the conversation!

        %p
        Gluster Developer Summit will be held at the InterContinental Berlin.

      %p
      %p
        %a{ :href=>"http://www.ihg.com/intercontinental/hotels/gb/en/berlin/berha/hoteldetail" } » InterContinental Berlin

    .col-sm-12.col-md-4
      %h2 Get Involved!
      %p
        Our schedule and detailed agenda will be posted September 12.

.container
  .jumbotron
    %blockquote
      Join us!


%div.page-header
  %h1 イベント一覧
%div.list-group
  - @events.each do |event|
    = link_to(event, class: 'list-group-item') do
      %h4.list-group-item-heading
        = event.name
      %p.list-group-item-text
        = event.start_time.strftime('%Y%m%d %H:%M')
        \-
        = event.end_time.strftime('%Y%m%d %H:%M')


- button_path = local_assigns.fetch(:button_path, false)
- project_select_button = local_assigns.fetch(:project_select_button, false)
- has_button = button_path || project_select_button

.row.empty-state
  .col-xs-12
    .svg-content
      = image_tag 'illustrations/issues.svg'
  .col-xs-12.text-center
    .text-content
      - if has_button && current_user
        %h4
          The Issue Tracker is the place to add things that need to be improved or solved in a project
        %p
          Issues can be bugs, tasks or ideas to be discussed.
          Also, issues are searchable and filterable.
        - if project_select_button
          = render 'shared/new_project_item_select', path: 'issues/new', label: 'New issue', type: :issues
        - else
          = link_to 'New issue', button_path, class: 'btn btn-new', title: 'New issue', id: 'new_issue_link'
      - else
        .text-center
          %h4 There are no issues to show.

Update issues empty state

- button_path = local_assigns.fetch(:button_path, false)
- project_select_button = local_assigns.fetch(:project_select_button, false)
- has_button = button_path || project_select_button

.row.empty-state
  .col-xs-12
    .svg-content
      = image_tag 'illustrations/issues.svg'
  .col-xs-12
    .text-content
      - if has_button && current_user
        %h4
          The Issue Tracker is the place to add things that need to be improved or solved in a project
        %p
          Issues can be bugs, tasks or ideas to be discussed.
          Also, issues are searchable and filterable.
        .text-center
          - if project_select_button
            = render 'shared/new_project_item_select', path: 'issues/new', label: 'New issue', type: :issues
          - else
            = link_to 'New issue', button_path, class: 'btn btn-new', title: 'New issue', id: 'new_issue_link'
      - else
        .text-center
          %h4 There are no issues to show


%html{lang: "en"}
  %head
    %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
      %title
        GitLab

  %body
    %h1{style: "background: #EEE; border-bottom: 1px solid #DDD; color: #474D57; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;"}
      GitLab
      - if @project
        \|
        = link_to @project.name_with_namespace, project_url(@project), style: 'color: #29B; text-decoration: none'
    %table{align: "left", border: "0", cellpadding: "0", cellspacing: "0", style: "padding: 10px 0;", width: "100%"}
      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          = yield
          %br
      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          %p{style: "font-size:small;color:#777"}
            - if @project
              You're receiving this notification because you are a member of the #{link_to @project.name_with_namespace, project_url(@project)} project team.
              %br
            - if @target_url
              #{link_to "View in GitLab", @target_url}

Remove the header banner in notification emails

%html{lang: "en"}
  %head
    %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
      %title
        GitLab

  %body
    %table{align: "left", border: "0", cellpadding: "0", cellspacing: "0", style: "padding: 10px 0;", width: "100%"}
      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          = yield
      %tr
        %td{align: "left", style: "margin: 0; padding: 10px;"}
          %p{style: "font-size:small;color:#777"}
            - if @project
              You're receiving this notification because you are a member of the #{link_to @project.name_with_namespace, project_url(@project)} project team.
              %br
            - if @target_url
              #{link_to "View in GitLab", @target_url}


.panel.panel-default
  .panel-heading
    Profile
  %ul.well-list
    %li
      %span.light Member since
      %strong= user.created_at.stamp("Aug 21, 2011")
    - unless user.skype.blank?
      %li
        %span.light Skype:
        %strong= link_to user.skype, "skype:#{user.skype}"
    - unless user.linkedin.blank?
      %li
        %span.light LinkedIn:
        %strong= link_to user.linkedin, "http://www.linkedin.com/in/#{user.linkedin}"
    - unless user.twitter.blank?
      %li
        %span.light Twitter:
        %strong= link_to user.twitter, "http://www.twitter.com/#{user.twitter}"
    - unless user.website_url.blank?
      %li
        %span.light Website:
        %strong= link_to user.short_website_url, user.full_website_url
    - unless user.bio.blank?
      %li
        %span.light Bio:
        %span= user.bio

Add location to user page

.panel.panel-default
  .panel-heading
    Profile
  %ul.well-list
    %li
      %span.light Member since
      %strong= user.created_at.stamp("Aug 21, 2011")
    - unless user.skype.blank?
      %li
        %span.light Skype:
        %strong= link_to user.skype, "skype:#{user.skype}"
    - unless user.linkedin.blank?
      %li
        %span.light LinkedIn:
        %strong= link_to user.linkedin, "http://www.linkedin.com/in/#{user.linkedin}"
    - unless user.twitter.blank?
      %li
        %span.light Twitter:
        %strong= link_to user.twitter, "http://www.twitter.com/#{user.twitter}"
    - unless user.website_url.blank?
      %li
        %span.light Website:
        %strong= link_to user.short_website_url, user.full_website_url
    - unless user.location.blank?
      %li
        %span.light Location:
        %strong= user.location
    - unless user.bio.blank?
      %li
        %span.light Bio:
        %span= user.bio


.row
  .col-md-12.page-header
    %h2
      Roles

    .text-muted
      The available roles for the conference

  .col-md-12
    %table.table.table-bordered.table-striped.table-hover.datatable#roles
      %thead
        %th ID
        %th Name
        %th Description
        %th Users
        %th Actions
      %tbody
        - @roles.each do |role|
          %tr
            %td= role.id
            %td= role.name.titleize
            %td= role.description
            %td
              = role.users.pluck(:name).first(5).join ', '
              - if role.users.count > 5
                = link_to '...', admin_conference_role_path(@conference.short_title, role.name)
            %td
              .btn-group
                = link_to 'Users', admin_conference_role_path(@conference.short_title, role.name), class: 'btn btn-success'
                - if can? :edit, role
                  = link_to 'Edit', edit_admin_conference_role_path(@conference.short_title, role.name), class: 'btn btn-primary'

Remove datatable functionality from Roles index table.

.row
  .col-md-12.page-header
    %h2
      Roles

    .text-muted
      The available roles for the conference

  .col-md-12
    %table.table.table-bordered.table-striped.table-hover#roles
      %thead
        %th ID
        %th Name
        %th Description
        %th Users
        %th Actions
      %tbody
        - @roles.each do |role|
          %tr
            %td= role.id
            %td= role.name.titleize
            %td= role.description
            %td
              = role.users.pluck(:name).first(5).join ', '
              - if role.users.count > 5
                = link_to '...', admin_conference_role_path(@conference.short_title, role.name)
            %td
              .btn-group
                = link_to 'Users', admin_conference_role_path(@conference.short_title, role.name), class: 'btn btn-success'
                - if can? :edit, role
                  = link_to 'Edit', edit_admin_conference_role_path(@conference.short_title, role.name), class: 'btn btn-primary'


- if can?(current_user, :admin_cluster, @cluster)
  - if @cluster.managed?
    .append-bottom-20
      %label.append-bottom-10
        = s_('ClusterIntegration|Google Kubernetes Engine')
      %p
        - link_gke = link_to(s_('ClusterIntegration|Google Kubernetes Engine'), @cluster.gke_cluster_url, target: '_blank', rel: 'noopener noreferrer')
        = s_('ClusterIntegration|Manage your cluster by visiting %{link_gke}').html_safe % { link_gke: link_gke }

  .well.form-group
    %label.text-danger
      = s_('ClusterIntegration|Remove cluster integration')
    %p
      = s_('ClusterIntegration|Removing cluster integration will remove the cluster configuration you have added to this project. It will not delete your cluster on Google Kubernetes Engine.')
    = link_to(s_('ClusterIntegration|Remove integration'), namespace_project_cluster_path(@project.namespace, @project, @cluster.id), method: :delete, class: 'btn btn-danger', data: { confirm: "Are you sure you want to remove cluster integration from this project? This will not delete your cluster on Google Kubernetes Engine"})

Update Remove cluster subtitle and alert

- if can?(current_user, :admin_cluster, @cluster)
  - if @cluster.managed?
    .append-bottom-20
      %label.append-bottom-10
        = s_('ClusterIntegration|Google Kubernetes Engine')
      %p
        - link_gke = link_to(s_('ClusterIntegration|Google Kubernetes Engine'), @cluster.gke_cluster_url, target: '_blank', rel: 'noopener noreferrer')
        = s_('ClusterIntegration|Manage your cluster by visiting %{link_gke}').html_safe % { link_gke: link_gke }

  .well.form-group
    %label.text-danger
      = s_('ClusterIntegration|Remove cluster integration')
    %p
      = s_("ClusterIntegration|Remove this cluster's configuration from this project. This will not delete your actual cluster.")
    = link_to(s_('ClusterIntegration|Remove integration'), namespace_project_cluster_path(@project.namespace, @project, @cluster.id), method: :delete, class: 'btn btn-danger', data: { confirm: s_("ClusterIntegration|Are you sure you want to remove this cluster's integration? This will not delete your actual cluster.")})


%tr[salary]
  %td= salary.value_date
  %td= link_to salary.company, salary.company
  %td= link_to salary.title, salary, {'data-href-container' => 'tr'}
  %td= salary.due_date
  %td.currency= currency_fmt(salary.amount)
  %td.currency= currency_fmt(salary.balance)
  %td.action-links
    = icon_edit_link_to edit_salary_path(salary)
    = icon_delete_link_to salary, salary_path(salary)

Drop deletion action link from salary items.


-feed_url = url_for(:format => "atom", :tags => params[:tags])

-content_for :rss do
  %link{:rel=>"alternate", :type=>"application/atom+xml", :title => "atom", :href=> url_for(:format => "atom", :tags => params[:tags])}
  %link{:rel=>"alternate", :type=>"application/atom+xml", :title => "atom", :href=> url_for(:format => "atom")}

-if @questions.empty?
  = render "shared/empty", :type => "questions", :url => new_question_path
-else
  -if params[:answers]
    -cache_for(:questions, :answers, current_order.to_s, params[:page].to_i, params[:per_page].to_i) do
      /Answers
      -@questions.each do |question|
        -answer = find_answer(question)
        = render "answers/answer", :question => question, :answer => answer if answer

  -else
    -cache_for(:questions, current_order.to_s, params[:page].to_i, params[:per_page].to_i, @languages.sort) do
      /Questions
      -@questions.each do |question|
        = render "questions/question", :question => question

  = paginate @questions

Fix cache for unanswered questions

-feed_url = url_for(:format => "atom", :tags => params[:tags])

-content_for :rss do
  %link{:rel=>"alternate", :type=>"application/atom+xml", :title => "atom", :href=> url_for(:format => "atom", :tags => params[:tags])}
  %link{:rel=>"alternate", :type=>"application/atom+xml", :title => "atom", :href=> url_for(:format => "atom")}

-if @questions.empty?
  = render "shared/empty", :type => "questions", :url => new_question_path
-else
  -if params[:answers]
    -cache_for(:questions, :answers, current_order.to_s, params[:page].to_i, params[:per_page].to_i) do
      /Answers
      -@questions.each do |question|
        -answer = find_answer(question)
        = render "answers/answer", :question => question, :answer => answer if answer

  -else
    -cache_for(:questions, current_order.to_s, params[:page].to_i, params[:per_page].to_i, @languages.sort, params[:unanswered] ? "unanswered" : "" ) do
      /Questions
      -@questions.each do |question|
        = render "questions/question", :question => question

  = paginate @questions


%tr[@booking]
  %td= @booking.value_date
  %td
    = @booking.title
    - if @booking.comments.present?
      %hr{:style => "height: 1px; margin: 0"}/
      %i= @booking.comments
  %td= link_to @booking.reference.to_s, @booking.reference unless @booking.reference.nil? rescue ''
  %td{:style => "text-align: right"}= (@booking.credit_account == @account) ? currency_fmt(@booking.amount) : content_tag('i', link_to(@booking.credit_account.code, account_path(@booking.credit_account), :title => @booking.credit_account.title))
  %td{:style => "text-align: right"}= (@booking.debit_account == @account) ? currency_fmt(@booking.amount) : content_tag('i', link_to(@booking.debit_account.code, account_path(@booking.debit_account), :title => @booking.debit_account.title))
  %td{:style => "text-align: right"}= currency_fmt(@saldo)
  %td.action-links
    = icon_edit_link_to edit_account_booking_path(@account, @booking, :page => params['page'])
    = icon_delete_link_to @booking, account_booking_path(@account, @booking, :page => params['page'])

Use class instead of inline styling in booking item.

%tr[@booking]
  %td= @booking.value_date
  %td
    = @booking.title
    - if @booking.comments.present?
      %hr{:style => "height: 1px; margin: 0"}/
      %i= @booking.comments
  %td= link_to @booking.reference.to_s, @booking.reference unless @booking.reference.nil? rescue ''
  %td.currency= (@booking.credit_account == @account) ? currency_fmt(@booking.amount) : content_tag('i', link_to(@booking.credit_account.code, account_path(@booking.credit_account), :title => @booking.credit_account.title))
  %td.currency= (@booking.debit_account == @account) ? currency_fmt(@booking.amount) : content_tag('i', link_to(@booking.debit_account.code, account_path(@booking.debit_account), :title => @booking.debit_account.title))
  %td.currency= currency_fmt(@saldo)
  %td.action-links
    = icon_edit_link_to edit_account_booking_path(@account, @booking, :page => params['page'])
    = icon_delete_link_to @booking, account_booking_path(@account, @booking, :page => params['page'])


Add HAML devise template for password reset page

%h2 Forgot your password?
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
  = devise_error_messages!
  %div
    = f.label :email
    %br/
    = f.email_field :email, autofocus: true
  %div= f.submit "Send me reset password instructions"
= render "devise/shared/links"


- if group && group.submission_for_assignment(assignment)
  %li= link_to "See Submission", assignment_grade_path(assignment, group.submission_for_assignment(assignment), :group_id => group), :class => 'button'
- else
  - if group && group.approved?
    %li= link_to "Submit", new_assignment_submission_path(assignment, :group_id => group), :class => 'button'

Send students to the right tab for submissions on groups

- if group && group.submission_for_assignment(assignment)
  %li= link_to "See Submission", assignment_path(assignment, :anchor => "fndtn-tabt3"), :class => 'button'
- else
  - if group && group.approved?
    %li= link_to "Submit", new_assignment_submission_path(assignment, :group_id => group), :class => 'button'


Add link to wazokazi on leap_web profile page

= render 'overview'
.container-fluid
  .row-fluid
    %br
    %h4
      = link_to 'Go to your Wazokazi inbox', 'https://mail.wazokazi.is'


Add overlay messages for Coop pending and proposed states.

- if current_user
  - if current_organisation.pending?
    %div#overlay.pending
      %p
        This is a draft Co-op. You can edit any of the settings, and invite
        others to found the Co-op with you. Then you will need to submit
        the Co-op for registration.
  - elsif current_organisation.proposed?
    %div#overlay.proposed
      %h3
        The Co-op has been submitted for registration


- if !cookies[:welcome_notice]
  .WelcomeNotice.alert.alert-warning.fade.in
    .label.label-warning NOTE
    This page has a unique url. If you dont' complete the configuration now, you can continue if you come back with the same url.
    .fa.fa-times.pull-right.close{'data-dismiss'=>'alert'}
.jumbotron{style: 'min-height:600px;position:relative;padding: 30px;margin-bottom:0'}
  .row
    .col-lg-4
      =image_tag 'welcome/ohana-logo.png', width: 240, style: 'margin-top:-10px;margin-bottom:20px'
    .col-lg-8

      .btn-group.pull-right
        =form_tag '/welcome/sign_in', method: :post, class: 'pull-right' do
          =hidden_field_tag 'code', params[:code]
          %button.btn.btn-lg.btn-primary.SignInAs{type: 'submit'}
            Get started
            .fa.fa-sign-in

        =link_to start_over_path(code: params[:code]), method: :post, class: 'pull-right', data: {confirm: 'Are you sure?'}, style: 'margin-right:10px' do
          .btn.btn-danger.btn-lg
            Start over
            .fa.fa-trash

  .row
    .col-lg-12
      =render partial: 'welcome/content'

Remove legroom from the alert.

- if !cookies[:welcome_notice]
  .WelcomeNotice.alert.alert-warning.fade.in{style: 'margin-bottom:0'}
    .label.label-warning NOTE
    This page has a unique url. If you dont' complete the configuration now, you can continue if you come back with the same url.
    .fa.fa-times.pull-right.close{'data-dismiss'=>'alert'}
.jumbotron{style: 'min-height:600px;position:relative;padding: 30px;margin-bottom:0'}
  .row
    .col-lg-4
      =image_tag 'welcome/ohana-logo.png', width: 240, style: 'margin-top:-10px;margin-bottom:20px'
    .col-lg-8

      .btn-group.pull-right
        =form_tag '/welcome/sign_in', method: :post, class: 'pull-right' do
          =hidden_field_tag 'code', params[:code]
          %button.btn.btn-lg.btn-primary.SignInAs{type: 'submit'}
            Get started
            .fa.fa-sign-in

        =link_to start_over_path(code: params[:code]), method: :post, class: 'pull-right', data: {confirm: 'Are you sure?'}, style: 'margin-right:10px' do
          .btn.btn-danger.btn-lg
            Start over
            .fa.fa-trash

  .row
    .col-lg-12
      =render partial: 'welcome/content'


Add missing task partial for minuting a general meeting.

%p
  The General Meeting that happend on
  = task.subject.happened_on.to_s(:long_ordinal)
  needs to have its minutes recorded.
%p
  = link_to("Enter minutes for this meeting", general_meeting_path(task.subject))


= semantic_form_for @booking do |f|
  = f.semantic_errors
  = f.inputs do
    = f.input :code
    = f.input :value_date, :as => :date_field, :input_html => {"data-autofocus" => true}
    = f.input :title
    = f.input :amount, :as => :string, :input_html => {:size => 12}
    = f.input :comments, :input_html => {:rows => 5}
    = f.input :credit_account_id, :as => :hidden
    = f.input :debit_account_id, :as => :hidden
  = f.buttons do
    = f.commit_button

Refactor booking simple form: two columns, include account comboboxes.

= semantic_form_for @booking do |f|
  = f.semantic_errors

  = f.inputs do
    .row
      .span8
        = f.input :title, :input_html => {"data-autofocus" => true}
      .span8
        = f.input :value_date, :as => :date_field
    .row
      .span8
        = f.input :amount, :as => :string, :input_html => {:size => 12}
      .span8
        = f.input :code

    .row
      .span12
        = f.input :comments, :input_html => {:rows => 4, :class => 'span12'}

    .row
      .span8
        = f.input :credit_account, :as => :combobox
      .span8
        = f.input :debit_account, :as => :combobox

  = f.buttons do
    = f.commit_button


%ul.nav.nav-list
  %li.nav-header= t('bookyt.main_navigation.accounting')
  %li= link_to t_title(:new, Booking), new_booking_path
  - BookingTemplate.limit(5).each do |template|
    %li= link_to template, [:new_booking, template]

  %li.nav-header= t_title(:index, DebitInvoice)
  %li= link_to t_title(:new, DebitInvoice), new_debit_invoice_path
  %li= link_to 'Offene Posten', debit_invoices_path

  %li.nav-header= t_title(:index, CreditInvoice)
  %li= link_to t_title(:new, CreditInvoice), new_credit_invoice_path
  %li= link_to 'Offene Posten', credit_invoices_path

  %li.nav-header Infos
  %li= link_to t_title(:index, Account), accounts_path

Fix sidebar booking templates when salary module is enabled.

%ul.nav.nav-list
  %li.nav-header= t('bookyt.main_navigation.accounting')
  %li= link_to t_title(:new, Booking), new_booking_path
  - BookingTemplate.where(:type => nil).limit(5).each do |template|
    %li= link_to template, [:new_booking, template]

  %li.nav-header= t_title(:index, DebitInvoice)
  %li= link_to t_title(:new, DebitInvoice), new_debit_invoice_path
  %li= link_to 'Offene Posten', debit_invoices_path

  %li.nav-header= t_title(:index, CreditInvoice)
  %li= link_to t_title(:new, CreditInvoice), new_credit_invoice_path
  %li= link_to 'Offene Posten', credit_invoices_path

  %li.nav-header Infos
  %li= link_to t_title(:index, Account), accounts_path


- blame = local_assigns.fetch(:blame, false)
.js-file-title.file-title-flex-parent
  = render 'projects/blob/header_content', blob: blob

  .file-actions
    = render 'projects/blob/viewer_switcher', blob: blob unless blame

    .btn-group{ role: "group" }<
      = copy_blob_source_button(blob) unless blame
      = open_raw_blob_button(blob)
      = view_on_environment_button(@commit.sha, @path, @environment) if @environment

    .btn-group{ role: "group" }<
      = edit_blob_button
      = ide_edit_button
      - if current_user
        = replace_blob_link
        = delete_blob_link

= render 'projects/fork_suggestion'

Remove EE-specific code from blob header

- blame = local_assigns.fetch(:blame, false)
.js-file-title.file-title-flex-parent
  = render 'projects/blob/header_content', blob: blob

  .file-actions
    = render 'projects/blob/viewer_switcher', blob: blob unless blame

    .btn-group{ role: "group" }<
      = copy_blob_source_button(blob) unless blame
      = open_raw_blob_button(blob)
      = view_on_environment_button(@commit.sha, @path, @environment) if @environment

    .btn-group{ role: "group" }<
      = render_if_exists 'projects/blob/header_file_locks_link'
      = edit_blob_button
      = ide_edit_button
      - if current_user
        = replace_blob_link
        = delete_blob_link

= render 'projects/fork_suggestion'
= render_if_exists 'projects/blob/header_file_locks', project: @project, path: @path


- page_title "GPG Keys"
- @content_class = "limit-container-width" unless fluid_layout
= render 'profiles/head'

.row.prepend-top-default
  .col-lg-3.profile-settings-sidebar
    %h4.prepend-top-0
      = page_title
    %p
      GPG keys allow you to verify signed commits.
  .col-lg-9
    %h5.prepend-top-0
      Add a GPG key
    %p.profile-settings-content
      Before you can add a GPG key you need to
      = link_to 'generate it.', help_page_path('user/project/repository/gpg_signed_commits/index.md')
    = render 'form'
    %hr
    %h5
      Your GPG keys (#{@gpg_keys.count})
    .append-bottom-default
      = render 'key_table'

Change user settings column width

- page_title "GPG Keys"
- @content_class = "limit-container-width" unless fluid_layout
= render 'profiles/head'

.row.prepend-top-default
  .col-lg-4.profile-settings-sidebar
    %h4.prepend-top-0
      = page_title
    %p
      GPG keys allow you to verify signed commits.
  .col-lg-8
    %h5.prepend-top-0
      Add a GPG key
    %p.profile-settings-content
      Before you can add a GPG key you need to
      = link_to 'generate it.', help_page_path('user/project/repository/gpg_signed_commits/index.md')
    = render 'form'
    %hr
    %h5
      Your GPG keys (#{@gpg_keys.count})
    .append-bottom-default
      = render 'key_table'


- last_commit = project.last_commit
%tr.alert{class: commit_status_alert_class(last_commit) }
  %td
    = project.id
  %td
    = link_to [:admin, project] do
      %strong= project.name
  %td
    - if last_commit
      #{last_commit.status} (#{commit_link(last_commit)})
      = time_ago_in_words project.last_commit_date
      ago
    - else
      No builds yet
  %td
    - if project.public
      %i.icon-globe
      Public
    - else
      %i.icon-lock
      Private
  %td
    = project.commits.count
  %td
    = link_to [:admin, project], method: :delete, class: 'btn btn-danger btn-xs' do
      %i.icon-remove
      Remove

Fix project views for admin area if commit date is nil

- last_commit = project.last_commit
%tr.alert{class: commit_status_alert_class(last_commit) }
  %td
    = project.id
  %td
    = link_to [:admin, project] do
      %strong= project.name
  %td
    - if last_commit
      #{last_commit.status} (#{commit_link(last_commit)})
      - if project.last_commit_date
        = time_ago_in_words project.last_commit_date
        ago
    - else
      No builds yet
  %td
    - if project.public
      %i.icon-globe
      Public
    - else
      %i.icon-lock
      Private
  %td
    = project.commits.count
  %td
    = link_to [:admin, project], method: :delete, class: 'btn btn-danger btn-xs' do
      %i.icon-remove
      Remove


- case @status
- when :success
  :plain
    merge_request_widget.mergeInProgress(#{params[:should_remove_source_branch] == '1'});
- when :merge_when_pipeline_succeeds
  :plain
    $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/merge_when_pipeline_succeeds'))}");
- when :sha_mismatch
  :plain
    $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/sha_mismatch'))}");
- else
  :plain
    $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/reload'))}");

Check remove source branch when merge is in progress

- case @status
- when :success
  - remove_source_branch = params[:should_remove_source_branch] == '1' || @merge_request.remove_source_branch?
  :plain
    merge_request_widget.mergeInProgress(#{remove_source_branch});
- when :merge_when_pipeline_succeeds
  :plain
    $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/merge_when_pipeline_succeeds'))}");
- when :sha_mismatch
  :plain
    $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/sha_mismatch'))}");
- else
  :plain
    $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/reload'))}");


Add empty page for tag search without any return.

#empty
	.related_question_empty
		You can expand your search by
		%span.url
			= link_to "starting over!", tags_url
	.related_question_ask
		= link_to "Please always feel free to ask your question!", new_question_url


Remove grades during teacher signup altogether from the HAS theme.

- form_for portal_teacher do |f|
  = error_messages_for 'user'
  = error_messages_for 'portal_teacher', :object_name => 'teacher'
  - field_set_tag 'personal info' do
    .aligned
      %ul
        %li
          = label_tag :user, 'First Name: ', :class=>"right"
          = text_field :user, :first_name, {:live => false}

        %li
          = label_tag :user, 'Last Name: ', :class=>"right"
          = text_field :user, :last_name, {:live => false}

        %li
          = label_tag :user, 'Email: ', :class=>"right"
          = text_field :user, :email, {:live => false}

  - field_set_tag 'school' do
    .aligned
      %ul
        %li
          = label_tag :school, 'School: ', :class=>"right"
          - # Changed from select_tag() to select() because the former doesn't support FormOptions, such as :prompt -- Cantina-CMH 6/9/10
          = select('school', 'id', option_groups_from_collection_for_select(portal_districts, :schools , :name, :id, :name  ), {:prompt => "-Select your school"})
        / - if portal_grades.size > 0
        /   %li
        /     = label_tag :grade, 'Grade: ', :class=>"right"
        /     = select_tag('grade[id]', options_for_select(portal_grades.map { |g| [g.name,g.id] }, default_grade_id ) )
        - if domains.size > 0
          %li
            = label_tag :domain, 'Domain: ', :class=>"right"
            = select_tag('domain[id]', options_for_select(domains.map { |d| [d.name, d.id] } ) )

  = render :partial => 'shared/login_fields', :locals => { :user => portal_teacher.user }

  .aligned
    = f.submit 'Submit'


.form-group
  = f.label :name, class: 'control-label' do
    %span.mattermost-icon
      = custom_icon('icon_mattermost')
    Mattermost
  .col-sm-10
    .checkbox
      = f.label :name do
        = f.check_box :create_chat_team, checked: true
        Link the group to a new Mattermost team

.form-group
  = f.label :chat_team, class: 'control-label' do
    Chat Team name
  .col-sm-10
    = f.text_field :chat_team, placeholder: @group.name, class: 'form-control mattermost-team-name'
    Leave blank to match your group name

Fix form fields to bing to correct model

.form-group
  = f.label :create_chat_team, class: 'control-label' do
    %span.mattermost-icon
      = custom_icon('icon_mattermost')
    Mattermost
  .col-sm-10
    .checkbox
      = f.label :create_chat_team do
        = f.check_box :create_chat_team, checked: @group.chat_team
        Link the group to a new Mattermost team

.form-group
  = f.label :chat_team, class: 'control-label' do
    Chat Team name
  .col-sm-10
    = f.text_field :chat_team, placeholder: @group.chat_team, class: 'form-control mattermost-team-name'
    %small
      Leave blank to match your group name


.card
  .card-body.gl-responsive-table-row
    .table-section.section-60
      .table-mobile-header{ role: "rowheader" }= s_("ClusterIntegration|Kubernetes cluster")
      .table-mobile-content
        = link_to cluster.name, cluster.show_path
        - if cluster.enabled?
          %span.badge.badge-info Active
        - else
          %span.badge.badge-danger Connection disabled
    .table-section.section-25
      .table-mobile-header{ role: "rowheader" }= s_("ClusterIntegration|Environment scope")
      .table-mobile-content= cluster.environment_scope
    .table-section.section-15.text-right
      .table-mobile-header{ role: "rowheader" }
      .table-mobile-content
        %span.badge.badge-light
          = cluster.project_type? ? s_("ClusterIntegration|Project cluster") : s_("ClusterIntegration|Group cluster")

Remove "active" badge from cluster index for now

.card
  .card-body.gl-responsive-table-row
    .table-section.section-60
      .table-mobile-header{ role: "rowheader" }= s_("ClusterIntegration|Kubernetes cluster")
      .table-mobile-content
        = link_to cluster.name, cluster.show_path
        - unless cluster.enabled?
          %span.badge.badge-danger Connection disabled
    .table-section.section-25
      .table-mobile-header{ role: "rowheader" }= s_("ClusterIntegration|Environment scope")
      .table-mobile-content= cluster.environment_scope
    .table-section.section-15.text-right
      .table-mobile-header{ role: "rowheader" }
      .table-mobile-content
        %span.badge.badge-light
          = cluster.project_type? ? s_("ClusterIntegration|Project cluster") : s_("ClusterIntegration|Group cluster")


Add listnav to GOD page to prevent error

- return if @display == 'generic_objects' || @display == 'main'
= miq_accordion_panel(_("Generic Object Definitions"), true, "god") do
  :javascript
    ManageIQ.tree.data['#{@tree.name}'] = #{@tree.locals_for_render[:bs_tree]};
  %tree_div{'ng-controller' => 'treeViewController as vm'}
    %miq-tree-view{:name       => @tree.name,
                   :data       => "vm.data['#{@tree.name}']",
                   :reselect   => @tree.locals_for_render[:allow_reselect],
                   "ng-init"   => "vm.initData('#{@tree.name}', '#{@tree.locals_for_render[:select_node]}')",
                   'on-select' => "vm.nodeSelect(node, '/#{request.parameters[:controller]}/tree_select')",
                   'selected'  => "vm.selectedNodes['#{@tree.name}']",
                   'persist'   => 'key',
                   'lazy-load' => "(vm.lazyLoad(node, '#{@tree.name}', '/#{request.parameters[:controller]}/tree_autoload'))"}

:javascript
  miq_bootstrap('tree_div');


- if current_user
  - if access = @group.users.find_by(id: current_user.id)
    .controls
      %span.dropdown.group-settings-dropdown
        %a.dropdown-new.btn.btn-gray#group-settings-button{href: '#', 'data-toggle' => 'dropdown'}
          = icon('cog')
          = icon('caret-down')
        %ul.dropdown-menu.dropdown-menu-align-right
          - if can?(current_user, :admin_group, @group)
            = nav_link(path: 'groups#projects') do
              = link_to projects_group_path(@group), title: 'Projects' do
                Projects
            %li.divider
            %li
              = link_to edit_group_path(@group) do
                Edit Group
          %li
            = link_to leave_group_group_members_path(@group),
              data: { confirm: leave_group_message(@group.name) }, method: :delete, title: 'Leave group' do
              Leave Group

Make group settings button white instead of gray for better visibility

- if current_user
  - if access = @group.users.find_by(id: current_user.id)
    .controls
      %span.dropdown.group-settings-dropdown
        %a.dropdown-new.btn.btn-default#group-settings-button{href: '#', 'data-toggle' => 'dropdown'}
          = icon('cog')
          = icon('caret-down')
        %ul.dropdown-menu.dropdown-menu-align-right
          - if can?(current_user, :admin_group, @group)
            = nav_link(path: 'groups#projects') do
              = link_to projects_group_path(@group), title: 'Projects' do
                Projects
            %li.divider
            %li
              = link_to edit_group_path(@group) do
                Edit Group
          %li
            = link_to leave_group_group_members_path(@group),
              data: { confirm: leave_group_message(@group.name) }, method: :delete, title: 'Leave group' do
              Leave Group