Skip to content

Commit c417c57

Browse files
committed
Merged in [9428] from rjsparks@nostrum.com:
Properly mark (and test) older ballot comment and discuss text after a new revision is submitted . Fixes bug ietf-tools#1656. - Legacy-Id: 9434 Note: SVN reference [9428] has been migrated to Git commit 0ff9747
2 parents 4228696 + 0ff9747 commit c417c57

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

ietf/doc/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ class DocEvent(models.Model):
701701
desc = models.TextField()
702702

703703
def for_current_revision(self):
704-
return self.time >= self.doc.time
704+
return self.time >= self.doc.latest_event(NewRevisionDocEvent,type='new_revision').time
705705

706706
def get_dochistory(self):
707707
return DocHistory.objects.filter(time__lte=self.time,doc__name=self.doc.name).order_by('-time').first()

ietf/doc/tests.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
from django.conf import settings
1515

1616
from ietf.doc.models import ( Document, DocAlias, DocRelationshipName, RelatedDocument, State,
17-
DocEvent, BallotPositionDocEvent, LastCallDocEvent, WriteupDocEvent, save_document_in_history )
17+
DocEvent, BallotPositionDocEvent, LastCallDocEvent, WriteupDocEvent, NewRevisionDocEvent,
18+
save_document_in_history )
1819
from ietf.group.models import Group
1920
from ietf.meeting.models import Meeting, Session, SessionPresentation
2021
from ietf.name.models import SessionStatusName
@@ -520,6 +521,7 @@ def test_document_ballot(self):
520521
r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name)))
521522
self.assertEqual(r.status_code, 200)
522523
self.assertTrue(pos.comment in r.content)
524+
self.assertTrue(pos.comment_time.strftime('(%Y-%m-%d)') in r.content)
523525

524526
# test with ballot_id
525527
r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name, ballot_id=ballot.pk)))
@@ -529,6 +531,16 @@ def test_document_ballot(self):
529531
# test popup too while we're at it
530532
r = self.client.get(urlreverse("ietf.doc.views_doc.ballot_popup", kwargs=dict(name=doc.name, ballot_id=ballot.pk)))
531533
self.assertEqual(r.status_code, 200)
534+
535+
# Now simulate a new revision and make sure positions on older revisions are marked as such
536+
oldrev = doc.rev
537+
e = NewRevisionDocEvent.objects.create(doc=doc,rev='%02d'%(int(doc.rev)+1),type='new_revision',by=Person.objects.get(name="(System)"))
538+
save_document_in_history(doc)
539+
doc.rev = e.rev
540+
doc.save()
541+
r = self.client.get(urlreverse("ietf.doc.views_doc.document_ballot", kwargs=dict(name=doc.name)))
542+
self.assertEqual(r.status_code, 200)
543+
self.assertTrue( '(%s for -%s)' % (pos.comment_time.strftime('%Y-%m-%d'),oldrev) in r.content)
532544

533545
def test_document_ballot_needed_positions(self):
534546
make_test_data()

0 commit comments

Comments
 (0)