Skip to content

Commit 27351c4

Browse files
committed
Fixed url lookups for doc.views_doc.document_main() to only use dotted-path, and removed the doc_view explicit url name. Fixes a 500 error in /submit/status/NNNN/.
- Legacy-Id: 12897
1 parent 988a2b8 commit 27351c4

83 files changed

Lines changed: 163 additions & 163 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ietf/doc/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ def friendly_state(self):
228228
elif state.slug == "repl":
229229
rs = self.related_that("replaces")
230230
if rs:
231-
return mark_safe("Replaced by " + ", ".join("<a href=\"%s\">%s</a>" % (urlreverse('doc_view', kwargs=dict(name=alias.document)), alias.document) for alias in rs))
231+
return mark_safe("Replaced by " + ", ".join("<a href=\"%s\">%s</a>" % (urlreverse('ietf.doc.views_doc.document_main', kwargs=dict(name=alias.document)), alias.document) for alias in rs))
232232
else:
233233
return "Replaced"
234234
elif state.slug == "active":
@@ -439,7 +439,7 @@ def get_absolute_url(self):
439439
filename = self.external_url
440440
url = '%sproceedings/%s/%s/%s' % (settings.IETF_HOST_URL,meeting.number,self.type_id,filename)
441441
return url
442-
return urlreverse('doc_view', kwargs={ 'name': name }, urlconf="ietf.urls")
442+
return urlreverse('ietf.doc.views_doc.document_main', kwargs={ 'name': name }, urlconf="ietf.urls")
443443

444444

445445
def file_tag(self):

ietf/doc/tests.py

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -128,63 +128,63 @@ def test_search_for_name(self):
128128
# exact match
129129
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name=draft.name)))
130130
self.assertEqual(r.status_code, 302)
131-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=draft.name)))
131+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
132132

133133
# prefix match
134134
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="-".join(draft.name.split("-")[:-1]))))
135135
self.assertEqual(r.status_code, 302)
136-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=draft.name)))
136+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
137137

138138
# non-prefix match
139139
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="-".join(draft.name.split("-")[1:]))))
140140
self.assertEqual(r.status_code, 302)
141-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=draft.name)))
141+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
142142

143143
# other doctypes than drafts
144144
doc = Document.objects.get(name='charter-ietf-mars')
145145
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name='charter-ietf-ma')))
146146
self.assertEqual(r.status_code, 302)
147-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=doc.name)))
147+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
148148

149149
doc = Document.objects.filter(name__startswith='conflict-review-').first()
150150
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="-".join(doc.name.split("-")[:-1]))))
151151
self.assertEqual(r.status_code, 302)
152-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=doc.name)))
152+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
153153

154154
doc = Document.objects.filter(name__startswith='status-change-').first()
155155
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="-".join(doc.name.split("-")[:-1]))))
156156
self.assertEqual(r.status_code, 302)
157-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=doc.name)))
157+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
158158

159159
doc = Document.objects.filter(name__startswith='agenda-').first()
160160
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="-".join(doc.name.split("-")[:-1]))))
161161
self.assertEqual(r.status_code, 302)
162-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=doc.name)))
162+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
163163

164164
doc = Document.objects.filter(name__startswith='minutes-').first()
165165
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="-".join(doc.name.split("-")[:-1]))))
166166
self.assertEqual(r.status_code, 302)
167-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=doc.name)))
167+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
168168

169169
doc = Document.objects.filter(name__startswith='slides-').first()
170170
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="-".join(doc.name.split("-")[:-1]))))
171171
self.assertEqual(r.status_code, 302)
172-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=doc.name)))
172+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
173173

174174
# match with revision
175175
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name=draft.name + "-" + prev_rev)))
176176
self.assertEqual(r.status_code, 302)
177-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=draft.name, rev=prev_rev)))
177+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name, rev=prev_rev)))
178178

179179
# match with non-existing revision
180180
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name=draft.name + "-09")))
181181
self.assertEqual(r.status_code, 302)
182-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=draft.name)))
182+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
183183

184184
# match with revision and extension
185185
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name=draft.name + "-" + prev_rev + ".txt")))
186186
self.assertEqual(r.status_code, 302)
187-
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("doc_view", kwargs=dict(name=draft.name, rev=prev_rev)))
187+
self.assertEqual(urlparse.urlparse(r["Location"]).path, urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name, rev=prev_rev)))
188188

189189
# no match
190190
r = self.client.get(urlreverse("doc_search_for_name", kwargs=dict(name="draft-ietf-doesnotexist-42")))
@@ -448,46 +448,46 @@ def test_document_draft(self):
448448
# active draft
449449
draft.set_state(State.objects.get(type="draft", slug="active"))
450450

451-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
451+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
452452
self.assertEqual(r.status_code, 200)
453453
self.assertTrue("Active Internet-Draft" in unicontent(r))
454454
self.assertTrue("Show full document text" in unicontent(r))
455455
self.assertFalse("Deimos street" in unicontent(r))
456456

