Order of Credit Eligibility line items

Displayed eligibility line items on the Progress page of a Credit course
in the order of appearance in the courseware.

ECOM-1782
This commit is contained in:
Ahsan Ulhaq
2015-06-26 17:43:12 +05:00
parent 1ee3094dd3
commit 7787974dd5
10 changed files with 209 additions and 54 deletions

View File

@@ -627,7 +627,7 @@ class TestCourseGrader(TestSubmittingProblems):
"namespace": "grade",
"name": "grade",
"display_name": "Grade",
"criteria": {"min_grade": 0.52}
"criteria": {"min_grade": 0.52},
}]
# Add a single credit requirement (final grade)
set_credit_requirements(self.course.id, requirements)

View File

@@ -1153,14 +1153,9 @@ def _credit_course_requirements(course_key, student):
else:
eligibility_status = "partial_eligible"
paired_requirements = {}
for requirement in requirement_statuses:
namespace = requirement.pop("namespace")
paired_requirements.setdefault(namespace, []).append(requirement)
return {
'eligibility_status': eligibility_status,
'requirements': OrderedDict(sorted(paired_requirements.items(), reverse=True))
'requirements': requirement_statuses,
}

View File

@@ -120,27 +120,25 @@ from django.utils.http import urlquote_plus
%endif
<button class="credit-help"><i class="fa fa-question"></i><span class="sr">Help regarding credit requirement</span></button><br>
<div class="requirement-container" data-eligible="${credit_course_requirements['eligibility_status']}">
%for namespace in credit_course_requirements['requirements']:
%for requirement in credit_course_requirements['requirements'][namespace]:
<div class="requirement">
<div class="requirement-name">${_(requirement['display_name'])}</div>
<div class="requirement-status">
%if requirement['status']:
%if requirement['status'] == 'submitted':
<span class="requirement-submitted">${_("Verification Submitted")}</span>
%elif requirement['status'] == 'failed':
<i class="fa fa-times"></i>
<span>${_("Verification Failed" )}</span>
%elif requirement['status'] == 'satisfied':
<i class="fa fa-check"></i>
<span>Verified on ${get_time_display(requirement['status_date'], DEFAULT_SHORT_DATE_FORMAT, settings.TIME_ZONE)}</span>
%endif
%else:
<span class="not-achieve">${_("Upcoming")}</span>
%for requirement in credit_course_requirements['requirements']:
<div class="requirement">
<div class="requirement-name">${_(requirement['display_name'])}</div>
<div class="requirement-status">
%if requirement['status']:
%if requirement['status'] == 'submitted':
<span class="requirement-submitted">${_("Verification Submitted")}</span>
%elif requirement['status'] == 'failed':
<i class="fa fa-times"></i>
<span>${_("Verification Failed" )}</span>
%elif requirement['status'] == 'satisfied':
<i class="fa fa-check"></i>
<span>Verified on ${get_time_display(requirement['status_date'], DEFAULT_SHORT_DATE_FORMAT, settings.TIME_ZONE)}</span>
%endif
</div>
%else:
<span class="not-achieve">${_("Upcoming")}</span>
%endif
</div>
%endfor
</div>
%endfor
</div>
<button class="detail-collapse" aria-live="polite"><i class="fa fa-caret-up"></i>