Skip to content

Commit f71e999

Browse files
committed
Dateless milestone work. Commit in preparation for merging forward.
- Legacy-Id: 17174
1 parent 8f1e999 commit f71e999

File tree

14 files changed

+541
-170
lines changed

14 files changed

+541
-170
lines changed

ietf/externals/static/Sortable/Sortable.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ietf/group/factories.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
# Copyright The IETF Trust 2019, All Rights Reserved
2+
import datetime
13
import debug # pyflakes:ignore
24
import factory
35

4-
from ietf.group.models import Group, Role, GroupEvent
6+
from ietf.group.models import Group, Role, GroupEvent, GroupMilestone
57
from ietf.review.factories import ReviewTeamSettingsFactory
68

79
class GroupFactory(factory.DjangoModelFactory):
@@ -14,6 +16,7 @@ class Meta:
1416
state_id = 'active'
1517
type_id = 'wg'
1618
list_email = factory.LazyAttribute(lambda a: '%s@ietf.org'% a.acronym)
19+
uses_milestone_dates = True
1720

1821
class ReviewTeamFactory(factory.DjangoModelFactory):
1922
class Meta:
@@ -44,3 +47,20 @@ class Meta:
4447
by = factory.SubFactory('ietf.person.factories.PersonFactory')
4548
type = 'comment'
4649
desc = factory.Faker('paragraph')
50+
51+
class BaseGroupMilestoneFactory(factory.DjangoModelFactory):
52+
class Meta:
53+
model = GroupMilestone
54+
55+
group = factory.SubFactory(GroupFactory)
56+
state_id = 'active'
57+
desc = factory.Faker('sentence')
58+
59+
class DatedGroupMilestoneFactory(BaseGroupMilestoneFactory):
60+
group = factory.SubFactory(GroupFactory, uses_milestone_dates=True)
61+
due = datetime.datetime.today()+datetime.timedelta(days=180)
62+
63+
class DatelessGroupMilestoneFactory(BaseGroupMilestoneFactory):
64+
group = factory.SubFactory(GroupFactory, uses_milestone_dates=False)
65+
order = factory.Sequence(lambda n: n)
66+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright The IETF Trust 2019, All Rights Reserved
2+
# -*- coding: utf-8 -*-
3+
# Generated by Django 1.11.25 on 2019-10-30 11:41
4+
from __future__ import unicode_literals
5+
6+
from django.db import migrations, models
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('group', '0019_rename_field_document2'),
13+
]
14+
15+
operations = [
16+
migrations.AddField(
17+
model_name='group',
18+
name='uses_milestone_dates',
19+
field=models.BooleanField(default=False),
20+
),
21+
migrations.AddField(
22+
model_name='grouphistory',
23+
name='uses_milestone_dates',
24+
field=models.BooleanField(default=False),
25+
),
26+
]
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copyright The IETF Trust 2019, All Rights Reserved
2+
# -*- coding: utf-8 -*-
3+
# Generated by Django 1.11.25 on 2019-10-30 13:37
4+
from __future__ import unicode_literals
5+
6+
from django.db import migrations, models
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('group', '0020_add_uses_milestone_dates'),
13+
]
14+
15+
operations = [
16+
migrations.AlterModelOptions(
17+
name='groupmilestone',
18+
options={'ordering': ['order', 'id']},
19+
),
20+
migrations.AlterModelOptions(
21+
name='groupmilestonehistory',
22+
options={'ordering': ['order', 'id']},
23+
),
24+
migrations.AddField(
25+
model_name='groupmilestone',
26+
name='order',
27+
field=models.IntegerField(blank=True, null=True),
28+
),
29+
migrations.AddField(
30+
model_name='groupmilestonehistory',
31+
name='order',
32+
field=models.IntegerField(blank=True, null=True),
33+
),
34+
migrations.AlterField(
35+
model_name='groupmilestone',
36+
name='due',
37+
field=models.DateField(blank=True, null=True),
38+
),
39+
migrations.AlterField(
40+
model_name='groupmilestonehistory',
41+
name='due',
42+
field=models.DateField(blank=True, null=True),
43+
),
44+
]
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright The IETF Trust 2019, All Rights Reserved
2+
# -*- coding: utf-8 -*-
3+
# Generated by Django 1.11.25 on 2019-10-30 11:42
4+
from __future__ import unicode_literals
5+
6+
from django.db import migrations
7+
8+
def forward(apps, schema_editor):
9+
Group = apps.get_model('group','Group')
10+
GroupHistory = apps.get_model('group','GroupHistory')
11+
12+
Group.objects.filter(type__features__has_milestones=True).update(uses_milestone_dates=True)
13+
GroupHistory.objects.filter(type__features__has_milestones=True).update(uses_milestone_dates=True)
14+
15+
def reverse(apps, schema_editor):
16+
Group = apps.get_model('group','Group')
17+
GroupHistory = apps.get_model('group','GroupHistory')
18+
19+
Group.objects.filter(type__features__has_milestones=True).update(uses_milestone_dates=False)
20+
GroupHistory.objects.filter(type__features__has_milestones=True).update(uses_milestone_dates=False)
21+
22+
class Migration(migrations.Migration):
23+
24+
dependencies = [
25+
('group', '0021_add_order_to_milestones'),
26+
]
27+
28+
operations = [
29+
migrations.RunPython(forward, reverse)
30+
]

0 commit comments

Comments
 (0)