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(
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()

View File

@ -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")