Use `start` date for due dates with single dates in importer

This commit is contained in:
Daniel Egger 2023-08-23 17:05:40 +02:00
parent acdda923da
commit 584aee1829
2 changed files with 16 additions and 7 deletions

View File

@ -389,6 +389,8 @@ def create_or_update_course_session_attendance(
csa, _created = CourseSessionAttendanceCourse.objects.get_or_create( csa, _created = CourseSessionAttendanceCourse.objects.get_or_create(
course_session=cs, learning_content=attendance_course_lc course_session=cs, learning_content=attendance_course_lc
) )
# trigger save to update due date
csa.save()
csa.location = location csa.location = location
expert = CourseSessionUser.objects.filter( expert = CourseSessionUser.objects.filter(
@ -428,21 +430,25 @@ def create_or_update_course_session_assignment(
slug=f"{course_slug}-lp-circle-{assignment_slug}" slug=f"{course_slug}-lp-circle-{assignment_slug}"
), ),
) )
# trigger save to update due date
csa.save()
if ( if (
csa.learning_content.assignment_type == AssignmentType.PREP_ASSIGNMENT.value csa.learning_content.assignment_type == AssignmentType.PREP_ASSIGNMENT.value
and start 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() csa.submission_deadline.save()
elif ( elif (
csa.learning_content.assignment_type == AssignmentType.CASEWORK.value csa.learning_content.assignment_type == AssignmentType.CASEWORK.value
and end and end
): ):
csa.submission_deadline.end = timezone.make_aware( csa.submission_deadline.start = timezone.make_aware(
start start
) + timezone.timedelta(days=30) ) + timezone.timedelta(days=30)
csa.submission_deadline.end = None
csa.submission_deadline.save() csa.submission_deadline.save()
@ -457,8 +463,11 @@ def create_or_update_course_session_edoniq_test(
cset, _created = CourseSessionEdoniqTest.objects.get_or_create( cset, _created = CourseSessionEdoniqTest.objects.get_or_create(
course_session=cs, learning_content=learning_content 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() cset.deadline.save()

View File

@ -101,7 +101,7 @@ class CreateOrUpdateCourseSessionTestCase(TestCase):
learning_content__assignment_type=AssignmentType.CASEWORK.value learning_content__assignment_type=AssignmentType.CASEWORK.value
).first() ).first()
self.assertEqual( 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): def test_update_course_session(self):
@ -185,7 +185,7 @@ class CreateOrUpdateCourseSessionTestCase(TestCase):
learning_content__assignment_type=AssignmentType.CASEWORK.value learning_content__assignment_type=AssignmentType.CASEWORK.value
).first() ).first()
self.assertEqual( 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): 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") self._create_or_update_edonqi_test("2023-06-06T11:30:00+00:00")
test = CourseSessionEdoniqTest.objects.first() 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): def test_update_course_session(self):
self._create_or_update_edonqi_test("2023-06-06T11:30:00+00:00") 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()) self.assertEqual(duedate_count, DueDate.objects.count())
test = CourseSessionEdoniqTest.objects.first() 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")