From 091ac7e37f2a5bae3ab7e0f075149218709d3eb1 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Fri, 20 Mar 2020 20:47:35 +0000 Subject: [PATCH] Show UTC times in interim announcements if the interim has a non-UTC timzone. Fixes #2922. Commit ready for merge. - Legacy-Id: 17480 --- ietf/meeting/tests_views.py | 6 +++++- ietf/templates/meeting/interim_announcement.txt | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index ade11103c..853dc9b6c 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -42,7 +42,7 @@ from ietf.meeting.utils import add_event_info_to_session_qs from ietf.meeting.views import session_draft_list from ietf.name.models import SessionStatusName, ImportantDateName from ietf.utils.decorators import skip_coverage -from ietf.utils.mail import outbox, empty_outbox +from ietf.utils.mail import outbox, empty_outbox, get_payload from ietf.utils.test_utils import TestCase, login_testing_unauthorized, unicontent from ietf.utils.text import xslugify @@ -1260,6 +1260,8 @@ class InterimTests(TestCase): def test_interim_send_announcement(self): make_meeting_test_data() meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting + meeting.time_zone = 'America/Los_Angeles' + meeting.save() url = urlreverse("ietf.meeting.views.interim_send_announcement", kwargs={'number': meeting.number}) login_testing_unauthorized(self, "secretary", url) r = self.client.get(url) @@ -1271,6 +1273,8 @@ class InterimTests(TestCase): self.assertRedirects(r, urlreverse('ietf.meeting.views.interim_announce')) self.assertEqual(len(outbox), len_before + 1) self.assertIn('WG Virtual Meeting', outbox[-1]['Subject']) + self.assertIn('09:00 to 09:20 America/Los_Angeles', get_payload(outbox[-1])) + self.assertIn('(17:00 to 17:20 UTC)', get_payload(outbox[-1])) def test_interim_approve_by_ad(self): make_meeting_test_data() diff --git a/ietf/templates/meeting/interim_announcement.txt b/ietf/templates/meeting/interim_announcement.txt index 28d11ea2e..83f0b06ef 100644 --- a/ietf/templates/meeting/interim_announcement.txt +++ b/ietf/templates/meeting/interim_announcement.txt @@ -1,11 +1,11 @@ {% load ietf_filters %}{% if is_change %}MEETING DETAILS HAVE CHANGED. SEE LATEST DETAILS BELOW. {% endif %}The {{ group.name }} ({{ group.acronym }}) {% if group.type.slug == "rg" %}Research Group{% elif group.state.slug == "active" %}Working Group{% elif group.state.slug == 'bof' %}BOF{% endif %} will hold -{% if meeting.session_set.count == 1 %}a{% if meeting.city %}n {% else %} virtual {% endif %}interim meeting on {{ meeting.date }} from {{ meeting.schedule.assignments.first.timeslot.time | date:"H:i" }} to {{ meeting.schedule.assignments.first.timeslot.end_time | date:"H:i" }} {{ meeting.time_zone }}. +{% if meeting.session_set.count == 1 %}a{% if meeting.city %}n {% else %} virtual {% endif %}interim meeting on {{ meeting.date }} from {{ meeting.schedule.assignments.first.timeslot.time | date:"H:i" }} to {{ meeting.schedule.assignments.first.timeslot.end_time | date:"H:i" }} {{ meeting.time_zone}}{% if meeting.time_zone != 'UTC' %} ({{ meeting.schedule.assignments.first.timeslot.utc_start_time | date:"H:i" }} to {{ meeting.schedule.assignments.first.timeslot.utc_end_time | date:"H:i" }} UTC){% endif %}. {% else %}a multi-day {% if not meeting.city %}virtual {% endif %}interim meeting. {% for assignment in meeting.schedule.assignments.all %}Session {{ forloop.counter }}: -{{ assignment.timeslot.time | date:"Y-m-d" }} {{ assignment.timeslot.time | date:"H:i" }} to {{ assignment.timeslot.end_time | date:"H:i" }} {{ meeting.time_zone }} +{{ assignment.timeslot.time | date:"Y-m-d" }} {{ assignment.timeslot.time | date:"H:i" }} to {{ assignment.timeslot.end_time | date:"H:i" }} {{ meeting.time_zone }}{% if meeting.time_zone != 'UTC' %}({{ assignment.timeslot.utc_start_time | date:"H:i" }} to {{ assignment.timeslot.utc_end_time | date:"H:i" }} UTC){% endif %} {% endfor %}{% endif %} {% if meeting.city %}Meeting Location: {{ meeting.city }}, {{ meeting.country }}