Skip to content

Commit

Permalink
Repair document_main when there are status change relationships. Comm…
Browse files Browse the repository at this point in the history
…it ready for merge.

 - Legacy-Id: 19654
  • Loading branch information
rjsparks committed Nov 12, 2021
1 parent d6a2627 commit cfe9d7f
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 3 deletions.
27 changes: 27 additions & 0 deletions ietf/doc/factories.py
Expand Up @@ -231,6 +231,33 @@ def set_group_charter_document(obj, create, extracted, **kwargs):
obj.group.charter = extracted or obj
obj.group.save()

class StatusChangeFactory(BaseDocumentFactory):
type_id='statchg'

group = factory.SubFactory('ietf.group.factories.GroupFactory',acronym='iesg',type_id='ietf')
name = factory.Sequence(lambda n: f'status-change-{n}-factoried')

@factory.post_generation
def changes_status_of(obj, create, extracted, **kwargs):
if not create:
return
if extracted:
for (rel, target) in extracted:
obj.relateddocument_set.create(relationship_id=rel,target=extracted)
else:
obj.relateddocument_set.create(relationship_id='tobcp', target=WgRfcFactory().docalias.first())

@factory.post_generation
def states(obj, create, extracted, **kwargs):
if not create:
return
if extracted:
for state in extracted:
obj.set_state(state)
else:
obj.set_state(State.objects.get(type_id='statchg',slug='appr-sent'))


class ConflictReviewFactory(BaseDocumentFactory):
type_id='conflrev'

Expand Down
10 changes: 9 additions & 1 deletion ietf/doc/tests.py
Expand Up @@ -34,7 +34,8 @@
from ietf.doc.factories import ( DocumentFactory, DocEventFactory, CharterFactory,
ConflictReviewFactory, WgDraftFactory, IndividualDraftFactory, WgRfcFactory,
IndividualRfcFactory, StateDocEventFactory, BallotPositionDocEventFactory,
BallotDocEventFactory, DocumentAuthorFactory, NewRevisionDocEventFactory)
BallotDocEventFactory, DocumentAuthorFactory, NewRevisionDocEventFactory,
StatusChangeFactory)
from ietf.doc.fields import SearchableDocumentsField
from ietf.doc.utils import create_ballot_if_not_open, uppercase_std_abbreviated_name
from ietf.group.models import Group
Expand Down Expand Up @@ -1440,6 +1441,13 @@ def _change_state(doc, state):


class DocTestCase(TestCase):
def test_status_change(self):
statchg = StatusChangeFactory()
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=statchg.name)))
self.assertEqual(r.status_code, 200)
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=statchg.relateddocument_set.first().target.document.canonical_name())))
self.assertEqual(r.status_code, 200)

def test_document_charter(self):
CharterFactory(name='charter-ietf-mars')
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name="charter-ietf-mars")))
Expand Down
4 changes: 2 additions & 2 deletions ietf/templates/doc/document_draft.html
Expand Up @@ -61,8 +61,8 @@
{% if updated_by %}<div>Updated by {{ updated_by|urlize_related_source_list|join:", " }}</div>{% endif %}
{% if obsoletes %}<div>Obsoletes {{ obsoletes|urlize_related_target_list|join:", " }}</div>{% endif %}
{% if updates %}<div> Updates {{ updates|urlize_related_target_list|join:", " }}</div>{% endif %}
{% if status_changes %}<div>Status changed by {{ status_changes|join:", "|urlize_related_source_list }}</div>{% endif %}
{% if proposed_status_changes %}<div>Proposed status changed by {{ proposed_status_changes|join:", "|urlize_related_source_list }}</div>{% endif %}
{% if status_changes %}<div>Status changed by {{ status_changes|join:", "|urlize_ietf_docs }}</div>{% endif %}
{% if proposed_status_changes %}<div>Proposed status changed by {{ proposed_status_changes|join:", "|urlize_ietf_docs }}</div>{% endif %}
{% if rfc_aliases %}<div>Also known as {{ rfc_aliases|join:", "|urlize_ietf_docs }}</div>{% endif %}
{% if draft_name %}<div>Was <a href="/doc/{{ draft_name}}/">{{ draft_name }}</a> {% if submission %}({{ submission|safe }}){% endif %}</div>{% endif %}
{% else %}
Expand Down

0 comments on commit cfe9d7f

Please sign in to comment.