Ignore suggestions that a draft replaces itself. Commit ready for merge.

- Legacy-Id: 9862
This commit is contained in:
Robert Sparks 2015-07-23 08:02:26 +00:00
parent a4c6842e16
commit 6ccd96fb31
2 changed files with 25 additions and 0 deletions

View file

@ -355,6 +355,27 @@ class SubmitTests(TestCase):
self.assertEqual(new_revision.type, "new_revision")
self.assertEqual(new_revision.by.name, "Submitter Name")
def test_submit_update_replacing_self(self):
draft = make_test_data()
name = draft.name
rev = '%02d'%(int(draft.rev)+1)
status_url = self.do_submission(name,rev)
mailbox_before = len(outbox)
replaced_alias = draft.docalias_set.first()
r = self.supply_extra_metadata(name, status_url, "Submitter Name", "author@example.com", replaces=str(replaced_alias.pk))
self.assertEqual(r.status_code, 302)
status_url = r["Location"]
r = self.client.get(status_url)
self.assertEqual(len(outbox), mailbox_before + 1)
confirm_url = self.extract_confirm_url(outbox[-1])
mailbox_before = len(outbox)
r = self.client.post(confirm_url)
self.assertEqual(r.status_code, 302)
draft = Document.objects.get(docalias__name=name)
self.assertEqual(draft.rev, rev)
self.assertEqual(draft.relateddocument_set.filter(relationship_id='replaces').count(),0)
def test_submit_new_wg_with_dash(self):
make_test_data()

View file

@ -253,6 +253,10 @@ def update_replaces_from_submission(request, submission, draft):
rdoc = r.document
if rdoc == draft:
continue
# TODO - I think the .exists() is in the wrong place below....
if (is_secretariat
or (draft.group in is_chair_of and (rdoc.group.type_id == "individ" or rdoc.group in is_chair_of))
or (submitter_email and rdoc.authors.filter(address__iexact=submitter_email)).exists()):