From 2253be2c8f5907ead3e55151e909a1444c02cbb6 Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Tue, 22 Nov 2011 16:04:50 +0000 Subject: [PATCH] Fix missing revision numbers - Legacy-Id: 3680 --- ietf/idrfc/idrfc_wrapper.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ietf/idrfc/idrfc_wrapper.py b/ietf/idrfc/idrfc_wrapper.py index 2c846c852..0a1cda69b 100644 --- a/ietf/idrfc/idrfc_wrapper.py +++ b/ietf/idrfc/idrfc_wrapper.py @@ -724,12 +724,15 @@ class BallotWrapper: return from redesign.person.models import Person + from redesign.doc.models import BallotPositionDocEvent, NewRevisionDocEvent + active_ads = Person.objects.filter(role__name="ad", role__group__state="active").distinct() positions = [] seen = {} - from doc.models import BallotPositionDocEvent + new_revisions = list(NewRevisionDocEvent.objects.filter(doc=self.ballot, type="new_revision").order_by('-time', '-id')) + for pos in BallotPositionDocEvent.objects.filter(doc=self.ballot, type="changed_ballot_position", time__gte=self.ballot.process_start, time__lte=self.ballot.process_end).select_related('ad').order_by("-time", '-id'): if pos.ad not in seen: p = dict(ad_name=pos.ad.name, @@ -738,17 +741,23 @@ class BallotWrapper: is_old_ad=pos.ad not in active_ads, old_positions=[]) + rev = pos.doc.rev + for n in new_revisions: + if n.time <= pos.time: + rev = n.rev + break + if pos.pos.slug == "discuss": p["has_text"] = True p["discuss_text"] = pos.discuss p["discuss_date"] = pos.discuss_time - p["discuss_revision"] = pos.doc.rev # FIXME: wrong + p["discuss_revision"] = rev if pos.comment: p["has_text"] = True p["comment_text"] = pos.comment p["comment_date"] = pos.comment_time - p["comment_revision"] = pos.doc.rev # FIXME: wrong + p["comment_revision"] = rev positions.append(p) seen[pos.ad] = p @@ -771,6 +780,7 @@ class BallotWrapper: position="No Record", ) positions.append(d) + self._positions = positions def old_init(self):