Skip to content

Commit 7aff7d3

Browse files
committed
Fix some bugs in retrieving review requests for replacement documents
- Legacy-Id: 11529
1 parent d54459b commit 7aff7d3

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

ietf/review/utils.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,23 @@ def extract_revision_ordered_review_requests_for_documents(queryset, names):
245245
front = replaces.get(name, [])
246246
res[name].extend(requests_for_each_doc.get(name, []))
247247

248+
seen = set()
249+
248250
while front:
249251
replaces_reqs = []
252+
next_front = []
250253
for replaces_name in front:
254+
if replaces_name in seen:
255+
continue
256+
257+
seen.add(replaces_name)
258+
251259
reqs = requests_for_each_doc.get(replaces_name, [])
252260
if reqs:
253261
replaces_reqs.append(reqs)
254262

263+
next_front.extend(replaces.get(replaces_name, []))
264+
255265
# in case there are multiple replaces, move the ones with
256266
# the latest reviews up front
257267
replaces_reqs.sort(key=lambda l: l[0].time, reverse=True)
@@ -260,6 +270,6 @@ def extract_revision_ordered_review_requests_for_documents(queryset, names):
260270
res[name].extend(reqs)
261271

262272
# move one level down
263-
front = [n for l in requests_for_each_doc.get(replaces_name, []) for n in l]
273+
front = next_front
264274

265275
return res

0 commit comments

Comments
 (0)