@@ -156,6 +156,11 @@ def document_main(request, name, rev=None):
156156 person__user = request .user )))
157157 can_edit_iana_state = has_role (request .user , ("Secretariat" , "IANA" ))
158158
159+ can_edit_replaces = has_role (request .user , ("Area Director" , "Secretariat" , "WG Chair" , "RG Chair" , "WG Secretary" , "RG Secretary" ))
160+
161+ is_author = unicode (request .user ) in set ([email .address for email in doc .authors .all ()])
162+ can_view_possibly_replaces = can_edit_replaces or is_author
163+
159164 rfc_number = name [3 :] if name .startswith ("" ) else None
160165 draft_name = None
161166 for a in aliases :
@@ -357,8 +362,9 @@ def document_main(request, name, rev=None):
357362 table_rows = dict (doc = 4 , stream = 2 , iesg = 4 , iana = 2 , rfced = 1 )
358363 table_rows ['doc' ] += 1 if replaces or can_edit_stream_info else 0
359364 table_rows ['doc' ] += 1 if replaced_by else 0
360- table_rows ['doc' ] += 1 if possibly_replaces else 0
361- table_rows ['doc' ] += 1 if possibly_replaced_by else 0
365+ if can_view_possibly_replaces :
366+ table_rows ['doc' ] += 1 if possibly_replaces else 0
367+ table_rows ['doc' ] += 1 if possibly_replaced_by else 0
362368 table_rows ['doc' ] += 1 if doc .get_state_slug () != "rfc" else 0
363369 table_rows ['doc' ] += 1 if conflict_reviews else 0
364370
@@ -390,6 +396,8 @@ def document_main(request, name, rev=None):
390396 can_edit_notify = can_edit_notify ,
391397 can_edit_iana_state = can_edit_iana_state ,
392398 can_edit_consensus = can_edit_consensus ,
399+ can_edit_replaces = can_edit_replaces ,
400+ can_view_possibly_replaces = can_view_possibly_replaces ,
393401
394402 rfc_number = rfc_number ,
395403 draft_name = draft_name ,
0 commit comments