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:
parent
cf6d9efdd9
commit
04c8bfa6fa
|
@ -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 }} <{{ chair.person.email.1 }}></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 }} <{{ ad.person.email.1 }}></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 }} <{{wg.area_director.person.email.1 }}></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 }} <{{ techadvisor.person.email.1 }}></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 }} <{{ editor.person.email.1 }}></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 }} <{{ secretary.person.email.1 }}></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 %}
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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),
|
||||
)
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in a new issue