BathHacked/energy-sparks

View on GitHub
app/views/teachers/schools/_activities_and_actions.html.erb

Summary

Maintainability
Test Coverage
<div class="card-deck activities">
  <% activities_from_activity_history.each do |activity_type| %>
    <%= render 'activity_types/card', activity_type: activity_type, school: @school, based_on: 'previous activities' %>
  <% end %>

  <div class="w-100 d-none d-sm-block d-md-none"><!-- wrap every 2 on sm--></div>

  <% activities_from_alerts.each do |activity_type| %>
    <%= render 'activity_types/card', activity_type: activity_type, school: @school, based_on: 'your alerts' %>
  <% end %>

  <div class="w-100 d-none d-sm-block d-md-none"><h3 class="p-2 ml-2">Or, start a programme&hellip;</h3></div>

  <% if activities_from_programmes.empty? && @suggested_programme.present? %>

    <div class="card mb-2 programme">
      <div class="card-body">
        <%= link_to school_programme_type_path(school, @suggested_programme) do %>
          <h4 class="card-title"><%= suggested_programme.title %></h4>
          <p class="card-text">
            <%= suggested_programme.short_description %>
          </p>
        <% end %>
      </div>
      <div class="card-footer">
        <span class="bg-positive btn rounded-pill">
          <strong><%= suggested_programme.activity_types.count %>
            <span class="small text-uppercase">
              <%= 'activity'.pluralize(suggested_programme.activity_types.count) %>
            </span>
          </strong>
        </span>
      </div>
    </div>

  <% else %>

    <% activities_from_programmes.each do |activity_type| %>
      <%= render 'activity_types/card', activity_type: activity_type, school: @school, based_on: 'your programmes' %>
    <% end %>

  <% end %>

</div>

<% if can?(:manage, Activity) || can?(:create, Observation) || can?(:start_programme, school) %>
  <div class="card-deck actions">
    <% if can?(:manage, Activity) %>
      <div class="card mb-2 text-center">
        <%= link_to 'Choose another activity', activity_categories_path, class: 'btn btn-outline-dark rounded-pill font-weight-bold' %>
      </div>
    <% end %>
    <% if can?(:create, Observation) %>
      <div class="card mb-2">
        <%= link_to 'Record an energy saving action', intervention_type_groups_path, class: 'btn btn-outline-dark rounded-pill font-weight-bold' %>
      </div>
    <% end %>
    <% if can?(:start_programme, school) %>
      <div class="card mb-2">
        <%= link_to 'Choose another programme', programme_types_path(school), class: 'btn btn-outline-dark rounded-pill font-weight-bold' %>
      </div>
    <% end %>
  </div>
<% end %>