Simplified meeting.session_details. Shows all sessions for a meeting on one page instead of having a page per session. Removes the by-date, by-weekday, by-sequence mechanic.
- Legacy-Id: 10701
This commit is contained in:
parent
67f0234cac
commit
4a453281ea
|
@ -61,10 +61,6 @@ urlpatterns = patterns('',
|
|||
(r'^(?P<num>\d+)/session/(?P<sessionid>\d+)/constraints.json', ajax.session_constraints),
|
||||
|
||||
(r'^(?P<num>\d+)/session/(?P<acronym>[A-Za-z0-9_\-\+]+)/$', views.session_details),
|
||||
(r'^(?P<num>\d+)/session/(?P<acronym>[A-Za-z0-9_\-\+]+)/(?P<seq>\d+)/$', views.session_details),
|
||||
(r'^(?P<num>\d+)/session/(?P<acronym>[A-Za-z0-9_\-\+]+)/(?P<week_day>[a-zA-Z]+)/$', views.session_details),
|
||||
(r'^(?P<num>\d+)/session/(?P<acronym>[A-Za-z0-9_\-\+]+)/(?P<date>\d{4}-\d{2}-\d{2}(-\d{4})?)/$', views.session_details),
|
||||
(r'^(?P<num>\d+)/session/(?P<acronym>[A-Za-z0-9_\-\+]+)/(?P<date>\d{4}-\d{2}-\d{2}(-\d{4})?)/(?P<seq>\d+)/$', views.session_details),
|
||||
|
||||
(r'^(?P<num>\d+)/constraint/(?P<constraintid>\d+).json', ajax.constraint_json),
|
||||
(r'^(?P<num>\d+).json$', ajax.meeting_json),
|
||||
|
|
|
@ -824,30 +824,13 @@ def meeting_requests(request, num=None):
|
|||
{"meeting": meeting, "sessions":sessions,
|
||||
"groups_not_meeting": groups_not_meeting})
|
||||
|
||||
def session_details(request, num, acronym, date=None, week_day=None, seq=None):
|
||||
def session_details(request, num, acronym ):
|
||||
meeting = get_meeting(num)
|
||||
sessions = Session.objects.filter(meeting=meeting,group__acronym=acronym,type__in=['session','plenary','other'])
|
||||
|
||||
if not sessions:
|
||||
sessions = Session.objects.filter(meeting=meeting,short=acronym)
|
||||
|
||||
if date:
|
||||
if len(date)==15:
|
||||
start = datetime.datetime.strptime(date,"%Y-%m-%d-%H%M")
|
||||
sessions = sessions.filter(timeslotassignments__schedule=meeting.agenda,timeslotassignments__timeslot__time=start)
|
||||
else:
|
||||
start = datetime.datetime.strptime(date,"%Y-%m-%d").date()
|
||||
end = start+datetime.timedelta(days=1)
|
||||
sessions = sessions.filter(timeslotassignments__schedule=meeting.agenda,timeslotassignments__timeslot__time__range=(start,end))
|
||||
|
||||
if week_day:
|
||||
try:
|
||||
dow = ['sun','mon','tue','wed','thu','fri','sat'].index(week_day.lower()[:3]) + 1
|
||||
except ValueError:
|
||||
raise Http404
|
||||
sessions = sessions.filter(timeslotassignments__schedule=meeting.agenda,timeslotassignments__timeslot__time__week_day=dow)
|
||||
|
||||
|
||||
def sort_key(session):
|
||||
official_sessions = session.timeslotassignments.filter(schedule=session.meeting.agenda)
|
||||
if official_sessions:
|
||||
|
@ -857,34 +840,19 @@ def session_details(request, num, acronym, date=None, week_day=None, seq=None):
|
|||
|
||||
sessions = sorted(sessions,key=sort_key)
|
||||
|
||||
if seq:
|
||||
iseq = int(seq) - 1
|
||||
if not iseq in range(0,len(sessions)):
|
||||
raise Http404
|
||||
else:
|
||||
sessions= [sessions[iseq]]
|
||||
|
||||
if not sessions:
|
||||
raise Http404
|
||||
|
||||
if len(sessions)==1:
|
||||
session = sessions[0]
|
||||
scheduled_time = "Not yet scheduled"
|
||||
for session in sessions:
|
||||
|
||||
ss = session.timeslotassignments.filter(schedule=meeting.agenda).order_by('timeslot__time')
|
||||
if ss:
|
||||
scheduled_time = ','.join(x.timeslot.time.strftime("%A %b-%d %H%M") for x in ss)
|
||||
session.time = ', '.join(x.timeslot.time.strftime("%A %b-%d %H%M") for x in ss) if ss else 'Not yet scheduled'
|
||||
|
||||
# TODO FIXME Deleted materials shouldn't be in the sessionpresentation_set
|
||||
filtered_sessionpresentation_set = [p for p in session.sessionpresentation_set.all() if p.document.get_state_slug(p.document.type_id)!='deleted']
|
||||
return render(request, "meeting/session_details.html",
|
||||
{ 'session':sessions[0] ,
|
||||
'meeting' :meeting ,
|
||||
'acronym' :acronym,
|
||||
'time': scheduled_time,
|
||||
'filtered_sessionpresentation_set': filtered_sessionpresentation_set
|
||||
})
|
||||
else:
|
||||
return render(request, "meeting/session_list.html",
|
||||
{ 'sessions':sessions ,
|
||||
'meeting' :meeting ,
|
||||
'acronym' :acronym,
|
||||
})
|
||||
session.filtered_sessionpresentation_set = [p for p in session.sessionpresentation_set.all() if p.document.get_state_slug(p.document.type_id)!='deleted']
|
||||
|
||||
return render(request, "meeting/session_details.html",
|
||||
{ 'sessions':sessions ,
|
||||
'meeting' :meeting ,
|
||||
'acronym' :acronym,
|
||||
})
|
||||
|
|
|
@ -6,20 +6,20 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>{{ meeting }} : {{ acronym }} : {{ time }} </h1>
|
||||
<h1>{{ meeting }} : {{ acronym }}</h1>
|
||||
|
||||
{% if session.name %}
|
||||
<h2>{{ session.name }}</h2>
|
||||
{% endif %}
|
||||
{% for session in sessions %}
|
||||
<h2>{{ session.time }}{% if session.name %} : {{ session.name }}{% endif %}</h2>
|
||||
|
||||
{% if filtered_sessionpresentation_set %}
|
||||
<p>Materials:</p>
|
||||
{% if session.filtered_sessionpresentation_set %}
|
||||
<p>Materials:</p>
|
||||
|
||||
<ul>
|
||||
{% for pres in filtered_sessionpresentation_set %}
|
||||
<li><a href="{% url 'doc_view' name=pres.document.name rev=pres.rev%}">{{ pres.document.name }}-{{ pres.rev }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for pres in session.filtered_sessionpresentation_set %}
|
||||
<li><a href="{% url 'doc_view' name=pres.document.name rev=pres.rev%}">{{ pres.document.name }}-{{ pres.rev }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% block title %}{{ meeting }} : {{ acronym }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>{{ meeting }} : {{ acronym }}</h1>
|
||||
|
||||
<ul>
|
||||
{% for session in sessions %}
|
||||
<li> <a href="{{ forloop.counter }}/">{{session}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
Loading…
Reference in a new issue