Only show the resets date banner if you have missed the due date on a graded subsection

[AA-138]
This commit is contained in:
Calen Pennington
2020-04-30 11:50:40 -04:00
parent f9bd748169
commit ff88f3d423
2 changed files with 13 additions and 4 deletions

View File

@@ -2572,7 +2572,8 @@ class TestIndexView(ModuleStoreTestCase):
)
@RELATIVE_DATES_FLAG.override(active=True)
def test_reset_deadlines_banner_is_present_when_viewing_courseware(self):
@ddt.data(True, False)
def test_reset_deadlines_banner_is_present_when_viewing_courseware(self, graded_section):
user = UserFactory()
course = CourseFactory.create(self_paced=True)
with self.store.bulk_operations(course.id):
@@ -2581,6 +2582,7 @@ class TestIndexView(ModuleStoreTestCase):
parent=chapter, category='sequential',
display_name="Sequence",
due=datetime.today() - timedelta(1),
graded=graded_section,
)
CourseOverview.load_from_module_store(course.id)
@@ -2597,7 +2599,11 @@ class TestIndexView(ModuleStoreTestCase):
) + '?activate_block_id=test_block_id'
)
self.assertContains(response, '<div class="reset-deadlines-banner">')
banner = '<div class="reset-deadlines-banner">'
if graded_section:
self.assertContains(response, banner)
else:
self.assertNotContains(response, banner)
@ddt.ddt

View File

@@ -270,8 +270,11 @@ def reset_deadlines_banner_should_display(course_key, request):
if display_reset_dates_banner:
break
for subsection in section.get('children', []):
if (not subsection.get('complete', True)
and subsection.get('due', timezone.now() + timedelta(1)) < timezone.now()):
if (
not subsection.get('complete', True)
and subsection.get('graded', False)
and subsection.get('due', timezone.now() + timedelta(1)) < timezone.now()
):
display_reset_dates_banner = True
break
return display_reset_dates_banner