diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py index 53807d8cf..416ac006a 100644 --- a/ietf/doc/expire.py +++ b/ietf/doc/expire.py @@ -82,7 +82,7 @@ def send_expire_warning_for_draft(doc): if to or cc: send_mail(request, to, frm, u"Expiration impending: %s" % doc.file_tag(), - "idrfc/expire_warning_email.txt", + "doc/draft/expire_warning_email.txt", dict(doc=doc, state=state, expiration=expiration @@ -101,7 +101,7 @@ def send_expire_notice_for_draft(doc): send_mail(request, to, "I-D Expiring System ", u"I-D was expired %s" % doc.file_tag(), - "idrfc/id_expired_email.txt", + "doc/draft/id_expired_email.txt", dict(doc=doc, state=state, )) diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py index 4a6e17360..56c3f0f74 100644 --- a/ietf/doc/mails.py +++ b/ietf/doc/mails.py @@ -21,7 +21,7 @@ def email_state_changed(request, doc, text): text = strip_tags(text) send_mail(request, to, None, "ID Tracker State Update Notice: %s" % doc.file_tag(), - "idrfc/state_changed_email.txt", + "doc/mail/state_changed_email.txt", dict(text=text, url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url())) @@ -44,14 +44,14 @@ def email_stream_changed(request, doc, old_stream, new_stream, text=""): send_mail(request, to, None, "ID Tracker Stream Change Notice: %s" % doc.file_tag(), - "idrfc/stream_changed_email.txt", + "doc/mail/stream_changed_email.txt", dict(text=text, url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url())) def email_pulled_from_rfc_queue(request, doc, comment, prev_state, next_state): send_mail(request, ["IANA ", "RFC Editor "], None, "%s changed state from %s to %s" % (doc.name, prev_state.name, next_state.name), - "idrfc/pulled_from_rfc_queue_email.txt", + "doc/mail/pulled_from_rfc_queue_email.txt", dict(doc=doc, prev_state=prev_state, next_state=next_state, @@ -78,7 +78,7 @@ def email_ad(request, doc, ad, changed_by, text, subject=None): send_mail(request, to, "DraftTracker Mail System ", "%s updated by %s" % (doc.file_tag(), changed_by.plain_name()), - "idrfc/change_notice.txt", + "doc/mail/change_notice.txt", dict(text=html_to_text(text), doc=doc, url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url())) @@ -93,7 +93,7 @@ def generate_ballot_writeup(request, doc): e.by = request.user.get_profile() e.doc = doc e.desc = u"Ballot writeup was generated" - e.text = unicode(render_to_string("idrfc/ballot_writeup.txt", {'iana': iana})) + e.text = unicode(render_to_string("doc/mail/ballot_writeup.txt", {'iana': iana})) e.save() return e @@ -118,7 +118,7 @@ def generate_last_call_announcement(request, doc): else: ipr_links = None - mail = render_to_string("idrfc/last_call_announcement.txt", + mail = render_to_string("doc/mail/last_call_announcement.txt", dict(doc=doc, doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url() + "ballot/", expiration_date=expiration_date.strftime("%Y-%m-%d"), #.strftime("%B %-d, %Y"), @@ -196,7 +196,7 @@ def generate_approval_mail_approved(request, doc): doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet Draft" - return render_to_string("idrfc/approval_mail.txt", + return render_to_string("doc/mail/approval_mail.txt", dict(doc=doc, docs=[doc], doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(), @@ -227,7 +227,7 @@ def generate_approval_mail_rfc_editor(request, doc): # include IRSG to.append('"Internet Research Steering Group" ') - return render_to_string("idrfc/approval_mail_rfc_editor.txt", + return render_to_string("doc/mail/approval_mail_rfc_editor.txt", dict(doc=doc, doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(), doc_type=doc_type, @@ -251,7 +251,7 @@ def generate_publication_request(request, doc): approving_body = str(doc.stream) consensus_body = approving_body - return render_to_string("idrfc/publication_request.txt", + return render_to_string("doc/mail/publication_request.txt", dict(doc=doc, doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(), group_description=group_description, @@ -267,7 +267,7 @@ def send_last_call_request(request, doc): send_mail(request, to, frm, "Last Call: %s" % doc.file_tag(), - "idrfc/last_call_request.txt", + "doc/mail/last_call_request.txt", dict(docs=[doc], doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url())) @@ -282,7 +282,7 @@ def email_resurrect_requested(request, doc, by): send_mail(request, to, e.formatted_email(), "I-D Resurrection Request", - "idrfc/resurrect_request_email.txt", + "doc/mail/resurrect_request_email.txt", dict(doc=doc, by=frm, url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url())) @@ -297,7 +297,7 @@ def email_resurrection_completed(request, doc, requester): frm = "I-D Administrator " send_mail(request, to, frm, "I-D Resurrection Completed - %s" % doc.file_tag(), - "idrfc/resurrect_completed_email.txt", + "doc/mail/resurrect_completed_email.txt", dict(doc=doc, by=frm, url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url())) @@ -307,7 +307,7 @@ def email_ballot_deferred(request, doc, by, telechat_date): frm = "DraftTracker Mail System " send_mail(request, to, frm, "IESG Deferred Ballot notification: %s" % doc.file_tag(), - "idrfc/ballot_deferred_email.txt", + "doc/mail/ballot_deferred_email.txt", dict(doc=doc, by=by, telechat_date=telechat_date)) @@ -364,7 +364,7 @@ def generate_issue_ballot_mail(request, doc, ballot): e = doc.latest_event(WriteupDocEvent, type="changed_ballot_writeup_text") ballot_writeup = e.text if e else "" - return render_to_string("idrfc/issue_ballot_mail.txt", + return render_to_string("doc/mail/issue_ballot_mail.txt", dict(doc=doc, doc_url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url(), active_ad_positions=active_ad_positions, @@ -408,7 +408,7 @@ def email_last_call_expired(doc): to, "DraftTracker Mail System ", "Last Call Expired: %s" % doc.file_tag(), - "idrfc/change_notice.txt", + "doc/mail/change_notice.txt", dict(text=text, doc=doc, url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()), diff --git a/ietf/idrfc/templatetags/ballot_icon_redesign.py b/ietf/doc/templatetags/ballot_icon.py similarity index 100% rename from ietf/idrfc/templatetags/ballot_icon_redesign.py rename to ietf/doc/templatetags/ballot_icon.py diff --git a/ietf/doc/templatetags/wg_menu.py b/ietf/doc/templatetags/wg_menu.py index e52f3e571..4f58eb6c1 100644 --- a/ietf/doc/templatetags/wg_menu.py +++ b/ietf/doc/templatetags/wg_menu.py @@ -45,7 +45,7 @@ area_short_names = { class WgMenuNode(template.Node): def render(self, context): - x = cache.get('idrfc_wgmenu') + x = cache.get('base_left_wgmenu') if x: return x @@ -62,7 +62,7 @@ class WgMenuNode(template.Node): areas = [a for a in areas if a.active_groups] res = loader.render_to_string('base_wgmenu.html', {'areas':areas}) - cache.set('idrfc_wgmenu', x, 30*60) + cache.set('base_left_wgmenu', x, 30*60) return res def do_wg_menu(parser, token): diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 6959d2568..f4c9e67b1 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -246,3 +246,42 @@ class DocTestCase(django.test.TestCase): r = self.client.get(urlreverse("ietf.doc.views_doc.document_json", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) + + +class AddCommentTestCase(django.test.TestCase): + fixtures = ['names'] + + def test_add_comment(self): + draft = make_test_data() + url = urlreverse('doc_add_comment', kwargs=dict(name=draft.name)) + login_testing_unauthorized(self, "secretary", url) + + # normal get + r = self.client.get(url) + self.assertEquals(r.status_code, 200) + q = PyQuery(r.content) + self.assertEquals(len(q('form textarea[name=comment]')), 1) + + # request resurrect + events_before = draft.docevent_set.count() + mailbox_before = len(outbox) + + r = self.client.post(url, dict(comment="This is a test.")) + self.assertEquals(r.status_code, 302) + + self.assertEquals(draft.docevent_set.count(), events_before + 1) + self.assertEquals("This is a test.", draft.latest_event().desc) + self.assertEquals("added_comment", draft.latest_event().type) + self.assertEquals(len(outbox), mailbox_before + 1) + self.assertTrue("updated" in outbox[-1]['Subject']) + self.assertTrue(draft.name in outbox[-1]['Subject']) + + # Make sure we can also do it as IANA + self.client.login(remote_user="iana") + + # normal get + r = self.client.get(url) + self.assertEquals(r.status_code, 200) + q = PyQuery(r.content) + self.assertEquals(len(q('form textarea[name=comment]')), 1) + diff --git a/ietf/doc/tests_ballot.py b/ietf/doc/tests_ballot.py index 347647a49..5db94a39b 100644 --- a/ietf/doc/tests_ballot.py +++ b/ietf/doc/tests_ballot.py @@ -493,41 +493,3 @@ class MakeLastCallTestCase(django.test.TestCase): self.assertTrue("Last Call" in outbox[-3]['Subject']) self.assertTrue("Last Call" in draft.message_set.order_by("-time")[0].subject) -class RequestPublicationTestCase(django.test.TestCase): - fixtures = ['names'] - - def test_request_publication(self): - draft = make_test_data() - draft.stream = StreamName.objects.get(slug="iab") - draft.group = Group.objects.get(acronym="iab") - draft.intended_std_level = IntendedStdLevelName.objects.get(slug="inf") - draft.save() - draft.set_state(State.objects.get(used=True, type="draft-stream-iab", slug="approved")) - - url = urlreverse('doc_request_publication', kwargs=dict(name=draft.name)) - login_testing_unauthorized(self, "iabchair", url) - - # normal get - r = self.client.get(url) - self.assertEquals(r.status_code, 200) - q = PyQuery(r.content) - subject = q('input#id_subject')[0].get("value") - self.assertTrue("Document Action" in subject) - body = q('.request-publication #id_body').text() - self.assertTrue("Informational" in body) - self.assertTrue("IAB" in body) - - # approve - mailbox_before = len(outbox) - - r = self.client.post(url, dict(subject=subject, body=body, skiprfceditorpost="1")) - self.assertEquals(r.status_code, 302) - - draft = Document.objects.get(name=draft.name) - self.assertEquals(draft.get_state_slug("draft-stream-iab"), "rfc-edit") - self.assertEquals(len(outbox), mailbox_before + 2) - self.assertTrue("Document Action" in outbox[-2]['Subject']) - self.assertTrue("Document Action" in draft.message_set.order_by("-time")[0].subject) - # the IANA copy - self.assertTrue("Document Action" in outbox[-1]['Subject']) - self.assertTrue(not outbox[-1]['CC']) diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index 37c17c319..0fc63b589 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -406,44 +406,6 @@ class ResurrectTestCase(django.test.TestCase): self.assertEquals(draft.get_state_slug(), "active") self.assertTrue(draft.expires >= datetime.datetime.now() + datetime.timedelta(days=settings.INTERNET_DRAFT_DAYS_TO_EXPIRE - 1)) self.assertEquals(len(outbox), mailbox_before + 1) - -class AddCommentTestCase(django.test.TestCase): - fixtures = ['names'] - - def test_add_comment(self): - draft = make_test_data() - url = urlreverse('doc_add_comment', kwargs=dict(name=draft.name)) - login_testing_unauthorized(self, "secretary", url) - - # normal get - r = self.client.get(url) - self.assertEquals(r.status_code, 200) - q = PyQuery(r.content) - self.assertEquals(len(q('form textarea[name=comment]')), 1) - - # request resurrect - events_before = draft.docevent_set.count() - mailbox_before = len(outbox) - - r = self.client.post(url, dict(comment="This is a test.")) - self.assertEquals(r.status_code, 302) - - self.assertEquals(draft.docevent_set.count(), events_before + 1) - self.assertEquals("This is a test.", draft.latest_event().desc) - self.assertEquals("added_comment", draft.latest_event().type) - self.assertEquals(len(outbox), mailbox_before + 1) - self.assertTrue("updated" in outbox[-1]['Subject']) - self.assertTrue(draft.name in outbox[-1]['Subject']) - - # Make sure we can also do it as IANA - self.client.login(remote_user="iana") - - # normal get - r = self.client.get(url) - self.assertEquals(r.status_code, 200) - q = PyQuery(r.content) - self.assertEquals(len(q('form textarea[name=comment]')), 1) - class ExpireIDsTestCase(django.test.TestCase): @@ -905,3 +867,41 @@ class IndividualInfoFormsTestCase(django.test.TestCase): self.docname='draft-ietf-mars-test' self.doc = Document.objects.get(name=self.docname) +class RequestPublicationTestCase(django.test.TestCase): + fixtures = ['names'] + + def test_request_publication(self): + draft = make_test_data() + draft.stream = StreamName.objects.get(slug="iab") + draft.group = Group.objects.get(acronym="iab") + draft.intended_std_level = IntendedStdLevelName.objects.get(slug="inf") + draft.save() + draft.set_state(State.objects.get(used=True, type="draft-stream-iab", slug="approved")) + + url = urlreverse('doc_request_publication', kwargs=dict(name=draft.name)) + login_testing_unauthorized(self, "iabchair", url) + + # normal get + r = self.client.get(url) + self.assertEquals(r.status_code, 200) + q = PyQuery(r.content) + subject = q('input#id_subject')[0].get("value") + self.assertTrue("Document Action" in subject) + body = q('.request-publication #id_body').text() + self.assertTrue("Informational" in body) + self.assertTrue("IAB" in body) + + # approve + mailbox_before = len(outbox) + + r = self.client.post(url, dict(subject=subject, body=body, skiprfceditorpost="1")) + self.assertEquals(r.status_code, 302) + + draft = Document.objects.get(name=draft.name) + self.assertEquals(draft.get_state_slug("draft-stream-iab"), "rfc-edit") + self.assertEquals(len(outbox), mailbox_before + 2) + self.assertTrue("Document Action" in outbox[-2]['Subject']) + self.assertTrue("Document Action" in draft.message_set.order_by("-time")[0].subject) + # the IANA copy + self.assertTrue("Document Action" in outbox[-1]['Subject']) + self.assertTrue(not outbox[-1]['CC']) diff --git a/ietf/doc/urls.py b/ietf/doc/urls.py index d55d7b34c..b6c147c2a 100644 --- a/ietf/doc/urls.py +++ b/ietf/doc/urls.py @@ -70,7 +70,7 @@ urlpatterns = patterns('', url(r'^(?P[A-Za-z0-9._+-]+)/edit/info/$', views_draft.edit_info, name='doc_edit_info'), url(r'^(?P[A-Za-z0-9._+-]+)/edit/requestresurrect/$', views_draft.request_resurrect, name='doc_request_resurrect'), url(r'^(?P[A-Za-z0-9._+-]+)/edit/resurrect/$', views_draft.resurrect, name='doc_resurrect'), - url(r'^(?P[A-Za-z0-9._+-]+)/edit/addcomment/$', views_draft.add_comment, name='doc_add_comment'), + url(r'^(?P[A-Za-z0-9._+-]+)/edit/addcomment/$', views_doc.add_comment, name='doc_add_comment'), url(r'^(?P[A-Za-z0-9._+-]+)/edit/stream/$', views_draft.change_stream, name='doc_change_stream'), url(r'^(?P[A-Za-z0-9._+-]+)/edit/notify/$', views_draft.edit_notices, name='doc_change_notify'), diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py index d10190f8a..01997ad83 100644 --- a/ietf/doc/views_ballot.py +++ b/ietf/doc/views_ballot.py @@ -230,7 +230,7 @@ def edit_position(request, name, ballot_id): ballot_deferred = doc.active_defer_event() - return render_to_response('idrfc/edit_position.html', + return render_to_response('doc/ballot/edit_position.html', dict(doc=doc, form=form, ad=ad, @@ -289,7 +289,7 @@ def send_ballot_comment(request, name, ballot_id): if subj: subject += ": (with %s)" % " and ".join(subj) - body = render_to_string("idrfc/ballot_comment_mail.txt", + body = render_to_string("doc/ballot/ballot_comment_mail.txt", dict(discuss=d, comment=c, ad=ad.plain_name(), @@ -305,11 +305,11 @@ def send_ballot_comment(request, name, ballot_id): if request.POST.get("cc_state_change") and doc.notify: cc.extend(doc.notify.split(',')) - send_mail_text(request, to, frm, subject, body, cc=", ".join(cc)) + send_mail_text(request, to, frm, subject, body, cc=u", ".join(cc)) return HttpResponseRedirect(return_to_url) - return render_to_response('idrfc/send_ballot_comment.html', + return render_to_response('doc/ballot/send_ballot_comment.html', dict(doc=doc, subject=subject, body=body, @@ -334,7 +334,7 @@ def clear_ballot(request, name): do_undefer_ballot(request,doc) return HttpResponseRedirect(urlreverse("doc_view", kwargs=dict(name=doc.name))) - return render_to_response('idrfc/clear_ballot.html', + return render_to_response('doc/ballot/clear_ballot.html', dict(doc=doc, back_url=doc.get_absolute_url()), context_instance=RequestContext(request)) @@ -376,7 +376,7 @@ def defer_ballot(request, name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('idrfc/defer_ballot.html', + return render_to_response('doc/ballot/defer_ballot.html', dict(doc=doc, telechat_date=telechat_date, back_url=doc.get_absolute_url()), @@ -397,7 +397,7 @@ def undefer_ballot(request, name): do_undefer_ballot(request,doc) return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('idrfc/undefer_ballot.html', + return render_to_response('doc/ballot/undefer_ballot.html', dict(doc=doc, telechat_date=telechat_date, back_url=doc.get_absolute_url()), @@ -464,7 +464,7 @@ def lastcalltext(request, name): request_last_call(request, doc) - return render_to_response('idrfc/last_call_requested.html', + return render_to_response('doc/draft/last_call_requested.html', dict(doc=doc), context_instance=RequestContext(request)) @@ -484,7 +484,7 @@ def lastcalltext(request, name): if not doc.intended_std_level: need_intended_status = doc.file_tag() - return render_to_response('idrfc/ballot_lastcalltext.html', + return render_to_response('doc/ballot/lastcalltext.html', dict(doc=doc, back_url=doc.get_absolute_url(), last_call_form=form, @@ -554,7 +554,7 @@ def ballot_writeupnotes(request, name): e.desc = "Ballot has been issued" e.save() - return render_to_response('idrfc/ballot_issued.html', + return render_to_response('doc/ballot/ballot_issued.html', dict(doc=doc, back_url=doc.get_absolute_url()), context_instance=RequestContext(request)) @@ -564,7 +564,7 @@ def ballot_writeupnotes(request, name): if not doc.intended_std_level: need_intended_status = doc.file_tag() - return render_to_response('idrfc/ballot_writeupnotes.html', + return render_to_response('doc/ballot/writeupnotes.html', dict(doc=doc, back_url=doc.get_absolute_url(), ballot_issued=bool(doc.latest_event(type="sent_ballot_announcement")), @@ -618,7 +618,7 @@ def ballot_approvaltext(request, name): if not doc.intended_std_level: need_intended_status = doc.file_tag() - return render_to_response('idrfc/ballot_approvaltext.html', + return render_to_response('doc/ballot/approvaltext.html', dict(doc=doc, back_url=doc.get_absolute_url(), approval_text_form=form, @@ -672,7 +672,7 @@ def approve_ballot(request, name): import ietf.sync.rfceditor response, error = ietf.sync.rfceditor.post_approved_draft(settings.RFC_EDITOR_SYNC_NOTIFICATION_URL, doc.name) if error: - return render_to_response('doc/rfceditor_post_approved_draft_failed.html', + return render_to_response('doc/draft/rfceditor_post_approved_draft_failed.html', dict(name=doc.name, response=response, error=error), @@ -725,7 +725,7 @@ def approve_ballot(request, name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('idrfc/approve_ballot.html', + return render_to_response('doc/ballot/approve_ballot.html', dict(doc=doc, action=action, announcement=announcement), @@ -817,7 +817,7 @@ def make_last_call(request, name): expire_days = 14 if doc.group.type_id in ("individ", "area"): expire_days = 28 - templ = 'idrfc/make_last_call.html' + templ = 'doc/draft/make_last_call.html' else: expire_days=28 templ = 'doc/status_change/make_last_call.html' diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 23d7a9810..8d0f706b6 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -42,6 +42,7 @@ from django.utils.decorators import decorator_from_middleware from django.middleware.gzip import GZipMiddleware from django.core.urlresolvers import reverse as urlreverse, NoReverseMatch from django.conf import settings +from django import forms from ietf.doc.models import * from ietf.doc.utils import * @@ -49,6 +50,7 @@ from ietf.utils.history import find_history_active_at from ietf.ietfauth.utils import * from ietf.doc.views_status_change import RELATION_SLUGS as status_change_relationships from ietf.wgcharter.utils import historic_milestones_for_charter +from ietf.doc.mails import email_ad def render_document_top(request, doc, tab, name): tabs = [] @@ -446,7 +448,7 @@ def document_main(request, name, rev=None): else: sorted_relations=None - return render_to_response("idrfc/document_status_change.html", + return render_to_response("doc/document_status_change.html", dict(doc=doc, top=top, content=content, @@ -764,3 +766,35 @@ def ballot_json(request, name): response.write(json.dumps(ballot.dict(), indent=2)) return response +class AddCommentForm(forms.Form): + comment = forms.CharField(required=True, widget=forms.Textarea) + +@role_required('Area Director', 'Secretariat', 'IANA', 'RFC Editor') +def add_comment(request, name): + """Add comment to history of document.""" + doc = get_object_or_404(Document, docalias__name=name) + + login = request.user.get_profile() + + if request.method == 'POST': + form = AddCommentForm(request.POST) + if form.is_valid(): + c = form.cleaned_data['comment'] + + e = DocEvent(doc=doc, by=login) + e.type = "added_comment" + e.desc = c + e.save() + + if doc.type_id == "draft": + email_ad(request, doc, doc.ad, login, + "A new comment added by %s" % login.name) + return HttpResponseRedirect(urlreverse("doc_history", kwargs=dict(name=doc.name))) + else: + form = AddCommentForm() + + return render_to_response('doc/add_comment.html', + dict(doc=doc, + form=form), + context_instance=RequestContext(request)) + diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py index 85e066f4b..8095155ba 100644 --- a/ietf/doc/views_draft.py +++ b/ietf/doc/views_draft.py @@ -1,5 +1,4 @@ -# changing state and metadata and commenting on Internet Drafts for -# Area Directors and Secretariat +# changing state and metadata on Internet Drafts import re, os, datetime @@ -123,7 +122,7 @@ def change_state(request, name): if next_state.slug == "lc-req": request_last_call(request, doc) - return render_to_response('idrfc/last_call_requested.html', + return render_to_response('doc/draft/last_call_requested.html', dict(doc=doc, url=doc.get_absolute_url()), context_instance=RequestContext(request)) @@ -151,7 +150,7 @@ def change_state(request, name): to_iesg_eval = State.objects.get(used=True, type="draft-iesg", slug="iesg-eva") next_states = next_states.exclude(slug="iesg-eva") - return render_to_response('idrfc/change_state.html', + return render_to_response('doc/draft/change_state.html', dict(form=form, doc=doc, state=state, @@ -199,7 +198,7 @@ def change_iana_state(request, name, state_type): else: form = ChangeIanaStateForm(state_type, initial=dict(state=prev_state.pk if prev_state else None)) - return render_to_response('idrfc/change_iana_state.html', + return render_to_response('doc/draft/change_iana_state.html', dict(form=form, doc=doc), context_instance=RequestContext(request)) @@ -263,7 +262,7 @@ def change_stream(request, name): stream = doc.stream form = ChangeStreamForm(initial=dict(stream=stream)) - return render_to_response('idrfc/change_stream.html', + return render_to_response('doc/draft/change_stream.html', dict(form=form, doc=doc, ), @@ -321,7 +320,7 @@ def change_intention(request, name): intended_std_level = doc.intended_std_level form = ChangeIntentionForm(initial=dict(intended_std_level=intended_std_level)) - return render_to_response('idrfc/change_intended_status.html', + return render_to_response('doc/draft/change_intended_status.html', dict(form=form, doc=doc, ), @@ -506,7 +505,7 @@ def edit_info(request, name): if doc.group.type_id not in ("individ", "area"): form.standard_fields = [x for x in form.standard_fields if x.name != "area"] - return render_to_response('idrfc/edit_info.html', + return render_to_response('doc/draft/edit_info.html', dict(doc=doc, form=form, user=request.user, @@ -533,7 +532,7 @@ def request_resurrect(request, name): return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('idrfc/request_resurrect.html', + return render_to_response('doc/draft/request_resurrect.html', dict(doc=doc, back_url=doc.get_absolute_url()), context_instance=RequestContext(request)) @@ -565,43 +564,11 @@ def resurrect(request, name): doc.save() return HttpResponseRedirect(doc.get_absolute_url()) - return render_to_response('idrfc/resurrect.html', + return render_to_response('doc/draft/resurrect.html', dict(doc=doc, back_url=doc.get_absolute_url()), context_instance=RequestContext(request)) -class AddCommentForm(forms.Form): - comment = forms.CharField(required=True, widget=forms.Textarea) - -@role_required('Area Director', 'Secretariat', 'IANA', 'RFC Editor') -def add_comment(request, name): - """Add comment to history of document.""" - doc = get_object_or_404(Document, docalias__name=name) - - login = request.user.get_profile() - - if request.method == 'POST': - form = AddCommentForm(request.POST) - if form.is_valid(): - c = form.cleaned_data['comment'] - - e = DocEvent(doc=doc, by=login) - e.type = "added_comment" - e.desc = c - e.save() - - if doc.type_id == "draft": - email_ad(request, doc, doc.ad, login, - "A new comment added by %s" % login.name) - return HttpResponseRedirect(urlreverse("doc_history", kwargs=dict(name=doc.name))) - else: - form = AddCommentForm() - - return render_to_response('idrfc/add_comment.html', - dict(doc=doc, - form=form), - context_instance=RequestContext(request)) - class NotifyForm(forms.Form): notify = forms.CharField(max_length=255, label="Notice emails", help_text="Separate email addresses with commas", required=False) @@ -642,7 +609,7 @@ def edit_notices(request, name): init = { "notify" : doc.notify } form = NotifyForm(initial=init) - return render_to_response('idrfc/change_notify.html', + return render_to_response('doc/draft/change_notify.html', {'form': form, 'doc': doc, }, @@ -683,7 +650,7 @@ def telechat_date(request, name): else: form = TelechatForm(initial=initial) - return render_to_response('idrfc/edit_telechat_date.html', + return render_to_response('doc/edit_telechat_date.html', dict(doc=doc, form=form, user=request.user, @@ -732,7 +699,7 @@ def edit_iesg_note(request, name): else: form = IESGNoteForm(initial=initial) - return render_to_response('idrfc/edit_iesg_note.html', + return render_to_response('doc/draft/edit_iesg_note.html', dict(doc=doc, form=form, ), @@ -802,7 +769,7 @@ def edit_shepherd_writeup(request, name): ) form = ShepherdWriteupUploadForm(initial=init) - return render_to_response('idrfc/change_shepherd_writeup.html', + return render_to_response('doc/draft/change_shepherd_writeup.html', {'form': form, 'doc' : doc, }, @@ -853,7 +820,7 @@ def edit_shepherd(request, name): init = { "shepherd": current_shepherd} form = ShepherdForm(initial=init) - return render_to_response('idrfc/change_shepherd.html', + return render_to_response('doc/change_shepherd.html', {'form': form, 'doc': doc, }, @@ -896,7 +863,7 @@ def edit_ad(request, name): init = { "ad" : doc.ad_id } form = AdForm(initial=init) - return render_to_response('idrfc/change_ad.html', + return render_to_response('doc/draft/change_ad.html', {'form': form, 'doc': doc, }, @@ -934,7 +901,7 @@ def edit_consensus(request, name): else: form = ConsensusForm(initial=dict(consensus=nice_consensus(prev_consensus).replace("Unknown", ""))) - return render_to_response('idrfc/change_consensus.html', + return render_to_response('doc/draft/change_consensus.html', {'form': form, 'doc': doc, }, @@ -968,7 +935,7 @@ def request_publication(request, name): import ietf.sync.rfceditor response, error = ietf.sync.rfceditor.post_approved_draft(settings.RFC_EDITOR_SYNC_NOTIFICATION_URL, doc.name) if error: - return render_to_response('doc/rfceditor_post_approved_draft_failed.html', + return render_to_response('doc/draft/rfceditor_post_approved_draft_failed.html', dict(name=doc.name, response=response, error=error), @@ -1017,7 +984,7 @@ def request_publication(request, name): form = PublicationForm(initial=dict(subject=subject, body=body)) - return render_to_response('idrfc/request_publication.html', + return render_to_response('doc/draft/request_publication.html', dict(form=form, doc=doc, message=m, diff --git a/ietf/doc/views_search.py b/ietf/doc/views_search.py index 73cc918b4..a5ae06de4 100644 --- a/ietf/doc/views_search.py +++ b/ietf/doc/views_search.py @@ -363,13 +363,13 @@ def search(request): results = [] meta = { 'by': None, 'advanced': False, 'searching': False } - return render_to_response('doc/search.html', + return render_to_response('doc/search/search.html', {'form':form, 'docs':results, 'meta':meta, 'show_add_to_list': True }, context_instance=RequestContext(request)) def frontpage(request): form = SearchForm() - return render_to_response('idrfc/main.html', {'form':form}, context_instance=RequestContext(request)) + return render_to_response('doc/frontpage.html', {'form':form}, context_instance=RequestContext(request)) def ad_dashboard_group(doc): diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index af8b47c31..e52f1dcc3 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -700,7 +700,7 @@ def last_call(request, name): request_last_call(request, status_change) - return render_to_response('idrfc/last_call_requested.html', + return render_to_response('doc/draft/last_call_requested.html', dict(doc=status_change, url = status_change.get_absolute_url(), ), diff --git a/ietf/idrfc/templatetags/ballot_icon.py b/ietf/idrfc/templatetags/ballot_icon.py deleted file mode 100644 index a43af8b0c..000000000 --- a/ietf/idrfc/templatetags/ballot_icon.py +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. Contact: Pasi Eronen -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# -# * Neither the name of the Nokia Corporation and/or its -# subsidiary(-ies) nor the names of its contributors may be used -# to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -from django import template -from django.core.urlresolvers import reverse as urlreverse -from django.conf import settings -from ietf.idtracker.models import IDInternal, BallotInfo -from ietf.idrfc.idrfc_wrapper import position_to_string, BALLOT_ACTIVE_STATES -from ietf.idtracker.templatetags.ietf_filters import in_group, timesince_days -from ietf.ietfauth.decorators import has_role -from ietf.doc.models import BallotDocEvent - -register = template.Library() - -def get_user_name(context): - if 'user' in context and context['user'].is_authenticated(): - if settings.USE_DB_REDESIGN_PROXY_CLASSES: - from ietf.person.models import Person - try: - return context['user'].get_profile().plain_name() - except Person.DoesNotExist: - return None - - person = context['user'].get_profile().person() - if person: - return str(person) - return None - -def render_ballot_icon(user, doc): - if not doc: - return "" - - if doc.type_id == "draft": - s = doc.get_state("draft-iesg") - if s and s.name not in BALLOT_ACTIVE_STATES: - return "" - elif doc.type_id == "charter": - if doc.get_state_slug() not in ("intrev", "iesgrev"): - return "" - - ballot = doc.latest_event(BallotDocEvent, type="created_ballot") - if not ballot: - return "" - - edit_position_url = urlreverse('ietf.doc.views_ballot.edit_position', kwargs=dict(name=doc.name, ballot_id=ballot.pk)) - - def sort_key(t): - _, pos = t - if not pos: - return (2, 0) - elif pos.pos.blocking: - return (0, pos.pos.order) - else: - return (1, pos.pos.order) - - positions = list(doc.active_ballot().active_ad_positions().items()) - positions.sort(key=sort_key) - - cm = "" - if has_role(user, "Area Director"): - cm = ' oncontextmenu="editBallot(\''+str(edit_position_url)+'\');return false;"' - - res = [''] - - res.append("") - - for i, (ad, pos) in enumerate(positions): - if i > 0 and i % 5 == 0: - res.append("") - res.append("") - - c = "position-%s" % (pos.pos.slug if pos else "norecord") - - if ad.user_id == user.id: - c += " my" - - res.append('") - res.append("
' % c) - - res.append("
") - - return "".join(res) - -class BallotIconNode(template.Node): - def __init__(self, doc_var): - self.doc_var = doc_var - def render(self, context): - doc = template.resolve_variable(self.doc_var, context) - if hasattr(doc, "_idinternal"): - # hack for old schema - doc = doc._idinternal - return render_ballot_icon(context.get("user"), doc) - -def do_ballot_icon(parser, token): - try: - tagName, docName = token.split_contents() - except ValueError: - raise template.TemplateSyntaxError, "%r tag requires exactly two arguments" % token.contents.split()[0] - return BallotIconNode(docName) - -register.tag('ballot_icon', do_ballot_icon) - -@register.filter -def my_position(doc, user): - user_name = get_user_name({'user':user}) - if not user_name: - return None - if not in_group(user, "Area_Director"): - return None - if not doc.in_ietf_process(): - return None - if not doc.ietf_process.has_iesg_ballot(): - return None - ballot = doc.ietf_process.iesg_ballot() - return ballot.position_for_ad(user_name) - -@register.filter -def state_age_colored(doc): - if not doc.in_ietf_process(): - return "" - if doc.is_id_wrapper and not doc.draft_status in ["Active", "RFC"]: - # Don't show anything for expired/withdrawn/replaced drafts - return "" - main_state = doc.ietf_process.main_state - sub_state = doc.ietf_process.sub_state - if main_state in ["Dead","AD is watching","RFC Published"]: - return "" - days = timesince_days(doc.ietf_process.state_date()) - # loosely based on - # http://trac.tools.ietf.org/group/iesg/trac/wiki/PublishPath - if main_state == "In Last Call": - goal1 = 30 - goal2 = 30 - elif main_state == "RFC Ed Queue": - goal1 = 60 - goal2 = 120 - elif main_state in ["Last Call Requested", "Approved-announcement to be sent"]: - goal1 = 4 - goal2 = 7 - elif sub_state == "Revised ID Needed": - goal1 = 14 - goal2 = 28 - elif main_state == "Publication Requested": - goal1 = 7 - goal2 = 14 - elif main_state == "AD Evaluation": - goal1 = 14 - goal2 = 28 - else: - goal1 = 14 - goal2 = 28 - if days > goal2: - class_name = "ietf-small ietf-highlight-r" - elif days > goal1: - class_name = "ietf-small ietf-highlight-y" - else: - class_name = "ietf-small" - if days > goal1: - title = ' title="Goal is <%d days"' % (goal1,) - else: - title = '' - return '(for %d day%s)' % (class_name,title,days,('','s')[days != 1]) diff --git a/ietf/templates/idrfc/add_comment.html b/ietf/templates/doc/add_comment.html similarity index 100% rename from ietf/templates/idrfc/add_comment.html rename to ietf/templates/doc/add_comment.html diff --git a/ietf/templates/idrfc/ballot_approvaltext.html b/ietf/templates/doc/ballot/approvaltext.html similarity index 100% rename from ietf/templates/idrfc/ballot_approvaltext.html rename to ietf/templates/doc/ballot/approvaltext.html diff --git a/ietf/templates/idrfc/approve_ballot.html b/ietf/templates/doc/ballot/approve_ballot.html similarity index 100% rename from ietf/templates/idrfc/approve_ballot.html rename to ietf/templates/doc/ballot/approve_ballot.html diff --git a/ietf/templates/idrfc/ballot_comment_mail.txt b/ietf/templates/doc/ballot/ballot_comment_mail.txt similarity index 100% rename from ietf/templates/idrfc/ballot_comment_mail.txt rename to ietf/templates/doc/ballot/ballot_comment_mail.txt diff --git a/ietf/templates/idrfc/ballot_issued.html b/ietf/templates/doc/ballot/ballot_issued.html similarity index 100% rename from ietf/templates/idrfc/ballot_issued.html rename to ietf/templates/doc/ballot/ballot_issued.html diff --git a/ietf/templates/idrfc/clear_ballot.html b/ietf/templates/doc/ballot/clear_ballot.html similarity index 100% rename from ietf/templates/idrfc/clear_ballot.html rename to ietf/templates/doc/ballot/clear_ballot.html diff --git a/ietf/templates/idrfc/defer_ballot.html b/ietf/templates/doc/ballot/defer_ballot.html similarity index 100% rename from ietf/templates/idrfc/defer_ballot.html rename to ietf/templates/doc/ballot/defer_ballot.html diff --git a/ietf/templates/idrfc/edit_position.html b/ietf/templates/doc/ballot/edit_position.html similarity index 100% rename from ietf/templates/idrfc/edit_position.html rename to ietf/templates/doc/ballot/edit_position.html diff --git a/ietf/templates/idrfc/ballot_lastcalltext.html b/ietf/templates/doc/ballot/lastcalltext.html similarity index 100% rename from ietf/templates/idrfc/ballot_lastcalltext.html rename to ietf/templates/doc/ballot/lastcalltext.html diff --git a/ietf/templates/idrfc/send_ballot_comment.html b/ietf/templates/doc/ballot/send_ballot_comment.html similarity index 100% rename from ietf/templates/idrfc/send_ballot_comment.html rename to ietf/templates/doc/ballot/send_ballot_comment.html diff --git a/ietf/templates/idrfc/undefer_ballot.html b/ietf/templates/doc/ballot/undefer_ballot.html similarity index 100% rename from ietf/templates/idrfc/undefer_ballot.html rename to ietf/templates/doc/ballot/undefer_ballot.html diff --git a/ietf/templates/idrfc/ballot_writeupnotes.html b/ietf/templates/doc/ballot/writeupnotes.html similarity index 100% rename from ietf/templates/idrfc/ballot_writeupnotes.html rename to ietf/templates/doc/ballot/writeupnotes.html diff --git a/ietf/templates/idrfc/change_shepherd.html b/ietf/templates/doc/change_shepherd.html similarity index 100% rename from ietf/templates/idrfc/change_shepherd.html rename to ietf/templates/doc/change_shepherd.html diff --git a/ietf/templates/idrfc/document_status_change.html b/ietf/templates/doc/document_status_change.html similarity index 100% rename from ietf/templates/idrfc/document_status_change.html rename to ietf/templates/doc/document_status_change.html diff --git a/ietf/templates/idrfc/change_ad.html b/ietf/templates/doc/draft/change_ad.html similarity index 100% rename from ietf/templates/idrfc/change_ad.html rename to ietf/templates/doc/draft/change_ad.html diff --git a/ietf/templates/idrfc/change_consensus.html b/ietf/templates/doc/draft/change_consensus.html similarity index 100% rename from ietf/templates/idrfc/change_consensus.html rename to ietf/templates/doc/draft/change_consensus.html diff --git a/ietf/templates/idrfc/change_iana_state.html b/ietf/templates/doc/draft/change_iana_state.html similarity index 100% rename from ietf/templates/idrfc/change_iana_state.html rename to ietf/templates/doc/draft/change_iana_state.html diff --git a/ietf/templates/idrfc/change_intended_status.html b/ietf/templates/doc/draft/change_intended_status.html similarity index 100% rename from ietf/templates/idrfc/change_intended_status.html rename to ietf/templates/doc/draft/change_intended_status.html diff --git a/ietf/templates/idrfc/change_notify.html b/ietf/templates/doc/draft/change_notify.html similarity index 100% rename from ietf/templates/idrfc/change_notify.html rename to ietf/templates/doc/draft/change_notify.html diff --git a/ietf/templates/idrfc/change_shepherd_writeup.html b/ietf/templates/doc/draft/change_shepherd_writeup.html similarity index 100% rename from ietf/templates/idrfc/change_shepherd_writeup.html rename to ietf/templates/doc/draft/change_shepherd_writeup.html diff --git a/ietf/templates/idrfc/change_state.html b/ietf/templates/doc/draft/change_state.html similarity index 100% rename from ietf/templates/idrfc/change_state.html rename to ietf/templates/doc/draft/change_state.html diff --git a/ietf/templates/idrfc/change_stream.html b/ietf/templates/doc/draft/change_stream.html similarity index 100% rename from ietf/templates/idrfc/change_stream.html rename to ietf/templates/doc/draft/change_stream.html diff --git a/ietf/templates/idrfc/edit_iesg_note.html b/ietf/templates/doc/draft/edit_iesg_note.html similarity index 100% rename from ietf/templates/idrfc/edit_iesg_note.html rename to ietf/templates/doc/draft/edit_iesg_note.html diff --git a/ietf/templates/idrfc/edit_info.html b/ietf/templates/doc/draft/edit_info.html similarity index 100% rename from ietf/templates/idrfc/edit_info.html rename to ietf/templates/doc/draft/edit_info.html diff --git a/ietf/templates/idrfc/edit_telechat_date.html b/ietf/templates/doc/draft/edit_telechat_date.html similarity index 100% rename from ietf/templates/idrfc/edit_telechat_date.html rename to ietf/templates/doc/draft/edit_telechat_date.html diff --git a/ietf/templates/idrfc/expire_warning_email.txt b/ietf/templates/doc/draft/expire_warning_email.txt similarity index 100% rename from ietf/templates/idrfc/expire_warning_email.txt rename to ietf/templates/doc/draft/expire_warning_email.txt diff --git a/ietf/templates/idrfc/id_expired_email.txt b/ietf/templates/doc/draft/id_expired_email.txt similarity index 100% rename from ietf/templates/idrfc/id_expired_email.txt rename to ietf/templates/doc/draft/id_expired_email.txt diff --git a/ietf/templates/idrfc/last_call_requested.html b/ietf/templates/doc/draft/last_call_requested.html similarity index 100% rename from ietf/templates/idrfc/last_call_requested.html rename to ietf/templates/doc/draft/last_call_requested.html diff --git a/ietf/templates/idrfc/make_last_call.html b/ietf/templates/doc/draft/make_last_call.html similarity index 100% rename from ietf/templates/idrfc/make_last_call.html rename to ietf/templates/doc/draft/make_last_call.html diff --git a/ietf/templates/idrfc/request_publication.html b/ietf/templates/doc/draft/request_publication.html similarity index 100% rename from ietf/templates/idrfc/request_publication.html rename to ietf/templates/doc/draft/request_publication.html diff --git a/ietf/templates/idrfc/request_resurrect.html b/ietf/templates/doc/draft/request_resurrect.html similarity index 100% rename from ietf/templates/idrfc/request_resurrect.html rename to ietf/templates/doc/draft/request_resurrect.html diff --git a/ietf/templates/idrfc/resurrect.html b/ietf/templates/doc/draft/resurrect.html similarity index 100% rename from ietf/templates/idrfc/resurrect.html rename to ietf/templates/doc/draft/resurrect.html diff --git a/ietf/templates/doc/rfceditor_post_approved_draft_failed.html b/ietf/templates/doc/draft/rfceditor_post_approved_draft_failed.html similarity index 100% rename from ietf/templates/doc/rfceditor_post_approved_draft_failed.html rename to ietf/templates/doc/draft/rfceditor_post_approved_draft_failed.html diff --git a/ietf/templates/doc/drafts_for_ad.html b/ietf/templates/doc/drafts_for_ad.html index 801cf1a81..725967c6a 100644 --- a/ietf/templates/doc/drafts_for_ad.html +++ b/ietf/templates/doc/drafts_for_ad.html @@ -5,7 +5,7 @@ {% block content %}

Documents for {{ ad_name }}

-{% include "idrfc/search_results.html" %} +{% include "doc/search/search_results.html" %} {% endblock %} diff --git a/ietf/templates/doc/drafts_in_last_call.html b/ietf/templates/doc/drafts_in_last_call.html index 50465eb00..9416973d5 100644 --- a/ietf/templates/doc/drafts_in_last_call.html +++ b/ietf/templates/doc/drafts_in_last_call.html @@ -5,7 +5,7 @@ {% block content %}

Internet-Drafts in IETF Last Call

-{% include "idrfc/search_results.html" %} +{% include "doc/search/search_results.html" %} {% endblock %} diff --git a/ietf/templates/idrfc/main.html b/ietf/templates/doc/frontpage.html similarity index 98% rename from ietf/templates/idrfc/main.html rename to ietf/templates/doc/frontpage.html index d3be2cf1f..616269950 100644 --- a/ietf/templates/idrfc/main.html +++ b/ietf/templates/doc/frontpage.html @@ -54,7 +54,7 @@ td.ietf-main-intro { width:200px; background:#fff5df; padding:8px; border:1px so

Search Internet-Drafts and RFCs

-{% include "idrfc/search_form.html" %} +{% include "doc/search/search_form.html" %}   diff --git a/ietf/templates/idrfc/approval_mail.txt b/ietf/templates/doc/mail/approval_mail.txt similarity index 100% rename from ietf/templates/idrfc/approval_mail.txt rename to ietf/templates/doc/mail/approval_mail.txt diff --git a/ietf/templates/idrfc/approval_mail_rfc_editor.txt b/ietf/templates/doc/mail/approval_mail_rfc_editor.txt similarity index 100% rename from ietf/templates/idrfc/approval_mail_rfc_editor.txt rename to ietf/templates/doc/mail/approval_mail_rfc_editor.txt diff --git a/ietf/templates/idrfc/ballot_deferred_email.txt b/ietf/templates/doc/mail/ballot_deferred_email.txt similarity index 100% rename from ietf/templates/idrfc/ballot_deferred_email.txt rename to ietf/templates/doc/mail/ballot_deferred_email.txt diff --git a/ietf/templates/idrfc/ballot_writeup.txt b/ietf/templates/doc/mail/ballot_writeup.txt similarity index 100% rename from ietf/templates/idrfc/ballot_writeup.txt rename to ietf/templates/doc/mail/ballot_writeup.txt diff --git a/ietf/templates/idrfc/change_notice.txt b/ietf/templates/doc/mail/change_notice.txt similarity index 100% rename from ietf/templates/idrfc/change_notice.txt rename to ietf/templates/doc/mail/change_notice.txt diff --git a/ietf/templates/idrfc/issue_ballot_mail.txt b/ietf/templates/doc/mail/issue_ballot_mail.txt similarity index 100% rename from ietf/templates/idrfc/issue_ballot_mail.txt rename to ietf/templates/doc/mail/issue_ballot_mail.txt diff --git a/ietf/templates/idrfc/last_call_announcement.txt b/ietf/templates/doc/mail/last_call_announcement.txt similarity index 100% rename from ietf/templates/idrfc/last_call_announcement.txt rename to ietf/templates/doc/mail/last_call_announcement.txt diff --git a/ietf/templates/idrfc/last_call_request.txt b/ietf/templates/doc/mail/last_call_request.txt similarity index 100% rename from ietf/templates/idrfc/last_call_request.txt rename to ietf/templates/doc/mail/last_call_request.txt diff --git a/ietf/templates/idrfc/publication_request.txt b/ietf/templates/doc/mail/publication_request.txt similarity index 100% rename from ietf/templates/idrfc/publication_request.txt rename to ietf/templates/doc/mail/publication_request.txt diff --git a/ietf/templates/idrfc/pulled_from_rfc_queue_email.txt b/ietf/templates/doc/mail/pulled_from_rfc_queue_email.txt similarity index 100% rename from ietf/templates/idrfc/pulled_from_rfc_queue_email.txt rename to ietf/templates/doc/mail/pulled_from_rfc_queue_email.txt diff --git a/ietf/templates/idrfc/resurrect_completed_email.txt b/ietf/templates/doc/mail/resurrect_completed_email.txt similarity index 100% rename from ietf/templates/idrfc/resurrect_completed_email.txt rename to ietf/templates/doc/mail/resurrect_completed_email.txt diff --git a/ietf/templates/idrfc/resurrect_request_email.txt b/ietf/templates/doc/mail/resurrect_request_email.txt similarity index 100% rename from ietf/templates/idrfc/resurrect_request_email.txt rename to ietf/templates/doc/mail/resurrect_request_email.txt diff --git a/ietf/templates/idrfc/state_changed_email.txt b/ietf/templates/doc/mail/state_changed_email.txt similarity index 100% rename from ietf/templates/idrfc/state_changed_email.txt rename to ietf/templates/doc/mail/state_changed_email.txt diff --git a/ietf/templates/idrfc/stream_changed_email.txt b/ietf/templates/doc/mail/stream_changed_email.txt similarity index 100% rename from ietf/templates/idrfc/stream_changed_email.txt rename to ietf/templates/doc/mail/stream_changed_email.txt diff --git a/ietf/templates/idrfc/ipr_column_with_label.html b/ietf/templates/doc/search/ipr_column_with_label.html similarity index 100% rename from ietf/templates/idrfc/ipr_column_with_label.html rename to ietf/templates/doc/search/ipr_column_with_label.html diff --git a/ietf/templates/doc/search.html b/ietf/templates/doc/search/search.html similarity index 75% rename from ietf/templates/doc/search.html rename to ietf/templates/doc/search/search.html index ee60fa559..3a69707fa 100644 --- a/ietf/templates/doc/search.html +++ b/ietf/templates/doc/search/search.html @@ -6,10 +6,10 @@

Search Internet-Drafts and RFCs

-{% include "idrfc/search_form.html" %} +{% include "doc/search/search_form.html" %}
-{% if meta.searching %}{% include "idrfc/search_results.html" %}{% endif %} +{% if meta.searching %}{% include "doc/search/search_results.html" %}{% endif %} {% endblock content %} diff --git a/ietf/templates/idrfc/search_form.html b/ietf/templates/doc/search/search_form.html similarity index 100% rename from ietf/templates/idrfc/search_form.html rename to ietf/templates/doc/search/search_form.html diff --git a/ietf/templates/idrfc/search_result_row.html b/ietf/templates/doc/search/search_result_row.html similarity index 98% rename from ietf/templates/idrfc/search_result_row.html rename to ietf/templates/doc/search/search_result_row.html index a63168f85..6b6bcd173 100644 --- a/ietf/templates/idrfc/search_result_row.html +++ b/ietf/templates/doc/search/search_result_row.html @@ -33,7 +33,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% endcomment %} {% load ietf_filters %} -{% load ballot_icon %} {% if show_add_to_list and user.is_authenticated %} @@ -62,7 +61,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% endif %} -{% include "doc/status_columns.html" %} +{% include "doc/search/status_columns.html" %} {% if doc.iprs %} diff --git a/ietf/templates/idrfc/search_results.html b/ietf/templates/doc/search/search_results.html similarity index 97% rename from ietf/templates/idrfc/search_results.html rename to ietf/templates/doc/search/search_results.html index ba8d7411b..8a5e0fb38 100644 --- a/ietf/templates/idrfc/search_results.html +++ b/ietf/templates/doc/search/search_results.html @@ -65,7 +65,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {{ doc_group.grouper|plural:doc_group.list }} {% for doc in doc_group.list %} - {% include "idrfc/search_result_row.html" %} + {% include "doc/search/search_result_row.html" %} {% endfor %} {% endfor %} diff --git a/ietf/templates/doc/status_columns.html b/ietf/templates/doc/search/status_columns.html similarity index 96% rename from ietf/templates/doc/status_columns.html rename to ietf/templates/doc/search/status_columns.html index 95328dc0b..80691fbe5 100644 --- a/ietf/templates/doc/status_columns.html +++ b/ietf/templates/doc/search/status_columns.html @@ -1,4 +1,4 @@ -{% load ietf_filters %}{% load ballot_icon_redesign %} +{% load ietf_filters %}{% load ballot_icon %} {{ doc.friendly_state|safe }} {% if not doc.get_state_slug == "rfc" %}{{ doc|state_age_colored }}{% endif %} diff --git a/ietf/templates/idrfc/active.html b/ietf/templates/idrfc/active.html deleted file mode 100644 index f8e97d707..000000000 --- a/ietf/templates/idrfc/active.html +++ /dev/null @@ -1,67 +0,0 @@ -{% comment %} -Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -All rights reserved. Contact: Pasi Eronen - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the Nokia Corporation and/or its - subsidiary(-ies) nor the names of its contributors may be used - to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #} -{% endcomment %} - - -Active Internet-Drafts - - - -

Active Internet-Drafts

- -

This page lists all active Internet-Drafts, grouped by -working group (and individual submissions last). -For normal use, it is recommended to use -the search page instead.

- -

There is also a list of all Internet-Drafts, and -the following files are available for download:

- - -{% for group in groups|dictsort:"group_acronym.acronym" %}{% if group.active_drafts %} -

{{ group.group_acronym.name }} ({{ group.group_acronym.acronym}})

-{% for draft in group.active_drafts|dictsort:"filename" %} -

{{draft.title.strip}}
{% for author in draft.authors.all|dictsort:"final_author_order" %}{{author.person}}{% if not forloop.last %}, {% endif %}{% endfor %}
{{draft.filename}}-{{draft.revision}} ({{draft.revision_date|date:"Y-m-d"}})

-{% endfor %}{%endif %}{% endfor %} - -

Individual Submissions

- -{% for draft in individual.active_drafts|dictsort:"filename" %} -

{{draft.title.strip}}
{% for author in draft.authors.all|dictsort:"final_author_order" %}{{author.person}}{% if not forloop.last %}, {% endif %}{% endfor %}
{{draft.filename}}-{{draft.revision}} ({{draft.revision_date|date:"Y-m-d"}})

-{% endfor %} - - diff --git a/ietf/templates/idrfc/all.html b/ietf/templates/idrfc/all.html deleted file mode 100644 index aa83ba90c..000000000 --- a/ietf/templates/idrfc/all.html +++ /dev/null @@ -1,86 +0,0 @@ -{% comment %} -Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -All rights reserved. Contact: Pasi Eronen - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the Nokia Corporation and/or its - subsidiary(-ies) nor the names of its contributors may be used - to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #} -{% endcomment %} - - -All Internet-Drafts and RFCs - - - -

All Internet-Drafts and RFCs

- -

This page lists all Internet-Drafts and RFCs, grouped by -status. The main purpose of this page is to ensure all pages can be -found by search engines. For normal use, it is recommended to use -the search page instead.

- -

The following files are also available for download:

- - -

Active Internet-Drafts

- -

More information about active Internet-Drafts

- -

-{% for doc in active %}{{ doc.filename }}
-{% endfor %} -

- -

Internet-Drafts Published as RFCs

- -

-{% for doc in rfc1 %}{{ doc.filename }} (RFC {{ doc.rfc_number }})
-{% endfor %} -

- -

RFCs Without Internet-Draft Information

- -

-{% for doc in rfc2 %}RFC {{ doc.rfc_number }}{% if doc.draft %} ({{ doc.draft }}?){% endif %}
-{% endfor %} -

- -

Expired/Withdrawn/Replaced Internet-Drafts

- -

-{% for doc in dead %}{{ doc.filename }} ({{ doc.status.status}})
-{% endfor %} -

- - diff --git a/ietf/templates/idrfc/by_ad.html b/ietf/templates/idrfc/by_ad.html deleted file mode 100644 index e67c21a63..000000000 --- a/ietf/templates/idrfc/by_ad.html +++ /dev/null @@ -1,54 +0,0 @@ -{% extends "base.html" %} -{% comment %} -Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -All rights reserved. Contact: Pasi Eronen - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the Nokia Corporation and/or its - subsidiary(-ies) nor the names of its contributors may be used - to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -{% endcomment %} - -{% block title %}Internet-Drafts and RFCs for {{ ad_name }}{% endblock %} - -{% block content %} -

Internet-Drafts and RFCs for {{ ad_name }}

- -{% regroup docs by view_sort_group_byad as grouped_docs %} - - - -{% for doc_group in grouped_docs %} - - -{% for doc in doc_group.list %} -{% include "idrfc/search_result_row.html" %} -{% endfor %} - -{% endfor %} -
DocumentTitleDateStatusiprAD / Shepherd
{{doc_group.grouper}}s
-{% endblock content %} diff --git a/ietf/templates/idrfc/document_charter.html b/ietf/templates/idrfc/document_charter.html deleted file mode 100644 index 9a78432d9..000000000 --- a/ietf/templates/idrfc/document_charter.html +++ /dev/null @@ -1,155 +0,0 @@ -{% extends "idrfc/doc_main.html" %} -{% comment extends "base.html" %} -{% endcomment %} - -{% load ietf_filters %} - -{% block title %}{{ doc.canonical_name }}-{{ doc.rev }}{% endblock %} - -{% block pagehead %} - -{% endblock %} - -{% block content %} -{{ top|safe }} - -
- Snapshots: - - {% for rev in revisions %} - {{ rev }} - {% endfor %} - -
- -
-
- {% if snapshot %}Snapshot of{% endif %} - {% if doc.get_state_slug != "approved" %}Proposed{% endif %} - Charter for "{{ group.name }}" - ({{ group.acronym }}) {{ group.type.name }} -
- - - - - - - - - - - - {% if chartering and group.comments %} - - {% if chartering == "initial" %}{% endif %} - {% if chartering == "rechartering" %}{% endif %} - - - {% endif %} - - - - - - - - - - - - - - - - -
WG State:{{ group.state.name }}
Charter State: -
- - {{ doc.get_state.name }} - - {% if chartering == "initial" %} - (Initial Chartering){% endif %} - {% if chartering == "rechartering" %} - (Rechartering){% endif %} -
- - {% if not snapshot and chartering %} - - - {% if ballot_summary %} -
- ({{ ballot_summary }}) -
- {% endif %} - - {% endif %} -
Reason for chartering:Reason for rechartering:{{ group.comments }}
Responsible AD:{{ doc.ad|default:"none" }}

Send notices to: - {{ doc.notify|default:"none" }} - -
Last updated: {{ doc.time|date:"Y-m-d" }}

- -
- Atom feed -
- -
- {% if not snapshot and user|has_role:"Area Director,Secretariat" %} - {% if chartering %} - {% url charter_startstop_process name=doc.name option='abandon' as abandon_url %}{% if abandon_url %}Abandon Effort{% endif %} - - {% if request.user|has_role:"Secretariat" %} - {% url charter_approve name=doc.name as approve_url %}{% if approve_url %}Approve Charter{% endif %} - {% endif %} - - {% else %} - {% if group.state_id == "proposed" or group.state_id == "bof" %} - {% url charter_submit name=doc.name option='initcharter' as start_url %}{% if start_url %}Start Chartering{% endif %} - {% else %} - {% url charter_submit name=doc.name option='recharter' as recharter_url %}{% if recharter_url %}Recharter{% endif %} - {% endif %} - {% endif %} - - {% endif %} -
-
- -

Other versions: plain text

- -

Charter {{ doc.canonical_name }}-{{ doc.rev }} - -{% if not snapshot and user|has_role:"Area Director,Secretariat" and chartering and group.state_id != "conclude" %} -Change charter text -{% endif %} -

- -{% if doc.rev != "" %} -
- {{ content|safe|keep_spacing|sanitize_html|wordwrap:80|safe }} -
-{% endif %} - -

{% if chartering %}Proposed{% endif %} Milestones -{% if not snapshot and user|has_role:"Area Director,Secretariat" %} -Edit charter milestones -{% endif %} -

- -{% if milestones %} -{% include "wginfo/milestones.html" %} -{% else %} -

No milestones for charter found.

-{% endif %} - -{% endblock %} - diff --git a/ietf/templates/idrfc/in_last_call.html b/ietf/templates/idrfc/in_last_call.html deleted file mode 100644 index 2d472118f..000000000 --- a/ietf/templates/idrfc/in_last_call.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Internet-Drafts in IETF Last Call{% endblock %} - -{% block content %} -

Internet-Drafts in IETF Last Call

- - - - -{% for doc in lcdocs %} -{% include "idrfc/search_result_row.html" %} -{% endfor %} -
DocumentTitleDateStatusiprArea Director
- -{% endblock %} diff --git a/ietf/templates/idrfc/ipr_column.html b/ietf/templates/idrfc/ipr_column.html deleted file mode 100644 index c26f0b895..000000000 --- a/ietf/templates/idrfc/ipr_column.html +++ /dev/null @@ -1,36 +0,0 @@ -{% comment %} -Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -All rights reserved. Contact: Pasi Eronen - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the Nokia Corporation and/or its - subsidiary(-ies) nor the names of its contributors may be used - to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -{% endcomment %} -{% load ietf_filters %} -{% if doc.iprCount %} {{ doc.iprCount }} {% endif %} - diff --git a/ietf/templates/idrfc/search_main.html b/ietf/templates/idrfc/search_main.html deleted file mode 100644 index 5a2d869b1..000000000 --- a/ietf/templates/idrfc/search_main.html +++ /dev/null @@ -1,55 +0,0 @@ -{% extends "base.html" %} -{% comment %} -Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -All rights reserved. Contact: Pasi Eronen - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the Nokia Corporation and/or its - subsidiary(-ies) nor the names of its contributors may be used - to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -{% endcomment %} - -{% block title %}Internet-Drafts and RFCs{% endblock %} - -{% block content %} -

Internet-Drafts and RFCs

- -
-{% include "idrfc/search_form.html" %} -
- -
-{% if meta.searching %} -{% include "idrfc/search-results.html" %} -{% endif %} -
-{% endblock content %} - -{% block js %} - - -{% endblock %} diff --git a/ietf/templates/idrfc/shepherd_writeup.html b/ietf/templates/idrfc/shepherd_writeup.html deleted file mode 100644 index cd658e706..000000000 --- a/ietf/templates/idrfc/shepherd_writeup.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends "base.html" %} - -{% block morecss %} -form #id_content { - width: 40em; - height: 450px; -} -{% endblock %} - -{% block title %} -Shepherd writeup for {{ doc.canonical_name }}-{{ doc.rev }} -{% endblock %} - -{% block content %} -

Shepherd writeup for {{ doc.canonical_name }}-{{ doc.rev }}

- -
{{writeup}}
- -Back - -{% if can_edit %} -{% url doc_edit_shepherd_writeup name=doc.name as doc_edit_url %}{% if doc_edit_url %}Edit{% endif %} -{% endif %} - -{% endblock %} diff --git a/ietf/templates/idrfc/status_columns.html b/ietf/templates/idrfc/status_columns.html index f9dc48d3b..00491018e 100644 --- a/ietf/templates/idrfc/status_columns.html +++ b/ietf/templates/idrfc/status_columns.html @@ -31,7 +31,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% endcomment %} -{% load ietf_filters ietf_streams %}{% load ballot_icon_redesign %} +{% load ietf_filters ietf_streams %}{% load ballot_icon %} {{ doc.friendly_state|safe }} {% if not doc.rfc %}{{ doc.id|state_age_colored|safe }}{% endif %} {% if not hide_telechat_date %}{% if doc.telechat_date %}
IESG Telechat: {{ doc.telechat_date }}{% endif %}{% endif %} diff --git a/ietf/templates/iesg/agenda_conflict_doc.html b/ietf/templates/iesg/agenda_conflict_doc.html index 920644010..5e5692404 100644 --- a/ietf/templates/iesg/agenda_conflict_doc.html +++ b/ietf/templates/iesg/agenda_conflict_doc.html @@ -34,7 +34,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% comment %} Some parts Copyright (c) 2009 The IETF Trust, all rights reserved. {% endcomment %} -{% load ietf_filters %}{% load ballot_icon_redesign %} +{% load ietf_filters %}{% load ballot_icon %} {% if title2_first %}{% if title1_first %}

{{ title1 }}

{% endif %} diff --git a/ietf/templates/iesg/agenda_doc.html b/ietf/templates/iesg/agenda_doc.html index d7e2b11f8..37544a7f2 100644 --- a/ietf/templates/iesg/agenda_doc.html +++ b/ietf/templates/iesg/agenda_doc.html @@ -34,7 +34,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% comment %} Some parts Copyright (c) 2009 The IETF Trust, all rights reserved. {% endcomment %} -{% load ietf_filters %}{% load ballot_icon_redesign %} +{% load ietf_filters %}{% load ballot_icon %} {% if title2_first %}{% if title1_first %}

{{ title1 }}

{% if title1|startswith:"2." %} diff --git a/ietf/templates/iesg/agenda_documents_redesign.html b/ietf/templates/iesg/agenda_documents_redesign.html index ad6e261df..e8a2affdc 100644 --- a/ietf/templates/iesg/agenda_documents_redesign.html +++ b/ietf/templates/iesg/agenda_documents_redesign.html @@ -32,7 +32,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% endcomment %} -{% load ballot_icon_redesign %} +{% load ballot_icon %} {% load ietf_filters %} {% block title %}Documents on Future IESG Telechat Agendas{% endblock %} diff --git a/ietf/templates/iesg/agenda_documents_row.html b/ietf/templates/iesg/agenda_documents_row.html deleted file mode 100644 index e5d537d13..000000000 --- a/ietf/templates/iesg/agenda_documents_row.html +++ /dev/null @@ -1,63 +0,0 @@ -{% comment %} -Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -All rights reserved. Contact: Pasi Eronen - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of the Nokia Corporation and/or its - subsidiary(-ies) nor the names of its contributors may be used - to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -{% endcomment %} - -{% load ballot_icon %} -{% load ietf_filters %} - - -
{{ doc.displayname_with_link|safe }}
-{% if doc.ietf_process.iesg_ballot.was_deferred %} -
(deferred on {{ doc.ietf_process.iesg_ballot.deferred_date }})
-{% endif %} -{% if user|in_group:"Secretariat" %} -
-{% if doc.reschedule_form.show_clear %} -
-{% endif %} -{% endif %} - -{{ doc.title }} -{% with doc.pages as pagecount %}{% if pagecount %}({{doc.pages}} pp){% endif %}{% endwith %} - -{% include "iesg/agenda_documents_row_status.html" %} -{% include "idrfc/ipr_column_with_label.html" %} -{{ doc.ad_name|default:"" }} - diff --git a/ietf/templates/iesg/agenda_documents_row_redesign.html b/ietf/templates/iesg/agenda_documents_row_redesign.html index 3a732446d..98f7878f1 100644 --- a/ietf/templates/iesg/agenda_documents_row_redesign.html +++ b/ietf/templates/iesg/agenda_documents_row_redesign.html @@ -34,7 +34,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> {% endcomment %} -{% load ballot_icon_redesign %} +{% load ballot_icon %} {% load ietf_filters %} ({{doc.pages}} pp){% endif %}{% endwith %} {% include "iesg/agenda_documents_row_status_redesign.html" %} -{% include "idrfc/ipr_column_with_label.html" %} +{% include "doc/search/ipr_column_with_label.html" %} {{ doc.ad.plain_name|default:"" }} diff --git a/ietf/templates/iesg/agenda_documents_row_status_redesign.html b/ietf/templates/iesg/agenda_documents_row_status_redesign.html index bdf6958d0..e73fa4d53 100644 --- a/ietf/templates/iesg/agenda_documents_row_status_redesign.html +++ b/ietf/templates/iesg/agenda_documents_row_status_redesign.html @@ -1,6 +1,6 @@ -{% extends "doc/status_columns.html" %} +{% extends "doc/search/status_columns.html" %} {% block extra_status %} {% if doc.type.slug == 'draft' %} -
Intended status: {{doc.intended_std_level}} +
Intended status: {{ doc.intended_std_level }} {% endif %} {% endblock %} diff --git a/ietf/templates/iesg/agenda_wg.html b/ietf/templates/iesg/agenda_wg.html index 572bd036c..a5a61dd2c 100644 --- a/ietf/templates/iesg/agenda_wg.html +++ b/ietf/templates/iesg/agenda_wg.html @@ -31,7 +31,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% endcomment %} -{% load ballot_icon_redesign %} +{% load ballot_icon %} {% if title2_first %}{% if title1_first %}

{{ title1 }}

{% endif %}

{{ title2 }}

diff --git a/ietf/templates/wginfo/chartering_wgs.html b/ietf/templates/wginfo/chartering_wgs.html index 72c81340c..291daa6a5 100644 --- a/ietf/templates/wginfo/chartering_wgs.html +++ b/ietf/templates/wginfo/chartering_wgs.html @@ -4,7 +4,7 @@ {% block content %} {% load ietf_filters %} -{% load ballot_icon_redesign %} +{% load ballot_icon %}

Chartering or Re-Chartering Working Groups

diff --git a/ietf/templates/wginfo/wg_documents.html b/ietf/templates/wginfo/wg_documents.html index b748bdfeb..f0fb4529b 100644 --- a/ietf/templates/wginfo/wg_documents.html +++ b/ietf/templates/wginfo/wg_documents.html @@ -37,9 +37,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% block wg_content %}
-{% include "idrfc/search_results.html" %} +{% include "doc/search/search_results.html" %} -{% with docs_related as docs %}{% include "idrfc/search_results.html" %}{% endwith %} +{% with docs_related as docs %}{% include "doc/search/search_results.html" %}{% endwith %}
{% endblock wg_content %}