From 2bae86397e50e35551499f90f71c20e20d6c9e05 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Mon, 25 Jan 2016 23:06:41 +0000 Subject: [PATCH] Show session details for interims as well as ietf meetings. Commit ready for merge. - Legacy-Id: 10733 --- ietf/meeting/helpers.py | 13 ++++++++----- ietf/meeting/urls.py | 3 ++- ietf/meeting/views.py | 9 +++++++-- ietf/templates/group/meetings-row.html | 2 +- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py index 7e31d7e53..279b9a1c0 100644 --- a/ietf/meeting/helpers.py +++ b/ietf/meeting/helpers.py @@ -106,15 +106,18 @@ def get_wg_list(assignments): return Group.objects.filter(acronym__in = set(wg_name_list)).order_by('parent__acronym','acronym') -def get_meetings(num=None): +def get_meetings(num=None,type_in=['ietf',]): + meetings = Meeting.objects + if type_in: + meetings = meetings.filter(type__in=type_in) if num == None: - meetings = Meeting.objects.filter(type="ietf").order_by("-date") + meetings = meetings.order_by("-date") else: - meetings = Meeting.objects.filter(type="ietf", number=num) + meetings = meetings.filter(number=num) return meetings -def get_meeting(num=None): - meetings = get_meetings(num) +def get_meeting(num=None,type_in=['ietf',]): + meetings = get_meetings(num,type_in) if meetings.exists(): return meetings.first() else: diff --git a/ietf/meeting/urls.py b/ietf/meeting/urls.py index 737da88b5..7ab8f7bf6 100644 --- a/ietf/meeting/urls.py +++ b/ietf/meeting/urls.py @@ -7,6 +7,7 @@ from ietf.meeting import views from ietf.meeting import ajax safe_for_all_meeting_types = [ + url(r'^session/(?P[A-Za-z0-9_\-\+]+)/$', views.session_details), ] type_ietf_only_patterns = [ @@ -37,7 +38,6 @@ type_ietf_only_patterns = [ url(r'^sessions.json', ajax.sessions_json), url(r'^session/(?P\d+).json', ajax.session_json), url(r'^session/(?P\d+)/constraints.json', ajax.session_constraints), - url(r'^session/(?P[A-Za-z0-9_\-\+]+)/$', views.session_details), url(r'^constraint/(?P\d+).json', ajax.constraint_json), url(r'^json$', ajax.meeting_json), ] @@ -61,6 +61,7 @@ urlpatterns = [ url(r'^(?P\d+)/materials.html$', views.materials), url(r'^requests.html$', RedirectView.as_view(url='/meeting/requests', permanent=True)), url(r'^(?P\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)), + url(r'^(?P[A-Za-z0-9._+-]+)/', include(safe_for_all_meeting_types)), # The optionals have to go first, otherwise the agenda/(owner)/(name)/ patterns match things they shouldn't url(r'^(?:(?P\d+)/)?', include(type_ietf_only_patterns_id_optional)), url(r'^(?P\d+)/', include(type_ietf_only_patterns)), diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 00951c9f8..a89903390 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -826,7 +826,7 @@ def meeting_requests(request, num=None): "groups_not_meeting": groups_not_meeting}) def session_details(request, num, acronym ): - meeting = get_meeting(num) + meeting = get_meeting(num=num,type_in=None) sessions = Session.objects.filter(meeting=meeting,group__acronym=acronym,type__in=['session','plenary','other']) if not sessions: @@ -847,7 +847,12 @@ def session_details(request, num, acronym ): for session in sessions: ss = session.timeslotassignments.filter(schedule=meeting.agenda).order_by('timeslot__time') - session.time = ', '.join(x.timeslot.time.strftime("%A %b-%d %H%M") for x in ss) if ss else 'Not yet scheduled' + if ss: + session.time = ', '.join(x.timeslot.time.strftime("%A %b-%d-%Y %H%M") for x in ss) + elif session.meeting.type_id=='interim': + session.time = session.meeting.date.strftime("%A %b-%d-%Y") + else: + session.time = 'Not yet scheduled' # TODO FIXME Deleted materials shouldn't be in the sessionpresentation_set session.filtered_sessionpresentation_set = [p for p in session.sessionpresentation_set.all() if p.document.get_state_slug(p.document.type_id)!='deleted'] diff --git a/ietf/templates/group/meetings-row.html b/ietf/templates/group/meetings-row.html index 3bb7ed0d1..dff8cee5f 100644 --- a/ietf/templates/group/meetings-row.html +++ b/ietf/templates/group/meetings-row.html @@ -21,7 +21,7 @@ {% if s.minutes %}Minutes{% endif %} {% if s.agenda %}Agenda{% endif %} - {% if s.meeting.type.slug == 'ietf' %}Materials{% endif %} + Materials {% endfor %}