457-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)) + "?include_text=0")
457+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=0")
458458
self.assertEqual(r.status_code, 200)
459459
self.assertTrue("Active Internet-Draft" in unicontent(r))
460460
self.assertFalse("Show full document text" in unicontent(r))
461461
self.assertTrue("Deimos street" in unicontent(r))
462462

463-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)) + "?include_text=foo")
463+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=foo")
464464
self.assertEqual(r.status_code, 200)
465465
self.assertTrue("Active Internet-Draft" in unicontent(r))
466466
self.assertFalse("Show full document text" in unicontent(r))
467467
self.assertTrue("Deimos street" in unicontent(r))
468468

469-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)) + "?include_text=1")
469+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=1")
470470
self.assertEqual(r.status_code, 200)
471471
self.assertTrue("Active Internet-Draft" in unicontent(r))
472472
self.assertFalse("Show full document text" in unicontent(r))
473473
self.assertTrue("Deimos street" in unicontent(r))
474474

475475
self.client.cookies = SimpleCookie({'full_draft': 'on'})
476-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
476+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
477477
self.assertEqual(r.status_code, 200)
478478
self.assertTrue("Active Internet-Draft" in unicontent(r))
479479
self.assertFalse("Show full document text" in unicontent(r))
480480
self.assertTrue("Deimos street" in unicontent(r))
481481

482482
self.client.cookies = SimpleCookie({'full_draft': 'off'})
483-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
483+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
484484
self.assertEqual(r.status_code, 200)
485485
self.assertTrue("Active Internet-Draft" in unicontent(r))
486486
self.assertTrue("Show full document text" in unicontent(r))
487487
self.assertFalse("Deimos street" in unicontent(r))
488488

489489
self.client.cookies = SimpleCookie({'full_draft': 'foo'})
490-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
490+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
491491
self.assertEqual(r.status_code, 200)
492492
self.assertTrue("Active Internet-Draft" in unicontent(r))
493493
self.assertTrue("Show full document text" in unicontent(r))
@@ -496,7 +496,7 @@ def test_document_draft(self):
496496
# expired draft
497497
draft.set_state(State.objects.get(type="draft", slug="expired"))
498498

499-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
499+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
500500
self.assertEqual(r.status_code, 200)
501501
self.assertTrue("Expired Internet-Draft" in unicontent(r))
502502

@@ -517,7 +517,7 @@ def test_document_draft(self):
517517
target=draft.docalias_set.get(name__startswith="draft"),
518518
relationship_id="replaces")
519519

520-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
520+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
521521
self.assertEqual(r.status_code, 200)
522522
self.assertTrue("Replaced Internet-Draft" in unicontent(r))
523523
self.assertTrue(replacement.name in unicontent(r))
@@ -532,12 +532,12 @@ def test_document_draft(self):
532532
rfc_alias = DocAlias.objects.create(name="rfc123456", document=draft)
533533
bcp_alias = DocAlias.objects.create(name="bcp123456", document=draft)
534534

535-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=draft.name)))
535+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
536536
self.assertEqual(r.status_code, 302)
537-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=bcp_alias.name)))
537+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=bcp_alias.name)))
538538
self.assertEqual(r.status_code, 302)
539539

540-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=rfc_alias.name)))
540+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=rfc_alias.name)))
541541
self.assertEqual(r.status_code, 200)
542542
self.assertTrue("RFC 123456" in unicontent(r))
543543
self.assertTrue(draft.name in unicontent(r))
@@ -551,12 +551,12 @@ def test_document_draft(self):
551551
group=Group.objects.get(type="individ"),
552552
std_level_id="ps")
553553
DocAlias.objects.create(name=rfc.name, document=rfc)
554-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=rfc.name)))
554+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=rfc.name)))
555555
self.assertEqual(r.status_code, 200)
556556
self.assertTrue("RFC 1234567" in unicontent(r))
557557

558558
# unknown draft
559-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name="draft-xyz123")))
559+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name="draft-xyz123")))
560560
self.assertEqual(r.status_code, 404)
561561

562562
def test_document_primary_and_history_views(self):
@@ -582,28 +582,28 @@ def test_document_primary_and_history_views(self):
582582
doc.rev = "01"
583583
doc.save_with_history([DocEvent.objects.create(doc=doc, type="changed_document", by=Person.objects.get(user__username="secretary"), desc="Test")])
584584

585-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
585+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
586586
self.assertEqual(r.status_code, 200)
587587
self.assertTrue("%s-01"%docname in unicontent(r))
588588

589-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name,rev="01")))
589+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name,rev="01")))
590590
self.assertEqual(r.status_code, 302)
591591

592-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name,rev="00")))
592+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name,rev="00")))
593593
self.assertEqual(r.status_code, 200)
594594
self.assertTrue("%s-00"%docname in unicontent(r))
595595

596596
class DocTestCase(TestCase):
597597
def test_document_charter(self):
598598
make_test_data()
599599

600-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name="charter-ietf-mars")))
600+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name="charter-ietf-mars")))
601601
self.assertEqual(r.status_code, 200)
602602

