* Add IESG Announcements pages

* Add BallotInfo model in idtracker models
 * Modified iesg/url.py for IESG Announcement pages
 - Legacy-Id: 117
This commit is contained in:
Michael Lee 2007-05-10 15:06:48 +00:00
parent 921236978b
commit dc3f03480d
6 changed files with 163 additions and 0 deletions

View file

@ -162,6 +162,13 @@ class InternetDraft(models.Model):
if self.status.status != 'Active' and not self.expired_tombstone:
r = max(r - 1, 0)
return "%02d" % r
def idballot(self): # Added by Sunny Lee to return ballot_id from id_internal
idinternal = self.idinternal
if idinternal:
return idinternal.ballot_id
else:
return 0
class Meta:
db_table = "internet_drafts"
class Admin:
@ -434,6 +441,24 @@ class DocumentComment(models.Model):
class Meta:
db_table = 'document_comments'
class BallotInfo(models.Model): # Added by Michael Lee
ballot = models.IntegerField(primary_key=True, db_column='ballot_id')
active = models.BooleanField()
an_sent = models.BooleanField()
an_sent_date = models.DateField(null=True, blank=True)
an_sent_by = models.ForeignKey(IESGLogin, db_column='an_sent_by', related_name='ansent')
defer = models.BooleanField(null=True, blank=True)
defer_by = models.ForeignKey(IESGLogin, db_column='defer_by', related_name='deferred')
defer_date = models.DateField(null=True, blank=True)
approval_text = models.TextField(blank=True)
last_call_text = models.TextField(blank=True)
ballot_writeup = models.TextField(blank=True)
ballot_issued = models.IntegerField(null=True, blank=True)
def __str__(self):
return self.approval_text
class Meta:
db_table = 'ballot_info'
class IDAuthors(models.Model):
document = models.ForeignKey(InternetDraft, db_column='id_document_tag', related_name='authors', edit_inline=models.TABULAR)

View file

