<%
# Copyright (C) 2016 - present Instructure, Inc.
#
# This file is part of Canvas.
#
# Canvas is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License as published by the Free
# Software Foundation, version 3 of the License.
#
# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
%>

<% default_term ||= @root_account.default_enrollment_term %>
<% terms = terms.not_default %>
<% active_terms = RequestCache.cache('active_terms', @root_account) { terms.started.not_ended.by_name.to_a } %>
<% future_terms = RequestCache.cache('future_terms', @root_account) { terms.not_started.by_name.to_a } %>
<% past_terms = RequestCache.cache('past_terms', @root_account) { terms.ended.by_name.to_a } %>
<% selected_id ||= nil %>
<% exclude_all_option ||= false %>
<% name ||= 'enrollment_term_id' %>
<% id ||= 'enrollment_term_id' %>
<select id="<%= id %>" name="<%= name %>">
  <% unless exclude_all_option %>
    <option value="" <%= 'selected' unless selected_id %>><%= t("All Terms") %></option>
  <% end %>
  <% if default_term %>
    <option value="<%= default_term.id %>" <%= 'selected' if default_term.id == selected_id %>><%= default_term.name %></option>
  <% end %>
  <% if active_terms.any? %>
    <optgroup label="<%= t("Active Terms") %>">
      <% active_terms.each do |term| %>
        <option value="<%= term.id %>" <%= 'selected' if term.id == selected_id %>><%= term.name %></option>
      <% end %>
    </optgroup>
  <% end %>
  <% if future_terms.any? %>
    <optgroup label="<%= t("Future Terms") %>">
      <% future_terms.each do |term| %>
        <option value="<%= term.id %>" <%= 'selected' if term.id == selected_id %>><%= term.name %></option>
      <% end %>
    </optgroup>
  <% end %>
  <% if past_terms.any? %>
    <optgroup label="<%= t("Past Terms") %>">
      <% past_terms.each do |term| %>
        <option value="<%= term.id %>" <%= 'selected' if term.id == selected_id %>><%= term.name %></option>
      <% end %>
    </optgroup>
  <% end %>
</select>
