Skip to content

Commit dc3f034

Browse files
author
Michael Lee
committed
* Add IESG Announcements pages
* Add BallotInfo model in idtracker models * Modified iesg/url.py for IESG Announcement pages - Legacy-Id: 117
1 parent 9212369 commit dc3f034

6 files changed

Lines changed: 163 additions & 0 deletions

File tree

ietf/idtracker/models.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,13 @@ def revision_display(self):
162162
if self.status.status != 'Active' and not self.expired_tombstone:
163163
r = max(r - 1, 0)
164164
return "%02d" % r
165+
def idballot(self): # Added by Sunny Lee to return ballot_id from id_internal
166+
idinternal = self.idinternal
167+
if idinternal:
168+
return idinternal.ballot_id
169+
else:
170+
return 0
171+
165172
class Meta:
166173
db_table = "internet_drafts"
167174
class Admin:
@@ -434,6 +441,24 @@ def get_username(self):
434441
class Meta:
435442
db_table = 'document_comments'
436443

444+
class BallotInfo(models.Model): # Added by Michael Lee
445+
ballot = models.IntegerField(primary_key=True, db_column='ballot_id')
446+
active = models.BooleanField()
447+
an_sent = models.BooleanField()
448+
an_sent_date = models.DateField(null=True, blank=True)
449+
an_sent_by = models.ForeignKey(IESGLogin, db_column='an_sent_by', related_name='ansent')
450+
defer = models.BooleanField(null=True, blank=True)
451+
defer_by = models.ForeignKey(IESGLogin, db_column='defer_by', related_name='deferred')
452+
defer_date = models.DateField(null=True, blank=True)
453+
approval_text = models.TextField(blank=True)
454+
last_call_text = models.TextField(blank=True)
455+
ballot_writeup = models.TextField(blank=True)
456+
ballot_issued = models.IntegerField(null=True, blank=True)
457+
def __str__(self):
458+
return self.approval_text
459+
class Meta:
460+
db_table = 'ballot_info'
461+
437462

438463
class IDAuthors(models.Model):
439464
document = models.ForeignKey(InternetDraft, db_column='id_document_tag', related_name='authors', edit_inline=models.TABULAR)

ietf/iesg/urls.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
from django.conf.urls.defaults import *
22
from ietf.iesg.models import TelechatMinutes
3+
from ietf.idtracker.models import BallotInfo, IDInternal, InternetDraft
4+
import datetime
35

6+
date_threshold = datetime.datetime.now().date() - datetime.timedelta(days=185)
47

58
#urlpatterns = patterns('django.views.generic.list_detail',
69
# (r'^lastcall/$', 'object_list', {
@@ -14,6 +17,20 @@
1417
}
1518
telechat_archive = dict(telechat_detail, allow_empty=True)
1619

20+
queryset_ann = BallotInfo.objects.all()
21+
22+
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")
23+
24+
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")
25+
26+
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")
27+
28+
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")
29+
30+
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')
31+
32+
queryset_list_ind_dnp = IDInternal.objects.filter(via_rfc_editor = 1,rfc_flag=0,dnp=1).order_by('-dnp_date')
33+
1734
urlpatterns = patterns('django.views.generic.date_based',
1835
(r'^telechat/$', 'archive_index', telechat_archive),
1936
(r'^telechat/(?P<year>\d{4})/$', 'archive_year', telechat_archive),
@@ -22,4 +39,9 @@
2239

2340
urlpatterns += patterns('django.views.generic.list_detail',
2441
(r'^telechat/detail/(?P<object_id>\d+)/$', 'object_detail', { 'queryset': queryset }),
42+
(r'^ann/detail/(?P<object_id>\d+)/$', 'object_detail', { 'queryset': queryset_ann }),
43+
(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 } }),
44+
(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 } }),
45+
(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 } }),
46+
(r'^ann/independent/$', 'object_list', { 'queryset':queryset_list_ind, 'template_name': 'iesg/independent_doc.html', 'extra_context': { 'object_list_dnp':queryset_list_ind_dnp } }),
2547
)

ietf/iesg/views.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,17 @@
11
# Create your views here.
2+
from django.views.generic.date_based import archive_index
3+
from ietf.idtracker.models import BallotInfo, IDInternal, InternetDraft
4+
import datetime
5+
6+
def display_recent(request):
7+
date_threshold = datetime.datetime.now().date() - datetime.timedelta(days=185)
8+
queryset_ann = BallotInfo.objects.all()
9+
queryset_list = InternetDraft.objects.all().filter(b_approve_date__gte = date_threshold, intended_status__in=[1,2,6,7])
10+
ann_detail = {
11+
'queryset': queryset_list,
12+
'date_field': 'b_approve_date',
13+
}
14+
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")
15+
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')
16+
return archive_index(queryset_list,'b_approve_date',{ 'allow_empty':True })
17+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{% extends "base.html" %}
2+
{% load ietf_filters %}
3+
4+
{% block title %}IESG Announcement{% endblock %}
5+
6+
{% block content %}
7+
{{ object.approval_text|escape|linebreaks|urlize }}
8+
{{ object.ballot_writeup|escape|linebreaks|urlize }}
9+
{% endblock %}
10+

