Refactoring /wg/: use redirects instead of redundant URLs; removed old charter pages (not used/linked to); misc. cleaning

- Legacy-Id: 2163
This commit is contained in:
Pasi Eronen 2010-03-21 12:58:01 +00:00
parent cf6d9efdd9
commit 04c8bfa6fa
6 changed files with 21 additions and 175 deletions

View file

@ -1,135 +0,0 @@
{% extends "base.html" %}
{% load ietf_filters %}
{# Copyright The IETF Trust 2009, All Rights Reserved #}
{% block title %} {{ wg.group_acronym.name|escape }} ({{wg}}) Charter {% endblock %}
{% block content %}
{% ifequal wg.status.status 'Concluded' %}<div class="wgdone"> {%endifequal%}
{% ifequal wg.status.status 'Dormant' %}<div class="wgdormant"> {%endifequal%}
<h1>{{wg.group_acronym.name|escape}} ({{wg}}) {{wg.group_type}}</h1>
<p>Last Modified: {{ wg.last_modified_date }}</p>
<p>Status: {% ifequal wg.status.status 'Active' %}Active{%else%}
<font color="red">{{ wg.status }}
{% ifequal wg.status.status 'Concluded' %}on {{wg.concluded_date}}{%endifequal%}
{% ifequal wg.status.status 'Dormant' %}on {{wg.dormant_date}}{%endifequal%}
</font>
{% endifequal %}</p>
<h2>Chair{{ wg.chairs.count|pluralize:",s" }}:</h2>
<ul>
{% for chair in wg.chairs %}
<li><a href="mailto:{{ chair.person.email.1 }}">{{ chair.person|escape }} &lt;{{ chair.person.email.1 }}&gt;</a></li>
{% endfor %}
</ul>
<h2>Area Directors:</h2>
<ul>
{% for ad in wg.area_directors %}
<li><a href="mailto:{{ ad.person.email.1 }}">{{ ad.person }} &lt;{{ ad.person.email.1 }}&gt;</a></li>
{% endfor %}
</ul>
{% ifequal wg.area_director.person.email.1 "noreply@ietf.org" %}{%else%}
<h2>Area Advisor:</h2>
<ul>
<li><a href="mailto:{{ wg.area_director.person.email.1 }}">{{ wg.area_director.person }} &lt;{{wg.area_director.person.email.1 }}&gt;</a></li>
</ul>
{% endifequal %}
{% if wg.wgtechadvisor_set.count %}
<h2>Tech Advisor{{ wg.wgtechadvisor_set.count|pluralize:",s" }}:</h2>
<ul>
{% for techadvisor in wg.wgtechadvisor_set.all %}
<li><a href="mailto:{{ techadvisor.person.email.1 }}">{{ techadvisor.person }} &lt;{{ techadvisor.person.email.1 }}&gt;</a></li>
{% endfor %}
</ul>
{% endif %}
{% if wg.wgeditor_set.count %}
<h2>Editor{{ wg.wgeditor_set.count|pluralize:",s" }}:</h2>
<ul>
{% for editor in wg.wgeditor_set.all %}
<li><a href="mailto:{{ editor.person.email.1 }}">{{ editor.person }} &lt;{{ editor.person.email.1 }}&gt;</a></li>
{% endfor %}
</ul>
{% endif %}
{% if wg.secretaries %}
<h2>Secretar{{ wg.secretaries.count|pluralize:"y,ies" }}:</h2>
<ul>
{% for secretary in wg.secretaries %}
<li><a href="mailto:{{ secretary.person.email.1 }}">{{ secretary.person }} &lt;{{ secretary.person.email.1 }}&gt;</a></li>
{% endfor %}
</ul>
{% endif %}
<h2>Mailing List:</h2>
<table>
<tr><td>General Discussion:</td><td> <a href="mailto:{{ wg.email_address }}">{{ wg.email_address }}</a></td></tr>
<tr><td>To Subscribe:</td><td<a href="{{ wg.email_subscribe }}">{{ wg.email_subscribe }}</a></td></tr>
<tr><td>Archive:</td><td><a href="{{ wg.email_archive }}">{{ wg.email_archive }}</a></td></tr>
</table>
<h2>Description of Working Group:</h2>
<blockquote><p>{{ wg.charter_text|escape|format_charter|safe }}</p></blockquote>
<h2>Goals and Milestones:</h2>
<table>
{% for milestone in wg.milestones %}
<tr>
<td width="80px">
{% ifequal milestone.done 'Done' %} Done
{% else %}
{%ifequal milestone.expected_due_date.month 1 %}Jan{% endifequal %}
{%ifequal milestone.expected_due_date.month 2 %}Feb{% endifequal %}
{%ifequal milestone.expected_due_date.month 3 %}Mar{% endifequal %}
{%ifequal milestone.expected_due_date.month 4 %}Apr{% endifequal %}
{%ifequal milestone.expected_due_date.month 5 %}May{% endifequal %}
{%ifequal milestone.expected_due_date.month 6 %}Jun{% endifequal %}
{%ifequal milestone.expected_due_date.month 7 %}Jul{% endifequal %}
{%ifequal milestone.expected_due_date.month 8 %}Aug{% endifequal %}
{%ifequal milestone.expected_due_date.month 9 %}Sep{% endifequal %}
{%ifequal milestone.expected_due_date.month 10 %}Oct{% endifequal %}
{%ifequal milestone.expected_due_date.month 11 %}Nov{% endifequal %}
{%ifequal milestone.expected_due_date.month 12 %}Dec{% endifequal %}
{{ milestone.expected_due_date.year }}
{% endifequal %}
</td>
<td>{{ milestone.description|escape }}
</td></tr>
{% endfor %}
<table>
<h2>Internet-Drafts:</h2>
<ul>
{% for draft in wg.drafts %}
<li><a href="{{draft.doclink}}">{{draft.title|escape}}</a> ({{ draft.txt_page_count }} pages)</li>
{% endfor %}
</ul>
{% if wg.rfcs %}
<h2>Requests for Comments:</h2>
<table>
{% for rfc in wg.rfcs %}
<tr><td>{{rfc}}{% if rfc.fyi_number %}<br> / FYI{{rfc.fyi_number}}{%endif%}{% if rfc.std_number %}<br> / STD{{rfc.std_number}}{%endif%}:
</td><td><a href="{{rfc.doclink}}">{{rfc.title|escape}}</a> ({{rfc.txt_page_count}} pages)
{% for obs in rfc.obsoletes%}
- <font color="orange">{{obs.action}} RFC{{obs.rfc_acted_on_id}}</font>
{% endfor %}
{% for obs in rfc.obsoleted_by%}
- {%ifequal obs.action 'Obsoletes'%}<font color="red">Obsoleted by{%else%}<font color="orange">Updated by{%endifequal%} RFC{{obs.rfc_id}}
{% endfor %}
</td></tr>
{% endfor %}
</table>
{% else %}
<h2>No Requests for Comments</h2>
{% endif %}
{% ifequal wg.status.status 'Concluded' %} </div> {%endifequal%}
{% ifequal wg.status.status 'Dormant' %} </div> {%endifequal%}
{% endblock %}

View file

@ -6,17 +6,14 @@
200 /wg/mobike/charter/
200 /wg/catnip/ # concluded very long time ago
200 /wg/catnip/charter/ # concluded very long time ago
200 /wg/summary.txt
404 /wg/saag/ # not a WG
404 /wg/saag/charter/ # not a WG
200 /wg/1wg-summary.txt
200 /wg/summary-by-area.txt
200 /wg/summary-by-acronym.txt
200 /wg/pkix-charter.html
200 /wg/pkix-charter.txt
200 /wg/csi-charter.html
200 /wg/csi-charter.txt
200 /wg/v6ops-charter.html
200 /wg/v6ops-charter.txt
404 /wg/nosuchgroup-charter.html
404 /wg/nosuchgroup-charter.txt
200 /wg/1wg-summary-by-acronym.txt
301 /wg/summary.txt
301 /wg/summary-by-area.txt
301 /wg/summary-by-acronym.txt
200,heavy /wg/1wg-charters.txt
200,heavy /wg/1wg-charters-by-acronym.txt

View file

@ -2,17 +2,17 @@
from django.conf.urls.defaults import patterns
from ietf.wginfo import views
from django.views.generic.simple import redirect_to
urlpatterns = patterns('',
(r'^$', views.wg_dir),
(r'^summary.txt', views.wg_summary_area),
(r'^summary.txt', redirect_to, { 'url':'/wg/1wg-summary.txt' }),
(r'^summary-by-area.txt', redirect_to, { 'url':'/wg/1wg-summary.txt' }),
(r'^summary-by-acronym.txt', redirect_to, { 'url':'/wg/1wg-summary-by-acronym.txt' }),
(r'^1wg-summary.txt', views.wg_summary_area),
(r'^summary-by-area.txt', views.wg_summary_area),
(r'^summary-by-acronym.txt', views.wg_summary_acronym),
(r'^(?P<wg>.*)-charter.html', views.wg_charter),
(r'^(?P<wg>.*)-charter.txt', views.wg_charter_txt),
(r'^1wg-summary-by-acronym.txt', views.wg_summary_acronym),
(r'^1wg-charters.txt', views.wg_charters),
(r'^1wg-charters-by-acronym.txt', views.wg_charters_by_acronym),
(r'^(?P<acronym>[^/]+)/$', views.wg_documents),
(r'^(?P<acronym>[^/]+)/charter/$', views.wg_charter2),
(r'^(?P<acronym>[^/]+)/charter/$', views.wg_charter),
)

View file

@ -36,34 +36,16 @@ from ietf.idtracker.models import Area, IETFWG
from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext, loader
from django.http import HttpResponse
from ietf.idrfc.views_search import SearchForm, search_query
def wg_summary_acronym(request):
areas = Area.active_areas()
wgs = IETFWG.objects.filter(status=IETFWG.ACTIVE)
return HttpResponse(loader.render_to_string('wginfo/summary-by-acronym.txt', {'area_list': areas, 'wg_list': wgs}),mimetype='text/plain; charset=UTF-8')
return HttpResponse(loader.render_to_string('wginfo/1wg-summary-by-acronym.txt', {'area_list': areas, 'wg_list': wgs}),mimetype='text/plain; charset=UTF-8')
def wg_summary_area(request):
wgs = IETFWG.objects.filter(status='1',start_date__isnull=False)
return HttpResponse(loader.render_to_string('wginfo/summary-by-area.txt', {'wg_list': wgs}),mimetype='text/plain; charset=UTF-8')
def wg_dir(request):
areas = Area.active_areas()
return render_to_response('wginfo/wg-dir.html', {'areas':areas}, RequestContext(request))
def collect_wg_info(acronym):
wg = get_object_or_404(IETFWG, group_acronym__acronym=acronym)
return {'wg': wg}
def wg_charter(request, wg="1"):
return render_to_response('wginfo/wg-charter.html', collect_wg_info(wg), RequestContext(request))
def generate_text_charter(wg):
text = loader.render_to_string('wginfo/wg-charter.txt',collect_wg_info(wg));
return text
def wg_charter_txt(request, wg="1"):
return HttpResponse(generate_text_charter(wg),
mimetype='text/plain; charset=UTF-8')
return HttpResponse(loader.render_to_string('wginfo/1wg-summary.txt', {'wg_list': wgs}),mimetype='text/plain; charset=UTF-8')
def wg_charters(request):
wgs = IETFWG.objects.filter(status='1',start_date__isnull=False)
@ -73,7 +55,9 @@ def wg_charters_by_acronym(request):
wgs = IETFWG.objects.filter(status='1',start_date__isnull=False)
return HttpResponse(loader.render_to_string('wginfo/1wg-charters-by-acronym.txt', {'wg_list': wgs}),mimetype='text/plain; charset=UTF-8')
from ietf.idrfc.views_search import SearchForm, search_query
def wg_dir(request):
areas = Area.active_areas()
return render_to_response('wginfo/wg-dir.html', {'areas':areas}, RequestContext(request))
def wg_documents(request, acronym):
wg = get_object_or_404(IETFWG, group_acronym__acronym=acronym, group_type=1)
@ -85,7 +69,7 @@ def wg_documents(request, acronym):
(docs,meta) = search_query(form.cleaned_data)
return render_to_response('wginfo/wg_documents.html', {'wg': wg, 'concluded':concluded, 'selected':'documents', 'docs':docs, 'meta':meta}, RequestContext(request))
def wg_charter2(request, acronym):
def wg_charter(request, acronym):
wg = get_object_or_404(IETFWG, group_acronym__acronym=acronym, group_type=1)
concluded = (wg.status_id != 1)
return render_to_response('wginfo/wg_charter.html', {'wg': wg, 'concluded':concluded, 'selected':'charter'}, RequestContext(request))