diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 19e01887f..047cb20ea 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -97,7 +97,7 @@ class SearchTestCase(TestCase): make_test_data() r = self.client.get("/") self.assertEqual(r.status_code, 200) - self.assertTrue("Search Internet-Drafts" in r.content) + self.assertTrue("Search Documents" in r.content) def test_drafts_pages(self): draft = make_test_data() @@ -373,14 +373,12 @@ class DocTestCase(TestCase): self.client.login(username='iab-chair', password='iab-chair+password') r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - q = PyQuery(r.content) - self.assertFalse(q('.actions')) + self.assertTrue("Request publication" not in r.content) Document.objects.filter(pk=doc.pk).update(stream='iab') r = self.client.get(urlreverse("doc_view", kwargs=dict(name=doc.name))) self.assertEqual(r.status_code, 200) - q = PyQuery(r.content) - self.assertTrue('IESG state' in q('.actions').html()) + self.assertTrue("Request publication" in r.content) class AddCommentTestCase(TestCase): diff --git a/ietf/doc/tests_ballot.py b/ietf/doc/tests_ballot.py index a002f14bf..faf55d47b 100644 --- a/ietf/doc/tests_ballot.py +++ b/ietf/doc/tests_ballot.py @@ -174,9 +174,9 @@ class BallotWriteupsTests(TestCase): self.assertEqual(r.status_code, 200) q = PyQuery(r.content) self.assertEqual(len(q('textarea[name=last_call_text]')), 1) - self.assertEqual(len(q('input[type=submit][value*="Save Last Call"]')), 1) - # we're secretariat, so we got The Link - self.assertEqual(len(q('a:contains("Make Last Call")')), 1) + self.assertTrue(q('[type=submit]:contains("Save")')) + # we're Secretariat, so we got The Link + self.assertEqual(len(q('a:contains("Issue last call")')), 1) # subject error r = self.client.post(url, dict( @@ -184,7 +184,7 @@ class BallotWriteupsTests(TestCase): save_last_call_text="1")) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue(len(q('ul.errorlist')) > 0) + self.assertTrue(len(q('form .has-error')) > 0) # save r = self.client.post(url, dict( @@ -243,7 +243,7 @@ class BallotWriteupsTests(TestCase): self.assertEqual(r.status_code, 200) q = PyQuery(r.content) self.assertEqual(len(q('textarea[name=ballot_writeup]')), 1) - self.assertEqual(len(q('input[type=submit][value*="Save Ballot Writeup"]')), 1) + self.assertTrue(q('[type=submit]:contains("Save")')) self.assertTrue("IANA does not" in r.content) # save @@ -317,7 +317,7 @@ class BallotWriteupsTests(TestCase): self.assertEqual(r.status_code, 200) q = PyQuery(r.content) self.assertEqual(len(q('textarea[name=approval_text]')), 1) - self.assertEqual(len(q('input[type=submit][value*="Save Approval"]')), 1) + self.assertTrue(q('[type=submit]:contains("Save")')) # save r = self.client.post(url, dict( @@ -365,8 +365,8 @@ class ApproveBallotTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue("send out the announcement" in q('.actions input[type=submit]')[0].get('value').lower()) - self.assertEqual(len(q('.announcement pre:contains("Subject: Protocol Action")')), 1) + self.assertTrue(q('[type=submit]:contains("send announcement")')) + self.assertEqual(len(q('form pre:contains("Subject: Protocol Action")')), 1) # approve mailbox_before = len(outbox) @@ -466,7 +466,7 @@ class DeferUndeferTestCase(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertEqual(len(q('form.defer')),1) + self.assertEqual(len(q('[type=submit][value="Defer ballot"]')),1) # defer mailbox_before = len(outbox) @@ -521,7 +521,7 @@ class DeferUndeferTestCase(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertEqual(len(q('form.undefer')),1) + self.assertEqual(len(q('[type=submit][value="Undefer ballot"]')),1) # undefer mailbox_before = len(outbox) diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py index a3b9565dd..ac99b7552 100644 --- a/ietf/doc/tests_charter.py +++ b/ietf/doc/tests_charter.py @@ -71,7 +71,7 @@ class EditCharterTests(TestCase): r = self.client.post(url, dict(charter_state="-12345")) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue(len(q('form ul.errorlist')) > 0) + self.assertTrue(len(q('form .has-error')) > 0) self.assertEqual(charter.get_state(), first_state) # change state @@ -370,18 +370,16 @@ class EditCharterTests(TestCase): desc="Has been copied", due=due_date, resolved="") - # m2 isn't used -- missing test? - m2 = GroupMilestone.objects.create(group=group, # pyflakes:ignore - state_id="active", - desc="To be deleted", - due=due_date, - resolved="") - # m3 isn't used -- missing test? - m3 = GroupMilestone.objects.create(group=group, # pyflakes:ignore - state_id="charter", - desc="Has been copied", - due=due_date, - resolved="") + GroupMilestone.objects.create(group=group, + state_id="active", + desc="To be deleted", + due=due_date, + resolved="") + GroupMilestone.objects.create(group=group, + state_id="charter", + desc="Has been copied", + due=due_date, + resolved="") m4 = GroupMilestone.objects.create(group=group, state_id="charter", desc="New charter milestone", @@ -392,7 +390,7 @@ class EditCharterTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue("Send out the announcement" in q('input[type=submit]')[0].get('value')) + self.assertTrue(q('[type=submit]:contains("Send announcement")')) self.assertEqual(len(q('pre')), 1) # approve diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index e70f0aa0e..eefe9b6ef 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -33,7 +33,7 @@ class ChangeStateTests(TestCase): login_testing_unauthorized(self, "secretary", url) first_state = draft.get_state("draft-iesg") - next_states = first_state.next_states + next_states = first_state.next_states.all() # normal get r = self.client.get(url) @@ -42,14 +42,14 @@ class ChangeStateTests(TestCase): self.assertEqual(len(q('form select[name=state]')), 1) if next_states: - self.assertTrue(len(q('.next-states form input[type=hidden]')) > 0) + self.assertEqual(len(q('[type=submit][value="%s"]' % next_states[0].name)), 1) # faulty post r = self.client.post(url, dict(state=State.objects.get(used=True, type="draft", slug="active").pk)) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue(len(q('form ul.errorlist')) > 0) + self.assertTrue(len(q('form .has-error')) > 0) draft = Document.objects.get(name=draft.name) self.assertEqual(draft.get_state("draft-iesg"), first_state) @@ -81,7 +81,7 @@ class ChangeStateTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertEqual(len(q('.prev-state form input[name="state"]')), 1) + self.assertEqual(len(q('form [type=submit][value="%s"]' % first_state.name)), 1) def test_pull_from_rfc_queue(self): draft = make_test_data() @@ -127,7 +127,7 @@ class ChangeStateTests(TestCase): r = self.client.post(url, dict(state="foobarbaz")) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue(len(q('form ul.errorlist')) > 0) + self.assertTrue(len(q('form .has-error')) > 0) draft = Document.objects.get(name=draft.name) self.assertEqual(draft.get_state("draft-iana-review"), first_state) @@ -149,7 +149,7 @@ class ChangeStateTests(TestCase): self.assertTrue(not draft.latest_event(type="changed_ballot_writeup_text")) r = self.client.post(url, dict(state=State.objects.get(used=True, type="draft-iesg", slug="lc-req").pk)) - self.assertContains(r, "Your request to issue the Last Call") + self.assertTrue("Your request to issue" in r.content) # last call text e = draft.latest_event(WriteupDocEvent, type="changed_last_call_text") @@ -195,7 +195,7 @@ class EditInfoTests(TestCase): r = self.client.post(url, dict(ad="123456789")) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue(len(q('form ul.errorlist')) > 0) + self.assertTrue(len(q('form .has-error')) > 0) draft = Document.objects.get(name=draft.name) self.assertEqual(draft.ad, prev_ad) @@ -689,7 +689,7 @@ class IndividualInfoFormsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code,200) q = PyQuery(r.content) - self.assertEqual(len(q('form.change-stream')),1) + self.assertEqual(len(q('[type=submit]:contains("Save")')), 1) # shift to ISE stream messages_before = len(outbox) @@ -742,13 +742,13 @@ class IndividualInfoFormsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code,200) q = PyQuery(r.content) - self.assertEqual(len(q('form.change-intended-status')),1) + self.assertEqual(len(q('[type=submit]:contains("Save")')), 1) # don't allow status level to be cleared r = self.client.post(url,dict(intended_std_level="")) self.assertEqual(r.status_code,200) q = PyQuery(r.content) - self.assertTrue(len(q('form ul.errorlist')) > 0) + self.assertTrue(len(q('form .has-error')) > 0) # change intended status level messages_before = len(outbox) @@ -768,7 +768,7 @@ class IndividualInfoFormsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code,200) q = PyQuery(r.content) - self.assertEqual(len(q('form.telechat-date')),1) + self.assertEqual(len(q('[type=submit]:contains("Save")')), 1) # set a date self.assertFalse(self.doc.latest_event(TelechatDocEvent, "scheduled_for_telechat")) @@ -791,7 +791,7 @@ class IndividualInfoFormsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code,200) q = PyQuery(r.content) - self.assertEqual(len(q('form.edit-iesg-note')),1) + self.assertEqual(len(q('[type=submit]:contains("Save")')),1) # post r = self.client.post(url,dict(note='ZpyQFGmA\r\nZpyQFGmA')) @@ -853,7 +853,7 @@ class IndividualInfoFormsTests(TestCase): r = self.client.post(url, dict(shepherd=two_answers)) self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertTrue(len(q('form ul.errorlist')) > 0) + self.assertTrue(len(q('form .has-error')) > 0) def test_doc_change_shepherd_email(self): self.doc.shepherd = None @@ -892,15 +892,16 @@ class IndividualInfoFormsTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code,200) q = PyQuery(r.content) - self.assertEqual(len(q('span[id=doc_edit_shepherd_writeup]')),1) + self.assertEqual(len(q('.content-wrapper a:contains("Edit")')), 1) # Try again when no longer a shepherd. self.doc.shepherd = None + self.doc.save() r = self.client.get(url) self.assertEqual(r.status_code,200) q = PyQuery(r.content) - self.assertEqual(len(q('span[id=doc_edit_shepherd_writeup]')),1) + self.assertEqual(len(q('.content-wrapper a:contains("Edit")')), 0) def test_doc_change_shepherd_writeup(self): url = urlreverse('doc_edit_shepherd_writeup',kwargs=dict(name=self.docname)) @@ -1015,7 +1016,7 @@ class RequestPublicationTests(TestCase): 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() + body = q('#id_body').text() self.assertTrue("Informational" in body) self.assertTrue("IAB" in body) @@ -1220,38 +1221,38 @@ class ChangeReplacesTests(TestCase): # normal get r = self.client.get(url) - self.assertEquals(r.status_code, 200) + self.assertEqual(r.status_code, 200) q = PyQuery(r.content) - self.assertEquals(len(q('form[class=change-replaces]')), 1) + self.assertEqual(len(q('[type=submit]:contains("Save")')), 1) # Post that says replacea replaces base a - self.assertEquals(self.basea.get_state().slug,'active') + self.assertEqual(self.basea.get_state().slug,'active') repljson='{"%d":"%s"}'%(DocAlias.objects.get(name=self.basea.name).id,self.basea.name) r = self.client.post(url, dict(replaces=repljson)) - self.assertEquals(r.status_code, 302) + self.assertEqual(r.status_code, 302) self.assertEqual(RelatedDocument.objects.filter(relationship__slug='replaces',source=self.replacea).count(),1) - self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') + self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') # Post that says replaceboth replaces both base a and base b url = urlreverse('doc_change_replaces', kwargs=dict(name=self.replaceboth.name)) - self.assertEquals(self.baseb.get_state().slug,'expired') + self.assertEqual(self.baseb.get_state().slug,'expired') repljson='{"%d":"%s","%d":"%s"}'%(DocAlias.objects.get(name=self.basea.name).id,self.basea.name, DocAlias.objects.get(name=self.baseb.name).id,self.baseb.name) r = self.client.post(url, dict(replaces=repljson)) - self.assertEquals(r.status_code, 302) - self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') - self.assertEquals(Document.objects.get(name='draft-test-base-b').get_state().slug,'repl') + self.assertEqual(r.status_code, 302) + self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') + self.assertEqual(Document.objects.get(name='draft-test-base-b').get_state().slug,'repl') # Post that undoes replaceboth repljson='{}' r = self.client.post(url, dict(replaces=repljson)) - self.assertEquals(r.status_code, 302) - self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') # Because A is still also replaced by replacea - self.assertEquals(Document.objects.get(name='draft-test-base-b').get_state().slug,'expired') + self.assertEqual(r.status_code, 302) + self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'repl') # Because A is still also replaced by replacea + self.assertEqual(Document.objects.get(name='draft-test-base-b').get_state().slug,'expired') # Post that undoes replacea url = urlreverse('doc_change_replaces', kwargs=dict(name=self.replacea.name)) r = self.client.post(url, dict(replaces=repljson)) - self.assertEquals(r.status_code, 302) - self.assertEquals(Document.objects.get(name='draft-test-base-a').get_state().slug,'active') + self.assertEqual(r.status_code, 302) + self.assertEqual(Document.objects.get(name='draft-test-base-a').get_state().slug,'active') diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index baa580c1d..7d0209e56 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -33,7 +33,7 @@ import os, datetime, urllib, json, glob from django.http import HttpResponse, Http404 -from django.shortcuts import render_to_response, get_object_or_404, redirect +from django.shortcuts import render_to_response, get_object_or_404, redirect, render from django.template import RequestContext from django.template.loader import render_to_string from django.core.exceptions import ObjectDoesNotExist @@ -863,20 +863,17 @@ def telechat_date(request, name): e = doc.latest_event(TelechatDocEvent, type="scheduled_for_telechat") initial_returning_item = bool(e and e.returning_item) - prompts = [] + warnings = [] if e and e.telechat_date and doc.type.slug != 'charter': if e.telechat_date==datetime.date.today(): - prompts.append( "This document is currently scheduled for today's telechat. " - +"Please set the returning item bit carefully.") + warnings.append( "This document is currently scheduled for today's telechat. " + +"Please set the returning item bit carefully.") elif e.telechat_dateSubmit - Cancel + Back {% endbuttons %} {% endblock %} diff --git a/ietf/templates/doc/change_shepherd_email.html b/ietf/templates/doc/change_shepherd_email.html index b671466bc..c828950b7 100644 --- a/ietf/templates/doc/change_shepherd_email.html +++ b/ietf/templates/doc/change_shepherd_email.html @@ -17,7 +17,7 @@ Change the document shepherd email for {{ doc.name }}-{{ doc.rev }} - Cancel + Back diff --git a/ietf/templates/doc/draft/change_intended_status.html b/ietf/templates/doc/draft/change_intended_status.html index dc9163869..0be2166fd 100644 --- a/ietf/templates/doc/draft/change_intended_status.html +++ b/ietf/templates/doc/draft/change_intended_status.html @@ -14,7 +14,7 @@ {% bootstrap_form form %} {% buttons %} - + Back {% endbuttons %} diff --git a/ietf/templates/doc/draft/change_replaces.html b/ietf/templates/doc/draft/change_replaces.html index 2ba82a256..3b5253764 100644 --- a/ietf/templates/doc/draft/change_replaces.html +++ b/ietf/templates/doc/draft/change_replaces.html @@ -26,7 +26,7 @@ {% bootstrap_form form %} {% buttons %} - + Back {% endbuttons %} diff --git a/ietf/templates/doc/draft/change_stream.html b/ietf/templates/doc/draft/change_stream.html index bd170cfd9..91728f354 100644 --- a/ietf/templates/doc/draft/change_stream.html +++ b/ietf/templates/doc/draft/change_stream.html @@ -13,7 +13,7 @@ {% csrf_token %} {% bootstrap_form form %} {% buttons %} - + Back {% endbuttons %} diff --git a/ietf/templates/doc/draft/edit_iesg_note.html b/ietf/templates/doc/draft/edit_iesg_note.html index c627be641..115a58a5c 100644 --- a/ietf/templates/doc/draft/edit_iesg_note.html +++ b/ietf/templates/doc/draft/edit_iesg_note.html @@ -14,7 +14,7 @@ {% bootstrap_form form %} {% buttons %} - + Back {% endbuttons %} diff --git a/ietf/templates/doc/edit_telechat_date.html b/ietf/templates/doc/edit_telechat_date.html index 912d0d460..ed4251077 100644 --- a/ietf/templates/doc/edit_telechat_date.html +++ b/ietf/templates/doc/edit_telechat_date.html @@ -9,8 +9,8 @@ {% bootstrap_messages %} -{% for prompt in prompts %} -
{{ prompt }}
+{% for warning in warnings %} +
{{ warning }}
{% endfor %}
@@ -23,7 +23,4 @@ {% endbuttons %}
-{% if prompts %} -{% endif %} - {% endblock %} diff --git a/ietf/templates/doc/shepherd_writeup.html b/ietf/templates/doc/shepherd_writeup.html index 2aba9897d..5a1680b2d 100644 --- a/ietf/templates/doc/shepherd_writeup.html +++ b/ietf/templates/doc/shepherd_writeup.html @@ -10,10 +10,7 @@ Shepherd writeup for {{ doc.canonical_name }}-{{ doc.rev }}
{{writeup}}
{% if can_edit %} - {% url "doc_edit_shepherd_writeup" name=doc.name as doc_edit_url %} - {% if doc_edit_url %} - Edit - {% endif %} + Edit {% endif %} Back