diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 8df9d7a68..7d0e120bd 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -1677,6 +1677,23 @@ class EditMeetingScheduleTests(TestCase): self.assertEqual(r.status_code, 200) self.assertTrue(self._decode_json_response(r)['success']) + def test_editor_with_no_timeslots(self): + """Schedule editor should not crash when there are no timeslots""" + meeting = MeetingFactory( + type_id='ietf', + date=datetime.date.today() + datetime.timedelta(days=7), + populate_schedule=False, + ) + meeting.schedule = ScheduleFactory(meeting=meeting) + meeting.save() + SessionFactory(meeting=meeting, add_to_schedule=False) + self.assertEqual(meeting.timeslot_set.count(), 0, 'Test problem - meeting should not have any timeslots') + url = urlreverse('ietf.meeting.views.edit_meeting_schedule', kwargs={'num': meeting.number}) + self.assertTrue(self.client.login(username='secretary', password='secretary+password')) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + self.assertContains(r, 'No timeslots exist') + self.assertContains(r, urlreverse('ietf.meeting.views.edit_timeslots', kwargs={'num': meeting.number})) class EditTimeslotsTests(TestCase): diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 1ab18f124..8e521e918 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -506,8 +506,8 @@ def edit_meeting_schedule(request, num=None, owner=None, name=None): min_duration = min(t.duration for t in timeslots_qs) max_duration = max(t.duration for t in timeslots_qs) else: - min_duration = 1 - max_duration = 2 + min_duration = datetime.timedelta(minutes=30) + max_duration = datetime.timedelta(minutes=120) def timedelta_to_css_ems(timedelta): # we scale the session and slots a bit according to their diff --git a/ietf/templates/meeting/edit_meeting_schedule.html b/ietf/templates/meeting/edit_meeting_schedule.html index 5d3c60271..7603244d1 100644 --- a/ietf/templates/meeting/edit_meeting_schedule.html +++ b/ietf/templates/meeting/edit_meeting_schedule.html @@ -75,96 +75,106 @@ {% endif %}
-+ No timeslots exist for this meeting yet. +
+ + {% else %} +