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:
parent
280c356e5d
commit
6f1186672f
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
})
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue