Fixes milestone creation.
parent
fdc72d06ff
commit
cd7daa0ed9
|
@ -65,11 +65,9 @@ class RoleList(generics.ListCreateAPIView):
|
||||||
|
|
||||||
|
|
||||||
class UserFilter(django_filters.FilterSet):
|
class UserFilter(django_filters.FilterSet):
|
||||||
is_active = django_filters.BooleanFilter(name="is_active")
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = ['is_active',]
|
fields = ['is_active']
|
||||||
|
|
||||||
|
|
||||||
class UserList(generics.ListCreateAPIView):
|
class UserList(generics.ListCreateAPIView):
|
||||||
|
|
|
@ -54,11 +54,16 @@ class LoginSerializer(serializers.Serializer):
|
||||||
|
|
||||||
|
|
||||||
class UserSerializer(serializers.ModelSerializer):
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
|
projects = serializers.SerializerMethodField('get_projects')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = ('id', 'username', 'first_name', 'last_name', 'color', 'is_active',)
|
fields = ('id', 'username', 'first_name', 'last_name', 'color', 'is_active', 'projects')
|
||||||
|
|
||||||
|
|
||||||
|
def get_projects(self, obj):
|
||||||
|
return [x.id for x in obj.projects.all()]
|
||||||
|
|
||||||
class RoleSerializer(serializers.ModelSerializer):
|
class RoleSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Role
|
model = Role
|
||||||
|
|
|
@ -140,6 +140,7 @@ class TaskList(generics.ListCreateAPIView):
|
||||||
|
|
||||||
def pre_save(self, obj):
|
def pre_save(self, obj):
|
||||||
obj.owner = self.request.user
|
obj.owner = self.request.user
|
||||||
|
obj.milestone = obj.user_story.milestone
|
||||||
|
|
||||||
|
|
||||||
class TaskDetail(generics.RetrieveUpdateDestroyAPIView):
|
class TaskDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
|
|
@ -107,9 +107,7 @@ class Command(BaseCommand):
|
||||||
owner=random.choice(users),
|
owner=random.choice(users),
|
||||||
milestone=milestone,
|
milestone=milestone,
|
||||||
user_story=us,
|
user_story=us,
|
||||||
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.
|
||||||
|
|
|
@ -224,18 +224,28 @@ class Project(models.Model):
|
||||||
|
|
||||||
|
|
||||||
class Milestone(models.Model):
|
class Milestone(models.Model):
|
||||||
uuid = models.CharField(max_length=40, unique=True, null=False, blank=True,
|
uuid = models.CharField(
|
||||||
|
max_length=40, unique=True, null=False, blank=True,
|
||||||
verbose_name=_('uuid'))
|
verbose_name=_('uuid'))
|
||||||
name = models.CharField(max_length=200, db_index=True, null=False, blank=False,
|
|
||||||
|
name = models.CharField(
|
||||||
|
max_length=200, db_index=True, null=False, blank=False,
|
||||||
verbose_name=_('name'))
|
verbose_name=_('name'))
|
||||||
|
|
||||||
slug = models.SlugField(max_length=250, unique=True, null=False, blank=True,
|
slug = models.SlugField(max_length=250, unique=True, null=False, blank=True,
|
||||||
verbose_name=_('slug'))
|
verbose_name=_('slug'))
|
||||||
owner = models.ForeignKey('base.User', null=True, blank=False,
|
|
||||||
related_name='owned_milestones',
|
owner = models.ForeignKey(
|
||||||
verbose_name=_('owner'))
|
'base.User',
|
||||||
project = models.ForeignKey('Project', null=False, blank=False,
|
null=True, blank=True,
|
||||||
|
related_name='owned_milestones', verbose_name=_('owner'))
|
||||||
|
|
||||||
|
project = models.ForeignKey(
|
||||||
|
'Project',
|
||||||
|
null=False, blank=False,
|
||||||
related_name='milestones',
|
related_name='milestones',
|
||||||
verbose_name=_('project'))
|
verbose_name=_('project'))
|
||||||
|
|
||||||
estimated_start = models.DateField(null=True, blank=True, default=None,
|
estimated_start = models.DateField(null=True, blank=True, default=None,
|
||||||
verbose_name=_('estimated start'))
|
verbose_name=_('estimated start'))
|
||||||
estimated_finish = models.DateField(null=True, blank=True, default=None,
|
estimated_finish = models.DateField(null=True, blank=True, default=None,
|
||||||
|
|
|
@ -63,7 +63,7 @@ class AttachmentSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class TaskSerializer(serializers.ModelSerializer):
|
class TaskSerializer(serializers.ModelSerializer):
|
||||||
tags = PickleField()
|
tags = PickleField(blank=True, default=[])
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Task
|
model = Task
|
||||||
|
|
Loading…
Reference in New Issue