Ask for whether the ballot should say whether the charter can pass

without external review
 - Legacy-Id: 4272
This commit is contained in:
Ole Laursen 2012-04-11 12:50:56 +00:00
parent 47b466eaae
commit 6524aba8dc
3 changed files with 26 additions and 7 deletions

View file

@ -48,6 +48,12 @@ form.change-state .actions {
{{ field.errors }}
</td>
</tr>
{% if field.name == "charter_state" and not option == "initcharter" %}
<tr class="ballot-wo-extern" style="display:none">
<td></td>
<td><label><input name="ballot_wo_extern" type="checkbox" /> Ask whether external review can be skipped in ballot</label></td>
</tr>
{% endif %}
{% endfor %}
{% if initial_review %}
<tr><td></td><td class="warning">Warning: Announced initial review time hasn't elapsed yet. It does so at {{ initial_review.expires }}.</td></tr>
@ -80,7 +86,8 @@ form.change-state .actions {
{% block content_end %}
<script type="text/javascript">
var messages = {{ messages|safe }};
var messages = {{ messages|safe }},
statesForBallotWoExtern = {{ states_for_ballot_wo_extern }};
</script>
<script type="text/javascript" src="/js/charter-change-state.js"></script>
{% endblock %}

View file

@ -102,7 +102,10 @@ def change_state(request, name, option=None):
email_secretariat(request, wg, "state-%s" % charter_state.slug, message)
if charter_state.slug == "intrev":
create_ballot_if_not_open(charter, login, "r-extrev")
if request.POST.get("ballot_wo_extern"):
create_ballot_if_not_open(charter, login, "r-wo-ext")
else:
create_ballot_if_not_open(charter, login, "r-extrev")
elif charter_state.slug == "iesgrev":
create_ballot_if_not_open(charter, login, "approve")
@ -151,6 +154,8 @@ def change_state(request, name, option=None):
state_pk("extrev"): "The WG %s (%s) has been set to External review by %s. Please send out the external review announcement to the appropriate lists.\n\nSend the announcement to other SDOs: Yes\nAdditional recipients of the announcement: " % (wg.name, wg.acronym, login.plain_name()),
}
states_for_ballot_wo_extern = State.objects.filter(type="charter", slug="intrev").values_list("pk", flat=True)
return render_to_response('wgcharter/change_state.html',
dict(form=form,
doc=wg.charter,
@ -159,7 +164,9 @@ def change_state(request, name, option=None):
prev_charter_state=prev_charter_state,
title=title,
initial_review=initial_review,
messages=simplejson.dumps(messages)),
messages=simplejson.dumps(messages),
states_for_ballot_wo_extern=simplejson.dumps(list(states_for_ballot_wo_extern)),
),
context_instance=RequestContext(request))
class TelechatForm(forms.Form):

View file

@ -1,11 +1,16 @@
jQuery(document).ready(function () {
function setMessageDraft() {
function stateChanged() {
var v = $(this).val();
jQuery("#id_message").val(messages[v] || "");
if (jQuery.inArray(+v, statesForBallotWoExtern) != -1)
jQuery("tr.ballot-wo-extern").show();
else
jQuery("tr.ballot-wo-extern").hide();
}
jQuery("#id_charter_state").click(setMessageDraft).change(setMessageDraft).keydown(setMessageDraft);
jQuery("#id_charter_state").click(stateChanged).change(stateChanged).keydown(stateChanged);
if (jQuery("#id_message").val() == "")
jQuery("#id_charter_state").click();
// trigger event
jQuery("#id_charter_state").click();
});