diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 45d07dc05..c9e1c041d 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2012-2023, All Rights Reserved +# Copyright The IETF Trust 2012-2024, All Rights Reserved # -*- coding: utf-8 -*- @@ -1513,6 +1513,25 @@ Man Expires September 22, 2015 [Page 3] self.assertEqual(r.status_code, 200) self.assert_correct_non_wg_group_link(r, group) + def test_document_email_authors_button(self): + # rfc not from draft + rfc = WgRfcFactory() + DocEventFactory.create(doc=rfc, type='published_rfc') + url = urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=rfc.name)) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + q = PyQuery(r.content) + self.assertEqual(len(q('a:contains("Email authors")')), 0, 'Did not expect "Email authors" button') + + # rfc from draft + draft = WgDraftFactory(group=rfc.group) + draft.relateddocument_set.create(relationship_id="became_rfc", target=rfc) + draft.set_state(State.objects.get(used=True, type="draft", slug="rfc")) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + q = PyQuery(r.content) + self.assertEqual(len(q('a:contains("Email authors")')), 1, 'Expected "Email authors" button') + def test_document_primary_and_history_views(self): IndividualDraftFactory(name='draft-imaginary-independent-submission') ConflictReviewFactory(name='conflict-review-imaginary-irtf-submission') diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 907f1b200..d8f687ee8 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -324,6 +324,9 @@ def document_main(request, name, rev=None, document_html=False): submission = group.acronym submission = '%s' % (group.about_url(), submission) + draft = doc.came_from_draft() + mailto_name = draft.name if draft else None + return render(request, "doc/document_rfc.html" if document_html is False else "doc/document_html.html", dict(doc=doc, document_html=document_html, @@ -356,7 +359,8 @@ def document_main(request, name, rev=None, document_html=False): iana_experts_comment=iana_experts_comment, presentations=presentations, diff_revisions=diff_revisions, - submission=submission + submission=submission, + mailto_name=mailto_name, )) elif doc.type_id == "draft": diff --git a/ietf/templates/doc/document_rfc.html b/ietf/templates/doc/document_rfc.html index 9e889afaf..b25d434de 100644 --- a/ietf/templates/doc/document_rfc.html +++ b/ietf/templates/doc/document_rfc.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{# Copyright The IETF Trust 2016-2023, All Rights Reserved #} +{# Copyright The IETF Trust 2016-2024, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} @@ -81,12 +81,14 @@ {% endif %}