From de2df95eb078e66a03986771b69b473da1fa4a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Thu, 28 Mar 2013 10:11:32 +0100 Subject: [PATCH] Fixing some bugs and sample_data --- greenmine/base/models.py | 18 ++++++----------- greenmine/scrum/api.py | 20 +++++++++---------- .../scrum/management/commands/sample_data.py | 11 +++------- 3 files changed, 19 insertions(+), 30 deletions(-) diff --git a/greenmine/base/models.py b/greenmine/base/models.py index 8dfc7f84..61f61c5b 100644 --- a/greenmine/base/models.py +++ b/greenmine/base/models.py @@ -13,9 +13,6 @@ from greenmine.scrum.models import Project, UserStory, Task import uuid -from greenmine.scrum.models import Project - - # Centralized uuid attachment and ref generation @receiver(signals.pre_save) @@ -50,18 +47,14 @@ def attach_unique_reference(sender, instance, **kwargs): class User(AbstractUser): color = models.CharField(max_length=9) description = models.TextField(blank=True) - photo = models.FileField(upload_to="files/msg", max_length=500, null=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) - token = models.CharField(max_length=200, unique=True, null=True, - blank=True, default=None) + photo = models.FileField(upload_to="files/msg", max_length=500, null=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) + token = models.CharField(max_length=200, unique=True, null=True, blank=True, default=None) colorize_tags = models.BooleanField(default=False) objects = UserManager() + class Role(models.Model): name = models.CharField(max_length=200) 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 RoleGroupsService().replicate_role_on_all_projects(instance) + @receiver(m2m_changed, sender=Role.permissions.through) def role_m2m_changed(sender, instance, **kwargs): """ diff --git a/greenmine/scrum/api.py b/greenmine/scrum/api.py index 80c5aec4..22a7f80a 100644 --- a/greenmine/scrum/api.py +++ b/greenmine/scrum/api.py @@ -17,7 +17,7 @@ class ProjectDetail(generics.RetrieveUpdateDestroyAPIView): class MilestoneList(generics.ListCreateAPIView): model = Milestone serializer_class = MilestoneSerializer - filter_fields = ('project_id') + filter_fields = ('project') class MilestoneDetail(generics.RetrieveUpdateDestroyAPIView): @@ -28,7 +28,7 @@ class MilestoneDetail(generics.RetrieveUpdateDestroyAPIView): class UserStoryList(generics.ListCreateAPIView): model = UserStory serializer_class = UserStorySerializer - filter_fields = ('project_id', 'milestone_id') + filter_fields = ('project', 'milestone') class UserStoryDetail(generics.RetrieveUpdateDestroyAPIView): @@ -59,7 +59,7 @@ class ChangeAttachmentDetail(generics.RetrieveUpdateDestroyAPIView): class TaskList(generics.ListCreateAPIView): model = Task serializer_class = TaskSerializer - filter_fields = ('user_story_id', 'milestone_id', 'project_id') + filter_fields = ('user_story', 'milestone', 'project') class TaskDetail(generics.RetrieveUpdateDestroyAPIView): @@ -70,7 +70,7 @@ class TaskDetail(generics.RetrieveUpdateDestroyAPIView): class SeverityList(generics.ListCreateAPIView): model = Severity serializer_class = SeveritySerializer - filter_fields = ('project_id') + filter_fields = ('project') class SeverityDetail(generics.RetrieveUpdateDestroyAPIView): @@ -81,7 +81,7 @@ class SeverityDetail(generics.RetrieveUpdateDestroyAPIView): class IssueStatusList(generics.ListCreateAPIView): model = IssueStatus serializer_class = IssueStatusSerializer - filter_fields = ('project_id') + filter_fields = ('project') class IssueStatusDetail(generics.RetrieveUpdateDestroyAPIView): @@ -92,7 +92,7 @@ class IssueStatusDetail(generics.RetrieveUpdateDestroyAPIView): class TaskStatusList(generics.ListCreateAPIView): model = TaskStatus serializer_class = TaskStatusSerializer - filter_fields = ('project_id') + filter_fields = ('project') class TaskStatusDetail(generics.RetrieveUpdateDestroyAPIView): @@ -103,7 +103,7 @@ class TaskStatusDetail(generics.RetrieveUpdateDestroyAPIView): class UserStoryStatusList(generics.ListCreateAPIView): model = UserStoryStatus serializer_class = UserStoryStatusSerializer - filter_fields = ('project_id') + filter_fields = ('project') class UserStoryStatusDetail(generics.RetrieveUpdateDestroyAPIView): @@ -114,7 +114,7 @@ class UserStoryStatusDetail(generics.RetrieveUpdateDestroyAPIView): class PriorityList(generics.ListCreateAPIView): model = Priority serializer_class = PrioritySerializer - filter_fields = ('project_id') + filter_fields = ('project') class PriorityDetail(generics.RetrieveUpdateDestroyAPIView): @@ -125,7 +125,7 @@ class PriorityDetail(generics.RetrieveUpdateDestroyAPIView): class IssueTypeList(generics.ListCreateAPIView): model = IssueType serializer_class = IssueTypeSerializer - filter_fields = ('project_id') + filter_fields = ('project') class IssueTypeDetail(generics.RetrieveUpdateDestroyAPIView): @@ -136,7 +136,7 @@ class IssueTypeDetail(generics.RetrieveUpdateDestroyAPIView): class PointsList(generics.ListCreateAPIView): model = Points serializer_class = PointsSerializer - filter_fields = ('project_id') + filter_fields = ('project') class PointsDetail(generics.RetrieveUpdateDestroyAPIView): diff --git a/greenmine/scrum/management/commands/sample_data.py b/greenmine/scrum/management/commands/sample_data.py index e72ca0db..855264c1 100644 --- a/greenmine/scrum/management/commands/sample_data.py +++ b/greenmine/scrum/management/commands/sample_data.py @@ -8,8 +8,8 @@ from django.db import transaction from django.utils.timezone import now 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 * subjects = [ @@ -31,8 +31,6 @@ subjects = [ class Command(BaseCommand): @transaction.commit_on_success def handle(self, *args, **options): - users_counter = 0 - def create_user(counter): user = User( username='user%d' % (counter), @@ -87,7 +85,7 @@ class Command(BaseCommand): milestone=milestone, status=UserStoryStatus.objects.get(project=project, order=2), points=Points.objects.get(project=project, order=3), - tags = [] + tags=[] ) 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): us = UserStory.objects.create( subject=lorem_ipsum.words(random.randint(4, 9), common=False), - points=3, - status='open', 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 = [], + tags=[], ) for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "): @@ -138,7 +134,6 @@ class Command(BaseCommand): tags=[], ) - for tag in lorem_ipsum.words(random.randint(1, 5), common=True).split(" "): bug.tags.append(tag)