Fixing some bugs and sample_data
parent
17f5a056e2
commit
de2df95eb0
|
@ -13,9 +13,6 @@ from greenmine.scrum.models import Project, UserStory, Task
|
||||||
|
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from greenmine.scrum.models import Project
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Centralized uuid attachment and ref generation
|
# Centralized uuid attachment and ref generation
|
||||||
@receiver(signals.pre_save)
|
@receiver(signals.pre_save)
|
||||||
|
@ -50,18 +47,14 @@ def attach_unique_reference(sender, instance, **kwargs):
|
||||||
class User(AbstractUser):
|
class User(AbstractUser):
|
||||||
color = models.CharField(max_length=9)
|
color = models.CharField(max_length=9)
|
||||||
description = models.TextField(blank=True)
|
description = models.TextField(blank=True)
|
||||||
photo = models.FileField(upload_to="files/msg", max_length=500, null=True,
|
photo = models.FileField(upload_to="files/msg", max_length=500, null=True, blank=True)
|
||||||
blank=True)
|
default_language = models.CharField(max_length=20, null=True, blank=True, default=None)
|
||||||
|
default_timezone = models.CharField(max_length=20, null=True, blank=True, default=None)
|
||||||
default_language = models.CharField(max_length=20, null=True, blank=True,
|
token = models.CharField(max_length=200, unique=True, null=True, blank=True, default=None)
|
||||||
default=None)
|
|
||||||
default_timezone = models.CharField(max_length=20, null=True, blank=True,
|
|
||||||
default=None)
|
|
||||||
token = models.CharField(max_length=200, unique=True, null=True,
|
|
||||||
blank=True, default=None)
|
|
||||||
colorize_tags = models.BooleanField(default=False)
|
colorize_tags = models.BooleanField(default=False)
|
||||||
objects = UserManager()
|
objects = UserManager()
|
||||||
|
|
||||||
|
|
||||||
class Role(models.Model):
|
class Role(models.Model):
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
slug = models.SlugField(max_length=250, unique=True, blank=True)
|
slug = models.SlugField(max_length=250, unique=True, blank=True)
|
||||||
|
@ -88,6 +81,7 @@ def role_post_save(sender, instance, **kwargs):
|
||||||
from greenmine.base.services import RoleGroupsService
|
from greenmine.base.services import RoleGroupsService
|
||||||
RoleGroupsService().replicate_role_on_all_projects(instance)
|
RoleGroupsService().replicate_role_on_all_projects(instance)
|
||||||
|
|
||||||
|
|
||||||
@receiver(m2m_changed, sender=Role.permissions.through)
|
@receiver(m2m_changed, sender=Role.permissions.through)
|
||||||
def role_m2m_changed(sender, instance, **kwargs):
|
def role_m2m_changed(sender, instance, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -17,7 +17,7 @@ class ProjectDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class MilestoneList(generics.ListCreateAPIView):
|
class MilestoneList(generics.ListCreateAPIView):
|
||||||
model = Milestone
|
model = Milestone
|
||||||
serializer_class = MilestoneSerializer
|
serializer_class = MilestoneSerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class MilestoneDetail(generics.RetrieveUpdateDestroyAPIView):
|
class MilestoneDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -28,7 +28,7 @@ class MilestoneDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class UserStoryList(generics.ListCreateAPIView):
|
class UserStoryList(generics.ListCreateAPIView):
|
||||||
model = UserStory
|
model = UserStory
|
||||||
serializer_class = UserStorySerializer
|
serializer_class = UserStorySerializer
|
||||||
filter_fields = ('project_id', 'milestone_id')
|
filter_fields = ('project', 'milestone')
|
||||||
|
|
||||||
|
|
||||||
class UserStoryDetail(generics.RetrieveUpdateDestroyAPIView):
|
class UserStoryDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -59,7 +59,7 @@ class ChangeAttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class TaskList(generics.ListCreateAPIView):
|
class TaskList(generics.ListCreateAPIView):
|
||||||
model = Task
|
model = Task
|
||||||
serializer_class = TaskSerializer
|
serializer_class = TaskSerializer
|
||||||
filter_fields = ('user_story_id', 'milestone_id', 'project_id')
|
filter_fields = ('user_story', 'milestone', 'project')
|
||||||
|
|
||||||
|
|
||||||
class TaskDetail(generics.RetrieveUpdateDestroyAPIView):
|
class TaskDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -70,7 +70,7 @@ class TaskDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class SeverityList(generics.ListCreateAPIView):
|
class SeverityList(generics.ListCreateAPIView):
|
||||||
model = Severity
|
model = Severity
|
||||||
serializer_class = SeveritySerializer
|
serializer_class = SeveritySerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class SeverityDetail(generics.RetrieveUpdateDestroyAPIView):
|
class SeverityDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -81,7 +81,7 @@ class SeverityDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class IssueStatusList(generics.ListCreateAPIView):
|
class IssueStatusList(generics.ListCreateAPIView):
|
||||||
model = IssueStatus
|
model = IssueStatus
|
||||||
serializer_class = IssueStatusSerializer
|
serializer_class = IssueStatusSerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class IssueStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
class IssueStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -92,7 +92,7 @@ class IssueStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class TaskStatusList(generics.ListCreateAPIView):
|
class TaskStatusList(generics.ListCreateAPIView):
|
||||||
model = TaskStatus
|
model = TaskStatus
|
||||||
serializer_class = TaskStatusSerializer
|
serializer_class = TaskStatusSerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class TaskStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
class TaskStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -103,7 +103,7 @@ class TaskStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class UserStoryStatusList(generics.ListCreateAPIView):
|
class UserStoryStatusList(generics.ListCreateAPIView):
|
||||||
model = UserStoryStatus
|
model = UserStoryStatus
|
||||||
serializer_class = UserStoryStatusSerializer
|
serializer_class = UserStoryStatusSerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class UserStoryStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
class UserStoryStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -114,7 +114,7 @@ class UserStoryStatusDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class PriorityList(generics.ListCreateAPIView):
|
class PriorityList(generics.ListCreateAPIView):
|
||||||
model = Priority
|
model = Priority
|
||||||
serializer_class = PrioritySerializer
|
serializer_class = PrioritySerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class PriorityDetail(generics.RetrieveUpdateDestroyAPIView):
|
class PriorityDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -125,7 +125,7 @@ class PriorityDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class IssueTypeList(generics.ListCreateAPIView):
|
class IssueTypeList(generics.ListCreateAPIView):
|
||||||
model = IssueType
|
model = IssueType
|
||||||
serializer_class = IssueTypeSerializer
|
serializer_class = IssueTypeSerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class IssueTypeDetail(generics.RetrieveUpdateDestroyAPIView):
|
class IssueTypeDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
@ -136,7 +136,7 @@ class IssueTypeDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
class PointsList(generics.ListCreateAPIView):
|
class PointsList(generics.ListCreateAPIView):
|
||||||
model = Points
|
model = Points
|
||||||
serializer_class = PointsSerializer
|
serializer_class = PointsSerializer
|
||||||
filter_fields = ('project_id')
|
filter_fields = ('project')
|
||||||
|
|
||||||
|
|
||||||
class PointsDetail(generics.RetrieveUpdateDestroyAPIView):
|
class PointsDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
|
|
@ -8,8 +8,8 @@ from django.db import transaction
|
||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
|
|
||||||
from django.contrib.webdesign import lorem_ipsum
|
from django.contrib.webdesign import lorem_ipsum
|
||||||
from django.contrib.auth.models import User
|
|
||||||
|
|
||||||
|
from greenmine.base.models import User
|
||||||
from greenmine.scrum.models import *
|
from greenmine.scrum.models import *
|
||||||
|
|
||||||
subjects = [
|
subjects = [
|
||||||
|
@ -31,8 +31,6 @@ subjects = [
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
@transaction.commit_on_success
|
@transaction.commit_on_success
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
users_counter = 0
|
|
||||||
|
|
||||||
def create_user(counter):
|
def create_user(counter):
|
||||||
user = User(
|
user = User(
|
||||||
username='user%d' % (counter),
|
username='user%d' % (counter),
|
||||||
|
@ -87,7 +85,7 @@ class Command(BaseCommand):
|
||||||
milestone=milestone,
|
milestone=milestone,
|
||||||
status=UserStoryStatus.objects.get(project=project, order=2),
|
status=UserStoryStatus.objects.get(project=project, order=2),
|
||||||
points=Points.objects.get(project=project, order=3),
|
points=Points.objects.get(project=project, order=3),
|
||||||
tags = []
|
tags=[]
|
||||||
)
|
)
|
||||||
|
|
||||||
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
||||||
|
@ -111,15 +109,13 @@ class Command(BaseCommand):
|
||||||
for y in xrange(10):
|
for y in xrange(10):
|
||||||
us = UserStory.objects.create(
|
us = UserStory.objects.create(
|
||||||
subject=lorem_ipsum.words(random.randint(4, 9), common=False),
|
subject=lorem_ipsum.words(random.randint(4, 9), common=False),
|
||||||
points=3,
|
|
||||||
status='open',
|
|
||||||
status=UserStoryStatus.objects.get(project=project, order=2),
|
status=UserStoryStatus.objects.get(project=project, order=2),
|
||||||
points=Points.objects.get(project=project, order=3),
|
points=Points.objects.get(project=project, order=3),
|
||||||
owner=random.choice(users),
|
owner=random.choice(users),
|
||||||
description=lorem_ipsum.words(30, common=False),
|
description=lorem_ipsum.words(30, common=False),
|
||||||
milestone=None,
|
milestone=None,
|
||||||
project=project,
|
project=project,
|
||||||
tags = [],
|
tags=[],
|
||||||
)
|
)
|
||||||
|
|
||||||
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
||||||
|
@ -138,7 +134,6 @@ class Command(BaseCommand):
|
||||||
tags=[],
|
tags=[],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "):
|
||||||
bug.tags.append(tag)
|
bug.tags.append(tag)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue