303 lines
12 KiB
Plaintext
303 lines
12 KiB
Plaintext
<% content_for :page_title do %><%= @section.name %><% end %>
|
|
|
|
<% content_for :right_side do %>
|
|
<div class="rs-margin-all">
|
|
<% if can_do(@section, @current_user, :update) %>
|
|
<a href="#" class="btn button-sidebar-wide edit_section_link"><i class="icon-edit"></i> <%= t('buttons.edit_section', 'Edit Section') %></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('buttons.uncrosslist_section', 'De-Cross-List this Section') %></a>
|
|
<% end %>
|
|
<a href="#" class="btn button-sidebar-wide crosslist_link"><i class="icon-off"></i> <%= t('buttons.recrosslist_section', 'Re-Cross-List this Section') %></a>
|
|
<% else %>
|
|
<a href="#" class="btn button-sidebar-wide crosslist_link"><i class="icon-off"></i> <%= t('buttons.crosslist_section', 'Cross-List this Section') %></a>
|
|
<% end %>
|
|
<% end %>
|
|
<a href="<%= context_url(@context, :context_settings_url) %>" class="btn button-sidebar-wide"><i class="icon-settings"></i> <%= t('buttons.back_to_course', 'Back to Course Settings') %></a>
|
|
</div>
|
|
<% 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.root_account, @current_user, :read_sis) || can_do(@context.root_account, @current_user, :manage_sis) %>
|
|
<tr>
|
|
<td><%= f.blabel :sis_source_id, :en => "SIS ID" %></td>
|
|
<td>
|
|
<span class="course_form">
|
|
<% if can_do(@context.root_account, @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") %>
|
|
<%= 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") %>
|
|
<%= 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('override_settings', 'This will override any term or course date settings.') %>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<div class="form-actions">
|
|
<button type="button" class="btn cancel_button button-secondary"><%= t('buttons.cancel', 'Cancel') %></button>
|
|
<button type="submit" class="btn btn-primary submit_button"><%= t('buttons.update_section', 'Update Section') %></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.root_account, @current_user, :read_sis) || can_do(@context.root_account, @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('student_access_dates', 'Students can only access 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('titles.current_enrollments', 'Current Enrollments') %></h3>
|
|
<div class="user-list-wrapper" id="current-enrollment-list">
|
|
<ul class="user_list"></ul>
|
|
</div>
|
|
<h3><%= t('titles.completed_enrollments', 'Completed Enrollments') %></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('titles.cross_listed_sections', 'Cross-List Section') %></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('buttons.crosslist_this_section', 'Cross-List This Section') %></button>
|
|
<button type="button" class="btn button-secondary cancel_button"><%= t('buttons.cancel', 'Cancel') %></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('titles.decrosslist_section', 'De-Cross-List this Section') %></h2>
|
|
<p>
|
|
<%= t('prompts.are_you_sure_decrosslist', 'Are you sure you want to de-cross-list this section?') %>
|
|
<% 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('buttons.decrosslit_section', 'De-Cross-List This Section') %></button>
|
|
<button type="button" class="btn btn button-secondary cancel_button"><%= t('buttons.cancel', 'Cancel') %></button>
|
|
</div>
|
|
<% end %>
|
|
</div>
|