crowdAI/crowdai

View on GitHub
app/views/challenges/form/_details.html.erb

Summary

Maintainability
Test Coverage
<div class="row">
  <%= form_for [@organizer,@challenge],
        html: { class: "dbl-col" } do |f| %>
    <% @challenge.errors.full_messages.each do |error| %>
      <p><%= error %></p>
    <% end %>

    <fieldset>
      <div class="twin-container">
        <div class="twin-field">
          <%= f.label :challenge, 'Challenge Title' %>
          <%= f.text_field :challenge %>
        </div>
        <div class="twin-field">
          <%= f.label :tagline %>
          <%= f.text_field :tagline %>
        </div>
      </div>

      <div class="twin-container">
        <div class="twin-field">
          <%= f.label :status, 'Challenge Status' %>
          <% if current_participant.admin? %>
            <%= status_dropdown_helper(builder: f) %>
          <% else %>
            <%= f.text_field :status_cd, readonly: true %>
          <% end %>
        </div>
        <div class="twin-field">
          <%= f.label :featured_sequence, 'Featured Sequence' %>
          <% if current_participant.admin? %>
            <%= f.text_field :featured_sequence %>
          <% else %>
            <%= f.text_field :featured_sequence, readonly: true %>
          <% end %>
        </div>
      </div>

      <div class="twin-container">
        <div class="twin-field">
          <label>Image</label>
          <div class="upload">
            <%= concept(Image::Cell,challenge,klass: 'img-thumb') %>
            <%= f.file_field :image_file, class: 'file-upload' %>
            <% if @challenge.image_file.present? %>
              <%= link_to 'Delete', challenge_remove_image_path(@challenge) %>
            <% end %>
            <span>Your image will be cropped if necessary. 5MB limit</span>
          </div>
        </div>
        <div class="twin-field">
          <label>Answer file</label>
          <div class="upload">
            <input class="file-upload" type="file" accept="all">
          </div>
        </div>
      </div>
      <div class="twin-container">
        <div class="twin-field">
          <label>Organizer</label>
          <input type='text' value='<%= @challenge.organizer.organizer %>' disabled>
        </div>
        <div class='twin-field'>
          <label>Challenge ID</label>
          <%= f.text_field :id, disabled: true %>
        </div>
      </div>
    </fieldset>

    <%= f.hidden_field :organizer_id %>

    <div class="twin-container">
      <div class="twin-field">
        <%= f.label :challenge_client_name, 'Challenge Client Name' %>
        <%= f.text_field :challenge_client_name %>
      </div>
      <div class="twin-field">
        <%= f.label :grader_identifier, 'Grader Identifier' %>
        <%= f.text_field :grader_identifier %>
      </div>
    </div>

    <div class="twin-container">
      <div class="twin-field">
        <fieldset class="checkbox">
          <div>
            <%= f.check_box :require_registration %>
            <%= f.label :require_registration, 'Registration required?' %>
          </div>
          <div>
            <%= f.check_box :show_leaderboard %>
            <%= f.label :show_leaderboard, 'Show leaderboard?' %>
          </div>
          <div>
            <%= f.check_box :media_on_leaderboard %>
            <%= f.label :media_on_leaderboard, 'Media on leaderboard?' %>
          </div>
        </fieldset>
      </div>
      <div class="twin-field">
        <fieldset class="checkbox">
          <div>
            <%= f.check_box :submissions_page %>
            <%= f.label :submissions_page, 'Submissions Details Visible?' %>
          </div>
          <div>
            <%= f.check_box :grading_history %>
            <%= f.label :grading_history, 'Grading History Visible?' %>
          </div>
          <div>
            <%= f.check_box :grader_logs %>
            <%= f.label :grader_logs, 'Grader Logs Visible?' %>
          </div>
          <div>
            <%= f.check_box :discussions_visible %>
            <%= f.label :discussions_visible, 'Discussions Visible?' %>
          </div>
        </fieldset>
      </div>
    </div>

    <div class="twin-container">
      <div class="twin-field">
        <%= f.label :score_title, 'Primary score title' %>
        <%= f.text_field :score_title %>
      </div>
      <div class="twin-field">
        <%= f.label :primary_sort_order, 'Sort order' %>
        <%= f.select :primary_sort_order, enum_option_pairs(Challenge, :primary_sort_order), include_blank: false %>
      </div>
    </div>
    <div class="twin-container">
      <div class="twin-field">
        <%= f.label :score_secondary_title, 'Secondary score title' %>
        <%= f.text_field :score_secondary_title %>
      </div>
      <div class="twin-field">
        <%= f.label :secondary_sort_order, 'Sort order' %>
        <%= f.select :secondary_sort_order, enum_option_pairs(Challenge, :secondary_sort_order), include_blank: false %>
      </div>
    </div>

    <%= render partial: 'challenges/form/submit_buttons',
          locals: { f: f } %>
  <% end %>
</div>