From e0bdbebe40f7a83f3df3bd5475aefd1fd0c73b2b Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Wed, 7 Dec 2022 14:34:38 -0400 Subject: [PATCH] fix: be more sure to create interim's timeslot / update duration --- ietf/meeting/helpers.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py index 9a7d64867c..96143076be 100644 --- a/ietf/meeting/helpers.py +++ b/ietf/meeting/helpers.py @@ -1060,8 +1060,7 @@ def sessions_post_save(request, forms): 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: form.save_agenda() @@ -1140,6 +1139,8 @@ def update_interim_session_assignment(form): """Helper function to create / update timeslot assigned to interim session form is an InterimSessionModelForm + + Only updates timeslot time (a datetime) and duration """ session = form.instance meeting = session.meeting @@ -1148,9 +1149,10 @@ def update_interim_session_assignment(form): ) if session.official_timeslotassignment(): slot = session.official_timeslotassignment().timeslot - slot.time = time - slot.duration = session.requested_duration - slot.save() + if slot.time != time or slot.duration != session.requested_duration: + slot.time = time + slot.duration = session.requested_duration + slot.save() else: slot = TimeSlot.objects.create( meeting=meeting,