Skip to content

Commit 8868274

Browse files
committed
Create a redirect for the document-ID numeric URL to the filename one.
- Legacy-Id: 814
1 parent 0f08671 commit 8868274

3 files changed

Lines changed: 9 additions & 3 deletions

File tree

ietf/idtracker/testurls.list

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
200 /idtracker/status/
99
skipdiff,200 /idtracker/status/last-call/ https://datatracker.ietf.org/public/lastcall.cgi
1010
200 /idtracker/rfc3847/ https://datatracker.ietf.org/public/pidtracker.cgi?command=view_id&dTag=3847&rfc_flag=1
11-
200 /idtracker/12689/ https://datatracker.ietf.org/public/pidtracker.cgi?command=view_id&dTag=12689&rfc_flag=0
11+
301,skipdiff /idtracker/12689/ https://datatracker.ietf.org/public/pidtracker.cgi?command=view_id&dTag=12689&rfc_flag=0
1212
skipredirect,200 /idtracker/draft-ietf-isis-link-attr/ https://datatracker.ietf.org/public/pidtracker.cgi?command=view_id&dTag=12689&rfc_flag=0
1313
skipredirect,200 /idtracker/draft-ietf-isis-link-attr/comment/65232/ https://datatracker.ietf.org/public/pidtracker.cgi?command=view_comment&id=65232
1414
200 /idtracker/comment/65232/ https://datatracker.ietf.org/public/pidtracker.cgi?command=view_comment&id=65232

ietf/idtracker/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
)
3131
urlpatterns += patterns('django.views.generic.list_detail',
3232
(r'^rfc(?P<object_id>\d+)/$', 'object_detail', rfc_dict),
33-
(r'^(?P<object_id>\d+)/$', 'object_detail', id_dict),
3433
)
3534
urlpatterns += patterns('',
35+
(r'^(?P<object_id>\d+)/$', views.redirect_id),
3636
(r'^(?P<slug>[^/]+)/$', views.view_id, dict(id_dict, slug_field='draft__filename')),
3737
(r'^comment/(?P<object_id>\d+)/$', views.view_comment, comment_dict),
3838
(r'^ballot/(?P<object_id>\d+)/$', views.view_ballot, ballot_dict),

ietf/idtracker/views.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# Copyright The IETF Trust 2007, All Rights Reserved
22

33
# Create your views here.
4-
from django.http import HttpResponseRedirect
4+
from django.http import HttpResponseRedirect, HttpResponsePermanentRedirect
55
from django import newforms as forms
66
from django.template import RequestContext
77
from django.shortcuts import get_object_or_404, render_to_response
88
from django.db.models import Q
9+
from django.core.urlresolvers import reverse
910
from django.views.generic.list_detail import object_detail, object_list
1011
from ietf.idtracker.models import InternetDraft, IDInternal, IDState, IDSubState, Rfc, DocumentWrapper
1112
from ietf.idtracker.forms import IDSearch, EmailFeedback
@@ -187,6 +188,11 @@ def last_call(request):
187188
queryset = IDInternal.objects.filter(primary_flag=1).filter(cur_state__state__in=('In Last Call', 'Waiting for Writeup', 'Waiting for AD Go-Ahead')).order_by('cur_state', 'status_date', 'ballot_id')
188189
return object_list(request, template_name="idtracker/status_of_items.html", queryset=queryset, extra_context={'title': 'Documents in Last Call'})
189190

191+
def redirect_id(request, object_id):
192+
'''Redirect from historical document ID to preferred filename url.'''
193+
doc = get_object_or_404(InternetDraft, id_document_tag=object_id)
194+
return HttpResponsePermanentRedirect(reverse(view_id, args=[doc.filename]))
195+
190196
# Wrappers around object_detail to give permalink a handle.
191197
# The named-URLs feature in django 0.97 will eliminate the
192198
# need for these.

0 commit comments

Comments
 (0)