Merged in code from mark@painless-security.com in [17694] which provides historic_group information in the session_details() view, and a test case for same. Added 'now' information in the template dictionary, for use when rendering old (vs. upcoming) session details. Commit ready for merge.

- Legacy-Id: 17738
Note: SVN reference [17694] has been migrated to Git commit 4df7e5531f8273892c71a363cf328bb324585204
This commit is contained in:
Henrik Levkowetz 2020-05-05 13:04:11 +00:00
parent 280c356e5d
commit 6f1186672f
2 changed files with 23 additions and 1 deletions

View file

@ -1091,6 +1091,12 @@ class SessionDetailsTests(TestCase):
self.assertTrue(all([x in unicontent(r) for x in ('slides','agenda','minutes','draft')]))
self.assertNotContains(r, 'deleted')
q = PyQuery(r.content)
self.assertTrue(q('div.session_buttons#session_%s' % session.id),
'Session detail page does not contain session tool buttons')
self.assertFalse(q('div.session_buttons#session_%s span.fa-arrows-alt' % session.id),
'The session detail page is incorrectly showing the "Show meeting materials" button')
def test_session_details_past_interim(self):
group = GroupFactory.create(type_id='wg',state_id='active')
chair = RoleFactory(name_id='chair',group=group)

View file

@ -78,6 +78,7 @@ from ietf.secr.proceedings.utils import handle_upload_file
from ietf.secr.proceedings.proc_utils import (get_progress_stats, post_process, import_audio_files,
create_recording)
from ietf.utils.decorators import require_api_key
from ietf.utils.history import find_history_replacements_active_at
from ietf.utils.log import assertion
from ietf.utils.mail import send_mail_message, send_mail_text
from ietf.utils.pipe import pipe
@ -1128,9 +1129,22 @@ def session_details(request, num, acronym):
if not sessions:
raise Http404
# Find the time of the meeting, so that we can look back historically
# for what the group was called at the time.
meeting_time = datetime.datetime.combine(meeting.date, datetime.time())
groups = list(set([ s.group for s in sessions ]))
group_replacements = find_history_replacements_active_at(groups, meeting_time)
status_names = {n.slug: n.name for n in SessionStatusName.objects.all()}
for session in sessions:
session.historic_group = None
if session.group:
session.historic_group = group_replacements.get(session.group_id)
if session.historic_group:
session.historic_group.historic_parent = None
session.type_counter = Counter()
ss = session.timeslotassignments.filter(schedule=meeting.schedule).order_by('timeslot__time')
if ss:
@ -1183,6 +1197,7 @@ def session_details(request, num, acronym):
'can_manage_materials' : can_manage,
'can_view_request': can_view_request,
'thisweek': datetime.date.today()-datetime.timedelta(days=7),
'now': datetime.datetime.now(),
})
class SessionDraftsForm(forms.Form):
@ -2237,7 +2252,7 @@ def past(request):
def upcoming(request):
'''List of upcoming meetings'''
today = datetime.date.today()
today = datetime.date.today()-datetime.timedelta(days=7)
# Get ietf meetings starting 7 days ago, and interim meetings starting today
ietf_meetings = Meeting.objects.filter(type_id='ietf', date__gte=today-datetime.timedelta(days=7))
@ -2274,6 +2289,7 @@ def upcoming(request):
'menu_actions': actions,
'menu_entries': menu_entries,
'selected_menu_entry': selected_menu_entry,
'now': datetime.datetime.now()
})