92 lines
4.0 KiB
HTML
92 lines
4.0 KiB
HTML
<%page expression_filter="h"/>
|
|
<%inherit file="/main.html" />
|
|
<%namespace name='static' file='/static_content.html'/>
|
|
<%!
|
|
import re
|
|
from django.utils.translation import ugettext as _
|
|
from django.core.urlresolvers import reverse
|
|
%>
|
|
|
|
<%block name="js_extra">
|
|
<script type="text/javascript" src="${static.url('js/vendor/flot/jquery.flot.js')}"></script>
|
|
<script type="text/javascript" src="${static.url('js/vendor/flot/jquery.flot.stack.js')}"></script>
|
|
<script type="text/javascript" src="${static.url('js/vendor/flot/jquery.flot.symbol.js')}"></script>
|
|
<script type="text/javascript" src="${static.url('common/js/vendor/jquery.dataTables.js')}"></script>
|
|
<script type="text/javascript" src="${static.url('common/js/vendor/dataTables.fixedColumns.min.js')}"></script>
|
|
<script type="text/javascript" src="${static.url('js/jquery.writable_gradebook.js')}"></script>
|
|
<script type="text/javascript" src="${static.url('js/writable_gradebook.js')}"></script>
|
|
</%block>
|
|
|
|
<%block name="headextra">
|
|
<link rel="stylesheet" type="text/css" href="${static.url('common/media/vendor/media/css/jquery.dataTables.min.css')}">
|
|
<link rel="stylesheet" type="text/css" href="${static.url('css/vendor/fixedColumns.dataTables.min.css')}">
|
|
<%static:css group='style-course-vendor'/>
|
|
<%static:css group='style-course'/>
|
|
</%block>
|
|
|
|
<%include file="/courseware/course_navigation.html" args="active_page=''" />
|
|
|
|
<%def name="get_page_url(page_size)">
|
|
${page_url}?offset=${page['offset']}&pagesize=${page_size}
|
|
</%def>
|
|
|
|
<%def name="format_class(name)">${re.sub(r'[^a-zA-Z0-9]', '', name)}</%def>
|
|
|
|
<section class="container">
|
|
<div class="gradebook-wrapper">
|
|
<section id="gradebook-main-content" class="gradebook-content" data-course-id="${course_id.to_deprecated_string()}" data-number-of-students="${number_of_students}" data-static-path="/static" data-staff-username="${user}">
|
|
<h1>${_("Gradebook")}</h1>
|
|
|
|
<div id="error-message" class="error hidden"></div>
|
|
|
|
%if number_of_students > 0:
|
|
<div id="filters-container" class="hidden">
|
|
<div class="view-container">
|
|
<span class="filter-title">${_("Score View:")} </span>
|
|
<input type="radio" id="table-data-view-percent" name="table-data-view" value="percent"> ${_("Percent")}
|
|
<input type="radio" id="table-data-view-absolute" name="table-data-view" value="absolute" checked> ${_("Absolute")}
|
|
<a class="report-download-link" id="download-grade-report" href="../../instructor?report=grade-report#view-data_download">${_("Download Grade Report")}</a>
|
|
</div>
|
|
|
|
<div id="gp-filter" class="gradebook-filter">
|
|
<select id='grading-policy'>
|
|
<option value=''>${_("Grading Policy")}</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div id="section-filter" class="gradebook-filter">
|
|
<select id="course-sections">
|
|
<option value="">${_("Section")}</option>
|
|
%for section in course_sections:
|
|
## [NDPD-729] Removing spaces from section name to get a string to be used as a CSS class in grade table.
|
|
<option value="${format_class(section)}">
|
|
${section}
|
|
</option>
|
|
%endfor
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="gradebook-notification" class="hidden">
|
|
<span>
|
|
${_("Fetching gradebook data")}
|
|
<span class="fa fa-spinner fa-pulse" aria-hidden="true"></span>
|
|
<div class="progress gradebook-progress-bar">
|
|
<progress class="progress-bar" role="progressbar" value=0 max=100>
|
|
</progress>
|
|
</div>
|
|
<span class="gradebook-progress-count"></span>
|
|
</span>
|
|
</div>
|
|
|
|
<div id="gradebook-table-empty-message">
|
|
${_("No matching records found")}
|
|
</div>
|
|
<div id="gradebook-table-container">
|
|
</div>
|
|
%else:
|
|
${_("There are no students enrolled in this course.")}
|
|
%endif
|
|
</section>
|
|
</div>
|
|
</section> |