5050from ietf .doc .utils import ( add_links_in_new_revision_events , augment_events_with_revision ,
5151 can_adopt_draft , get_chartering_type , get_document_content , get_tags_for_stream_id ,
5252 needed_ballot_positions , nice_consensus , prettify_std_name , update_telechat , has_same_ballot ,
53- get_initial_notify , make_notify_changed_event , crawl_history , default_consensus )
53+ get_initial_notify , make_notify_changed_event , crawl_history , default_consensus )
5454from ietf .community .utils import augment_docs_with_tracking_info
5555from ietf .group .models import Role
5656from ietf .group .utils import can_manage_group , can_manage_materials
5959from ietf .person .models import Email
6060from ietf .utils .history import find_history_active_at
6161from ietf .doc .forms import TelechatForm , NotifyForm
62- from ietf .doc .mails import email_comment
62+ from ietf .doc .mails import email_comment
6363from ietf .mailtrigger .utils import gather_relevant_expansions
6464from ietf .meeting .models import Session
6565from ietf .meeting .utils import group_sessions , get_upcoming_manageable_sessions , sort_sessions
66+ from ietf .review .models import ReviewRequest
67+ from ietf .review .utils import can_request_review_of_doc , review_requests_to_list_for_doc
68+ from ietf .review .utils import no_review_from_teams_on_doc
6669
6770def render_document_top (request , doc , tab , name ):
6871 tabs = []
@@ -281,8 +284,8 @@ def document_main(request, name, rev=None):
281284 can_edit_stream_info = is_authorized_in_doc_stream (request .user , doc )
282285 can_edit_shepherd_writeup = can_edit_stream_info or user_is_person (request .user , doc .shepherd and doc .shepherd .person ) or has_role (request .user , ["Area Director" ])
283286 can_edit_notify = can_edit_shepherd_writeup
284- can_edit_consensus = False
285287
288+ can_edit_consensus = False
286289 consensus = nice_consensus (default_consensus (doc ))
287290 if doc .stream_id == "ietf" and iesg_state :
288291 show_in_states = set (IESG_BALLOT_ACTIVE_STATES )
@@ -296,6 +299,8 @@ def document_main(request, name, rev=None):
296299 e = doc .latest_event (ConsensusDocEvent , type = "changed_consensus" )
297300 consensus = nice_consensus (e and e .consensus )
298301
302+ can_request_review = can_request_review_of_doc (request .user , doc )
303+
299304 # mailing list search archive
300305 search_archive = "www.ietf.org/mail-archive/web/"
301306 if doc .stream_id == "ietf" and group .type_id == "wg" and group .list_archive :
@@ -355,6 +360,9 @@ def document_main(request, name, rev=None):
355360 published = doc .latest_event (type = "published_rfc" )
356361 started_iesg_process = doc .latest_event (type = "started_iesg_process" )
357362
363+ review_requests = review_requests_to_list_for_doc (doc )
364+ no_review_from_teams = no_review_from_teams_on_doc (doc , rev or doc .rev )
365+
358366 return render_to_response ("doc/document_draft.html" ,
359367 dict (doc = doc ,
360368 group = group ,
@@ -376,6 +384,7 @@ def document_main(request, name, rev=None):
376384 can_edit_consensus = can_edit_consensus ,
377385 can_edit_replaces = can_edit_replaces ,
378386 can_view_possibly_replaces = can_view_possibly_replaces ,
387+ can_request_review = can_request_review ,
379388
380389 rfc_number = rfc_number ,
381390 draft_name = draft_name ,
@@ -414,6 +423,8 @@ def document_main(request, name, rev=None):
414423 search_archive = search_archive ,
415424 actions = actions ,
416425 presentations = presentations ,
426+ review_requests = review_requests ,
427+ no_review_from_teams = no_review_from_teams ,
417428 ),
418429 context_instance = RequestContext (request ))
419430
@@ -565,6 +576,29 @@ def document_main(request, name, rev=None):
565576 ),
566577 context_instance = RequestContext (request ))
567578
579+
580+ if doc .type_id == "review" :
581+ basename = "{}.txt" .format (doc .name , doc .rev )
582+ pathname = os .path .join (doc .get_file_path (), basename )
583+ content = get_document_content (basename , pathname , split = False )
584+
585+ review_req = ReviewRequest .objects .filter (review = doc .name ).first ()
586+
587+ other_reviews = []
588+ if review_req :
589+ other_reviews = [r for r in review_requests_to_list_for_doc (review_req .doc ) if r != review_req ]
590+
591+ return render (request , "doc/document_review.html" ,
592+ dict (doc = doc ,
593+ top = top ,
594+ content = content ,
595+ revisions = revisions ,
596+ latest_rev = latest_rev ,
597+ snapshot = snapshot ,
598+ review_req = review_req ,
599+ other_reviews = other_reviews ,
600+ ))
601+
568602 raise Http404
569603
570604
0 commit comments