From 24dd268a8144fe72f83914a17f6ed10ae16ab914 Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Wed, 24 Aug 2016 09:08:37 +0000 Subject: [PATCH] Show on document page if teams are not going to review that version - Legacy-Id: 11851 --- ietf/doc/views_doc.py | 3 +++ ietf/review/utils.py | 13 ++++++++++--- ietf/templates/doc/document_draft.html | 7 +++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index ba6fde043..d88dc325c 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -63,6 +63,7 @@ from ietf.meeting.models import Session from ietf.meeting.utils import group_sessions, get_upcoming_manageable_sessions, sort_sessions from ietf.review.models import ReviewRequest from ietf.review.utils import can_request_review_of_doc, review_requests_to_list_for_doc +from ietf.review.utils import no_review_from_teams_on_doc def render_document_top(request, doc, tab, name): tabs = [] @@ -358,6 +359,7 @@ def document_main(request, name, rev=None): started_iesg_process = doc.latest_event(type="started_iesg_process") review_requests = review_requests_to_list_for_doc(doc) + no_review_from_teams = no_review_from_teams_on_doc(doc, rev or doc.rev) return render_to_response("doc/document_draft.html", dict(doc=doc, @@ -420,6 +422,7 @@ def document_main(request, name, rev=None): actions=actions, presentations=presentations, review_requests=review_requests, + no_review_from_teams=no_review_from_teams, ), context_instance=RequestContext(request)) diff --git a/ietf/review/utils.py b/ietf/review/utils.py index 05d84aa60..6bedf4fcf 100644 --- a/ietf/review/utils.py +++ b/ietf/review/utils.py @@ -35,12 +35,19 @@ def can_manage_review_requests_for_team(user, team, allow_non_team_personnel=Tru def review_requests_to_list_for_doc(doc): return extract_revision_ordered_review_requests_for_documents( - ReviewRequest.objects.exclude( - state__in=["withdrawn", "rejected", "overtaken", "no-response"], + ReviewRequest.objects.filter( + state__in=["requested", "accepted", "part-completed", "completed"], ).prefetch_related("result"), [doc.name] ).get(doc.pk, []) +def no_review_from_teams_on_doc(doc, rev): + return Group.objects.filter( + reviewrequest__doc=doc, + reviewrequest__reviewed_rev=rev, + reviewrequest__state="no-review-version", + ).distinct() + def make_new_review_request_from_existing(review_req): obj = ReviewRequest() obj.time = review_req.time @@ -134,7 +141,7 @@ def close_review_request(request, review_req, close_state): prev_state = review_req.state review_req.state = close_state if close_state.slug == "no-review-version": - review_req.reviewed_rev = review_req.doc.rev # save rev for later reference + review_req.reviewed_rev = review_req.requested_rev or review_req.doc.rev # save rev for later reference review_req.save() if not suggested_req: diff --git a/ietf/templates/doc/document_draft.html b/ietf/templates/doc/document_draft.html index 790908580..ee27e58a6 100644 --- a/ietf/templates/doc/document_draft.html +++ b/ietf/templates/doc/document_draft.html @@ -202,6 +202,13 @@ {% include "doc/review_request_summary.html" with current_doc_name=doc.name current_rev=doc.rev %} {% endfor %} + {% if no_review_from_teams %} + {% for team in no_review_from_teams %} + {{ team.acronym.upper }}{% if not forloop.last %},{% endif %} + {% endfor %} + will not review this version + {% endif %} + {% if can_request_review %}
Request review