From 584aee182902e0fd51cd32cc13a024dbfe42204a Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Wed, 23 Aug 2023 17:05:40 +0200 Subject: [PATCH] Use `start` date for due dates with single dates in importer --- server/vbv_lernwelt/importer/services.py | 15 ++++++++++++--- .../importer/tests/test_import_course_sessions.py | 8 ++++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/server/vbv_lernwelt/importer/services.py b/server/vbv_lernwelt/importer/services.py index e20242db..8a941da6 100644 --- a/server/vbv_lernwelt/importer/services.py +++ b/server/vbv_lernwelt/importer/services.py @@ -389,6 +389,8 @@ def create_or_update_course_session_attendance( csa, _created = CourseSessionAttendanceCourse.objects.get_or_create( course_session=cs, learning_content=attendance_course_lc ) + # trigger save to update due date + csa.save() csa.location = location expert = CourseSessionUser.objects.filter( @@ -428,21 +430,25 @@ def create_or_update_course_session_assignment( slug=f"{course_slug}-lp-circle-{assignment_slug}" ), ) + # trigger save to update due date + csa.save() if ( csa.learning_content.assignment_type == AssignmentType.PREP_ASSIGNMENT.value and start ): - csa.submission_deadline.end = timezone.make_aware(start) + csa.submission_deadline.start = timezone.make_aware(start) + csa.submission_deadline.end = None csa.submission_deadline.save() elif ( csa.learning_content.assignment_type == AssignmentType.CASEWORK.value and end ): - csa.submission_deadline.end = timezone.make_aware( + csa.submission_deadline.start = timezone.make_aware( start ) + timezone.timedelta(days=30) + csa.submission_deadline.end = None csa.submission_deadline.save() @@ -457,8 +463,11 @@ def create_or_update_course_session_edoniq_test( cset, _created = CourseSessionEdoniqTest.objects.get_or_create( course_session=cs, learning_content=learning_content ) + # trigger save to update due date + cset.save() - cset.deadline.end = timezone.make_aware(start) + timezone.timedelta(days=10) + cset.deadline.start = timezone.make_aware(start) + timezone.timedelta(days=10) + cset.deadline.end = None cset.deadline.save() diff --git a/server/vbv_lernwelt/importer/tests/test_import_course_sessions.py b/server/vbv_lernwelt/importer/tests/test_import_course_sessions.py index 8af87ee4..6112eaa0 100644 --- a/server/vbv_lernwelt/importer/tests/test_import_course_sessions.py +++ b/server/vbv_lernwelt/importer/tests/test_import_course_sessions.py @@ -101,7 +101,7 @@ class CreateOrUpdateCourseSessionTestCase(TestCase): learning_content__assignment_type=AssignmentType.CASEWORK.value ).first() self.assertEqual( - casework.submission_deadline.end.isoformat(), "2023-07-06T11:30:00+00:00" + casework.submission_deadline.start.isoformat(), "2023-07-06T11:30:00+00:00" ) def test_update_course_session(self): @@ -185,7 +185,7 @@ class CreateOrUpdateCourseSessionTestCase(TestCase): learning_content__assignment_type=AssignmentType.CASEWORK.value ).first() self.assertEqual( - casework.submission_deadline.end.isoformat(), "2023-07-06T12:30:00+00:00" + casework.submission_deadline.start.isoformat(), "2023-07-06T12:30:00+00:00" ) def test_import_course_session_twice(self): @@ -309,7 +309,7 @@ class CreateOrUpdateEdoniqTestCase(TestCase): self._create_or_update_edonqi_test("2023-06-06T11:30:00+00:00") test = CourseSessionEdoniqTest.objects.first() - self.assertEqual(test.deadline.end.isoformat(), "2023-06-16T11:30:00+00:00") + self.assertEqual(test.deadline.start.isoformat(), "2023-06-16T11:30:00+00:00") def test_update_course_session(self): self._create_or_update_edonqi_test("2023-06-06T11:30:00+00:00") @@ -318,4 +318,4 @@ class CreateOrUpdateEdoniqTestCase(TestCase): self.assertEqual(duedate_count, DueDate.objects.count()) test = CourseSessionEdoniqTest.objects.first() - self.assertEqual(test.deadline.end.isoformat(), "2023-07-16T11:30:00+00:00") + self.assertEqual(test.deadline.start.isoformat(), "2023-07-16T11:30:00+00:00")