SUSE/hackweek

View on GitHub
app/views/projects/_form.html.haml

Summary

Maintainability
Test Coverage
#project_form
  = form_for @project, url: (@project.new_record? ? projects_path : project_path(@episode, @project)), html: { role: :form } do |f|
    - if @project.errors.any?
      .alert.alert-warning
        %strong
          = pluralize(@project.errors.count, 'error')
          prohibited this project from being saved:
        %ul
        - @project.errors.full_messages.each do |msg|
          %li
            = msg

    .form-group
      = f.text_field :title, placeholder: 'Project title', class: 'form-control input-lg', required: 'required'

    .panel.panel-default
      .panel-heading
        %ul.nav.nav-pills
          %li.active.show-source{ role: :presentation }
            %a{ href: '#markdown-source', role: :tab, data: { toggle: :tab } } Edit
          %li.show-preview{ role: :presentation }
            %a{ href: '#markdown-preview', role: :tab, data: { toggle: :tab } } Preview
        .btnbar
          = render 'shared/editor_buttons'

      .panel-body
        .tab-content
          #markdown-source.tab-pane.active.fade.in{ role: 'tab-pane' }
            .form-group
              = f.text_area :description, rows: 20, id: 'project_description',
                            class: 'form-control input-lg markdown-source-text'
          #markdown-preview.tab-pane.fade{ role: 'tab-pane' }
            .loading-spinner
              = icon('fas', 'spinner pulse 3x')
            .preview-contents.hidden
        = render partial: 'comments/help'

    .form-group
      = f.label('Project Logo (will be shown next to the title)')
      = f.file_field :avatar
    = f.submit class: 'btn btn-success pull-right'

  :javascript
    $('textarea').atwho({at:"@", 'data':#{raw @username_array}});