Merged in [19200] from housley@vigilsec.com:

Better explain ballot positions from former area dirctors. Fixes #3228. Branch
 - Legacy-Id: 19229
Note: SVN reference [19200] has been migrated to Git commit b2e5873577290740133120f21ec340cbcef513f5
This commit is contained in:
Robert Sparks 2021-07-15 20:23:50 +00:00
parent ade3e2be7d
commit 6b5c0ac499
2 changed files with 82 additions and 50 deletions

View file

@ -1079,7 +1079,7 @@ def document_ballot_content(request, doc, ballot_id, editable=True):
summary = needed_ballot_positions(doc, [p for p in positions if not p.is_old_pos])
text_positions = [p for p in positions if p.discuss or p.comment]
text_positions.sort(key=lambda p: (p.is_old_pos, p.balloter.plain_name()))
text_positions.sort(key=lambda p: (p.is_old_pos, p.balloter.last_name()))
ballot_open = not BallotDocEvent.objects.filter(doc=doc,
type__in=("closed_ballot", "created_ballot"),

View file

@ -7,7 +7,7 @@
{% for n, positions in position_groups %}
<h4><span class="label label-{{ n|pos_to_label }}"> {{ n.name }}</span></h4>
{% for p in positions|dictsort:"balloter.last_name" %}
{% for p in positions %}
<div class="balloter-name">
{% if p.is_old_pos %}<span class="text-muted">({% endif %}{% if p.comment or p.discuss %}<a href="#{{ p.balloter.plain_name|slugify }}">{% endif %}{{ p.balloter.plain_name }}{% if p.comment or p.discuss %}</a>{% endif %}{% if p.is_old_pos %})</span>{% endif %}
</div>
@ -24,9 +24,7 @@
<li class="disabled"><span><b>Ballots</b></span></li>
{% for b in all_ballots %}
<li {% if b == ballot %}class="active"{% endif %}>
<a href="{% url "ietf.doc.views_doc.document_ballot" name=doc.name ballot_id=b.pk %}">
{{ b.ballot_type.name }} ({{ b.rev }})
</a>
<a href="{% url "ietf.doc.views_doc.document_ballot" name=doc.name ballot_id=b.pk %}">{{ b.ballot_type.name }} ({{ b.rev }})</a>
</li>
{% endfor %}
</ul>
@ -73,59 +71,93 @@
{% endif %}
{% for n, positions in position_groups %}
{% for p in positions|dictsort:"balloter.last_name" %}
<h4 class="anchor-target" id="{{ p.balloter.plain_name|slugify }}">
{% if p.is_old_pos %}<span class="text-muted">({% endif %}{{ p.balloter.plain_name }}{% if p.is_old_pos %})</span>{% endif %}
{% for p in positions %}
{% if not p.is_old_pos %}
<h4 class="anchor-target" id="{{ p.balloter.plain_name|slugify }}">{{ p.balloter.plain_name }}
<span class="pull-right"><span class="label label-{{ p.pos|pos_to_label }}">{{p.pos}}</span>
{% if user|has_role:"Secretariat" %}
<a href="{% url "ietf.doc.views_ballot.edit_position" name=doc.name ballot_id=ballot.pk %}?balloter={{ p.balloter.pk }}" title="Click to edit the position of {{ p.balloter.plain_name }}" class="btn btn-default btn-xs">Edit</a>
{% endif %}
</span>
</h4>
{% if p.pos.blocking and p.discuss %}
<div class="panel panel-danger">
<div class="panel-heading">
<h5 class="panel-title"><b>{{ p.pos.name }}</b> ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this discuss"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier discuss"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this discuss"></span>
{% else %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this discuss"></span>
{% endif %}
</h5>
</div>
<div class="panel-body"><pre class="ballot pasted">{{ p.discuss|linkify }}</pre></div>
</div>
{% endif %}
{% if p.comment %}
<div class="panel panel-{{ p.pos|pos_to_label }}">
<div class="panel-heading">
<h5 class="panel-title"><b>Comment</b> ({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this comment"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier comment"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this comment"></span>
{% else %}
<div class="pull-right small italic" style="margin-top: -0.3em;" title="No ballot position send log available">No email<br/>send info</div>
{% endif %}
</h5>
</div>
<div class="panel-body"><pre class="ballot pasted">{{ p.comment|linkify }}</pre></div>
</div>
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
{% for n, positions in position_groups %}
{% for p in positions %}
{% if p.is_old_pos %}
<h4 class="anchor-target" id="{{ p.balloter.plain_name|slugify }}">
<span class="text-muted">({{ p.balloter.plain_name }}; former steering group member)</span>
<span class="pull-right">
{% if p.old_positions %}
<span class="text-muted small">(was {{ p.old_positions|join:", " }})</span>
{% endif %}
{% if p.old_positions %}<span class="text-muted small">(was {{ p.old_positions|join:", " }})</span>{% endif %}
<span class="label label-{{ p.pos|pos_to_label }}">{{p.pos}}</span>
{% if user|has_role:"Secretariat" %}
<a href="{% url "ietf.doc.views_ballot.edit_position" name=doc.name ballot_id=ballot.pk %}?balloter={{ p.balloter.pk }}" title="Click to edit the position of {{ p.balloter.plain_name }}" class="btn btn-default btn-xs">
Edit</a>
<a href="{% url "ietf.doc.views_ballot.edit_position" name=doc.name ballot_id=ballot.pk %}?balloter={{ p.balloter.pk }}" title="Click to edit the position of {{ p.balloter.plain_name }}" class="btn btn-default btn-xs">Edit</a>
{% endif %}
</span>
</h4>
{% if p.pos.blocking and p.discuss %}
<div class="panel panel-danger">
<div class="panel-heading">
<h5 class="panel-title">
<b>{{ p.pos.name }}</b> ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev}}{% endif %})
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this discuss"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier discuss"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this discuss"></span>
{% else %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this discuss"></span>
{% endif %}
</h5>
</div>
<div class="panel-body"><pre class="ballot pasted">{{ p.discuss|linkify }}</pre></div>
</div>
{% endif %}
{% if p.comment %}
</h4>
<div class="panel panel-{{ p.pos|pos_to_label }}">
<div class="panel-heading">
<h5 class="panel-title">
<b>Comment</b> ({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev}}{% endif %})
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this comment"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier comment"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this comment"></span>
{% else %}
<div class="pull-right small italic" style="margin-top: -0.3em;" title="No ballot position send log available">No email<br/>send info</div>
{% endif %}
</h5>
<h5 class="panel-title"><b>{{ p.pos.name }} </b>
{% if p.pos.blocking and p.discuss %}
<b>[Treat as non-blocking comment]</b> ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% else %}
({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% endif %}
{% if p.send_email %}
<span class="fa fa-envelope-o pull-right" title="Email requested to be sent for this ballot position"></span>
{% elif p.any_email_sent == True %}
<span class="fa fa-envelope pull-right" title="Email requested to be sent for earlier ballot position"></span>
{% elif p.any_email_sent == False %}
<span class="fa fa-comment-o pull-right" title="No email send requests for this ballot position"></span>
{% else %}
<div class="pull-right small italic" style="margin-top: -0.3em;" title="No ballot position send log available">No email<br/>send info</div>
{% endif %}
</h5>
</div>
<div class="panel-body"><pre class="ballot pasted">{{ p.comment|linkify }}</pre></div>
{% if p.pos.blocking and p.discuss %}
<div class="panel-body"><pre class="ballot pasted">{{ p.discuss|linkify }}</pre></div>
{% else %}
<div class="panel-body"><pre class="ballot pasted">{{ p.comment|linkify }}</pre></div>
{% endif %}
</div>
{% endif %}
{% endfor %}