From b4e5cfcf91a6004cb90a7cc230489a85c76bde75 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Sun, 24 Jul 2022 10:06:23 -0400 Subject: [PATCH] fix: link to jabber logs for old meetings (#4250) * fix: link to jabber logs for old meetings * test: validate the URL for old Session chat logs --- ietf/meeting/models.py | 7 +++++-- ietf/meeting/tests_models.py | 11 ++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index 01ade77a7..cdb9d5d6b 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -1266,10 +1266,13 @@ class Session(models.Model): return settings.CHAT_URL_PATTERN.format(chat_room_name=self.chat_room_name()) def chat_archive_url(self): - # Zulip has no separate archive - if hasattr(settings,'CHAT_ARCHIVE_URL_PATTERN'): + # datatracker 8.8.0 released on 2022 July 15; before that, fall back to old log URL + if self.meeting.date <= datetime.date(2022, 7, 15): + return f'https://www.ietf.org/jabber/logs/{ self.chat_room_name() }?C=M;O=D' + elif hasattr(settings,'CHAT_ARCHIVE_URL_PATTERN'): return settings.CHAT_ARCHIVE_URL_PATTERN.format(chat_room_name=self.chat_room_name()) else: + # Zulip has no separate archive return self.chat_room_url() def notes_id(self): diff --git a/ietf/meeting/tests_models.py b/ietf/meeting/tests_models.py index e28741a02..dea31dc04 100644 --- a/ietf/meeting/tests_models.py +++ b/ietf/meeting/tests_models.py @@ -1,7 +1,9 @@ # Copyright The IETF Trust 2021, All Rights Reserved # -*- coding: utf-8 -*- """Tests of models in the Meeting application""" -from ietf.meeting.factories import MeetingFactory +import datetime + +from ietf.meeting.factories import MeetingFactory, SessionFactory from ietf.stats.factories import MeetingRegistrationFactory from ietf.utils.test_utils import TestCase @@ -49,3 +51,10 @@ class MeetingTests(TestCase): self.assertIsNotNone(attendance) self.assertEqual(attendance.online, 0) self.assertEqual(attendance.onsite, 5) + + +class SessionTests(TestCase): + def test_chat_archive_url_with_jabber(self): + # datatracker 8.8.0 rolled out on 2022-07-15. Before that, chat logs were jabber logs hosted at www.ietf.org. + session_with_jabber = SessionFactory(group__acronym='fakeacronym', meeting__date=datetime.date(2022,7,14)) + self.assertEqual(session_with_jabber.chat_archive_url(), 'https://www.ietf.org/jabber/logs/fakeacronym?C=M;O=D')