Fixed sample_data generation
parent
765802e84a
commit
705cbeefc7
|
@ -28,15 +28,15 @@ def ref_uniquely(p, seq_field, model, field='ref'):
|
||||||
"""
|
"""
|
||||||
Returns a unique reference code based on base64 and time.
|
Returns a unique reference code based on base64 and time.
|
||||||
"""
|
"""
|
||||||
project = project.__class__.objects.select_for_update().get(pk=p.pk)
|
project = p.__class__.objects.select_for_update().get(pk=p.pk)
|
||||||
|
|
||||||
ref = getattr(project, seq_field) + 1
|
ref = getattr(project, seq_field) + 1
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
params = {field: ref, 'project': _project}
|
params = {field: ref, 'project': project}
|
||||||
if not model.objects.filter(**params).exists():
|
if not model.objects.filter(**params).exists():
|
||||||
setattr(_project, seq_field, ref)
|
setattr(project, seq_field, ref)
|
||||||
_project.save(update_fields=[seq_field])
|
project.save(update_fields=[seq_field])
|
||||||
return ref
|
return ref
|
||||||
|
|
||||||
time.sleep(0.0002)
|
time.sleep(0.0002)
|
||||||
|
|
|
@ -103,6 +103,7 @@ class Command(BaseCommand):
|
||||||
user_story=us,
|
user_story=us,
|
||||||
severity=Severity.objects.get(project=project, order=2),
|
severity=Severity.objects.get(project=project, order=2),
|
||||||
status=TaskStatus.objects.get(project=project, order=4),
|
status=TaskStatus.objects.get(project=project, order=4),
|
||||||
|
priority=Priority.objects.get(project=project, order=3),
|
||||||
)
|
)
|
||||||
|
|
||||||
# created unassociated uss.
|
# created unassociated uss.
|
||||||
|
@ -127,7 +128,9 @@ class Command(BaseCommand):
|
||||||
for y in xrange(20):
|
for y in xrange(20):
|
||||||
bug = Issue.objects.create(
|
bug = Issue.objects.create(
|
||||||
project=project,
|
project=project,
|
||||||
severity=random.randint(1, 5),
|
severity=Severity.objects.get(project=project, order=2),
|
||||||
|
priority=Priority.objects.get(project=project, order=3),
|
||||||
|
type=IssueType.objects.get(project=project, order=1),
|
||||||
subject=lorem_ipsum.words(random.randint(1, 5), common=False),
|
subject=lorem_ipsum.words(random.randint(1, 5), common=False),
|
||||||
description=lorem_ipsum.words(random.randint(1, 15), common=False),
|
description=lorem_ipsum.words(random.randint(1, 15), common=False),
|
||||||
owner=project.owner,
|
owner=project.owner,
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import re
|
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
@ -273,7 +270,7 @@ class UserStory(models.Model):
|
||||||
return u"{0} ({1})".format(self.subject, self.ref)
|
return u"{0} ({1})".format(self.subject, self.ref)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.ref:
|
if not self.ref and self.project:
|
||||||
self.ref = ref_uniquely(self.project, "last_us_ref", self.__class__)
|
self.ref = ref_uniquely(self.project, "last_us_ref", self.__class__)
|
||||||
|
|
||||||
super(UserStory, self).save(*args, **kwargs)
|
super(UserStory, self).save(*args, **kwargs)
|
||||||
|
@ -313,6 +310,7 @@ class Task(models.Model):
|
||||||
|
|
||||||
severity = models.ForeignKey("Severity", related_name="tasks")
|
severity = models.ForeignKey("Severity", related_name="tasks")
|
||||||
priority = models.ForeignKey("Priority", related_name="tasks")
|
priority = models.ForeignKey("Priority", related_name="tasks")
|
||||||
|
status = models.ForeignKey("TaskStatus", related_name="tasks")
|
||||||
|
|
||||||
milestone = models.ForeignKey('Milestone', related_name='tasks', null=True,
|
milestone = models.ForeignKey('Milestone', related_name='tasks', null=True,
|
||||||
default=None, blank=True)
|
default=None, blank=True)
|
||||||
|
@ -395,10 +393,10 @@ class Issue(models.Model):
|
||||||
if not self.ref:
|
if not self.ref:
|
||||||
self.ref = ref_uniquely(self.project, "last_issue_ref", self.__class__)
|
self.ref = ref_uniquely(self.project, "last_issue_ref", self.__class__)
|
||||||
|
|
||||||
super(Task, self).save(*args, **kwargs)
|
super(Issue, self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
# Model related signals handlers
|
# Model related signals handlers
|
||||||
|
|
||||||
@receiver(models.signals.post_save, sender=Project, dispatch_uid="project_post_save")
|
@receiver(models.signals.post_save, sender=Project, dispatch_uid="project_post_save")
|
||||||
def project_post_save(sender, instance, created, **kwargs):
|
def project_post_save(sender, instance, created, **kwargs):
|
||||||
from greenmine.base.services import RoleGroupsService
|
from greenmine.base.services import RoleGroupsService
|
||||||
|
@ -431,6 +429,9 @@ def project_post_save(sender, instance, created, **kwargs):
|
||||||
for order, name in POINTS_CHOICES:
|
for order, name in POINTS_CHOICES:
|
||||||
Points.objects.create(project=instance, name=name, order=order)
|
Points.objects.create(project=instance, name=name, order=order)
|
||||||
|
|
||||||
|
for order, name in ISSUETYPES:
|
||||||
|
IssueType.objects.create(project=instance, name=name, order=order)
|
||||||
|
|
||||||
|
|
||||||
# Email alerts signals handlers
|
# Email alerts signals handlers
|
||||||
# TODO: temporary commented (Pending refactor)
|
# TODO: temporary commented (Pending refactor)
|
||||||
|
|
Loading…
Reference in New Issue