603603
def test_document_conflict_review(self):
604604
make_test_data()
605605

606-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name='conflict-review-imaginary-irtf-submission')))
606+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name='conflict-review-imaginary-irtf-submission')))
607607
self.assertEqual(r.status_code, 200)
608608

609609
def test_document_material(self):
@@ -630,7 +630,7 @@ def test_document_material(self):
630630
)
631631
SessionPresentation.objects.create(session=session, document=doc, rev=doc.rev)
632632

633-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
633+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
634634
self.assertEqual(r.status_code, 200)
635635

636636
def test_document_ballot(self):
@@ -799,17 +799,17 @@ def test_document_nonietf_pubreq_button(self):
799799
doc = make_test_data()
800800

801801
self.client.login(username='iab-chair', password='iab-chair+password')
802-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
802+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
803803
self.assertEqual(r.status_code, 200)
804804
self.assertTrue("Request publication" not in unicontent(r))
805805

806806
Document.objects.filter(pk=doc.pk).update(stream='iab')
807-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
807+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
808808
self.assertEqual(r.status_code, 200)
809809
self.assertTrue("Request publication" in unicontent(r))
810810

811811
doc.states.add(State.objects.get(type_id='draft-stream-iab',slug='rfc-edit'))
812-
r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name)))
812+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=doc.name)))
813813
self.assertEqual(r.status_code, 200)
814814
self.assertTrue("Request publication" not in unicontent(r))
815815

ietf/doc/tests_review.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def test_doc_page(self):
111111
review_req.doc = older_doc
112112
review_req.save()
113113

114-
url = urlreverse('doc_view', kwargs={ "name": doc.name })
114+
url = urlreverse('ietf.doc.views_doc.document_main', kwargs={ "name": doc.name })
115115
r = self.client.get(url)
116116
self.assertEqual(r.status_code, 200)
117117
content = unicontent(r)
@@ -572,7 +572,7 @@ def test_complete_review_upload_content(self):
572572
self.assertTrue(settings.MAILING_LIST_ARCHIVE_URL in review_req.review.external_url)
573573

574574
# check the review document page
575-
url = urlreverse('doc_view', kwargs={ "name": review_req.review.name })
575+
url = urlreverse('ietf.doc.views_doc.document_main', kwargs={ "name": review_req.review.name })
576576
r = self.client.get(url)
577577
self.assertEqual(r.status_code, 200)
578578
content = unicontent(r)

ietf/doc/tests_status_change.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ def test_subsequent_submission(self):
472472
self.assertTrue(q('textarea')[0].text.strip().startswith("Provide a description"))
473473

474474
# make sure we can see the old revision
475-
url = urlreverse('doc_view',kwargs=dict(name=doc.name,rev='00'))
475+
url = urlreverse('ietf.doc.views_doc.document_main',kwargs=dict(name=doc.name,rev='00'))
476476
r = self.client.get(url)
477477
self.assertEqual(r.status_code,200)
478478
self.assertTrue("This is the old proposal." in unicontent(r))

ietf/doc/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
url(r'^active/$', views_search.index_active_drafts, name="index_active_drafts"),
6565
url(r'^select2search/(?P<model_name>(document|docalias))/(?P<doc_type>draft)/$', views_search.ajax_select2_search_docs, name="ajax_select2_search_docs"),
6666

67-
url(r'^%(name)s/(?:%(rev)s/)?$' % settings.URL_REGEXPS, views_doc.document_main, name="doc_view"),
67+
url(r'^%(name)s/(?:%(rev)s/)?$' % settings.URL_REGEXPS, views_doc.document_main),
6868
url(r'^%(name)s/(?:%(rev)s/)?bibtex/$' % settings.URL_REGEXPS, views_doc.document_bibtex),
6969
url(r'^%(name)s/history/$' % settings.URL_REGEXPS, views_doc.document_history, name="doc_history"),
7070
url(r'^%(name)s/writeup/$' % settings.URL_REGEXPS, views_doc.document_writeup, name="doc_writeup"),

ietf/doc/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ def get_ancestors(doc):
669669
for d in docs:
670670
for e in d.docevent_set.filter(type='new_revision').distinct():
671671
if hasattr(e, 'newrevisiondocevent'):
672-
url = urlreverse("doc_view", kwargs=dict(name=d)) + e.newrevisiondocevent.rev + "/"
672+
url = urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=d)) + e.newrevisiondocevent.rev + "/"
673673
history[url] = {
674674
'name': d.name,
675675
'rev': e.newrevisiondocevent.rev,
@@ -684,7 +684,7 @@ def get_ancestors(doc):
684684
else:
685685
e = doc.latest_event(type='iesg_approved')
686686
if e:
687-
url = urlreverse("doc_view", kwargs=dict(name=e.doc))
687+
url = urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=e.doc))
688688
history[url] = {
689689
'name': e.doc.canonical_name(),
690690
'rev': e.doc.canonical_name(),

0 commit comments

Comments
 (0)