Handle bare numbers and rfc names with a space for the /doc/html view. Fixes #1999. Commit ready for merge.
- Legacy-Id: 19095
This commit is contained in:
parent
c8ed251ae3
commit
5f6816d742
|
@ -690,6 +690,14 @@ Man Expires September 22, 2015 [Page 3]
|
|||
r = self.client.get(urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=draft.name, rev=draft.rev)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
rfc = WgRfcFactory()
|
||||
r = self.client.get(urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=rfc.canonical_name())))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
r = self.client.get(urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=rfc.rfc_number())))
|
||||
self.assertRedirects(r, urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=rfc.canonical_name())))
|
||||
r = self.client.get(urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=f'RFC {rfc.rfc_number()}')))
|
||||
self.assertRedirects(r, urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=rfc.canonical_name())))
|
||||
|
||||
# expired draft
|
||||
draft.set_state(State.objects.get(type="draft", slug="expired"))
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ urlpatterns = [
|
|||
url(r'^html/(?P<name>bcp[0-9]+?)(\.txt|\.html)?/?$', RedirectView.as_view(url=settings.RFC_EDITOR_INFO_BASE_URL+"%(name)s", permanent=False)),
|
||||
url(r'^html/(?P<name>std[0-9]+?)(\.txt|\.html)?/?$', RedirectView.as_view(url=settings.RFC_EDITOR_INFO_BASE_URL+"%(name)s", permanent=False)),
|
||||
url(r'^html/%(name)s(?:-%(rev)s)?(\.txt|\.html)?/?$' % settings.URL_REGEXPS, views_doc.document_html),
|
||||
url(r'^html/(?P<name>[Rr][Ff][Cc] [0-9]+?)(\.txt|\.html)?/?$', views_doc.document_html),
|
||||
|
||||
url(r'^all/?$', views_search.index_all_drafts),
|
||||
url(r'^active/?$', views_search.index_active_drafts),
|
||||
|
|
|
@ -670,6 +670,10 @@ def document_html(request, name, rev=None):
|
|||
if rev and not name.startswith('charter-') and re.search('[0-9]{1,2}-[0-9]{2}', rev):
|
||||
name = "%s-%s" % (name, rev[:-3])
|
||||
rev = rev[-2:]
|
||||
if re.match("^[0-9]+$", name):
|
||||
return redirect('ietf.doc.views_doc.document_html',name=f'rfc{name}')
|
||||
if re.match("^[Rr][Ff][Cc] [0-9]+$",name):
|
||||
return redirect('ietf.doc.views_doc.document_html',name=f'rfc{name[4:]}')
|
||||
docs = Document.objects.filter(docalias__name=name)
|
||||
if rev and not docs.exists():
|
||||
# handle some special cases, like draft-ietf-tsvwg-ieee-802-11
|
||||
|
|
Loading…
Reference in a new issue