Skip to content

Commit 6ac0920

Browse files
committed
Move idrfc/ templates to doc/ and subdirectories in doc/, move ported ballot_icon template tag, delete dead code
- Legacy-Id: 6052
1 parent 742dbac commit 6ac0920

88 files changed

Lines changed: 188 additions & 935 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/expire.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def send_expire_warning_for_draft(doc):
8282
if to or cc:
8383
send_mail(request, to, frm,
8484
u"Expiration impending: %s" % doc.file_tag(),
85-
"idrfc/expire_warning_email.txt",
85+
"doc/draft/expire_warning_email.txt",
8686
dict(doc=doc,
8787
state=state,
8888
expiration=expiration
@@ -101,7 +101,7 @@ def send_expire_notice_for_draft(doc):
101101
send_mail(request, to,
102102
"I-D Expiring System <ietf-secretariat-reply@ietf.org>",
103103
u"I-D was expired %s" % doc.file_tag(),
104-
"idrfc/id_expired_email.txt",
104+
"doc/draft/id_expired_email.txt",
105105
dict(doc=doc,
106106
state=state,
107107
))

ietf/doc/mails.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def email_state_changed(request, doc, text):
2121
text = strip_tags(text)
2222
send_mail(request, to, None,
2323
"ID Tracker State Update Notice: %s" % doc.file_tag(),
24-
"idrfc/state_changed_email.txt",
24+
"doc/mail/state_changed_email.txt",
2525
dict(text=text,
2626
url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()))
2727

@@ -44,14 +44,14 @@ def email_stream_changed(request, doc, old_stream, new_stream, text=""):
4444

4545
send_mail(request, to, None,
4646
"ID Tracker Stream Change Notice: %s" % doc.file_tag(),
47-
"idrfc/stream_changed_email.txt",
47+
"doc/mail/stream_changed_email.txt",
4848
dict(text=text,
4949
url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()))
5050

5151
def email_pulled_from_rfc_queue(request, doc, comment, prev_state, next_state):
5252
send_mail(request, ["IANA <iana@iana.org>", "RFC Editor <rfc-editor@rfc-editor.org>"], None,
5353
"%s changed state from %s to %s" % (doc.name, prev_state.name, next_state.name),
54-
"idrfc/pulled_from_rfc_queue_email.txt",
54+
"doc/mail/pulled_from_rfc_queue_email.txt",
5555
dict(doc=doc,
5656
prev_state=prev_state,
5757
next_state=next_state,
@@ -78,7 +78,7 @@ def email_ad(request, doc, ad, changed_by, text, subject=None):
7878
send_mail(request, to,
7979
"DraftTracker Mail System <iesg-secretary@ietf.org>",
8080
"%s updated by %s" % (doc.file_tag(), changed_by.plain_name()),
81-
"idrfc/change_notice.txt",
81+
"doc/mail/change_notice.txt",
8282
dict(text=html_to_text(text),
8383
doc=doc,
8484
url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()))
@@ -93,7 +93,7 @@ def generate_ballot_writeup(request, doc):
9393
e.by = request.user.get_profile()
9494
e.doc = doc
9595
e.desc = u"Ballot writeup was generated"
96-
e.text = unicode(render_to_string("idrfc/ballot_writeup.txt", {'iana': iana}))
96+
e.text = unicode(render_to_string("doc/mail/ballot_writeup.txt", {'iana': iana}))
9797
e.save()
9898

9999
return e
@@ -118,7 +118,7 @@ def generate_last_call_announcement(request, doc):
118118
else:
119119
ipr_links = None
120120

121-
mail = render_to_string("idrfc/last_call_announcement.txt",
121+
mail = render_to_string("doc/mail/last_call_announcement.txt",
122122
dict(doc=doc,
123123
doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url() + "ballot/",
124124
expiration_date=expiration_date.strftime("%Y-%m-%d"), #.strftime("%B %-d, %Y"),
@@ -196,7 +196,7 @@ def generate_approval_mail_approved(request, doc):
196196

197197
doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet Draft"
198198

199-
return render_to_string("idrfc/approval_mail.txt",
199+
return render_to_string("doc/mail/approval_mail.txt",
200200
dict(doc=doc,
201201
docs=[doc],
202202
doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(),
@@ -227,7 +227,7 @@ def generate_approval_mail_rfc_editor(request, doc):
227227
# include IRSG
228228
to.append('"Internet Research Steering Group" <irsg@irtf.org>')
229229

230-
return render_to_string("idrfc/approval_mail_rfc_editor.txt",
230+
return render_to_string("doc/mail/approval_mail_rfc_editor.txt",
231231
dict(doc=doc,
232232
doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(),
233233
doc_type=doc_type,
@@ -251,7 +251,7 @@ def generate_publication_request(request, doc):
251251
approving_body = str(doc.stream)
252252
consensus_body = approving_body
253253

254-
return render_to_string("idrfc/publication_request.txt",
254+
return render_to_string("doc/mail/publication_request.txt",
255255
dict(doc=doc,
256256
doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(),
257257
group_description=group_description,
@@ -267,7 +267,7 @@ def send_last_call_request(request, doc):
267267

268268
send_mail(request, to, frm,
269269
"Last Call: %s" % doc.file_tag(),
270-
"idrfc/last_call_request.txt",
270+
"doc/mail/last_call_request.txt",
271271
dict(docs=[doc],
272272
doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()))
273273

@@ -282,7 +282,7 @@ def email_resurrect_requested(request, doc, by):
282282

283283
send_mail(request, to, e.formatted_email(),
284284
"I-D Resurrection Request",
285-
"idrfc/resurrect_request_email.txt",
285+
"doc/mail/resurrect_request_email.txt",
286286
dict(doc=doc,
287287
by=frm,
288288
url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()))
@@ -297,7 +297,7 @@ def email_resurrection_completed(request, doc, requester):
297297
frm = "I-D Administrator <internet-drafts-reply@ietf.org>"
298298
send_mail(request, to, frm,
299299
"I-D Resurrection Completed - %s" % doc.file_tag(),
300-
"idrfc/resurrect_completed_email.txt",
300+
"doc/mail/resurrect_completed_email.txt",
301301
dict(doc=doc,
302302
by=frm,
303303
url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()))
@@ -307,7 +307,7 @@ def email_ballot_deferred(request, doc, by, telechat_date):
307307
frm = "DraftTracker Mail System <iesg-secretary@ietf.org>"
308308
send_mail(request, to, frm,
309309
"IESG Deferred Ballot notification: %s" % doc.file_tag(),
310-
"idrfc/ballot_deferred_email.txt",
310+
"doc/mail/ballot_deferred_email.txt",
311311
dict(doc=doc,
312312
by=by,
313313
telechat_date=telechat_date))
@@ -364,7 +364,7 @@ def formatted(val):
364364
e = doc.latest_event(WriteupDocEvent, type="changed_ballot_writeup_text")
365365
ballot_writeup = e.text if e else ""
366366

367-
return render_to_string("idrfc/issue_ballot_mail.txt",
367+
return render_to_string("doc/mail/issue_ballot_mail.txt",
368368
dict(doc=doc,
369369
doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(),
370370
active_ad_positions=active_ad_positions,
@@ -408,7 +408,7 @@ def email_last_call_expired(doc):
408408
to,
409409
"DraftTracker Mail System <iesg-secretary@ietf.org>",
410410
"Last Call Expired: %s" % doc.file_tag(),
411-
"idrfc/change_notice.txt",
411+
"doc/mail/change_notice.txt",
412412
dict(text=text,
413413
doc=doc,
414414
url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()),
File renamed without changes.

ietf/doc/templatetags/wg_menu.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545

4646
class WgMenuNode(template.Node):
4747
def render(self, context):
48-
x = cache.get('idrfc_wgmenu')
48+
x = cache.get('base_left_wgmenu')
4949
if x:
5050
return x
5151

@@ -62,7 +62,7 @@ def render(self, context):
6262
areas = [a for a in areas if a.active_groups]
6363

6464
res = loader.render_to_string('base_wgmenu.html', {'areas':areas})
65-
cache.set('idrfc_wgmenu', x, 30*60)
65+
cache.set('base_left_wgmenu', x, 30*60)
6666
return res
6767

6868
def do_wg_menu(parser, token):

ietf/doc/tests.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,3 +246,42 @@ def test_document_json(self):
246246

247247
r = self.client.get(urlreverse("ietf.doc.views_doc.document_json", kwargs=dict(name=doc.name)))
248248
self.assertEqual(r.status_code, 200)
249+
250+
251+
class AddCommentTestCase(django.test.TestCase):
252+
fixtures = ['names']
253+
254+
def test_add_comment(self):
255+
draft = make_test_data()
256+
url = urlreverse('doc_add_comment', kwargs=dict(name=draft.name))
257+
login_testing_unauthorized(self, "secretary", url)
258+
259+
# normal get
260+
r = self.client.get(url)
261+
self.assertEquals(r.status_code, 200)
262+
q = PyQuery(r.content)
263+
self.assertEquals(len(q('form textarea[name=comment]')), 1)
264+
265+
# request resurrect
266+
events_before = draft.docevent_set.count()
267+
mailbox_before = len(outbox)
268+
269+
r = self.client.post(url, dict(comment="This is a test."))
270+
self.assertEquals(r.status_code, 302)
271+
272+
self.assertEquals(draft.docevent_set.count(), events_before + 1)
273+
self.assertEquals("This is a test.", draft.latest_event().desc)
274+
self.assertEquals("added_comment", draft.latest_event().type)
275+
self.assertEquals(len(outbox), mailbox_before + 1)
276+
self.assertTrue("updated" in outbox[-1]['Subject'])
277+
self.assertTrue(draft.name in outbox[-1]['Subject'])
278+
279+
# Make sure we can also do it as IANA
280+
self.client.login(remote_user="iana")
281+
282+
# normal get
283+
r = self.client.get(url)
284+
self.assertEquals(r.status_code, 200)
285+
q = PyQuery(r.content)
286+
self.assertEquals(len(q('form textarea[name=comment]')), 1)
287+

ietf/doc/tests_ballot.py

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -493,41 +493,3 @@ def test_make_last_call(self):
493493
self.assertTrue("Last Call" in outbox[-3]['Subject'])
494494
self.assertTrue("Last Call" in draft.message_set.order_by("-time")[0].subject)
495495

496-
class RequestPublicationTestCase(django.test.TestCase):
497-
fixtures = ['names']
498-
499-
def test_request_publication(self):
500-
draft = make_test_data()
501-
draft.stream = StreamName.objects.get(slug="iab")
502-
draft.group = Group.objects.get(acronym="iab")
503-
draft.intended_std_level = IntendedStdLevelName.objects.get(slug="inf")
504-
draft.save()
505-
draft.set_state(State.objects.get(used=True, type="draft-stream-iab", slug="approved"))
506-
507-
url = urlreverse('doc_request_publication', kwargs=dict(name=draft.name))
508-
login_testing_unauthorized(self, "iabchair", url)
509-
510-
# normal get
511-
r = self.client.get(url)
512-
self.assertEquals(r.status_code, 200)
513-
q = PyQuery(r.content)
514-
subject = q('input#id_subject')[0].get("value")
515-
self.assertTrue("Document Action" in subject)
516-
body = q('.request-publication #id_body').text()
517-
self.assertTrue("Informational" in body)
518-
self.assertTrue("IAB" in body)
519-
520-
# approve
521-
mailbox_before = len(outbox)
522-
523-
r = self.client.post(url, dict(subject=subject, body=body, skiprfceditorpost="1"))
524-
self.assertEquals(r.status_code, 302)
525-
526-
draft = Document.objects.get(name=draft.name)
527-
self.assertEquals(draft.get_state_slug("draft-stream-iab"), "rfc-edit")
528-
self.assertEquals(len(outbox), mailbox_before + 2)
529-
self.assertTrue("Document Action" in outbox[-2]['Subject'])
530-
self.assertTrue("Document Action" in draft.message_set.order_by("-time")[0].subject)
531-
# the IANA copy
532-
self.assertTrue("Document Action" in outbox[-1]['Subject'])
533-
self.assertTrue(not outbox[-1]['CC'])

ietf/doc/tests_draft.py

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -406,44 +406,6 @@ def test_resurrect(self):
406406
self.assertEquals(draft.get_state_slug(), "active")
407407
self.assertTrue(draft.expires >= datetime.datetime.now() + datetime.timedelta(days=settings.INTERNET_DRAFT_DAYS_TO_EXPIRE - 1))
408408
self.assertEquals(len(outbox), mailbox_before + 1)
409-
410-
class AddCommentTestCase(django.test.TestCase):
411-
fixtures = ['names']
412-
413-
def test_add_comment(self):
414-
draft = make_test_data()
415-
url = urlreverse('doc_add_comment', kwargs=dict(name=draft.name))
416-
login_testing_unauthorized(self, "secretary", url)
417-
418-
# normal get
419-
r = self.client.get(url)
420-
self.assertEquals(r.status_code, 200)
421-
q = PyQuery(r.content)
422-
self.assertEquals(len(q('form textarea[name=comment]')), 1)
423-
424-
# request resurrect
425-
events_before = draft.docevent_set.count()
426-
mailbox_before = len(outbox)
427-
428-
r = self.client.post(url, dict(comment="This is a test."))
429-
self.assertEquals(r.status_code, 302)
430-
431-
self.assertEquals(draft.docevent_set.count(), events_before + 1)
432-
self.assertEquals("This is a test.", draft.latest_event().desc)
433-
self.assertEquals("added_comment", draft.latest_event().type)
434-
self.assertEquals(len(outbox), mailbox_before + 1)
435-
self.assertTrue("updated" in outbox[-1]['Subject'])
436-
self.assertTrue(draft.name in outbox[-1]['Subject'])
437-
438-
# Make sure we can also do it as IANA
439-
self.client.login(remote_user="iana")
440-
441-
# normal get
442-
r = self.client.get(url)
443-
self.assertEquals(r.status_code, 200)
444-
q = PyQuery(r.content)
445-
self.assertEquals(len(q('form textarea[name=comment]')), 1)
446-
447409

448410

449411
class ExpireIDsTestCase(django.test.TestCase):
@@ -905,3 +867,41 @@ def setUp(self):
905867
self.docname='draft-ietf-mars-test'
906868
self.doc = Document.objects.get(name=self.docname)
907869

870+
class RequestPublicationTestCase(django.test.TestCase):
871+
fixtures = ['names']
872+
873+
def test_request_publication(self):
874+
draft = make_test_data()
875+
draft.stream = StreamName.objects.get(slug="iab")
876+
draft.group = Group.objects.get(acronym="iab")
877+
draft.intended_std_level = IntendedStdLevelName.objects.get(slug="inf")
878+
draft.save()
879+
draft.set_state(State.objects.get(used=True, type="draft-stream-iab", slug="approved"))
880+
881+
url = urlreverse('doc_request_publication', kwargs=dict(name=draft.name))
882+
login_testing_unauthorized(self, "iabchair", url)
883+
884+
# normal get
885+
r = self.client.get(url)
886+
self.assertEquals(r.status_code, 200)
887+
q = PyQuery(r.content)
888+
subject = q('input#id_subject')[0].get("value")
889+
self.assertTrue("Document Action" in subject)
890+
body = q('.request-publication #id_body').text()
891+
self.assertTrue("Informational" in body)
892+
self.assertTrue("IAB" in body)
893+
894+
# approve
895+
mailbox_before = len(outbox)
896+
897+
r = self.client.post(url, dict(subject=subject, body=body, skiprfceditorpost="1"))
898+
self.assertEquals(r.status_code, 302)
899+
900+
draft = Document.objects.get(name=draft.name)
901+
self.assertEquals(draft.get_state_slug("draft-stream-iab"), "rfc-edit")
902+
self.assertEquals(len(outbox), mailbox_before + 2)
903+
self.assertTrue("Document Action" in outbox[-2]['Subject'])
904+
self.assertTrue("Document Action" in draft.message_set.order_by("-time")[0].subject)
905+
# the IANA copy
906+
self.assertTrue("Document Action" in outbox[-1]['Subject'])
907+
self.assertTrue(not outbox[-1]['CC'])

ietf/doc/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
url(r'^(?P<name>[A-Za-z0-9._+-]+)/edit/info/$', views_draft.edit_info, name='doc_edit_info'),
7171
url(r'^(?P<name>[A-Za-z0-9._+-]+)/edit/requestresurrect/$', views_draft.request_resurrect, name='doc_request_resurrect'),
7272
url(r'^(?P<name>[A-Za-z0-9._+-]+)/edit/resurrect/$', views_draft.resurrect, name='doc_resurrect'),
73-
url(r'^(?P<name>[A-Za-z0-9._+-]+)/edit/addcomment/$', views_draft.add_comment, name='doc_add_comment'),
73+
url(r'^(?P<name>[A-Za-z0-9._+-]+)/edit/addcomment/$', views_doc.add_comment, name='doc_add_comment'),
7474

7575
url(r'^(?P<name>[A-Za-z0-9._+-]+)/edit/stream/$', views_draft.change_stream, name='doc_change_stream'),
7676
url(r'^(?P<name>[A-Za-z0-9._+-]+)/edit/notify/$', views_draft.edit_notices, name='doc_change_notify'),

0 commit comments

Comments
 (0)