Fix a bunch of failing tests, mostly due to changes in markup
- Legacy-Id: 8529
This commit is contained in:
parent
b5a0ab81a6
commit
7d0e817e5d
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
||||
|
|
|
@ -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_date<datetime.date.today() and has_same_ballot(doc,e.telechat_date):
|
||||
initial_returning_item = True
|
||||
prompts.append( "This document appears to have been on a previous telechat with the same ballot, "
|
||||
warnings.append( "This document appears to have been on a previous telechat with the same ballot, "
|
||||
+"so the returning item bit has been set. Clear it if that is not appropriate.")
|
||||
|
||||
else:
|
||||
pass
|
||||
|
||||
initial = dict(telechat_date=e.telechat_date if e else None,
|
||||
returning_item = initial_returning_item,
|
||||
)
|
||||
|
@ -895,13 +892,12 @@ def telechat_date(request, name):
|
|||
if doc.type.slug=='charter':
|
||||
del form.fields['returning_item']
|
||||
|
||||
return render_to_response('doc/edit_telechat_date.html',
|
||||
return render(request, 'doc/edit_telechat_date.html',
|
||||
dict(doc=doc,
|
||||
form=form,
|
||||
user=request.user,
|
||||
prompts=prompts,
|
||||
login=login),
|
||||
context_instance=RequestContext(request))
|
||||
warnings=warnings,
|
||||
login=login))
|
||||
|
||||
@role_required('Area Director', 'Secretariat')
|
||||
def edit_notify(request, name):
|
||||
|
|
|
@ -64,7 +64,7 @@ def change_state(request, name):
|
|||
and logging the change as a comment."""
|
||||
doc = get_object_or_404(Document, docalias__name=name)
|
||||
if (not doc.latest_event(type="started_iesg_process")) or doc.get_state_slug() == "expired":
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
login = request.user.person
|
||||
|
||||
|
@ -214,7 +214,7 @@ def change_stream(request, name):
|
|||
and logging the change as a comment."""
|
||||
doc = get_object_or_404(Document, docalias__name=name)
|
||||
if not doc.type_id=='draft':
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
if not (has_role(request.user, ("Area Director", "Secretariat")) or
|
||||
(request.user.is_authenticated() and
|
||||
|
@ -505,10 +505,10 @@ def to_iesg(request,name):
|
|||
doc = get_object_or_404(Document, docalias__name=name, stream='ietf')
|
||||
|
||||
if doc.get_state_slug('draft') == "expired" or doc.get_state_slug('draft-iesg') == 'pub-req' :
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
if not is_authorized_in_doc_stream(request.user, doc):
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
target_state={
|
||||
'iesg' : State.objects.get(type='draft-iesg',slug='pub-req'),
|
||||
|
@ -614,7 +614,7 @@ def edit_info(request, name):
|
|||
necessary and logging changes as document events."""
|
||||
doc = get_object_or_404(Document, docalias__name=name)
|
||||
if doc.get_state_slug() == "expired":
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
login = request.user.person
|
||||
|
||||
|
@ -764,7 +764,7 @@ def request_resurrect(request, name):
|
|||
"""Request resurrect of expired Internet Draft."""
|
||||
doc = get_object_or_404(Document, docalias__name=name)
|
||||
if doc.get_state_slug() != "expired":
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
login = request.user.person
|
||||
|
||||
|
@ -788,7 +788,7 @@ def resurrect(request, name):
|
|||
"""Resurrect expired Internet Draft."""
|
||||
doc = get_object_or_404(Document, docalias__name=name)
|
||||
if doc.get_state_slug() != "expired":
|
||||
raise Http404()
|
||||
raise Http404
|
||||
|
||||
login = request.user.person
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ Change document shepherd for {{ doc.name }}-{{ doc.rev }}
|
|||
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<a class="btn btn-default pull-right" href="{% url "doc_view" name=doc.name %}">Cancel</a>
|
||||
<a class="btn btn-default pull-right" href="{% url "doc_view" name=doc.name %}">Back</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -17,7 +17,7 @@ Change the document shepherd email for {{ doc.name }}-{{ doc.rev }}
|
|||
<tr>
|
||||
<td></td>
|
||||
<td class="actions">
|
||||
<a class="button" href="{% url "doc_view" name=doc.name %}">Cancel</a>
|
||||
<a class="button" href="{% url "doc_view" name=doc.name %}">Back</a>
|
||||
<input class="button" type="submit" value="Save"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
{% bootstrap_form form %}
|
||||
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-default pull-right" href="{{ doc.get_absolute_url }}">Back</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
{% bootstrap_form form %}
|
||||
|
||||
{% buttons %}
|
||||
<input type="submit" class="btn btn-primary" value="Save">
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-default pull-right" href="{{ doc.get_absolute_url }}">Back</a>
|
||||
{% endbuttons %}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-default pull-right" href="{{ doc.get_absolute_url }}">Back</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
{% bootstrap_form form %}
|
||||
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-default pull-right" href="{{ doc.get_absolute_url }}">Back</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
{% bootstrap_messages %}
|
||||
|
||||
{% for prompt in prompts %}
|
||||
<div class="alert alert-warning">{{ prompt }}</div>
|
||||
{% for warning in warnings %}
|
||||
<div class="alert alert-warning">{{ warning }}</div>
|
||||
{% endfor %}
|
||||
|
||||
<form role="form" method="post">
|
||||
|
@ -23,7 +23,4 @@
|
|||
{% endbuttons %}
|
||||
</form>
|
||||
|
||||
{% if prompts %}
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -10,10 +10,7 @@ Shepherd writeup for {{ doc.canonical_name }}-{{ doc.rev }}
|
|||
<pre>{{writeup}}</pre>
|
||||
|
||||
{% if can_edit %}
|
||||
{% url "doc_edit_shepherd_writeup" name=doc.name as doc_edit_url %}
|
||||
{% if doc_edit_url %}
|
||||
<a class="btn btn-primary" href="{{doc_edit_url}}">Edit</a>
|
||||
{% endif %}
|
||||
<a class="btn btn-primary" href="{% url "doc_edit_shepherd_writeup" name=doc.name %}">Edit</a>
|
||||
{% endif %}
|
||||
<a class="btn btn-default pull-right" href="{% url "doc_view" name=doc.name %}">Back</a>
|
||||
|
||||
|
|
Loading…
Reference in a new issue