* Add meeting materials list page

* For testing, the page lists meeting materials regardless the submission cut off date.
 * Need to add Training sessions, IRTF RGs, and Interim WGs
 - Legacy-Id: 203
This commit is contained in:
Michael Lee 2007-06-01 04:10:39 +00:00
parent 11714d1a0d
commit 27edcb2b3e
6 changed files with 133 additions and 27 deletions

View file

@ -19,8 +19,8 @@ def wgdocs(request,cat):
queryset_list = InternetDraft.objects.filter(b_approve_date__gte = date_threshold, intended_status__in=[1,2,6,7],idinternal__via_rfc_editor=0).order_by("-b_approve_date")
queryset_list_doc = InternetDraft.objects.filter(b_approve_date__gte = date_threshold, intended_status__in=[3,5],idinternal__via_rfc_editor=0).order_by("-b_approve_date")
elif cat == 'previous':
queryset_list = InternetDraft.objects.filter(b_approve_date__lt = date_threshold, b_approve_date__gte = '1995-1-1', intended_status__in=[1,2,6,7]).order_by("-b_approve_date")
queryset_list_doc = InternetDraft.objects.filter(b_approve_date__lt = date_threshold, b_approve_date__gte = '1995-1-1', intended_status__in=[3,5]).order_by("-b_approve_date")
queryset_list = InternetDraft.objects.filter(b_approve_date__lt = date_threshold, b_approve_date__gte = '1998-10-15', intended_status__in=[1,2,6,7]).order_by("-b_approve_date")
queryset_list_doc = InternetDraft.objects.filter(b_approve_date__lt = date_threshold, b_approve_date__gte = '1998-10-15', intended_status__in=[3,5]).order_by("-b_approve_date")
else:
raise Http404
return object_list(request, queryset=queryset_list, template_name='iesg/ietf_doc.html', allow_empty=True, extra_context={'object_list_doc':queryset_list_doc, 'is_recent':is_recent })

View file

@ -7,6 +7,7 @@ import ietf.utils
from ietf.proceedings.models import Meeting, MeetingTime, WgMeetingSession, SessionName, NonSession, MeetingVenue, IESGHistory
from django.views.generic.list_detail import object_list
from django.http import Http404
from django.db.models import Q
def default(request):
"""Default page, with links to sub-pages"""
@ -30,7 +31,9 @@ def meeting_list(request, template):
# Details views
def show_html_materials(request, meeting_num=None):
return render("meeting/list.html",{})
# List of WG sessions and Plenary sessions
queryset_list = WgMeetingSession.objects.filter(Q(meeting=meeting_num, group_acronym_id__gte = -2, status_id=4), Q(irtf__isnull=True) | Q(irtf=0))
return object_list(request,queryset=queryset_list, template_name="meeting/list.html",allow_empty=True, extra_context={'meeting_num':meeting_num})
def show_html_agenda(request, meeting_num=None, html_or_txt=None):
try:

View file

