diff --git a/ietf/templates/wginfo/edit_milestones.html b/ietf/templates/wginfo/edit_milestones.html
index 8667e39ed..a8a17caa7 100644
--- a/ietf/templates/wginfo/edit_milestones.html
+++ b/ietf/templates/wginfo/edit_milestones.html
@@ -16,7 +16,10 @@ td.due { width: 5em; }
.edit-milestone input[type=checkbox] { vertical-align: middle; margin: 0 0.2em 0 0.8em;}
.edit-milestone .resolved label { vertical-align: middle; }
.edit-milestone .delete label { vertical-align: middle; }
-.edit-milestone .accept label { vertical-align: middle; }
+.edit-milestone .accept ul { display: inline-block; margin: 0; padding: 0; }
+.edit-milestone .accept ul li { list-style: none; display: inline-block; margin: 0; padding: 0; padding-left: 0.4em; }
+.edit-milestone .accept ul li label { vertical-align: middle; }
+.edit-milestone .accept ul li input { margin: 0; padding: 0; vertical-align: middle; }
.edit-milestone .docs td { vertical-align: top; }
ul.errorlist { border-width: 0px; padding: 0px; margin: 0px; display: inline-block; }
diff --git a/ietf/templates/wginfo/milestone_form.html b/ietf/templates/wginfo/milestone_form.html
index f08c898c5..83ddcc82c 100644
--- a/ietf/templates/wginfo/milestone_form.html
+++ b/ietf/templates/wginfo/milestone_form.html
@@ -34,11 +34,9 @@
{% if form.needs_review %}
Review: |
- This milestone is not public yet, awaiting AD acceptance.
-
- {% if not needs_review %}
- {{ form.accept }} {{ form.accept.label_tag }}
- {% endif %}
+ |
+ This milestone is not active yet, awaiting
+ AD acceptance{% if needs_review %}.{% else %}: {{ form.accept }}{% endif %}
|
{% endif %}
diff --git a/ietf/wginfo/milestones.py b/ietf/wginfo/milestones.py
index d8f3a9c11..c281313e5 100644
--- a/ietf/wginfo/milestones.py
+++ b/ietf/wginfo/milestones.py
@@ -36,7 +36,8 @@ class MilestoneForm(forms.Form):
docs = forms.CharField(max_length=10000, required=False)
- accept = forms.BooleanField(required=False, initial=False)
+ accept = forms.ChoiceField(choices=(("accept", "Accept"), ("reject", "Reject and delete"), ("noaction", "No action")),
+ required=False, initial="noaction", widget=forms.RadioSelect)
expanded_for_editing = forms.BooleanField(required=False, initial=False, widget=forms.HiddenInput)
@@ -169,11 +170,16 @@ def edit_milestones(request, acronym, milestone_set="current"):
changes = ['Changed %s' % named_milestone]
- if m.state_id == "review" and not needs_review and c["accept"]:
+ if m.state_id == "review" and not needs_review and c["accept"] != "noaction":
if not history:
history = save_milestone_in_history(m)
- m.state_id = "active"
- changes.append("changed state from review to active")
+
+ if c["accept"] == "accept":
+ m.state_id = "active"
+ changes.append("changed state from review to active, accepting new milestone")
+ elif c["accept"] == "reject":
+ m.state_id = "deleted"
+ changes.append("changed state from review to deleted, rejecting new milestone")
if c["desc"] != m.desc and not needs_review:
diff --git a/ietf/wginfo/tests.py b/ietf/wginfo/tests.py
index 04a5a8385..e676dfa41 100644
--- a/ietf/wginfo/tests.py
+++ b/ietf/wginfo/tests.py
@@ -393,7 +393,7 @@ class MilestoneTestCase(django.test.TestCase):
'm1-due': m1.due.strftime("%Y-%m-%d"),
'm1-resolved': m1.resolved,
'm1-docs': ",".join(m1.docs.values_list("name", flat=True)),
- 'm1-accept': "checked",
+ 'm1-accept': "accept",
})
self.assertEquals(r.status_code, 302)