Skip to content

Commit aa7ed23

Browse files
committed
Check downref registry when producing Last Call text. Fixes ietf-tools#2069.
- Legacy-Id: 13205
1 parent f012563 commit aa7ed23

5 files changed

Lines changed: 3798 additions & 3713 deletions

File tree

ietf/doc/mails.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ def generate_last_call_announcement(request, doc):
148148
else:
149149
ipr_links = None
150150

151-
downrefs = [rel for rel in doc.relateddocument_set.all() if rel.is_downref()]
151+
downrefs = [rel for rel in doc.relateddocument_set.all() if rel.is_downref() and not rel.is_approved_downref()]
152152

153153
addrs = gather_address_lists('last_call_issued',doc=doc).as_strings()
154154
mail = render_to_string("doc/mail/last_call_announcement.txt",

ietf/doc/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,14 @@ def is_downref(self):
491491

492492
return None
493493

494+
def is_approved_downref(self):
495+
496+
if self.target.document.get_state().slug == 'rfc':
497+
if RelatedDocument.objects.filter(relationship_id='downrefappr', target=self.target):
498+
return "Approved Downref"
499+
500+
return False
501+
494502
class DocumentAuthor(models.Model):
495503
document = models.ForeignKey('Document')
496504
author = models.ForeignKey(Email, help_text="Email address used by author for submission")

ietf/doc/tests_ballot.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -753,7 +753,7 @@ def test_regenerate_last_call(self):
753753
draft = Document.objects.get(name=draft.name)
754754
lc_text = draft.latest_event(WriteupDocEvent, type="changed_last_call_text").text
755755
self.assertTrue("Subject: Last Call" in lc_text)
756-
self.assertFalse("contains normative down" in lc_text)
756+
self.assertFalse("contains these normative down" in lc_text)
757757

758758
rfc = DocumentFactory.create(
759759
stream_id='ise',
@@ -768,6 +768,15 @@ def test_regenerate_last_call(self):
768768
self.assertEqual(r.status_code, 200)
769769
draft = Document.objects.get(name=draft.name)
770770
lc_text = draft.latest_event(WriteupDocEvent, type="changed_last_call_text").text
771-
self.assertTrue('contains these normative down' in lc_text)
772-
self.assertTrue('rfc6666' in lc_text)
773-
self.assertTrue('Independent Submission Editor stream' in lc_text)
771+
self.assertTrue("contains these normative down" in lc_text)
772+
self.assertTrue("rfc6666" in lc_text)
773+
self.assertTrue("Independent Submission Editor stream" in lc_text)
774+
775+
draft.relateddocument_set.create(target=rfc.docalias_set.get(name='rfc6666'),relationship_id='downrefappr')
776+
777+
r = self.client.post(url, dict(regenerate_last_call_text="1"))
778+
self.assertEqual(r.status_code, 200)
779+
draft = Document.objects.get(name=draft.name)
780+
lc_text = draft.latest_event(WriteupDocEvent, type="changed_last_call_text").text
781+
self.assertFalse("contains these normative down" in lc_text)
782+
self.assertFalse("rfc6666" in lc_text)

0 commit comments

Comments
 (0)