Added the ability to reset the conflict review response text to the template at Sean's request
- Legacy-Id: 4549
This commit is contained in:
parent
831058620f
commit
8b5d95e71b
|
@ -276,7 +276,7 @@ class ConflictReviewSubmitTestCase(django.test.TestCase):
|
|||
path = os.path.join(settings.CONFLICT_REVIEW_PATH, '%s-%s.txt' % (doc.canonical_name(), doc.rev))
|
||||
self.assertEquals(doc.rev,u'00')
|
||||
self.assertFalse(os.path.exists(path))
|
||||
r = self.client.post(url,dict(content="Some initial review text\n"))
|
||||
r = self.client.post(url,dict(content="Some initial review text\n",submit_response="1"))
|
||||
self.assertEquals(r.status_code,302)
|
||||
doc = Document.objects.get(name='conflict-review-imaginary-irtf-submission')
|
||||
self.assertEquals(doc.rev,u'00')
|
||||
|
@ -309,14 +309,14 @@ class ConflictReviewSubmitTestCase(django.test.TestCase):
|
|||
# how client.post populates Content-Type?
|
||||
test_file = StringIO("\x10\x11\x12") # post binary file
|
||||
test_file.name = "unnamed"
|
||||
r = self.client.post(url, dict(txt=test_file))
|
||||
r = self.client.post(url, dict(txt=test_file,submit_response="1"))
|
||||
self.assertEquals(r.status_code, 200)
|
||||
self.assertTrue("does not appear to be a text file" in r.content)
|
||||
|
||||
# sane post uploading a file
|
||||
test_file = StringIO("This is a new proposal.")
|
||||
test_file.name = "unnamed"
|
||||
r = self.client.post(url,dict(txt=test_file))
|
||||
r = self.client.post(url,dict(txt=test_file,submit_response="1"))
|
||||
self.assertEquals(r.status_code, 302)
|
||||
doc = Document.objects.get(name='conflict-review-imaginary-irtf-submission')
|
||||
self.assertEquals(doc.rev,u'01')
|
||||
|
@ -325,6 +325,12 @@ class ConflictReviewSubmitTestCase(django.test.TestCase):
|
|||
self.assertEquals(f.read(),"This is a new proposal.")
|
||||
f.close()
|
||||
self.assertTrue( "submission-01" in doc.latest_event(NewRevisionDocEvent).desc)
|
||||
|
||||
# verify reset text button works
|
||||
r = self.client.post(url,dict(reset_text="1"))
|
||||
self.assertEquals(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertTrue(q('textarea')[0].text.startswith("[Edit this page"))
|
||||
|
||||
def setUp(self):
|
||||
make_test_data()
|
||||
|
|
|
@ -131,25 +131,39 @@ def submit(request, name):
|
|||
next_rev = "%02d" % (int(review.rev)+1)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = UploadForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
save_document_in_history(review)
|
||||
if "submit_response" in request.POST:
|
||||
form = UploadForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
save_document_in_history(review)
|
||||
|
||||
review.rev = next_rev
|
||||
review.rev = next_rev
|
||||
|
||||
e = NewRevisionDocEvent(doc=review, by=login, type="new_revision")
|
||||
e.desc = "New version available: <b>%s-%s.txt</b>" % (review.canonical_name(), review.rev)
|
||||
e.rev = review.rev
|
||||
e.save()
|
||||
e = NewRevisionDocEvent(doc=review, by=login, type="new_revision")
|
||||
e.desc = "New version available: <b>%s-%s.txt</b>" % (review.canonical_name(), review.rev)
|
||||
e.rev = review.rev
|
||||
e.save()
|
||||
|
||||
# Save file on disk
|
||||
form.save(review)
|
||||
# Save file on disk
|
||||
form.save(review)
|
||||
|
||||
review.time = datetime.datetime.now()
|
||||
review.save()
|
||||
review.time = datetime.datetime.now()
|
||||
review.save()
|
||||
|
||||
return HttpResponseRedirect(reverse('doc_view', kwargs={'name': review.name}))
|
||||
|
||||
elif "reset_text" in request.POST:
|
||||
|
||||
init = { "content": render_to_string("doc/conflict_review/review_choices.txt",dict())}
|
||||
form = UploadForm(initial=init)
|
||||
|
||||
# Protect against handcrufted malicious posts
|
||||
else:
|
||||
form = None
|
||||
|
||||
return HttpResponseRedirect(reverse('doc_view', kwargs={'name': review.name}))
|
||||
else:
|
||||
form = None
|
||||
|
||||
if not form:
|
||||
init = { "content": ""}
|
||||
|
||||
if not_uploaded_yet:
|
||||
|
|
|
@ -42,7 +42,7 @@ if settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
|||
def email_stream_changed(request, doc, old_stream, new_stream, text=""):
|
||||
"""Email the change text to the notify group and to the stream chairs"""
|
||||
to = [x.strip() for x in doc.notify.replace(';', ',').split(',')]
|
||||
from group.models import Role as RedesignRole
|
||||
from ietf.group.models import Role as RedesignRole
|
||||
|
||||
# These use comprehension to deal with conditions when there might be more than one chair listed for a stream
|
||||
if old_stream:
|
||||
|
|
|
@ -31,7 +31,8 @@ Edit conflict review for {{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }}
|
|||
<td></td>
|
||||
<td class="actions">
|
||||
<a href="{% url doc_view name=review.canonical_name %}">Back</a>
|
||||
<input type="submit" value="Submit"/>
|
||||
<input type="submit" name="reset_text" value="Reset to Template Text"/>
|
||||
<input type="submit" name="submit_response" value="Submit"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
Loading…
Reference in a new issue