Work in progress on sample_data command.
parent
79c0630c3f
commit
64eb9bb3b3
|
@ -10,7 +10,7 @@ from django.utils.timezone import now
|
|||
from django.contrib.webdesign import lorem_ipsum
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from greenmine.scrum.models import Project, Milestone, UserStory, Task
|
||||
from greenmine.scrum.models import *
|
||||
|
||||
subjects = [
|
||||
"Fixing templates for Django 1.2.",
|
||||
|
@ -31,44 +31,34 @@ subjects = [
|
|||
class Command(BaseCommand):
|
||||
@transaction.commit_on_success
|
||||
def handle(self, *args, **options):
|
||||
from django.core import management
|
||||
management.call_command('loaddata', 'development_users')
|
||||
users_counter = 0
|
||||
|
||||
def create_user(counter):
|
||||
user = User.objects.create(
|
||||
username='foouser%d' % (counter),
|
||||
first_name='foouser%d' % (counter),
|
||||
email='foouser%d@foodomain.com' % (counter),
|
||||
user = User(
|
||||
username='user%d' % (counter),
|
||||
first_name='user%d' % (counter),
|
||||
email='foouser%d@domain.com' % (counter),
|
||||
)
|
||||
|
||||
user.set_password('user%d' % (counter))
|
||||
user.save()
|
||||
return user
|
||||
|
||||
users = []
|
||||
for x in range(10):
|
||||
users.append(create_user(x))
|
||||
|
||||
# projects
|
||||
for x in xrange(3):
|
||||
# create project
|
||||
project = Project.objects.create(
|
||||
name='Project Example %s' % (x),
|
||||
project = Project(
|
||||
name='Project Example 1 %s' % (x),
|
||||
description='Project example %s description' % (x),
|
||||
owner=random.choice(list(User.objects.all()[:1])),
|
||||
owner=random.choice(users),
|
||||
public=True,
|
||||
)
|
||||
|
||||
project.add_user(project.owner, "developer")
|
||||
|
||||
extras = project.get_extras()
|
||||
extras.show_burndown = True
|
||||
extras.show_sprint_burndown = True
|
||||
extras.sprints = 4
|
||||
extras.save()
|
||||
|
||||
# add random participants to project
|
||||
participants = []
|
||||
for t in xrange(random.randint(1, 2)):
|
||||
participant = create_user(users_counter)
|
||||
participants.append(participant)
|
||||
|
||||
project.add_user(participant, "developer")
|
||||
users_counter += 1
|
||||
project.save()
|
||||
|
||||
now_date = now() - datetime.timedelta(30)
|
||||
|
||||
|
@ -81,7 +71,8 @@ class Command(BaseCommand):
|
|||
created_date=now_date,
|
||||
modified_date=now_date,
|
||||
estimated_start=now_date,
|
||||
estimated_finish=now_date + datetime.timedelta(15)
|
||||
estimated_finish=now_date + datetime.timedelta(15),
|
||||
order=10
|
||||
)
|
||||
|
||||
now_date = now_date + datetime.timedelta(15)
|
||||
|
@ -90,54 +81,65 @@ class Command(BaseCommand):
|
|||
for z in xrange(5):
|
||||
us = UserStory.objects.create(
|
||||
subject=lorem_ipsum.words(random.randint(4, 9), common=False),
|
||||
priority=6,
|
||||
points=3,
|
||||
project=project,
|
||||
owner=random.choice(participants),
|
||||
owner=random.choice(users),
|
||||
description=lorem_ipsum.words(30, common=False),
|
||||
milestone=milestone,
|
||||
status='completed',
|
||||
status=UserStoryStatus.objects.get(project=project, order=2),
|
||||
points=Points.objects.get(project=project, order=3),
|
||||
tags = []
|
||||
)
|
||||
|
||||
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
||||
us.tags.add(tag)
|
||||
us.tags.append(tag)
|
||||
|
||||
us.save()
|
||||
|
||||
for w in xrange(3):
|
||||
Task.objects.create(
|
||||
subject="Task %s" % (w),
|
||||
description=lorem_ipsum.words(30, common=False),
|
||||
project=project,
|
||||
owner=random.choice(participants),
|
||||
owner=random.choice(users),
|
||||
milestone=milestone,
|
||||
user_story=us,
|
||||
status='completed',
|
||||
severity=Severity.objects.get(project=project, order=2),
|
||||
status=TaskStatus.objects.get(project=project, order=4),
|
||||
)
|
||||
|
||||
# created unassociated uss.
|
||||
for y in xrange(10):
|
||||
us = UserStory.objects.create(
|
||||
subject=lorem_ipsum.words(random.randint(4, 9), common=False),
|
||||
priority=3,
|
||||
points=3,
|
||||
status='open',
|
||||
owner=random.choice(participants),
|
||||
status=UserStoryStatus.objects.get(project=project, order=2),
|
||||
points=Points.objects.get(project=project, order=3),
|
||||
owner=random.choice(users),
|
||||
description=lorem_ipsum.words(30, common=False),
|
||||
milestone=None,
|
||||
project=project,
|
||||
tags = [],
|
||||
)
|
||||
|
||||
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
||||
us.tags.add(tag)
|
||||
us.tags.append(tag)
|
||||
|
||||
us.save()
|
||||
|
||||
# create bugs.
|
||||
for y in xrange(20):
|
||||
bug = Task.objects.create(
|
||||
bug = Issue.objects.create(
|
||||
project=project,
|
||||
type="bug",
|
||||
severity=random.randint(1, 5),
|
||||
subject=lorem_ipsum.words(random.randint(1, 5), common=False),
|
||||
description=lorem_ipsum.words(random.randint(1, 15), common=False),
|
||||
owner=project.owner,
|
||||
tags=[],
|
||||
)
|
||||
|
||||
|
||||
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
||||
bug.tags.add(tag)
|
||||
bug.tags.append(tag)
|
||||
|
||||
bug.save()
|
||||
|
|
|
@ -19,7 +19,7 @@ from greenmine.scrum.choices import *
|
|||
|
||||
|
||||
class Severity(models.Model):
|
||||
name = models.CharField(max_length=255, unique=True)
|
||||
name = models.CharField(max_length=255)
|
||||
order = models.IntegerField(default=10)
|
||||
project = models.ForeignKey("Project", related_name="severities")
|
||||
|
||||
|
@ -31,7 +31,7 @@ class Severity(models.Model):
|
|||
|
||||
|
||||
class IssueStatus(models.Model):
|
||||
name = models.CharField(max_length=255, unique=True)
|
||||
name = models.CharField(max_length=255)
|
||||
order = models.IntegerField(default=10)
|
||||
is_closed = models.BooleanField(default=False)
|
||||
project = models.ForeignKey("Project", related_name="issuestatuses")
|
||||
|
@ -44,7 +44,7 @@ class IssueStatus(models.Model):
|
|||
|
||||
|
||||
class TaskStatus(models.Model):
|
||||
name = models.CharField(max_length=255, unique=True)
|
||||
name = models.CharField(max_length=255)
|
||||
order = models.IntegerField(default=10)
|
||||
is_closed = models.BooleanField(default=False)
|
||||
color = models.CharField(max_length=20, default="#999999")
|
||||
|
@ -58,7 +58,7 @@ class TaskStatus(models.Model):
|
|||
|
||||
|
||||
class UserStoryStatus(models.Model):
|
||||
name = models.CharField(max_length=255, unique=True)
|
||||
name = models.CharField(max_length=255)
|
||||
order = models.IntegerField(default=10)
|
||||
is_closed = models.BooleanField(default=False)
|
||||
project = models.ForeignKey("Project", related_name="usstatuses")
|
||||
|
@ -205,7 +205,7 @@ class Milestone(models.Model):
|
|||
closed = models.BooleanField(default=False)
|
||||
|
||||
disponibility = models.FloatField(null=True, default=0.0)
|
||||
order = models.PositiveSmallIntegerField("Order")
|
||||
order = models.PositiveSmallIntegerField("Order", default=1)
|
||||
|
||||
tags = DictField(blank=True, null=True)
|
||||
|
||||
|
@ -245,8 +245,8 @@ class UserStory(models.Model):
|
|||
owner = models.ForeignKey("base.User", null=True, default=None,
|
||||
related_name="user_stories")
|
||||
|
||||
status = models.ForeignKey("UserStoryStatus", related_name="userstories", default=1)
|
||||
points = models.ForeignKey("Points", related_name="userstories", default= -1)
|
||||
status = models.ForeignKey("UserStoryStatus", related_name="userstories")
|
||||
points = models.ForeignKey("Points", related_name="userstories")
|
||||
order = models.PositiveSmallIntegerField(default=100)
|
||||
|
||||
created_date = models.DateTimeField(auto_now_add=True)
|
||||
|
|
Loading…
Reference in New Issue