From d0b2787f24fa5c36c3a3cefc08981056f04cccfc Mon Sep 17 00:00:00 2001 From: Sanford Student Date: Wed, 23 Aug 2017 11:47:58 -0400 Subject: [PATCH] TNL-1230: cert available date hidden in self paced --- cms/templates/settings.html | 2 +- lms/djangoapps/courseware/date_summary.py | 5 +++-- lms/djangoapps/courseware/tests/test_date_summary.py | 12 ++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cms/templates/settings.html b/cms/templates/settings.html index c6f9a2baa6..fdca1c4696 100644 --- a/cms/templates/settings.html +++ b/cms/templates/settings.html @@ -214,7 +214,7 @@ CMS.URL.UPLOAD_ASSET = '${upload_asset_url | n, js_escaped_string}' - % if waffle.waffle().is_enabled(waffle.INSTRUCTOR_PACED_ONLY): + % if waffle.waffle().is_enabled(waffle.INSTRUCTOR_PACED_ONLY) and not context_course.self_paced:
  1. diff --git a/lms/djangoapps/courseware/date_summary.py b/lms/djangoapps/courseware/date_summary.py index a433cd9732..fb8cc9929e 100644 --- a/lms/djangoapps/courseware/date_summary.py +++ b/lms/djangoapps/courseware/date_summary.py @@ -205,8 +205,9 @@ class CertificateAvailableDate(DateSummary): @property def is_enabled(self): - return self.date is not None and datetime.datetime.now(utc) <= self.date and waffle.waffle().is_enabled( - waffle.INSTRUCTOR_PACED_ONLY + return ( + self.date is not None and datetime.datetime.now(utc) <= self.date and not self.course.self_paced and + waffle.waffle().is_enabled(waffle.INSTRUCTOR_PACED_ONLY) ) @property diff --git a/lms/djangoapps/courseware/tests/test_date_summary.py b/lms/djangoapps/courseware/tests/test_date_summary.py index 5e33be7d9c..391d13268f 100644 --- a/lms/djangoapps/courseware/tests/test_date_summary.py +++ b/lms/djangoapps/courseware/tests/test_date_summary.py @@ -362,6 +362,18 @@ class CourseDateSummaryTest(SharedModuleStoreTestCase): self.assertEqual(block.date, None) self.assertFalse(block.is_enabled) + ## CertificateAvailableDate + @waffle.testutils.override_switch('certificates.instructor_paced_only', True) + def test_no_certificate_available_date_for_self_paced(self): + course = self.create_self_paced_course_run() + verified_user = self.create_user() + CourseEnrollmentFactory(course_id=course.id, user=verified_user, mode=CourseMode.VERIFIED) + course.certificate_available_date = datetime.now(utc) + timedelta(days=7) + course.save() + block = CertificateAvailableDate(course, verified_user) + self.assertNotEqual(block.date, None) + self.assertFalse(block.is_enabled) + @waffle.testutils.override_switch('certificates.instructor_paced_only', True) def test_certificate_available_date_defined(self): course = self.create_course_run()