diff --git a/ietf/api/tests.py b/ietf/api/tests.py index 2285fa1532..5dd1823e72 100644 --- a/ietf/api/tests.py +++ b/ietf/api/tests.py @@ -725,6 +725,15 @@ def test_api_appauth(self): self.assertEqual(r.status_code, 200) jsondata = r.json() self.assertEqual(jsondata['success'], True) + + def test_api_get_session_matherials_no_agenda_meeting_url(self): + meeting = MeetingFactory(type_id='ietf') + session = SessionFactory(meeting=meeting) + url = urlreverse('ietf.meeting.views.api_get_session_materials', kwargs={'session_id': session.pk}) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + class DirectAuthApiTests(TestCase): diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index eded3c438a..ddd3cd2d1d 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -1704,9 +1704,11 @@ def api_get_session_materials (request, session_id=None): }) else: pass # no action available if it's past cutoff - + + agenda = session.agenda() + agenda_url = agenda.get_href() if agenda is not None else None return JsonResponse({ - "url": session.agenda().get_href(), + "url": agenda_url, "slides": { "decks": list(map(agenda_extract_slide, session.slides())), "actions": slides_actions,