Repository: ietf-tools/datatracker

Issue:
IESG state help pages
### Discussed in https://github.com/ietf-tools/datatracker/discussions/3794

<div type='discussions-op-text'>

<sup>Originally posted by **cindymorgan** April  7, 2022</sup>
From John Scudder:

> Each datatracker document page (for example, https://datatracker.ietf.org/doc/draft-ietf-detnet-bounded-latency/) has a clickable link, “IESG state”, which points to https://datatracker.ietf.org/help/state/draft/iesg. If instead, one clicks through on the “Edit” button, one sees a “Help on states” button that links to https://datatracker.ietf.org/doc/help/state/draft-iesg/
> 
> The two help pages are redundant, but the second one is better because it includes the very handy state diagram (“View diagram”).
> 
> Can we get rid of https://datatracker.ietf.org/help/state/draft/iesg completely, and retarget any references to it, to point to https://datatracker.ietf.org/doc/help/state/draft-iesg/ ? Or, turn it into a redirect, similar?
> 
> Thanks,
</div>


Discussion:
Be sure to read the discussion. This will involve mild refactoring of several views.
See also #3802


Resolving patch:
diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py
--- a/ietf/doc/views_doc.py
+++ b/ietf/doc/views_doc.py
@@ -516,11 +516,13 @@ def document_main(request, name, rev=None, document_html=False):
         # Do not show the Auth48 URL in the "Additional URLs" section
         additional_urls = doc.documenturl_set.exclude(tag_id='auth48')
 
-        # Stream description passing test
+        # Stream description and name passing test
         if doc.stream != None:
             stream_desc = doc.stream.desc
+            stream = "draft-stream-" + doc.stream.slug
         else:
             stream_desc = "(None)"
+            stream = "(None)"
 
         html = None
         js = None
@@ -557,6 +559,7 @@ def document_main(request, name, rev=None, document_html=False):
                                        split_content=split_content,
                                        revisions=simple_diff_revisions if document_html else revisions,
                                        snapshot=snapshot,
+                                       stream=stream,
                                        stream_desc=stream_desc,
                                        latest_revision=latest_revision,
                                        latest_rev=latest_rev,
diff --git a/ietf/doc/views_help.py b/ietf/doc/views_help.py
--- a/ietf/doc/views_help.py
+++ b/ietf/doc/views_help.py
@@ -7,12 +7,13 @@
 from ietf.name.models import DocRelationshipName,  DocTagName
 from ietf.doc.utils import get_tags_for_stream_id
 
-# TODO: This is haphazardly implemented. Either flesh it out or reconsider the utility of showing these in these this way.
-def state_help(request, type):
+def state_help(request, type=None):
     slug, title = {
         "draft-iesg": ("draft-iesg", "IESG States for Internet-Drafts"),
         "draft-rfceditor": ("draft-rfceditor", "RFC Editor States for Internet-Drafts"),
         "draft-iana-action": ("draft-iana-action", "IANA Action States for Internet-Drafts"),
+        "draft-iana-review": ("draft-iana-review", "IANA Review States for Internet-Drafts"),
+        "draft-iana-experts": ("draft-iana-experts", "IANA Expert Review States for Internet-Drafts"),
         "draft-stream-ietf": ("draft-stream-ietf", "IETF Stream States for Internet-Drafts"),
         "draft-stream-irtf": ("draft-stream-irtf", "IRTF Stream States for Internet-Drafts"),
         "draft-stream-ise": ("draft-stream-ise", "ISE Stream States for Internet-Drafts"),
@@ -26,7 +27,7 @@ def state_help(request, type):
         }.get(type, (None, None))
     state_type = get_object_or_404(StateType, slug=slug)
 
-    states = State.objects.filter(type=state_type).order_by("order")
+    states = State.objects.filter(used=True, type=state_type).order_by("order")
 
     has_next_states = False
     for state in states:


Test patch: