123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- <%
- # Copyright (C) 2011 - 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/>.
- %>
- <% content_for :page_title do %><%= @section.name %><% end %>
- <% content_for :right_side do %>
- <% if can_do(@section, @current_user, :update) %>
- <a href="#" class="btn button-sidebar-wide edit_section_link"><i class="icon-edit"></i> {{#t}}Edit Section{{/t}}</a>
- <% if @section.nonxlist_course_id %>
- <% if can_do(@section.nonxlist_course, @current_user, :manage_sections) %>
- <a href="#" class="btn button-sidebar-wide uncrosslist_link"><i class="icon-off"></i> {{#t}}De-Cross-List this Section{{/t}}</a>
- <% end %>
- <a href="#" class="btn button-sidebar-wide crosslist_link"><i class="icon-off"></i> {{#t}}Re-Cross-List this Section{{/t}}</a>
- <% else %>
- <a href="#" class="btn button-sidebar-wide crosslist_link"><i class="icon-off"></i> {{#t}}Cross-List this Section{{/t}}</a>
- <% end %>
- <% end %>
- <a href="<%= context_url(@context, :context_settings_url) %>" class="btn button-sidebar-wide"><i class="icon-settings"></i> {{#t}}Back to Course Settings{{/t}}</a>
- <% end %>
- <% content_for :stylesheets do %>
- <style>
- #course_form .course_form {
- display: none;
- }
- #course_form.editing .course_form {
- display: inline;
- }
- #course_form.editing .course_info {
- display: none;
- }
- #course_form .date_entry {
- width: 100px;
- }
- .user-list-wrapper {
- margin-bottom: 32px;
- min-height: 32px;
- position: relative;
- }
- ul.user_list {
- list-style: none;
- padding-left: 0px;
- margin-top: 0px;
- max-width: 400px;
- }
- ul.user_list li.user {
- padding-left: 10px;
- color: #444;
- line-height: 1.5em;
- -moz-border-radius: 5px;
- }
- ul.user_list li.user:hover {
- background-color: #eee;
- }
- ul.user_list li.user .email {
- font-size: 0.8em;
- margin: -5px 10px 5px;
- }
- ul.user_list li.user .section {
- font-size: 0.8em;
- margin: -5px 10px 5px;
- }
- ul.user_list li.user .short_name {
- font-size: 0.8em;
- margin: -2px 10px 0px;
- }
- ul.user_list li.user .enrollment_type {
- font-size: 0.8em;
- margin: -2px 10px 0px;
- }
- ul.user_list li.user .links {
- float: right;
- padding-right: 20px;
- padding-top: 5px;
- visibility: hidden;
- }
- ul.user_list li.user .links a {
- text-decoration: none;
- }
- ul.user_list li.user:hover .links {
- float: right;
- padding-right: 20px;
- visibility: visible;
- }
- ul.user_list li.user.pending {
- color: #888;
- font-style: italic;
- }
- h3 .tally {
- font-family: arial,sans-serif;
- font-size: 12px;
- padding-left: 5px;
- }
- .associated_user {
- display: none;
- }
- #edit_section_form {
- margin-bottom: 20px;
- }
- #edit_section_form .form-actions {
- background: none;
- border: 0;
- padding: 0;
- text-align: left;
- }
- </style>
- <% end %>
- <%= form_for @section, :url => context_url(@context, :context_section_url, @section), :html => {:id => "edit_section_form", :style => "display: none;"} do |f| %>
- <table class="formtable">
- <tr>
- <td><%= f.blabel :name, :en => "Section Name" %></td>
- <td><%= f.text_field :name %></td>
- </tr>
- <% if @section.sis_source_id && can_do(@context, @current_user, :read_sis) || can_do(@context, @current_user, :manage_sis) %>
- <tr>
- <td><%= f.blabel :sis_source_id, :en => "SIS ID" %></td>
- <td>
- <span class="course_form">
- <% if can_do(@context, @current_user, :manage_sis) %>
- <%= f.text_field :sis_source_id, :style => "width: 50px;", :title => "SIS ID", :value => @section.sis_source_id %>
- <% else %>
- <%= @section.sis_source_id %>
- <% end %>
- </span>
- </td>
- </tr>
- <% end %>
- <tr>
- <td>
- <%= f.blabel :start_at, en: "Starts" %>
- <label class="screenreader-only" id="section_starts_at_label">
- {{#t}}Section starts at{{/t}}
- <%= datepicker_screenreader_prompt %>
- </label>
- </td>
- <td>
- <%= f.text_field :start_at,
- class: "datetime_field",
- value: datetime_string(@section.start_at),
- style: 'width: 120px;',
- "aria-labelledby" => "section_starts_at_label",
- "data-tooltip" => "",
- title: accessible_date_format %>
- </td>
- </tr>
- <tr>
- <td>
- <%= f.blabel :end_at, en: "Ends" %>
- <label class="screenreader-only" id="section_ends_at_label">
- {{#t}}Section ends at{{/t}}
- <%= datepicker_screenreader_prompt %>
- </label>
- </td>
- <td>
- <%= f.text_field :end_at,
- class: "datetime_field",
- value: datetime_string(@section.end_at),
- style: 'width: 120px;',
- "aria-labelledby" => "section_ends_at_label",
- "data-tooltip" => "",
- title: accessible_date_format %>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <%= f.check_box :restrict_enrollments_to_section_dates %>
- <%= f.label :restrict_enrollments_to_section_dates, t('access_limit', "Users can only participate in the course between these dates") %>
- <div style="font-size: 0.8em; padding-left: 25px;">
- {{#t}}This will override any term or course date settings.{{/t}}
- </div>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <div class="form-actions">
- <button type="button" class="btn cancel_button button-secondary">{{#t}}Cancel{{/t}}</button>
- <button type="submit" class="btn btn-primary submit_button">{{#t}}Update Section{{/t}}</button>
- </div>
- </td>
- </tr>
- </table>
- <% end %>
- <h2 id="section_name"><%= @section.name %></h2>
- <div style="margin-bottom: 20px;">
- <div id="enrollments_div">
- <table id="enrollment_table">
- <% if @pending_enrollments_count > 0 %>
- <tr>
- <td class="pending_enrollments"><%= t('pending_enrollment', {:one => '1 Pending Enrollment', :other => '%{count} Pending Enrollments'}, :count => @pending_enrollments_count) %></td>
- </tr>
- <% end %>
- <% if @enrollments_count > 0 %>
- <tr>
- <td class="active_enrollments"><%= t('active_enrollment', {:one => '1 Active Enrollment', :other => '%{count} Active Enrollments'}, :count => @enrollments_count) %></td>
- </tr>
- <% end %>
- <% if @completed_enrollments_count > 0 %>
- <tr>
- <td class="completed_enrollments"><%= t('completed_enrollment', {:one => '1 Completed Enrollment', :other => '%{count} Completed Enrollments'}, :count => @completed_enrollments_count) %></td>
- </tr>
- <% end %>
- </table>
- </div>
- <% if @section && ( @section.sis_source_id && can_do(@context, @current_user, :read_sis) || can_do(@context, @current_user, :manage_sis))%>
- <div><%= before_label('sis_id', "SIS ID") %> <span class="sis_source_id"><%= @section.sis_source_id %></span></div>
- <% end %>
- <% if @section.start_at || @section.end_at %>
- <div>
- <% if @section.start_at && @section.end_at %>
- <%= t('run_dates', 'Runs from %{start_date} to %{end_date}', :start_date => friendly_datetime(@section.start_at, context: @context).html_safe, :end_date => friendly_datetime(@section.end_at, context: @context).html_safe) %>
- <% elsif @section.end_at %>
- <%= t('runs_until', 'Runs until %{end_date}', :end_date => friendly_datetime(@section.end_at, context: @context).html_safe) %>
- <% elsif @section.start_at %>
- <%= t('run_from', 'Runs from %{start_date} with no end date', :start_date => friendly_datetime(@section.start_at, context: @context).html_safe) %>
- <% end %>
- </div>
- <div style="margin-left: 10px; font-size: 0.8em;">
- <%= t('Students can only participate in the course between these dates') if @section.restrict_enrollments_to_section_dates %>
- </div>
- <% end %>
- </div>
- <% if can_do @context, @current_user, :read_roster, :manage_students, :manage_admin_users %>
- <div class="enrollments-lists">
- <h3>{{#t}}Current Enrollments{{/t}}</h3>
- <div class="user-list-wrapper" id="current-enrollment-list">
- <ul class="user_list"></ul>
- </div>
- <h3>{{#t}}Completed Enrollments{{/t}}</h3>
- <div class="user-list-wrapper" id="completed-enrollment-list">
- <ul class="user_list"></ul>
- </div>
- </div>
- <% end %>
- <% js_bundle :section %>
- <div style="display: none;">
- <%= form_tag context_url(@context, :context_section_crosslist_url, @section.id), :id => "crosslist_course_form", :class => "form-dialog no-margin-bottom", :title => t('titles.crosslist_this_section', 'Cross-List this Section'), :method => :post do %>
- <h2>{{#t}}Cross-List Section{{/t}}</h2>
- <p>
- <%= t('crosslist_description', %{
- Cross-listing allows you to create a section in one account and
- then move it to a course on a different account.
- To cross-list this course, you'll need to find the course you
- want to move it to, either using the search tool or by
- entering the course's ID. }) %>
- </p>
- <table class="formtable">
- <tr>
- <td><label for="course_autocomplete_id_lookup"><%= before_label('search_for_course', "Search for Course") %> </label></td>
- <td>
- <a href="<%= context_url(@current_user, :context_manageable_courses_url, :format => :json) %>" id="course_autocomplete_url" style="display: none;"> </a>
- <a href="<%= context_url(@context, :context_section_confirm_crosslist_url, @section.id, "{{ id }}") %>" id="course_confirm_crosslist_url" style="display: none;"> </a>
- <input type="hidden" name="new_course_id" id="course_autocomplete_id"/>
- <input type="text" id="course_autocomplete_id_lookup" style="width: 250px;"/>
- </td>
- </tr><tr>
- <td><label for="course_id"><%= before_label('enter_course_id', "Or Enter the Course's ID") %></label></td>
- <td>
- <input type="text" id="course_id" style="width: 75px;"/>
- </td>
- </tr><tr>
- <td colspan="2">
- <div id="course_autocomplete_name_holder" style="margin-top: 20px;">
- <%= before_label('labels.selected_course', 'Selected Course') %>
- <div style="margin-left: 20px;">
- <div id="course_autocomplete_name" style="font-weight: bold;"></div>
- <div id="sis_id_holder" style="display: none;"><%= before_label('labels.sis_id', 'SIS ID') %> <span class="sis_id"> </span></div>
- <div id="account_name_holder" style="display: none;"><%= before_label('labels.account', 'Account') %> <span class="account_name"></span></div>
- </div>
- </div>
- </td>
- </tr>
- </table>
- <div class="form-controls">
- <button type="submit" class="btn btn-primary submit_button">{{#t}}Cross-List This Section{{/t}}</button>
- <button type="button" class="btn button-secondary cancel_button">{{#t}}Cancel{{/t}}</button>
- </div>
- <% end %>
- <%= form_tag context_url(@context, :context_section_uncrosslist_url, @section.id), :id => "uncrosslist_form", :title => t('titles.decrosslist_section', 'De-Cross-List this Section'), :method => :delete do %>
- <h2>{{#t}}De-Cross-List this Section{{/t}}</h2>
- <p>
- {{#t}}Are you sure you want to de-cross-list this section?{{/t}}
- <% if @section.nonxlist_course %>
- <%= mt('decrosslist_description', 'This will move the section back to its original course, **%{course_name}**.', :course_name => @section.nonxlist_course.name) %>
- <% end %>
- </p>
- <% if @student_enrollments_count > 0 %>
- <p>
- <%= t('decrosslist_long_description', %{
- All grades for students in this course will no longer be visible.
- You can retrieve the grades later by re-cross-listing the course,
- but in the mean time the grades for these students will come from the original course.
- }) %>
- </p>
- <% end %>
- <div class="button-container">
- <button type="submit" class="btn submit_button">{{#t}}De-Cross-List This Section{{/t}}</button>
- <button type="button" class="btn btn button-secondary cancel_button">{{#t}}Cancel{{/t}}</button>
- </div>
- <% end %>
- </div>
|