<%inherit file="/main.html" /> <%namespace name='static' file='/static_content.html'/> <%def name="online_help_token()"><% return "progress" %> <%! from course_modes.models import CourseMode from certificates.models import CertificateStatuses from django.utils.translation import ugettext as _ from django.core.urlresolvers import reverse from util.date_utils import get_time_display, DEFAULT_SHORT_DATE_FORMAT from django.conf import settings from django.utils.http import urlquote_plus %> <%block name="bodyclass">view-in-course view-progress <%block name="headextra"> <%static:css group='style-course-vendor'/> <%static:css group='style-course'/> <%namespace name="progress_graph" file="/courseware/progress_graph.js"/> <%block name="pagetitle">${_("{course_number} Progress").format(course_number=course.display_number_with_default) | h} <%block name="js_extra"> <%include file="/courseware/course_navigation.html" args="active_page='progress'" />
% if staff_access and studio_url is not None: % endif

${_("Course Progress for Student '{username}' ({email})").format(username=student.username, email=student.email) | h}

%if certificate_data:
%if passed:
<% post_url = reverse('generate_user_cert', args=[unicode(course.id)]) %>

${certificate_data.title | h}

${certificate_data.msg | h}

%if certificate_data.cert_web_view_url: ${_("View Certificate")} %elif certificate_data.cert_status == CertificateStatuses.downloadable and certificate_data.download_url: ${_("Download Your Certificate")} %elif certificate_data.cert_status == CertificateStatuses.requesting: %endif
%endif %endif
%if not course.disable_progress_graph: %endif % if credit_course_requirements:

${_("Requirements for Course Credit")}

%if credit_course_requirements['eligibility_status'] == 'not_eligible': ${_("{student_name}, you are no longer eligible for credit in this course.").format(student_name=student.profile.name) | h} %elif credit_course_requirements['eligibility_status'] == 'eligible': ${_("{student_name}, you have met the requirements for credit in this course.").format(student_name=student.profile.name) | h} ${_("{a_start}Go to your dashboard{a_end} to purchase course credit.").format( a_start=u"".format(url=reverse('dashboard')), a_end="" )} %elif credit_course_requirements['eligibility_status'] == 'partial_eligible': ${_("{student_name}, you have not yet met the requirements for credit.").format(student_name=student.profile.name) | h} %endif ${_("Information about course credit requirements")}
%for requirement in credit_course_requirements['requirements']:
${_(requirement['display_name']) | h} %if requirement['namespace'] == 'grade': ${int(requirement['criteria']['min_grade'] * 100) | h}% %endif
%if requirement['status']: %if requirement['status'] == 'submitted': %elif requirement['status'] == 'failed': ${_("Verification Failed" )} %elif requirement['status'] == 'declined': ${_("Verification Declined" )} %elif requirement['status'] == 'satisfied': ${_("Completed by")} ${get_time_display(requirement['status_date'], DEFAULT_SHORT_DATE_FORMAT, settings.TIME_ZONE)} %endif %else: ${_("Upcoming")} %endif
%endfor
%endif
%for chapter in courseware_summary: %if not chapter['display_name'] == "hidden":

${ chapter['display_name'] | h}

%for section in chapter['sections']:
<% earned = section.all_total.earned total = section.all_total.possible percentageString = "{0:.0%}".format( float(earned)/total) if earned > 0 and total > 0 else "" %>

${ section.display_name | h} %if total > 0 or earned > 0: ${_("{earned} of {total} possible points").format(earned='{:.3n}'.format(float(earned)), total='{:.3n}'.format(float(total))) | h} %endif %if total > 0 or earned > 0: ${"({0:.3n}/{1:.3n}) {2}".format( float(earned), float(total), percentageString ) | h} %endif

${section.format | h} %if section.due is not None: <% formatted_string = get_time_display(section.due, course.due_date_display_format, coerce_tz=settings.TIME_ZONE_DISPLAYED_FOR_DEADLINES) due_date = '' if len(formatted_string)==0 else _(u'due {date}').format(date=formatted_string) %> ${due_date | h} %endif

%if len(section.scores) > 0:

${ _("Problem Scores: ") if section.graded else _("Practice Scores: ")}

    %for score in section.scores:
  1. ${"{0:.3n}/{1:.3n}".format(float(score.earned),float(score.possible)) | h}
  2. %endfor
%else:

${_("No problem scores in this section")}

%endif
%endfor
%endif %endfor