Improving default values for orders

remotes/origin/issue/4795/notification_even_they_are_disabled
Alejandro Alonso 2016-09-28 07:44:18 +02:00
parent 4bece43bf8
commit ec9cff8a88
13 changed files with 206 additions and 11 deletions

23
taiga/base/utils/time.py Normal file
View File

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.nz>
# Copyright (C) 2014-2016 Jesús Espino <jespinog@gmail.com>
# Copyright (C) 2014-2016 David Barragán <bameda@dbarragan.com>
# Copyright (C) 2014-2016 Alejandro Alonso <alejandro.alonso@kaleidos.net>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import time
def timestamp_ms():
return int(time.time() * 1000)

View File

@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-09-28 05:40
from __future__ import unicode_literals
from django.db import migrations, models
import taiga.base.utils.time
class Migration(migrations.Migration):
dependencies = [
('custom_attributes', '0009_auto_20160728_1002'),
]
operations = [
migrations.AlterField(
model_name='epiccustomattribute',
name='order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='order'),
),
migrations.AlterField(
model_name='issuecustomattribute',
name='order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='order'),
),
migrations.AlterField(
model_name='taskcustomattribute',
name='order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='order'),
),
migrations.AlterField(
model_name='userstorycustomattribute',
name='order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='order'),
),
]

View File

@ -22,6 +22,7 @@ from django.utils import timezone
from django_pgjson.fields import JsonField
from taiga.base.utils.time import timestamp_ms
from taiga.projects.occ.mixins import OCCModelMixin
from . import choices
@ -37,7 +38,7 @@ class AbstractCustomAttribute(models.Model):
type = models.CharField(null=False, blank=False, max_length=16,
choices=choices.TYPES_CHOICES, default=choices.TEXT_TYPE,
verbose_name=_("type"))
order = models.IntegerField(null=False, blank=False, default=10000, verbose_name=_("order"))
order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms, verbose_name=_("order"))
project = models.ForeignKey("projects.Project", null=False, blank=False, related_name="%(class)ss",
verbose_name=_("project"))

View File

@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-09-28 05:40
from __future__ import unicode_literals
from django.db import migrations, models
import taiga.base.utils.time
class Migration(migrations.Migration):
dependencies = [
('epics', '0003_auto_20160901_1021'),
]
operations = [
migrations.AlterField(
model_name='epic',
name='epics_order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='epics order'),
),
migrations.AlterField(
model_name='relateduserstory',
name='order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='order'),
),
]

View File

