codeRIT/hackathon_manager

View on GitHub
app/views/manage/messages/_form.html.haml

Summary

Maintainability
Test Coverage
.form-container
  = bs_horizontal_simple_form_for @message, url: url_for(action: @message.new_record? ? "create" : "update", controller: "messages") do |f|
    = f.error_notification

    .form-inputs
      = f.input :type, as: :select, collection: Message::POSSIBLE_TYPES.map { |x| [x.titleize, x] }, include_blank: false
      = f.input :trigger, as: :select, collection: Message::POSSIBLE_TRIGGERS.invert, include_blank: "(disabled)"
      = f.input :name
      = f.input :subject, hint: "All emails are from <pre class=\"d-inline\">#{html_escape(HackathonConfig['email_from'])}</pre>".html_safe
      = f.input :template, as: :hidden, value: @message.template || 'default'
      - if @message.status == "drafted"
        = f.input :recipients, as: :select, collection: @message.possible_recipients, input_html: { class: "selectize", multiple: true,  }, placeholder: "Type to search by school or type..."
      - else
        = f.input :recipients, as: :select, collection: @message.possible_recipients, input_html: { class: "selectize", multiple: true }, hint: "Cannot be edited once a message has been delivered", disabled: true
      %br

      %h5.mb-3 Body
      = f.input :body, input_html: { rows: 36, 'data-message-live-preview-base-src' => live_preview_manage_messages_path, style: 'font-size: 14px', 'data-simple-mde' => '1' }, hint: "Supports markdown and HTML. Use toolbar to view side-by-side preview.", label: false, wrapper: :bootstrap_inline_form

    .form-actions.mb-3.mt-3
      = f.button :submit, class: 'btn-primary'

= render 'templating'

.mb-4