Merged in [18282] from mark@painless-security.com:

Add IETF sessions to the types that emit parent group name in the session assignment slug, so that the parent group name will be present on the HTML row ID in the agenda for IAB sessions.  Also update the wording on special sessions.  Fixes #3034.
 - Legacy-Id: 18307
Note: SVN reference [18282] has been migrated to Git commit b6c3a8f1f8
This commit is contained in:
Henrik Levkowetz 2020-07-29 13:29:45 +00:00
commit a4a89b1134
3 changed files with 43 additions and 2 deletions

View file

@ -815,7 +815,7 @@ class SchedTimeSessAssignment(models.Model):
components.append("1plenary")
else:
p = getattr(g, "historic_parent", None) or g.parent
if p and p.type_id in ("area", "irtf"):
if p and p.type_id in ("area", "irtf", 'ietf'):
components.append(p.acronym)
components.append(g.acronym)

View file

@ -226,6 +226,47 @@ class MeetingTests(TestCase):
self.assertContains(r, session.group.acronym)
self.assertContains(r, slot.location.name)
def test_agenda_iab_session(self):
date = datetime.date.today()
meeting = MeetingFactory(type_id='ietf', date=date )
make_meeting_test_data(meeting=meeting)
iab = Group.objects.get(acronym='iab')
venus = Group.objects.create(
name="Three letter acronym",
acronym="venus",
description="This group discusses exploration of Venus",
state_id="active",
type_id="program",
parent=iab,
list_email="venus@ietf.org",
)
venus_session = Session.objects.create(
meeting=meeting,
group=venus,
attendees=10,
requested_duration=datetime.timedelta(minutes=60),
type_id='regular',
)
system_person = Person.objects.get(name="(System)")
SchedulingEvent.objects.create(session=venus_session, status_id='schedw', by=system_person)
room = Room.objects.create(meeting=meeting,
name="Aphrodite",
capacity=100,
functional_name="Aphrodite Room")
room.session_types.add('regular')
session_date = meeting.date + datetime.timedelta(days=1)
slot3 = TimeSlot.objects.create(meeting=meeting, type_id='regular', location=room,
duration=datetime.timedelta(minutes=60),
time=datetime.datetime.combine(session_date, datetime.time(13, 30)))
SchedTimeSessAssignment.objects.create(timeslot=slot3, session=venus_session, schedule=meeting.schedule)
url = urlreverse('ietf.meeting.views.agenda', kwargs=dict(num=meeting.number))
r = self.client.get(url)
self.assertContains(r, 'venus')
q = PyQuery(r.content)
venus_row = q('[id*="-iab-"]').html()
self.assertIn('venus', venus_row)
def test_agenda_current_audio(self):
date = datetime.date.today()
meeting = MeetingFactory(type_id='ietf', date=date )

View file

@ -118,7 +118,7 @@
{% else %}
<blockquote><i>No WG / RG data available -- no WG / RG sessions have been scheduled yet.</i></blockquote>
{% endif %}
<p>Also show sessions of these groups:</p>
<p>Also show special sessions of these groups:</p>
<div class="btn-group btn-group-justified">
<div class="btn-group"><button class="btn btn-default pickviewneg active iepg"> IEPG</button></div>
<div class="btn-group"><button class="btn btn-default pickviewneg active tools"> Tools</button></div>