@ -23,6 +23,7 @@ from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
from taiga.base.utils.colors import generate_random_predefined_hex_color
from taiga.base.utils.time import timestamp_ms
from taiga.projects.tagging.models import TaggedMixin
from taiga.projects.occ import OCCModelMixin
from taiga.projects.notifications.mixins import WatchedModelMixin
@ -40,7 +41,7 @@ class Epic(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, models.M
status = models.ForeignKey("projects.EpicStatus", null=True, blank=True,
related_name="epics", verbose_name=_("status"),
on_delete=models.SET_NULL)
epics_order = models.IntegerField(null=False, blank=False, default=10000,
epics_order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("epics order"))
created_date = models.DateTimeField(null=False, blank=False,
@ -96,7 +97,7 @@ class RelatedUserStory(WatchedModelMixin, models.Model):
user_story = models.ForeignKey("userstories.UserStory", on_delete=models.CASCADE)
epic = models.ForeignKey("epics.Epic", on_delete=models.CASCADE)
order = models.IntegerField(null=False, blank=False, default=10000,
order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("order"))
class Meta:

View File

@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-09-28 05:40
from __future__ import unicode_literals
from django.db import migrations, models
import taiga.base.utils.time
class Migration(migrations.Migration):
dependencies = [
('projects', '0053_auto_20160927_0741'),
]
operations = [
migrations.AlterField(
model_name='membership',
name='user_order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='user order'),
),
migrations.AlterField(
model_name='projecttemplate',
name='order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='user order'),
),
]

View File

@ -31,6 +31,7 @@ from django_pglocks import advisory_lock
from django_pgjson.fields import JsonField
from taiga.base.utils.time import timestamp_ms
from taiga.projects.tagging.models import TaggedMixin
from taiga.projects.tagging.models import TagsColorsdMixin
from taiga.base.utils.files import get_file_path
@ -84,7 +85,7 @@ class Membership(models.Model):
invitation_extra_text = models.TextField(null=True, blank=True,
verbose_name=_("invitation extra text"))
user_order = models.IntegerField(default=10000, null=False, blank=False,
user_order = models.BigIntegerField(default=timestamp_ms, null=False, blank=False,
verbose_name=_("user order"))
class Meta:
@ -730,7 +731,7 @@ class ProjectTemplate(models.Model):
verbose_name=_("slug"), unique=True)
description = models.TextField(null=False, blank=False,
verbose_name=_("description"))
order = models.IntegerField(default=10000, null=False, blank=False,
order = models.BigIntegerField(default=timestamp_ms, null=False, blank=False,
verbose_name=_("user order"))
created_date = models.DateTimeField(null=False, blank=False,
verbose_name=_("created date"),

View File

@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-09-28 07:55
from __future__ import unicode_literals
from django.db import migrations, models
import taiga.base.utils.time
class Migration(migrations.Migration):
dependencies = [
('tasks', '0010_auto_20160614_1201'),
]
operations = [
migrations.AlterField(
model_name='task',
name='taskboard_order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='taskboard order'),
),
migrations.AlterField(
model_name='task',
name='us_order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='us order'),
),
]

View File

@ -23,6 +23,7 @@ from django.conf import settings
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from taiga.base.utils.time import timestamp_ms
from taiga.projects.occ import OCCModelMixin
from taiga.projects.notifications.mixins import WatchedModelMixin
from taiga.projects.mixins.blocked import BlockedMixin
@ -53,9 +54,9 @@ class Task(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, models.M
subject = models.TextField(null=False, blank=False,
verbose_name=_("subject"))
us_order = models.IntegerField(null=False, blank=False, default=1,
us_order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("us order"))
taskboard_order = models.IntegerField(null=False, blank=False, default=1,
taskboard_order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("taskboard order"))
description = models.TextField(null=False, blank=True, verbose_name=_("description"))

View File

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-09-28 05:40
from __future__ import unicode_literals
from django.db import migrations, models
import taiga.base.utils.time
class Migration(migrations.Migration):
dependencies = [
('userstories', '0013_auto_20160722_1018'),
]
operations = [
migrations.AlterField(
model_name='userstory',
name='backlog_order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='backlog order'),
),
migrations.AlterField(
model_name='userstory',
name='kanban_order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='kanban order'),
),
migrations.AlterField(
model_name='userstory',
name='sprint_order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='sprint order'),
),
]

View File

@ -25,6 +25,7 @@ from django.utils import timezone
from picklefield.fields import PickledObjectField
from taiga.base.utils.time import timestamp_ms
from taiga.projects.tagging.models import TaggedMixin
from taiga.projects.occ import OCCModelMixin
from taiga.projects.notifications.mixins import WatchedModelMixin
@ -75,11 +76,11 @@ class UserStory(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, mod
related_name="userstories", through="RolePoints",
verbose_name=_("points"))
backlog_order = models.IntegerField(null=False, blank=False, default=10000,
backlog_order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("backlog order"))
sprint_order = models.IntegerField(null=False, blank=False, default=10000,
sprint_order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("sprint order"))
kanban_order = models.IntegerField(null=False, blank=False, default=10000,
kanban_order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("kanban order"))
created_date = models.DateTimeField(null=False, blank=False,

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-09-28 05:40
from __future__ import unicode_literals
from django.db import migrations, models
import taiga.base.utils.time
class Migration(migrations.Migration):
dependencies = [
('wiki', '0003_auto_20160615_0721'),
]
operations = [
migrations.AlterField(
model_name='wikilink',
name='order',
field=models.BigIntegerField(default=taiga.base.utils.time.timestamp_ms, verbose_name='order'),
),
]

View File

@ -24,6 +24,7 @@ from django.utils import timezone
from django_pglocks import advisory_lock
from taiga.base.utils.slug import slugify_uniquely_for_queryset
from taiga.base.utils.time import timestamp_ms
from taiga.projects.notifications.mixins import WatchedModelMixin
from taiga.projects.occ import OCCModelMixin
@ -72,7 +73,7 @@ class WikiLink(models.Model):
title = models.CharField(max_length=500, null=False, blank=False)
href = models.SlugField(max_length=500, db_index=True, null=False, blank=False,
verbose_name=_("href"))
order = models.PositiveSmallIntegerField(null=False, blank=False, default="10000",
order = models.BigIntegerField(null=False, blank=False, default=timestamp_ms,
verbose_name=_("order"))
class Meta: