Merged [7383] from jmh@joelhalpern.com: fixes ticket #924

Changes counting logic in ballots to use actual number of ADs.
Causes ballot email to use utility to generate requirements text
 - Legacy-Id: 7404
Note: SVN reference [7383] has been migrated to Git commit 271c48c9c47bf63bee2289fad9224b624c388fba
This commit is contained in:
Henrik Levkowetz 2014-03-04 18:22:29 +00:00
parent 6235fa762a
commit 8ff8056581
3 changed files with 6 additions and 3 deletions

View file

@ -12,6 +12,7 @@ from ietf.ipr.search import iprs_from_docs, related_docs
from ietf.doc.models import WriteupDocEvent, BallotPositionDocEvent, LastCallDocEvent, DocAlias, ConsensusDocEvent, DocTagName
from ietf.person.models import Person
from ietf.group.models import Group, Role
from ietf.doc.utils import needed_ballot_positions
def email_state_changed(request, doc, text):
to = [x.strip() for x in doc.notify.replace(';', ',').split(',')]
@ -373,6 +374,7 @@ def generate_issue_ballot_mail(request, doc, ballot):
last_call_expires=last_call_expires,
approval_text=approval_text,
ballot_writeup=ballot_writeup,
approvalneeds=needed_ballot_positions(doc, positions),
)
)

View file

@ -79,7 +79,9 @@ def needed_ballot_positions(doc, active_positions):
if doc.type_id == "draft" and doc.intended_std_level_id in ("bcp", "ps", "ds", "std"):
# For standards-track, need positions from 2/3 of the
# non-recused current IESG.
needed = int(math.ceil((len(active_positions) - len(recuse)) * 2.0/3.0))
active = len(Person.objects.filter(role__name="ad",
role__group__state="active").distinct())
needed = int(math.ceil((active - len(recuse)) * 2.0/3.0))
else:
if len(yes) < 1:
return " ".join(answer)

View file

@ -17,8 +17,7 @@ Subject: Evaluation: {{ doc.file_tag }} to {{ doc|std_level_prompt }}
{% for fmt in inactive_ad_positions %}{{ fmt }}
{% endfor %}{% endif %}
"Yes" or "No-Objection" positions from 2/3 of non-recused ADs,
with no "Discuss" positions, are needed for approval.
{{ approvalneeds }}
DISCUSSES AND COMMENTS
======================