From 7c09aec10de5fe166f893b913d8b2ab229ae9519 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Tue, 15 Jun 2021 15:00:45 +0000 Subject: [PATCH] More prominently identify BoF sessions in schedule editor. Fixes #3217. Commit ready for merge. - Legacy-Id: 19136 --- ietf/meeting/tests_views.py | 24 +++++++++++++++++++ ietf/static/ietf/css/ietf.css | 11 +++++++-- .../edit_meeting_schedule_session.html | 1 + 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index d303ace4e..632d29e75 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -970,6 +970,30 @@ class EditMeetingScheduleTests(TestCase): time_labels = row.find('div.time-label').text() self.assertEqual(time_labels, time_header_labels) + def test_bof_session_tag(self): + """Sessions for BoF groups should be marked as such""" + meeting = MeetingFactory(type_id='ietf') + + non_bof_session = SessionFactory(meeting=meeting) + bof_session = SessionFactory(meeting=meeting, group__state_id='bof') + + url = urlreverse('ietf.meeting.views.edit_meeting_schedule', + kwargs=dict(num=meeting.number)) + + self.client.login(username='secretary', password='secretary+password') + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + + q = PyQuery(r.content) + self.assertEqual(len(q('#session{} .bof-tag'.format(non_bof_session.pk))), 0, + 'Non-BoF session should not be tagged as a BoF session') + + bof_tags = q('#session{} .bof-tag'.format(bof_session.pk)) + self.assertEqual(len(bof_tags), 1, + 'BoF session should have one BoF session tag') + self.assertIn('BoF', bof_tags.eq(0).text(), + 'BoF tag should contain text "BoF"') + class ReorderSlidesTests(TestCase): diff --git a/ietf/static/ietf/css/ietf.css b/ietf/static/ietf/css/ietf.css index 5a5c85f92..adfc7ead5 100644 --- a/ietf/static/ietf/css/ietf.css +++ b/ietf/static/ietf/css/ietf.css @@ -1165,10 +1165,12 @@ a.fc-event, .fc-event, .fc-content, .fc-title, .fc-event-container { .edit-meeting-schedule .session.selected { cursor: grabbing; outline: #0000ff solid 0.2em; /* blue, width matches margin on .session */ + z-index: 2; /* render above timeslot outlines */ } .edit-meeting-schedule .session.other-session-selected { outline: #00008b solid 0.2em; /* darkblue, width matches margin on .session */ + z-index: 2; /* render above timeslot outlines */ } .edit-meeting-schedule .read-only .session.selected { @@ -1224,8 +1226,13 @@ a.fc-event, .fc-event, .fc-content, .fc-title, .fc-event-container { margin-left: 0.1em; } -.edit-meeting-schedule .session .session-label.bof-session { - font-style: italic; +.edit-meeting-schedule .session .session-label .bof-tag { + font-style: normal; + font-size: smaller; + color: #8b0000; + font-weight: bold; + float: right; + margin-right: 0.2em; } .edit-meeting-schedule .session.too-many-attendees .attendees { diff --git a/ietf/templates/meeting/edit_meeting_schedule_session.html b/ietf/templates/meeting/edit_meeting_schedule_session.html index a5a5d5950..960fcc01b 100644 --- a/ietf/templates/meeting/edit_meeting_schedule_session.html +++ b/ietf/templates/meeting/edit_meeting_schedule_session.html @@ -1,6 +1,7 @@
{{ session.scheduling_label }} + {% if session.group and session.group.is_bof %}BoF{% endif %}