@ -37,12 +37,29 @@ class ResolveAcronym(object):
def area(self):
if self.irtf:
area = "irtf"
elif self.group_acronym_id < 0 and self.group_acronym_id > -3:
area = "1plenary"
elif self.group_acronym_id < -2:
area = "ztrain"
else:
try:
area = AreaGroup.objects.get(group=self.group_acronym_id).area.area_acronym.acronym
except AreaGroup.DoesNotExist:
area = ""
return area
def area_name(self):
if self.irtf:
area_name = "IRTF"
elif self.group_acronym_id < 0 and self.group_acronym_id > -3:
area_name = "Plenary Sessions"
elif self.group_acronym_id < -2:
area_name = "Training"
else:
try:
area_name = AreaGroup.objects.get(group=self.group_acronym_id).area.area_acronym.name
except AreaGroup.DoesNotExist:
area_name = ""
return area_name
def isWG(self):
if self.irtf:
return False
@ -268,17 +285,37 @@ class WgMeetingSession(models.Model, ResolveAcronym):
combined_time_id2 = models.ForeignKey(MeetingTime, db_column='combined_time_id2', null=True, blank=True, related_name='now5')
def __str__(self):
return "%s at %s" % (self.acronym(), self.meeting)
def agenda_file(self):
def agenda_file(self,interimvar=0):
irtfvar = 0
if self.irtf:
irtfvar = self.irtf
try:
filename = WgAgenda.objects.get(meeting=self.meeting, group_acronym_id=self.group_acronym_id,irtf=irtfvar,interim=0).filename
filename = WgAgenda.objects.get(meeting=self.meeting, group_acronym_id=self.group_acronym_id,irtf=irtfvar,interim=interimvar).filename
dir = Proceeding.objects.get(meeting_num=self.meeting).dir_name
retvar = "%s/agenda/%s" % (dir,filename)
except WgAgenda.DoesNotExist:
retvar = ""
return retvar
def minute_file(self,interimvar=0):
irtfvar = 0
if self.irtf:
irtfvar = self.irtf
try:
filename = Minute.objects.get(meeting=self.meeting, group_acronym_id=self.group_acronym_id,irtf=irtfvar,interim=interimvar).filename
dir = Proceeding.objects.get(meeting_num=self.meeting).dir_name
retvar = "%s/minutes/%s" % (dir,filename)
except WgAgenda.DoesNotExist:
retvar = ""
return retvar
def slides(self,interimvar=0):
"""
Get all slides of this session.
"""
irtfvar = 0
if self.irtf:
irtfvar = self.irtf
slides = Slide.objects.filter(meeting=self.meeting,group_acronym_id=self.group_acronym_id,irtf=irtfvar,interim=interimvar).order_by("order_num")
return slides
class Meta:
db_table = 'wg_meeting_sessions'
class Admin:
@ -299,7 +336,7 @@ class WgAgenda(models.Model, ResolveAcronym):
class Minute(models.Model, ResolveAcronym):
meeting = models.ForeignKey(Meeting, db_column='meeting_num')
group_acronym = models.ForeignKey(Acronym, raw_id_admin=True)
group_acronym_id = models.IntegerField()
filename = models.CharField(blank=True, maxlength=255)
irtf = models.BooleanField()
interim = models.BooleanField()
@ -355,6 +392,22 @@ class Slide(models.Model, ResolveAcronym):
in_q = models.IntegerField(null=True, blank=True)
def __str__(self):
return "IETF%d: %s slides (%s)" % (self.meeting_id, self.acronym(), self.slide_name)
def file_loc(self):
dir = Proceeding.objects.get(meeting_num=self.meeting).dir_name
if self.slide_type_id==1:
return "%s/slides/%s-%s/sld1.htm" % (dir,self.acronym(),self.order_num)
else:
if self.slide_type_id == 2:
ext = ".pdf"
elif self.slide_type_id == 3:
ext = ".txt"
elif self.slide_type_id == 4:
ext = ".ppt"
elif self.slide_type_id == 5:
ext = ".doc"
else:
ext = ""
return "%s/slides/%s-%s%s" % (dir,self.acronym(),self.order_num,ext)
class Meta:
db_table = 'slides'
class Admin:

View file

@ -31,7 +31,7 @@ This page contains links to all IESG Protocol, Document, and Working Group Actio
<b>Date Sent: {{ date.grouper }} </b>
<ul>
{% for item in date.list %}
<li><a href="/iesg/ann/detail/{{ item.idinternal.ballot_id }}/">{{ item.id_document_name }}</a>
<li>{% if item.idinternal.ballot_id %}<a href="/iesg/ann/detail/{{ item.idinternal.ballot_id }}/">{% else %}<a href="http://www.ietf.org/IESG/Announcements/{{ item.filename }}.ann">{% endif %}{{ item.id_document_name }}</a>
{% endfor %}
</ul>
{% endfor %}

View file

