Skip to content

Commit 5e1f46d

Browse files
evynckerjsparks
andauthored
feat: Distinguish I-Ds on WG plate from I-Ds on IESG plate (#9214)
* Add "Outside of the WG Internet-Draft" when IESG state != idexists * No plural forms in the dividers * Use different search_heading * Use the right stream_id * Adding tests_info coverage for prepare_group_documents * fix: move identifying and sorting doxs with IESG into search utility. * fix: improve ordering conditional --------- Co-authored-by: Robert Sparks <[email protected]>
1 parent 4be83ce commit 5e1f46d

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

ietf/doc/utils_search.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,10 @@ def fill_in_document_table_attributes(docs, have_telechat_date=False):
108108
d.search_heading = "Withdrawn Internet-Draft"
109109
d.expirable = False
110110
else:
111-
d.search_heading = "%s Internet-Draft" % d.get_state()
111+
if d.type_id == "draft" and d.stream_id == 'ietf' and d.get_state_slug('draft-iesg') != 'idexists': # values can be: ad-eval idexists approved rfcqueue dead iesg-eva
112+
d.search_heading = "%s with the IESG Internet-Draft" % d.get_state()
113+
else:
114+
d.search_heading = "%s Internet-Draft" % d.get_state()
112115
if state_slug == "active":
113116
d.expirable = d.pk in expirable_pks
114117
else:
@@ -221,6 +224,10 @@ def num(i):
221224

222225
if d.type_id == "draft":
223226
res.append(num(["Active", "Expired", "Replaced", "Withdrawn", "RFC"].index(d.search_heading.split()[0])))
227+
if "with the IESG" in d.search_heading:
228+
res.append("1")
229+
else:
230+
res.append("0")
224231
else:
225232
res.append(d.type_id);
226233
res.append("-");

ietf/group/tests_info.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
from ietf.community.models import CommunityList
2929
from ietf.community.utils import reset_name_contains_index_for_rule
30-
from ietf.doc.factories import WgDraftFactory, IndividualDraftFactory, CharterFactory, BallotDocEventFactory
30+
from ietf.doc.factories import WgDraftFactory, RgDraftFactory, IndividualDraftFactory, CharterFactory, BallotDocEventFactory
3131
from ietf.doc.models import Document, DocEvent, State
3232
from ietf.doc.storage_utils import retrieve_str
3333
from ietf.doc.utils_charter import charter_name_for_group
@@ -413,6 +413,7 @@ def test_group_documents(self):
413413
self.assertContains(r, draft3.name)
414414
for ah in draft3.action_holders.all():
415415
self.assertContains(r, escape(ah.name))
416+
self.assertContains(r, "Active with the IESG Internet-Draft") # draft3 is pub-req hence should have such a divider
416417
self.assertContains(r, 'for 173 days', count=1) # the old_dah should be tagged
417418
self.assertContains(r, draft4.name)
418419
self.assertNotContains(r, draft5.name)
@@ -425,6 +426,25 @@ def test_group_documents(self):
425426
q = PyQuery(r.content)
426427
self.assertTrue(any([draft2.name in x.attrib['href'] for x in q('table td a.track-untrack-doc')]))
427428

429+
# Let's also check the IRTF stream
430+
rg = GroupFactory(type_id='rg')
431+
setup_default_community_list_for_group(rg)
432+
rgDraft = RgDraftFactory(group=rg)
433+
rgDraft4 = RgDraftFactory(group=rg)
434+
rgDraft4.set_state(State.objects.get(slug='irsg-w'))
435+
rgDraft7 = RgDraftFactory(group=rg)
436+
rgDraft7.set_state(State.objects.get(type='draft-stream-%s' % rgDraft7.stream_id, slug='dead'))
437+
for url in group_urlreverse_list(rg, 'ietf.group.views.group_documents'):
438+
with self.settings(DOC_ACTION_HOLDER_MAX_AGE_DAYS=20):
439+
r = self.client.get(url)
440+
self.assertEqual(r.status_code, 200)
441+
self.assertContains(r, rgDraft.name)
442+
self.assertContains(r, rg.name)
443+
self.assertContains(r, rg.acronym)
444+
self.assertNotContains(r, draft3.name) # As draft3 is a WG draft, it should not be listed here
445+
self.assertContains(r, rgDraft4.name)
446+
self.assertNotContains(r, rgDraft7.name)
447+
428448
# test the txt version too while we're at it
429449
for url in group_urlreverse_list(group, 'ietf.group.views.group_documents_txt'):
430450
r = self.client.get(url)

ietf/group/views.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,6 @@ def prepare_group_documents(request, group, clist):
443443

444444
return docs, meta, docs_related, meta_related
445445

446-
447446
def get_leadership(group_type):
448447
people = Person.objects.filter(
449448
role__name__slug="chair",

0 commit comments

Comments
 (0)