Minor model and api fixes.
parent
43f2b87d0d
commit
9b39a0db28
|
@ -36,6 +36,8 @@ class ProjectList(generics.ListCreateAPIView):
|
|||
model = Project
|
||||
serializer_class = ProjectSerializer
|
||||
|
||||
def pre_save(self, obj):
|
||||
obj.owner = self.request.user
|
||||
|
||||
class ProjectDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
model = Project
|
||||
|
@ -47,6 +49,9 @@ class MilestoneList(generics.ListCreateAPIView):
|
|||
serializer_class = MilestoneSerializer
|
||||
filter_fields = ('project',)
|
||||
|
||||
def pre_save(self, obj):
|
||||
obj.owner = self.request.user
|
||||
|
||||
|
||||
class MilestoneDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
model = Milestone
|
||||
|
@ -71,6 +76,9 @@ class ChangeList(generics.ListCreateAPIView):
|
|||
model = Change
|
||||
serializer_class = ChangeSerializer
|
||||
|
||||
def pre_save(self, obj):
|
||||
obj.owner = self.request.user
|
||||
|
||||
|
||||
class ChangeDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
model = Change
|
||||
|
@ -81,6 +89,9 @@ class ChangeAttachmentList(generics.ListCreateAPIView):
|
|||
model = ChangeAttachment
|
||||
serializer_class = ChangeAttachmentSerializer
|
||||
|
||||
def pre_save(self, obj):
|
||||
obj.owner = self.request.user
|
||||
|
||||
|
||||
class ChangeAttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
model = ChangeAttachment
|
||||
|
@ -92,6 +103,9 @@ class TaskList(generics.ListCreateAPIView):
|
|||
serializer_class = TaskSerializer
|
||||
filter_fields = ('user_story', 'milestone', 'project')
|
||||
|
||||
def pre_save(self, obj):
|
||||
obj.owner = self.request.user
|
||||
|
||||
|
||||
class TaskDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
model = Task
|
||||
|
|
|
@ -191,7 +191,8 @@ class Milestone(models.Model):
|
|||
uuid = models.CharField(max_length=40, unique=True, blank=True)
|
||||
name = models.CharField(max_length=200, db_index=True)
|
||||
slug = models.SlugField(max_length=250, unique=True, blank=True)
|
||||
owner = models.ForeignKey('base.User', related_name="milestones", blank=True)
|
||||
owner = models.ForeignKey('base.User', related_name="milestones",
|
||||
null=True, blank=True)
|
||||
project = models.ForeignKey('Project', related_name="milestones")
|
||||
|
||||
estimated_start = models.DateField(null=True, default=None)
|
||||
|
@ -204,8 +205,6 @@ class Milestone(models.Model):
|
|||
disponibility = models.FloatField(null=True, default=0.0)
|
||||
order = models.PositiveSmallIntegerField("Order", default=1)
|
||||
|
||||
tags = PickledObjectField()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify_uniquely(self.name, self.__class__)
|
||||
|
@ -216,15 +215,6 @@ class Milestone(models.Model):
|
|||
ordering = ['-created_date']
|
||||
unique_together = ('name', 'project')
|
||||
|
||||
@property
|
||||
def total_points(self):
|
||||
"""
|
||||
Get total story points for this milestone.
|
||||
"""
|
||||
|
||||
total = sum(iter_points(self.user_stories.all()))
|
||||
return "{0:.1f}".format(total)
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
|
|
|
@ -41,8 +41,7 @@ class UserStorySerializer(serializers.ModelSerializer):
|
|||
|
||||
|
||||
class MilestoneSerializer(serializers.ModelSerializer):
|
||||
tags = PickleField()
|
||||
user_stories = UserStorySerializer(many=True)
|
||||
user_stories = UserStorySerializer(many=True, required=False)
|
||||
|
||||
class Meta:
|
||||
model = Milestone
|
||||
|
|
Loading…
Reference in New Issue