@ -1,25 +1,42 @@
{% extends "base.html" %}
{% block title %} Meetings {% endblock %}
{% block title %} IETF {{ meeting_num }} Preliminary & Interim Materials {% endblock %}
{% block content %}
<link rel="stylesheet" type="text/css" href="https://www.ietf.org/css/base.css" />
<center>
<h2>IETF {{ meeting_num }} Preliminary & Interim Materials</h2>
<h4>Submission begin </h4>
<h4>Submission cutoff odate: </h4>
<h4>Corrections to submissions cutoff date: </h4>
<br>
Updated as of {% now "r" %}
<br><br>
<h3> The following meeting are in chronological order </h3>
<table border="1" cellpadding="2" cellspacing="2" width="820">
<tr>
<th> Meeting City </th> <th> Agenda </th> <th> Minutes </th><th> Materials </th>
</tr>
{% for meeting in meetings %}
<tr>
<td> {{ meeting.city}} ({{ meeting.meeting_num }}) </td>
<td> <a href="/meeting/{{meeting.meeting_num}}/agenda.html"> HTML</a> &middot;
<a href="/meeting/{{meeting.meeting_num}}/agenda.txt"> Text </a>
</td> <td>
<a href="/meeting/{{meeting.meeting_num}}/minutes.html"> HTML</a> &middot;
<a href="/meeting/{{meeting.meeting_num}}/minutes.txt"> Text </a>
</td>
<td>
<a href="/meeting/{{meeting.meeting_num}}/materials.html"> Materials </a>
</td>
</tr>
{% endfor %}
{% regroup object_list|dictsort:"area" by area_name as areas %}
{% for wgs in areas %}
<table cellpadding="0" cellspacing="0" border="2" width="80%">
<tr>
<td colspan=2 bgcolor="#0911DC" valign="center"><font color="#FFFFFF"><center><br><h3><img src="https://www1.ietf.org/images/ib2.gif" width="100%" height=21><br>{{ wgs.grouper }}</h3></center></font>
</td>
</tr>
</table>
{% for wg in wgs.list|dictsort:"acronym" %}
<table cellpadding="0" cellspacing="0" border="2" width="80%">
<tr><a name="wg-{{ wg.acronym }}"></a>
<td align="center" bgcolor="#DDFFDD" width="20%"><b>{{ wg.acronym|upper }}</b><br>
{% if wg.agenda_file %}<a href="http://www3..ietf.org/proceedings/{{ wg.agenda_file }}">[Agenda]</a>{% endif %}{% if wg.minute_file %} <a href="http://www3.ietf.org/proceedings/{{ wg.minute_file }}">[Minutes]</a>{% endif %}</td>
<td><table border="1" width="100%">
{% include "meeting/submission_status_snippet.html" %}
{% for slide in wg.slides %}
<tr><td><a href="http://www3.ietf.org/proceedings/{{ slide.file_loc }}">{{ slide.slide_name }}</a></td>
</tr>
{% endfor %}
</table>
</td>
</tr>
</table>
{% endfor %}
{% endfor %}
</center>
{% endblock %}

View file

@ -0,0 +1,33 @@
{% if wg.agenda_file and wg.minute_file and wg.slides %}
<tr bgcolor="#BBFFBB"><td>Presentation files received, agenda received, minutes received</td></tr>
{% else %}
{% if not wg.agenda_file and not wg.minute_file and not wg.slides %}
<tr bgcolor="#ff8888"><td>No presendtatio files, no agenda, no minutes</td></tr>
{% else %}
{% if not wg.agenda_file and wg.minute_file and not wg.slides %}
<tr bgcolor="ffffbb"><td>No presentation files, no agenda, minutes received</td></tr>
{% else %}
{% if wg.agenda_file and not wg.minute_file and not wg.slides %}
<tr bgcolor="ffffbb"><td>No presentation files, no minute, agenda received</td></tr>
{% else %}
{% if wg.agenda_file and wg.minute_file and not wg.slides %}
<tr bgcolor="ffffbb"><td>No presentation files, agenda received, minutes received</td></tr>
{% else %}
{% if not wg.agenda_file and not wg.minute_file and wg.slides %}
<tr bgcolor="ffcc88"><td>Presentation files received, no agenda, no minutes</td></tr>
{% else %}
{% if not wg.agenda_file and wg.minute_file and wg.slides %}
<tr bgcolor="ffcc88"><td>Presentation files received, no agenda, minutes received</td></tr>
{% else %}
{% if wg.agenda_file and not wg.minute_file and wg.slides %}
<tr bgcolor="ffcc88"><td>Presentation files received, agenda received, no minutes</td></tr>
{% else %}
<tr bgcolor="cccccc"><td>Unknown Status</td></tr>
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}