Fixed the sample_data command

remotes/origin/enhancement/email-actions
David Barragán Merino 2013-10-03 11:05:07 +02:00
parent 218f9fa793
commit 3dc9a7bb19
4 changed files with 45 additions and 32 deletions

View File

@ -59,6 +59,12 @@ ISSUE_TYPES = (
(1, _(u'Bug')), (1, _(u'Bug')),
) )
QUESTION_STATUS = (
(1, _(u"New"), False),
(2, _(u"Pending"), False),
(3, _(u"Answered"), True),
)
# TODO: pending to refactor # TODO: pending to refactor
TASK_COMMENT = 1 TASK_COMMENT = 1

View File

@ -11,9 +11,15 @@ from django.utils.timezone import now
from django.contrib.webdesign import lorem_ipsum from django.contrib.webdesign import lorem_ipsum
from greenmine.base.users.models import User, Role from greenmine.base.users.models import *
from greenmine.scrum.models import * from greenmine.projects.models import *
from greenmine.questions.models import * from greenmine.projects.milestones.models import *
from greenmine.projects.userstories.models import *
from greenmine.projects.tasks.models import *
from greenmine.projects.issues.models import *
from greenmine.projects.questions.models import *
from greenmine.projects.documents.models import *
from greenmine.projects.wiki.models import *
subjects = [ subjects = [
@ -191,7 +197,7 @@ class Command(BaseCommand):
owner=random.choice(self.users), owner=random.choice(self.users),
public=True, public=True,
total_story_points=self.sd.int(100, 150), total_story_points=self.sd.int(100, 150),
milestones=self.sd.int(5,10) total_milestones=self.sd.int(5,10)
) )
project.save() project.save()

View File

@ -146,6 +146,7 @@ class Project(models.Model, WatchedMixin):
"user", flat=True))) "user", flat=True)))
def update_role_points(self): def update_role_points(self):
rolepoints_model = get_model("userstories", "RolePoints")
roles = self.list_roles roles = self.list_roles
role_ids = roles.values_list("id", flat=True) role_ids = roles.values_list("id", flat=True)
null_points = self.points.get(value=None) null_points = self.points.get(value=None)
@ -153,13 +154,13 @@ class Project(models.Model, WatchedMixin):
for role in roles: for role in roles:
try: try:
sp = us.role_points.get(role=role, user_story=us) sp = us.role_points.get(role=role, user_story=us)
except RolePoints.DoesNotExist: except rolepoints_model.DoesNotExist:
sp = RolePoints.objects.create(role=role, sp = rolepoints_model.objects.create(role=role,
user_story=us, user_story=us,
points=null_points) points=null_points)
#Remove unnecesary Role points #Remove unnecesary Role points
rp_query = RolePoints.objects.filter(user_story__in=self.user_stories.all()) rp_query = rolepoints_model.objects.filter(user_story__in=self.user_stories.all())
rp_query = rp_query.exclude(role__id__in=role_ids) rp_query = rp_query.exclude(role__id__in=role_ids)
rp_query.delete() rp_query.delete()
@ -189,31 +190,40 @@ def project_post_save(sender, instance, created, **kwargs):
if not created: if not created:
return return
points_model = get_model("userstories", "Points")
userstorystatus_model = get_model("userstories", "UserStoryStatus")
taskstatus_model = get_model("tasks", "TaskStatus")
severity_model = get_model("issues", "Severity")
priority_model = get_model("issues", "Priority")
issuestatus_model = get_model("issues", "IssueStatus")
issuetype_model = get_model("issues", "IssueType")
questionstatus_model = get_model("questions", "QuestionStatus")
# Populate new project dependen default data # Populate new project dependen default data
for order, name in choices.PRIORITY_CHOICES: for order, name in choices.PRIORITY_CHOICES:
Priority.objects.create(project=instance, name=name, order=order) priority_model.objects.create(project=instance, name=name, order=order)
for order, name in choices.SEVERITY_CHOICES: for order, name in choices.SEVERITY_CHOICES:
Severity.objects.create(project=instance, name=name, order=order) severity_model.objects.create(project=instance, name=name, order=order)
for order, name, value in choices.POINTS_CHOICES: for order, name, value in choices.POINTS_CHOICES:
Points.objects.create(project=instance, name=name, order=order, value=value) points_model.objects.create(project=instance, name=name, order=order, value=value)
for order, name, is_closed in choices.USSTATUSES: for order, name, is_closed in choices.US_STATUSES:
UserStoryStatus.objects.create(name=name, order=order, userstorystatus_model.objects.create(name=name, order=order,
is_closed=is_closed, project=instance) is_closed=is_closed, project=instance)
for order, name, is_closed, color in choices.TASKSTATUSES: for order, name, is_closed, color in choices.TASK_STATUSES:
TaskStatus.objects.create(name=name, order=order, color=color, taskstatus_model.objects.create(name=name, order=order, color=color,
is_closed=is_closed, project=instance) is_closed=is_closed, project=instance)
for order, name, is_closed in choices.ISSUESTATUSES: for order, name, is_closed in choices.ISSUE_STATUSES:
IssueStatus.objects.create(name=name, order=order, issuestatus_model.objects.create(name=name, order=order,
is_closed=is_closed, project=instance) is_closed=is_closed, project=instance)
for order, name in choices.ISSUETYPES: for order, name in choices.ISSUE_TYPES:
IssueType.objects.create(project=instance, name=name, order=order) issuetype_model.objects.create(project=instance, name=name, order=order)
for order, name, is_closed in choices.QUESTION_STATUS: for order, name, is_closed in choices.QUESTION_STATUS:
QuestionStatus.objects.create(name=name, order=order, questionstatus_model.objects.create(name=name, order=order,
is_closed=is_closed, project=instance) is_closed=is_closed, project=instance)

View File

@ -1,9 +0,0 @@
# -*- coding: utf-8 -*-
from django.utils.translation import ugettext_lazy as _
QUESTION_STATUS = (
(1, _(u"New"), False),
(2, _(u"Pending"), False),
(3, _(u"Answered"), True),
)