From 8a847ea35ce63ec17aa51f921052b52fe0dd06e4 Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Mon, 25 Mar 2024 16:54:08 -0400 Subject: [PATCH 1/3] fix: Exclude replaced documents from IESG discusses --- ietf/iesg/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py index a219a6b5de..891f512e7b 100644 --- a/ietf/iesg/views.py +++ b/ietf/iesg/views.py @@ -483,6 +483,7 @@ def discusses(request): models.Q(states__type__in=("statchg", "conflrev"), states__slug__in=("iesgeval", "defer")), docevent__ballotpositiondocevent__pos__blocking=True) + possible_docs = possible_docs.exclude(states__type="draft", states__slug="repl") possible_docs = possible_docs.select_related("stream", "group", "ad").distinct() docs = [] From bb6c3eda5ad28ad2eabc8d67261839489dc70875 Mon Sep 17 00:00:00 2001 From: Sangho Na Date: Sun, 21 Jul 2024 06:06:44 +1200 Subject: [PATCH 2/3] test: Add checks for filtering replaced IESG drafts --- ietf/iesg/tests.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py index 7211a6bc06..4579316f22 100644 --- a/ietf/iesg/tests.py +++ b/ietf/iesg/tests.py @@ -52,6 +52,15 @@ def test_feed(self): self.assertContains(r, draft.name) self.assertContains(r, escape(pos.balloter.plain_name())) + # Mark draft as replaced + draft.set_state(State.objects.get(type="draft", slug="repl")) + + r = self.client.get(urlreverse("ietf.iesg.views.discusses")) + self.assertEqual(r.status_code, 200) + + self.assertNotContains(r, draft.name) + self.assertNotContains(r, escape(pos.balloter.plain_name())) + def test_milestones_needing_review(self): draft = WgDraftFactory() RoleFactory(name_id='ad',group=draft.group,person=Person.objects.get(user__username='ad')) From 57fdba4d642a00644b8107fc9d4500bdf32e8e15 Mon Sep 17 00:00:00 2001 From: Sangho Na Date: Sun, 21 Jul 2024 13:17:08 +1200 Subject: [PATCH 3/3] chore: Improve replaced draft filter --- ietf/iesg/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py index 891f512e7b..b67ef04a03 100644 --- a/ietf/iesg/views.py +++ b/ietf/iesg/views.py @@ -483,7 +483,7 @@ def discusses(request): models.Q(states__type__in=("statchg", "conflrev"), states__slug__in=("iesgeval", "defer")), docevent__ballotpositiondocevent__pos__blocking=True) - possible_docs = possible_docs.exclude(states__type="draft", states__slug="repl") + possible_docs = possible_docs.exclude(states__in=State.objects.filter(type="draft", slug="repl")) possible_docs = possible_docs.select_related("stream", "group", "ad").distinct() docs = []