Refactor migrations
parent
b8dcca672a
commit
7d7f805a1e
|
@ -1,43 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Generated by Django 1.11.2 on 2018-06-05 10:42
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('projects', '0059_auto_20170116_1633'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='UserStoryDueDate',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('name', models.CharField(max_length=255, verbose_name='name')),
|
|
||||||
('slug', models.SlugField(blank=True, max_length=255, verbose_name='slug')),
|
|
||||||
('order', models.IntegerField(default=10, verbose_name='order')),
|
|
||||||
('by_default', models.BooleanField(default=False, verbose_name='by default')),
|
|
||||||
('color', models.CharField(default='#999999', max_length=20, verbose_name='color')),
|
|
||||||
('days_to_due', models.IntegerField(blank=True, default=None, null=True, verbose_name='days to due')),
|
|
||||||
('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='us_duedates', to='projects.Project', verbose_name='project')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'verbose_name': 'user story due date',
|
|
||||||
'verbose_name_plural': 'user story due dates',
|
|
||||||
'ordering': ['project', 'order', 'name'],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='project',
|
|
||||||
name='default_us_duedate',
|
|
||||||
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='projects.UserStoryDueDate', verbose_name='default US duedate'),
|
|
||||||
),
|
|
||||||
migrations.AlterUniqueTogether(
|
|
||||||
name='userstoryduedate',
|
|
||||||
unique_together=set([('project', 'slug'), ('project', 'name')]),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,15 +1,17 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Generated by Django 1.11.2 on 2018-06-06 10:34
|
# Generated by Django 1.11.2 on 2018-06-14 07:21
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import django.core.serializers.json
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
import django.db.models.deletion
|
import django.db.models.deletion
|
||||||
|
import taiga.base.db.models.fields.json
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('projects', '0060_auto_20180605_1042'),
|
('projects', '0059_auto_20170116_1633'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
@ -49,12 +51,49 @@ class Migration(migrations.Migration):
|
||||||
'ordering': ['project', 'order', 'name'],
|
'ordering': ['project', 'order', 'name'],
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='UserStoryDueDate',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name', models.CharField(max_length=255, verbose_name='name')),
|
||||||
|
('slug', models.SlugField(blank=True, max_length=255, verbose_name='slug')),
|
||||||
|
('order', models.IntegerField(default=10, verbose_name='order')),
|
||||||
|
('by_default', models.BooleanField(default=False, verbose_name='by default')),
|
||||||
|
('color', models.CharField(default='#999999', max_length=20, verbose_name='color')),
|
||||||
|
('days_to_due', models.IntegerField(blank=True, default=None, null=True, verbose_name='days to due')),
|
||||||
|
('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='us_duedates', to='projects.Project', verbose_name='project')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'user story due date',
|
||||||
|
'verbose_name_plural': 'user story due dates',
|
||||||
|
'ordering': ['project', 'order', 'name'],
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='projecttemplate',
|
||||||
|
name='issue_duedates',
|
||||||
|
field=taiga.base.db.models.fields.json.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='issue duedates'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='projecttemplate',
|
||||||
|
name='task_duedates',
|
||||||
|
field=taiga.base.db.models.fields.json.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='task duedates'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='projecttemplate',
|
||||||
|
name='us_duedates',
|
||||||
|
field=taiga.base.db.models.fields.json.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='us duedates'),
|
||||||
|
),
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='userstoryduedate',
|
||||||
|
unique_together=set([('project', 'slug'), ('project', 'name')]),
|
||||||
|
),
|
||||||
migrations.AlterUniqueTogether(
|
migrations.AlterUniqueTogether(
|
||||||
name='taskduedate',
|
name='taskduedate',
|
||||||
unique_together=set([('project', 'name'), ('project', 'slug')]),
|
unique_together=set([('project', 'slug'), ('project', 'name')]),
|
||||||
),
|
),
|
||||||
migrations.AlterUniqueTogether(
|
migrations.AlterUniqueTogether(
|
||||||
name='issueduedate',
|
name='issueduedate',
|
||||||
unique_together=set([('project', 'name'), ('project', 'slug')]),
|
unique_together=set([('project', 'slug'), ('project', 'name')]),
|
||||||
),
|
),
|
||||||
]
|
]
|
|
@ -1,33 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Generated by Django 1.11.2 on 2018-06-06 11:01
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
import django.core.serializers.json
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
import taiga.base.db.models.fields.json
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('projects', '0061_auto_20180606_1034'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='project',
|
|
||||||
name='default_issue_duedate',
|
|
||||||
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='projects.IssueDueDate', verbose_name='default issue duedate'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='project',
|
|
||||||
name='default_task_duedate',
|
|
||||||
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='projects.TaskDueDate', verbose_name='default task duedate'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='projecttemplate',
|
|
||||||
name='us_duedates',
|
|
||||||
field=taiga.base.db.models.fields.json.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='us statuses'),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,32 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Generated by Django 1.11.2 on 2018-06-06 11:11
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
import django.core.serializers.json
|
|
||||||
from django.db import migrations
|
|
||||||
import taiga.base.db.models.fields.json
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('projects', '0062_auto_20180606_1101'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='projecttemplate',
|
|
||||||
name='issue_duedates',
|
|
||||||
field=taiga.base.db.models.fields.json.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='issue duedates'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='projecttemplate',
|
|
||||||
name='task_duedates',
|
|
||||||
field=taiga.base.db.models.fields.json.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='task duedates'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='projecttemplate',
|
|
||||||
name='us_duedates',
|
|
||||||
field=taiga.base.db.models.fields.json.JSONField(blank=True, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='us duedates'),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,27 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Generated by Django 1.11.2 on 2018-06-06 15:10
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('projects', '0063_auto_20180606_1111'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='project',
|
|
||||||
name='default_issue_duedate',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='project',
|
|
||||||
name='default_task_duedate',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='project',
|
|
||||||
name='default_us_duedate',
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,20 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Generated by Django 1.11.2 on 2018-06-05 10:31
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('users', '0026_auto_20180514_1513'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='user',
|
|
||||||
name='read_new_terms',
|
|
||||||
field=models.BooleanField(default=False, verbose_name='new terms read'),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -2355,7 +2355,8 @@ def test_prevent_delete_us_default_due_dates(client):
|
||||||
project = f.create_project()
|
project = f.create_project()
|
||||||
|
|
||||||
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
url = reverse('userstory-due-dates-detail', kwargs={"pk": 1})
|
url = reverse('userstory-due-dates-detail',
|
||||||
|
kwargs={"pk": project.us_duedates.last().pk})
|
||||||
client.login(project.owner)
|
client.login(project.owner)
|
||||||
|
|
||||||
response = client.json.delete(url)
|
response = client.json.delete(url)
|
||||||
|
@ -2428,7 +2429,8 @@ def test_prevent_delete_task_default_due_dates(client):
|
||||||
project = f.create_project()
|
project = f.create_project()
|
||||||
|
|
||||||
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
url = reverse('task-due-dates-detail', kwargs={"pk": 1})
|
url = reverse('task-due-dates-detail',
|
||||||
|
kwargs={"pk": project.task_duedates.last().pk})
|
||||||
client.login(project.owner)
|
client.login(project.owner)
|
||||||
|
|
||||||
response = client.json.delete(url)
|
response = client.json.delete(url)
|
||||||
|
@ -2501,7 +2503,8 @@ def test_prevent_delete_issue_default_due_dates(client):
|
||||||
project = f.create_project()
|
project = f.create_project()
|
||||||
|
|
||||||
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
url = reverse('issue-due-dates-detail', kwargs={"pk": 1})
|
url = reverse('issue-due-dates-detail',
|
||||||
|
kwargs={"pk": project.issue_duedates.last().pk})
|
||||||
client.login(project.owner)
|
client.login(project.owner)
|
||||||
|
|
||||||
response = client.json.delete(url)
|
response = client.json.delete(url)
|
||||||
|
|
Loading…
Reference in New Issue