BathHacked/energy-sparks

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

Summary

Maintainability
Test Coverage
<li class="nav-item dropdown" id="my_school_menu">
  <a class="nav-link dropdown-toggle" href="#" id="my_school" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><%= t('my_school_menu.my_school') %></a>
  <div class="dropdown-menu scrollable" aria-labelledby="my_school">
    <!--School -->
    <%= link_to current_user.school.name, school_path(current_user.school), class: 'dropdown-item' %>

    <!-- Electricity, solar, gas and storage heater usage -->
    <% if current_user.school.data_enabled? %>
      <% if current_user.school.has_solar_pv? %>
        <%= link_to t('my_school_menu.electricity_and_solar_usage'), pupils_school_analysis_path(current_user.school, category: :solar), class: 'dropdown-item' %>
      <% elsif current_user.school.has_electricity? %>
        <%= link_to t('my_school_menu.electricity_usage'), pupils_school_analysis_path(current_user.school, category: :electricity), class: 'dropdown-item' %>
      <% end %>
      <%= link_to t('my_school_menu.gas_usage'), pupils_school_analysis_path(current_user.school, category: :gas), class: 'dropdown-item' if current_user.school.has_gas? %>
      <%= link_to t('my_school_menu.storage_heater_usage'), pupils_school_analysis_path(current_user.school, category: :storage_heaters), class: 'dropdown-item' if current_user.school.has_storage_heaters? %>
      <% if EnergySparks::FeatureFlags.active?(:live_data) %>
        <%= link_to t('my_school_menu.live_energy_data'), school_live_data_path(current_user.school), class: 'dropdown-item' if current_user.school.has_live_data? %>
      <% end %>
    <% end %>

    <!-- Energy analysis -->
    <% if current_user.school.data_enabled? %>
      <%= link_to t('my_school_menu.energy_audits'), school_audits_path(current_user.school), class: 'dropdown-item' %>
      <%= link_to t('my_school_menu.energy_analysis'), school_advice_path(current_user.school), class: 'dropdown-item' %>
    <% end %>

    <!-- Review targets -->
    <% if current_user.school.data_enabled? %>
      <%= link_to t('my_school_menu.review_targets'), school_school_targets_path(current_user.school), class: 'dropdown-item' if Targets::SchoolTargetService.targets_enabled?(current_user.school) && can?(:manage, SchoolTarget) && Targets::SchoolTargetService.new(current_user.school).enough_data? %>
    <% end %>

    <% if current_user.school&.school_group&.present? %>
      <!-- Compare schools -->
      <%= link_to t('schools.school_group.compare_schools'), compare_index_path(school_group_ids: [current_user.school.school_group.id]) + '#groups', class: 'dropdown-item' %>
    <% end %>

    <!-- Complete pupil activities -->
    <%= link_to t('my_school_menu.complete_pupil_activities'), activity_categories_path, class: 'dropdown-item' %>

    <!-- Energy saving actions -->
    <%= link_to t('my_school_menu.energy_saving_actions'), intervention_type_groups_path, class: 'dropdown-item' %>

    <!-- School programmes -->
    <%= link_to t('my_school_menu.school_programmes'), programme_types_path, class: 'dropdown-item' %>

    <!-- Scoreboard -->
    <% if current_user.default_scoreboard %>
      <%= link_to t('my_school_menu.scoreboard'), scoreboard_path(current_user.default_scoreboard), class: 'dropdown-item' %>
    <% end %>

    <!-- My alerts -->
    <% if current_user.contact_for_school %>
      <%= link_to t('my_school_menu.my_alerts'), edit_school_contact_path(current_user.school, current_user.contact_for_school), class: 'dropdown-item' %>
    <% elsif can? :create, Contact %>
      <%= link_to t('my_school_menu.my_alerts'), new_school_contact_path(current_user.school, user_id: current_user.id), class: 'dropdown-item' %>
    <% end %>

    <!-- Download our data -->
    <% if current_user.school.data_enabled? %>
      <%= link_to t('my_school_menu.download_our_data'), school_downloads_path(current_user.school), id: "download-your-data", class: 'dropdown-item' %>
    <% end %>

    <!-- My school group -->
    <% if group_for_nav(current_user) %>
      <%= link_to t('my_school_menu.my_school_group'), school_group_path(group_for_nav(current_user)), class: 'dropdown-item' %>
    <% end %>
  </div>
</li>