BathHacked/energy-sparks

View on GitHub
app/views/schools/times/_form.html.erb

Summary

Maintainability
Test Coverage
<p><%= t('schools.times.message_1') %></p>
<p><%= t('schools.times.message_2') %></p>
<p><%= t('schools.times.message_3') %></p>

<div class="row">
  <div class="col-md-3 mb-3">
    <label for="day"><strong><%= t('schools.times.day') %></strong></label>
  </div>
  <div class="col-md-2 mb-3">
    <label for="opening_time"><strong><%= t('schools.times.opening_time') %></strong></label>
  </div>
  <div class="col-md-2 mb-3">
    <label for="closing_time"><strong><%= t('schools.times.closing_time') %></strong></label>
  </div>
</div>
<%= f.fields_for(:school_times,
                 f.object.school_times.sort_by { |time| time.day ? SchoolTime.days[time.day] : 0 }) do |ff| %>
  <% if ff.object.school_day? %>
    <%= ff.hidden_field :id, value: ff.object.id %>
    <div class="row">
      <div class="col-md-3 mb-3">
        <%= ff.hidden_field :day, value: ff.object.day %>
        <%= ff.hidden_field :calendar_period, value: ff.object.calendar_period %>
        <%= ff.hidden_field :usage_type, value: ff.object.usage_type %>
        <%= t_day(ff.object.day) %>
      </div>

      <div class="col-md-2 mb-3">
        <%= ff.text_field :opening_time,
                          value: format_school_time(ff.object.opening_time),
                          id: "#{ff.object.day}-opening_time",
                          class: "form-control#{ff.object.errors.key?(:opening_time) ? ' is-invalid' : ''}",
                          pattern: '^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$' %>
        <% if ff.object.errors.key?(:opening_time) %>
          <div class="alert alert-danger">
            <%= ff.object.errors.full_messages_for(:opening_time).join(', ') %>
          </div>
        <% end %>
      </div>
      <div class="col-md-2 mb-3">
        <%= ff.text_field :closing_time,
                          value: format_school_time(ff.object.closing_time),
                          id: "#{ff.object.day}-closing_time",
                          class: "form-control#{ff.object.errors.key?(:closing_time) ? ' is-invalid' : ''}",
                          pattern: '^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$' %>
        <% if ff.object.errors.has_key?(:closing_time) %>
          <div class="alert alert-danger">
            <%= ff.object.errors.full_messages_for(:closing_time).join(', ') %>
          </div>
        <% end %>
      </div>
    </div>
  <% end %>
<% end %>