ietf/templates/iesg/ietf_doc.html

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{% extends "base.html" %}
2+
{% block title %}{{ title_prefix }} IESG Announcements{% endblock %}
3+
{% block content %}
4+
<link rel="stylesheet" type="text/css" href="https://www1.ietf.org/css/base.css" />
5+
{% if is_recent %}
6+
<center><h2>Recent IESG Announcements</center>
7+
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>
8+
<br>
9+
<b>
10+
11+
1. <a href="#protocol">Protocol Action Announcements</a><br>
12+
2. <a href="#document">Document Action Announcements</a><br>
13+
3. <a href="#wg">Working Group Action Announcements</a><br>
14+
4. <a href="/iesg/ann/ietf-doc/previous/">Previous Announcements</a><br>
15+
</b>
16+
{% else %}
17+
<center><h2>Previous IESG Announcements</center>
18+
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>.
19+
<br><br>
20+
<b>
21+
1. <a href="#protocol">Protocol Action Announcements</a><br>
22+
2. <a href="#document">Document Action Announcements</a><br>
23+
3. <a href="#wg">Working Group Action Announcements</a><br>
24+
4. <a href="/iesg/ann/ietf-doc/recent/">Recent IESG Announcements</a><br>
25+
</b>
26+
{% endif %}
27+
<hr>
28+
<h3><a name="protocol">1. <u>Protocol Action Announcements</u></a></h3>
29+
{% regroup object_list by b_approve_date|date:"F j, Y" as dates %}
30+
{% for date in dates %}
31+
<b>Date Sent: {{ date.grouper }} </b>
32+
<ul>
33+
{% for item in date.list %}
34+
<li><a href="/iesg/ann/detail/{{ item.idinternal.ballot_id }}/">{{ item.id_document_name }}</a>
35+
{% endfor %}
36+
</ul>
37+
{% endfor %}
38+
39+
<h3><a name="document">2. <u>Document Action Announcements</u></a></h3>
40+
{% regroup object_list_doc by b_approve_date|date:"F j, Y" as dates %}
41+
{% for date in dates %}
42+
<b>Date Sent: {{ date.grouper }} </b>
43+
<ul>
44+
{% for item in date.list %}
45+
<li><a href="/iesg/ann/detail/{{ item.idinternal.ballot_id }}/">{{ item.id_document_name }}</a>
46+
{% endfor %}
47+
</ul>
48+
{% endfor %}
49+
50+
<h3><a name="wg">3. <u>Working Group Action Announcements</u></a></h3>
51+
<font color="red"><i>Coming Soon ...</i></font>
52+
53+
{% endblock %}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{% extends "base.html" %}
2+
{% block title %}IESG Statements on Independent Submissions{% endblock %}
3+
{% block content %}
4+
<link rel="stylesheet" type="text/css" href="https://www1.ietf.org/css/base.css" />
5+
<center><h2>IESG Statements on Independent Submissions</center>
6+
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.
7+
<hr>
8+
9+
<h3>Positive IESG Response</h3>
10+
11+
{% regroup object_list by draft.b_approve_date|date:"F j, Y" as dates %}
12+
{% for date in dates %}
13+
<b>Date Sent: {{ date.grouper }}</b>
14+
<ul>
15+
{% for item in date.list %}
16+
<li><a href="/iesg/ann/detail/{{ item.ballot_id }}/">{{ item.draft.id_document_name }}</a>
17+
{% endfor %}
18+
</ul>
19+
{% endfor %}
20+
21+
22+
<B><a href="http://www.ietf.org/IESG/RFCED-YES.html">OLD LIST</a></B><hr>
23+
<h3>Negative IESG Responses</h3>
24+
{% regroup object_list_dnp by dnp_date|date:"F j, Y" as dates %}
25+
{% for date in dates %}
26+
<b>Date Sent: {{ date.grouper }}</b>
27+
<ul>
28+
{% for item in date.list %}
29+
<li><a href="/iesg/ann/detail/{{ item.ballot_id }}/">{{ item.draft.id_document_name }}</a>
30+
{% endfor %}
31+
</ul>
32+
{% endfor %}
33+
34+
<br>
35+
36+
<B><a href="http://www.ietf.org/IESG/RFCED-NO.html">OLD LIST</a></B><br><br><br><br>
37+
{% endblock %}

0 commit comments

Comments
 (0)