@ -1,6 +1,9 @@
from django.conf.urls.defaults import *
from ietf.iesg.models import TelechatMinutes
from ietf.idtracker.models import BallotInfo, IDInternal, InternetDraft
import datetime
date_threshold = datetime.datetime.now().date() - datetime.timedelta(days=185)
#urlpatterns = patterns('django.views.generic.list_detail',
# (r'^lastcall/$', 'object_list', {
@ -14,6 +17,20 @@ telechat_detail = {
}
telechat_archive = dict(telechat_detail, allow_empty=True)
queryset_ann = BallotInfo.objects.all()
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")
queryset_list_old = 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_old_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_ind = IDInternal.objects.filter(via_rfc_editor = 1,rfc_flag=0,noproblem=1, dnp=0).select_related().order_by('-internet_drafts.b_approve_date')
queryset_list_ind_dnp = IDInternal.objects.filter(via_rfc_editor = 1,rfc_flag=0,dnp=1).order_by('-dnp_date')
urlpatterns = patterns('django.views.generic.date_based',
(r'^telechat/$', 'archive_index', telechat_archive),
(r'^telechat/(?P<year>\d{4})/$', 'archive_year', telechat_archive),
@ -22,4 +39,9 @@ urlpatterns = patterns('django.views.generic.date_based',
urlpatterns += patterns('django.views.generic.list_detail',
(r'^telechat/detail/(?P<object_id>\d+)/$', 'object_detail', { 'queryset': queryset }),
(r'^ann/detail/(?P<object_id>\d+)/$', 'object_detail', { 'queryset': queryset_ann }),
(r'^ann/ietf-doc/$', 'object_list', { 'queryset':queryset_list, 'template_name': 'iesg/ietf_doc.html', 'extra_context': { 'object_list_doc':queryset_list_doc, 'is_recent':1 } }),
(r'^ann/ietf-doc/recent/$', 'object_list', { 'queryset':queryset_list, 'template_name': 'iesg/ietf_doc.html', 'extra_context': { 'object_list_doc':queryset_list_doc, 'is_recent':1 } }),
(r'^ann/ietf-doc/previous/$', 'object_list', { 'queryset':queryset_list_old, 'template_name': 'iesg/ietf_doc.html', 'extra_context': { 'object_list_doc':queryset_list_old_doc } }),
(r'^ann/independent/$', 'object_list', { 'queryset':queryset_list_ind, 'template_name': 'iesg/independent_doc.html', 'extra_context': { 'object_list_dnp':queryset_list_ind_dnp } }),
)

View file

@ -1 +1,17 @@
# Create your views here.
from django.views.generic.date_based import archive_index
from ietf.idtracker.models import BallotInfo, IDInternal, InternetDraft
import datetime
def display_recent(request):
date_threshold = datetime.datetime.now().date() - datetime.timedelta(days=185)
queryset_ann = BallotInfo.objects.all()
queryset_list = InternetDraft.objects.all().filter(b_approve_date__gte = date_threshold, intended_status__in=[1,2,6,7])
ann_detail = {
'queryset': queryset_list,
'date_field': 'b_approve_date',
}
queryset_list_doc = InternetDraft.objects.all().filter(b_approve_date__gte = date_threshold, intended_status__in=[3,5]).select_related().order_by("-b_approve_date")
ann_archive = dict(ann_detail, allow_empty=True, num_latest=15000, extra_context={'is_recent':1,'queryset_doc':queryset_list_doc, 'title_prefix':'Recent'},template_name='iesg/ann/ietf_doc.html')
return archive_index(queryset_list,'b_approve_date',{ 'allow_empty':True })

View file

@ -0,0 +1,10 @@
{% extends "base.html" %}
{% load ietf_filters %}
{% block title %}IESG Announcement{% endblock %}
{% block content %}
{{ object.approval_text|escape|linebreaks|urlize }}
{{ object.ballot_writeup|escape|linebreaks|urlize }}
{% endblock %}

View file

@ -0,0 +1,53 @@
{% extends "base.html" %}
{% block title %}{{ title_prefix }} IESG Announcements{% endblock %}
{% block content %}
<link rel="stylesheet" type="text/css" href="https://www1.ietf.org/css/base.css" />
{% if is_recent %}
<center><h2>Recent IESG Announcements</center>
This page contains links to all IESG Protocol, Document, and Working Group Action announcements that have been sent within the past six months. Announcements that were sent prior to six month ago can be found in <a href="previous/">Previous Announcements</a>.<br>
<br>
<b>
1. <a href="#protocol">Protocol Action Announcements</a><br>
2. <a href="#document">Document Action Announcements</a><br>
3. <a href="#wg">Working Group Action Announcements</a><br>
4. <a href="/iesg/ann/ietf-doc/previous/">Previous Announcements</a><br>
</b>
{% else %}
<center><h2>Previous IESG Announcements</center>
This page contains links to all IESG Protocol, Document, and Working Group Action announcements that were sent prior to six months ago. Announcements that have been sent within the past six months can be found in <a href="../">Recent Announcements</a>.
<br><br>
<b>
1. <a href="#protocol">Protocol Action Announcements</a><br>
2. <a href="#document">Document Action Announcements</a><br>
3. <a href="#wg">Working Group Action Announcements</a><br>
4. <a href="/iesg/ann/ietf-doc/recent/">Recent IESG Announcements</a><br>
</b>
{% endif %}
<hr>
<h3><a name="protocol">1. <u>Protocol Action Announcements</u></a></h3>
{% regroup object_list by b_approve_date|date:"F j, Y" as dates %}
{% for date in dates %}
<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>
{% endfor %}
</ul>
{% endfor %}
<h3><a name="document">2. <u>Document Action Announcements</u></a></h3>
{% regroup object_list_doc by b_approve_date|date:"F j, Y" as dates %}
{% for date in dates %}
<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>
{% endfor %}
</ul>
{% endfor %}
<h3><a name="wg">3. <u>Working Group Action Announcements</u></a></h3>
<font color="red"><i>Coming Soon ...</i></font>
{% endblock %}

View file

@ -0,0 +1,37 @@
{% extends "base.html" %}
{% block title %}IESG Statements on Independent Submissions{% endblock %}
{% block content %}
<link rel="stylesheet" type="text/css" href="https://www1.ietf.org/css/base.css" />
<center><h2>IESG Statements on Independent Submissions</center>
The RFC Editor receives requests to publish non-IETF Working Group documents as independent Informational or Experimental RFCs. Following the process defined in RFC 3932, the RFC Editor requests that the IESG review these documents and provide input. This page contains copies of those messages that were sent by the IESG to the RFC Editor following such reviews.
<hr>
<h3>Positive IESG Response</h3>
{% regroup object_list by draft.b_approve_date|date:"F j, Y" as dates %}
{% for date in dates %}
<b>Date Sent: {{ date.grouper }}</b>
<ul>
{% for item in date.list %}
<li><a href="/iesg/ann/detail/{{ item.ballot_id }}/">{{ item.draft.id_document_name }}</a>
{% endfor %}
</ul>
{% endfor %}
<B><a href="http://www.ietf.org/IESG/RFCED-YES.html">OLD LIST</a></B><hr>
<h3>Negative IESG Responses</h3>
{% regroup object_list_dnp by dnp_date|date:"F j, Y" as dates %}
{% for date in dates %}
<b>Date Sent: {{ date.grouper }}</b>
<ul>
{% for item in date.list %}
<li><a href="/iesg/ann/detail/{{ item.ballot_id }}/">{{ item.draft.id_document_name }}</a>
{% endfor %}
</ul>
{% endfor %}
<br>
<B><a href="http://www.ietf.org/IESG/RFCED-NO.html">OLD LIST</a></B><br><br><br><br>
{% endblock %}