<%page expression_filter="h"/> <%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 openedx.core.djangolib.markup import HTML, Text from django.core.urlresolvers import reverse 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)} <%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)}

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

${certificate_data.title}

${certificate_data.msg}

%if certificate_data.cert_web_view_url: ${_("View Certificate")} ${_("Opens in a new browser window")} %elif certificate_data.cert_status == CertificateStatuses.downloadable and certificate_data.download_url: ${_("Download Your Certificate")} ${_("Opens in a new browser window")} %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)} %elif credit_course_requirements['eligibility_status'] == 'eligible': ${Text(_("{student_name}, you have met the requirements for credit in this course. {a_start}Go to your dashboard{a_end} to purchase course credit.")).format( student_name=student.profile.name, a_start=HTML("").format(url=reverse('dashboard')), a_end=HTML("") )} %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)} %endif ${_("Information about course credit requirements")}
%for requirement in credit_course_requirements['requirements']:
${_(requirement['display_name'])} %if requirement['namespace'] == 'grade': ${int(requirement['criteria']['min_grade'] * 100)}% %endif
%if requirement['status']: %if requirement['status'] == 'submitted': %elif requirement['status'] == 'failed': ${_("Verification Failed" )} %elif requirement['status'] == 'declined': ${_("Verification Declined" )} %elif requirement['status'] == 'satisfied': %endif %else: ${_("Upcoming")} %endif
%endfor
%endif %if courseware_summary:

${_('Details for each chapter')}

%for chapter in courseware_summary: %if not chapter['display_name'] == "hidden":

${ chapter['display_name']}

%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} %if total > 0 or earned > 0: ${_("{earned} of {total} possible points").format(earned='{:.3n}'.format(float(earned)), total='{:.3n}'.format(float(total)))} %endif %if total > 0 or earned > 0: ${"({0:.3n}/{1:.3n}) {2}".format( float(earned), float(total), percentageString )} %endif

%if section.format is not None: ${section.format} %endif %if section.due is not None: %endif

%if len(section.scores) > 0:
${ _("Problem Scores: ") if section.graded else _("Practice Scores: ")}
%for score in section.scores:
${"{0:.3n}/{1:.3n}".format(float(score.earned),float(score.possible))}
%endfor
%else:

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

%endif
%endfor
%endif %endfor
%endif
<%static:require_module_async module_name="js/dateutil_factory" class_name="DateUtilFactory"> DateUtilFactory.transform(iterationKey=".localized-datetime");