BathHacked/energy-sparks

View on GitHub
app/views/shared/_school_group_meter_report.html.erb

Summary

Maintainability
Test Coverage
<div class="row">
  <table class="table">
    <thead>
      <tr>
        <th>School</th>
        <th>Supply</th>
        <th>Number</th>
        <th>Half-Hourly</th>
        <th>Readings calendar</th>
        <% if local_assigns[:all_meters] %>
          <th>Active</th>
        <% end %>
        <th>First validated reading</th>
        <th>Last validated reading</th>
        <th>Large gaps (last 2 years)</th>
        <th>Modified readings (last 2 years)</th>
        <th>Zero reading days</th>
        <th colspan="2">Issues</th>
        <th>Admin meter status</th>
      </tr>
    </thead>
    <tbody>
      <% @meters.each do |meter| %>
        <tr>
          <td><%= link_to(meter.school.name, school_url(meter.school)) %></td>
          <td><%= local_assigns[:email] ? fuel_type_image(meter.meter_type) : fa_icon(fuel_type_icon(meter.meter_type)) %></td>
          <td>
            <%= link_to(meter.mpan_mprn, school_meter_url(meter.school, meter)) %>
          </td>
          <td><%= meter.t_meter_system %></td>
          <td><%= link_to(meter.name.present? ? meter.name : meter.meter_type.to_s.humanize, admin_reports_amr_validated_reading_url(meter)) if AmrValidatedReading.where(meter_id: meter.id).any? %></td>
          <% if local_assigns[:all_meters] %>
            <td><%= meter.active ? 'Active' : 'Deprecated' %></td>
          <% end %>
          <td><%= nice_dates(meter.first_validated_reading_date) %></td>
          <td class=<%= class_for_last_date(meter.last_validated_reading_date) %>><%= nice_dates(meter.last_validated_reading_date) %></td>
          <td class="gappy-dates"><%= date_range_from_reading_gaps(meter.gappy_validated_readings) %></td>
          <td class="modified-dates"><%= meter.modified_validated_readings.count %></td>
          <td class="<%= meter.zero_reading_days_warning? ? 'table-danger' : ''%>">
            <span data-toggle="tooltip" title="<%= pluralize(meter.zero_reading_days_count, 'day') %>"><%= y_n(meter.zero_reading_days_count > 0) %></span>
          </td>
          <% if local_assigns[:email] %>
            <td>
              <%= link_to issue_type_image(:issue), school_meter_url(meter.school, meter) if meter.issues.issue.any? %>
            </td>
            <td>
              <%= link_to issue_type_image(:note), school_meter_url(meter.school, meter) if meter.issues.note.any? %>
            </td>
          <% else %>
            <td colspan='2'>
             <% if meter.issues.any? %>
                <%= render 'admin/issues/modal', meter: meter, view_mode: true %>
              <% end %>
            </td>
          <% end %>
          <td>
            <%= meter.admin_meter_status_label %>
          </td>
        </tr>
      <% end %>
    </tbody>
  </table>
</div>