Merged in [10803] from rjsparks@nostrum.com:

Create the approval ballot for charters when the charter enters external review (or iesg review if external review is skipped). Fixes #1792.
 - Legacy-Id: 10812
Note: SVN reference [10803] has been migrated to Git commit b1f229cf9d
This commit is contained in:
Henrik Levkowetz 2016-02-10 16:53:36 +00:00
commit 071729f740
2 changed files with 11 additions and 2 deletions

View file

@ -13,6 +13,7 @@ import debug # pyflakes:ignore
from ietf.doc.models import ( Document, State, BallotDocEvent, BallotType, NewRevisionDocEvent,
TelechatDocEvent, WriteupDocEvent )
from ietf.doc.utils_charter import next_revision, default_review_text, default_action_text
from ietf.doc.utils import close_open_ballots
from ietf.group.models import Group, GroupMilestone
from ietf.iesg.models import TelechatDate
from ietf.person.models import Person
@ -97,7 +98,7 @@ class EditCharterTests(TestCase):
self.assertTrue("state changed" in find_event("changed_state")[0].desc.lower())
if slug in ("intrev", "iesgrev"):
if slug in ("intrev", "extrev"):
self.assertTrue(find_event("created_ballot"))
self.assertEqual(len(outbox), 3 if slug=="intrev" else 2 )
@ -127,6 +128,14 @@ class EditCharterTests(TestCase):
for word in ["State changed", "ID Tracker URL", ]:
self.assertIn(word, body)
by = Person.objects.get(user__username="secretary")
for slug in ('extrev','iesgrev'):
close_open_ballots(charter,by)
r = self.client.post(url, dict(charter_state=str(State.objects.get(used=True,type='charter',slug=slug).pk) ))
self.assertTrue(r.status_code,302)
charter = Document.objects.get(name="charter-ietf-%s" % group.acronym)
self.assertTrue(charter.ballot_open('approve'))
# Exercise internal review of a recharter
group = Group.objects.get(acronym="mars")

View file

@ -157,7 +157,7 @@ def change_state(request, name, option=None):
create_ballot_if_not_open(charter, login, "r-extrev")
default_review_text(group, charter, login)
default_action_text(group, charter, login)
elif charter_state.slug == "iesgrev":
elif charter_state.slug in ["extrev","iesgrev"]:
create_ballot_if_not_open(charter, login, "approve")
elif charter_state.slug == "approved":
change_group_state_after_charter_approval(group, login)