fix: be more sure to create interim's timeslot / update duration (#4846)

This commit is contained in:
Jennifer Richards 2022-12-07 16:45:00 -04:00 committed by GitHub
parent a7c0cc0464
commit 40fd46a293
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1060,8 +1060,7 @@ def sessions_post_save(request, forms):
by=request.user.person, by=request.user.person,
) )
if ('date' in form.changed_data) or ('time' in form.changed_data): update_interim_session_assignment(form)
update_interim_session_assignment(form)
if 'agenda' in form.changed_data: if 'agenda' in form.changed_data:
form.save_agenda() form.save_agenda()
@ -1140,6 +1139,8 @@ def update_interim_session_assignment(form):
"""Helper function to create / update timeslot assigned to interim session """Helper function to create / update timeslot assigned to interim session
form is an InterimSessionModelForm form is an InterimSessionModelForm
Only updates timeslot time (a datetime) and duration
""" """
session = form.instance session = form.instance
meeting = session.meeting meeting = session.meeting
@ -1148,9 +1149,10 @@ def update_interim_session_assignment(form):
) )
if session.official_timeslotassignment(): if session.official_timeslotassignment():
slot = session.official_timeslotassignment().timeslot slot = session.official_timeslotassignment().timeslot
slot.time = time if slot.time != time or slot.duration != session.requested_duration:
slot.duration = session.requested_duration slot.time = time
slot.save() slot.duration = session.requested_duration
slot.save()
else: else:
slot = TimeSlot.objects.create( slot = TimeSlot.objects.create(
meeting=meeting, meeting=meeting,