diff --git a/common/lib/xmodule/xmodule/course_module.py b/common/lib/xmodule/xmodule/course_module.py index 2b6232d366..3506c72bd7 100644 --- a/common/lib/xmodule/xmodule/course_module.py +++ b/common/lib/xmodule/xmodule/course_module.py @@ -149,6 +149,10 @@ class CourseDescriptor(SequenceDescriptor): def grade_cutoffs(self): return self._grading_policy['GRADE_CUTOFFS'] + @property + def lowest_passing_grade(self): + return min(self._grading_policy['GRADE_CUTOFFS'].values()) + @property def tabs(self): """ @@ -292,7 +296,7 @@ class CourseDescriptor(SequenceDescriptor): return False except: log.exception("Error parsing discussion_blackouts for course {0}".format(self.id)) - + return True @property diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html index 177eb276af..d9b57ac044 100644 --- a/lms/templates/dashboard.html +++ b/lms/templates/dashboard.html @@ -246,13 +246,14 @@ % if cert_status['status'] == 'processing':

Final course details are being wrapped up at this time. Your final standing will be available shortly.

- % elif cert_status['status'] in ('generating', 'ready'): -

You have received a grade of - ${cert_status['grade']} - in this course.

- % elif cert_status['status'] == 'notpassing': -

You did not complete the necessary requirements for - completion of this course.

+ % elif cert_status['status'] in ('generating', 'ready', 'notpassing'): +

Your final grade: + ${"{0:.0f}%".format(float(cert_status['grade'])*100)}. + % if cert_status['status'] == 'notpassing': + Grade required for a certificate: + ${"{0:.0f}%".format(float(course.lowest_passing_grade)*100)}. + % endif +

% endif % if cert_status['show_disabled_download_button'] or cert_status['show_download_url'] or cert_status['show_survey_button']: