Default use_milestone_dates to True. Allow changing use_milestone_dates from the edit milestone dates form for charters if it is the initial chartering effort. Fixes #2884. Commit ready for merge.

- Legacy-Id: 17287
This commit is contained in:
Robert Sparks 2020-02-11 18:53:40 +00:00
parent 7e09dea02c
commit 3568e72ec5
4 changed files with 50 additions and 2 deletions

View file

@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Copyright The IETF Trust 2020, All Rights Reserved
# Generated by Django 1.11.28 on 2020-02-11 07:47
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('group', '0022_populate_uses_milestone_dates'),
]
operations = [
migrations.AlterField(
model_name='group',
name='uses_milestone_dates',
field=models.BooleanField(default=True),
),
migrations.AlterField(
model_name='grouphistory',
name='uses_milestone_dates',
field=models.BooleanField(default=True),
),
]

View file

@ -46,7 +46,7 @@ class GroupInfo(models.Model):
unused_states = models.ManyToManyField('doc.State', help_text="Document states that have been disabled for the group.", blank=True)
unused_tags = models.ManyToManyField(DocTagName, help_text="Document tags that have been disabled for the group.", blank=True)
uses_milestone_dates = models.BooleanField(default=False)
uses_milestone_dates = models.BooleanField(default=True)
def __str__(self):
return self.name

View file

@ -1145,6 +1145,28 @@ class DatelessMilestoneTests(TestCase):
self.assertEqual(r.status_code, 302)
self.assertEqual(group.groupmilestone_set.count(),1)
def test_can_switch_date_types_for_initial_charter(self):
ad_role = RoleFactory(group__type_id='area',name_id='ad')
ms = DatedGroupMilestoneFactory(group__parent=ad_role.group)
ad = ad_role.person
ms.group.charter = CharterFactory(group=ms.group)
url = urlreverse('ietf.group.milestones.edit_milestones;charter', kwargs=dict(acronym=ms.group.acronym))
login_testing_unauthorized(self, ad.user.username, url)
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
self.assertEqual(q('#switch-date-use-form button').attr('style'), 'display:none;')
ms.group.charter.rev='00-00'
ms.group.charter.save()
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
self.assertEqual(q('#switch-date-use-form button').attr('style'), None)
def test_edit_and_reorder_milestone(self):
role = RoleFactory(name_id='chair',group__uses_milestone_dates=False)
group = role.group

View file

@ -29,7 +29,7 @@
{% if can_change_uses_milestone_dates %}
<div class="col-sm-12">
<form method="post" id="switch-date-use-form">{% csrf_token %}
<button class="btn btn-default" type="submit" name="action" value="switch"{% if milestone_set == 'charter' %} style="display:none;"{% endif %}>
<button class="btn btn-default" type="submit" name="action" value="switch"{% if milestone_set == 'charter' and not group.charter.rev == '00-00' %} style="display:none;"{% endif %}>
{% if group.uses_milestone_dates %}Stop{% else %}Start{% endif %} using milestone dates
</button>
</form>