Different kind of points for US API
parent
28a59bbc88
commit
9a1c9c8403
|
@ -455,6 +455,9 @@ class UserStory(models.Model):
|
||||||
def is_closed(self):
|
def is_closed(self):
|
||||||
return self.status.is_closed
|
return self.status.is_closed
|
||||||
|
|
||||||
|
def get_role_points(self):
|
||||||
|
return self.role_points
|
||||||
|
|
||||||
|
|
||||||
class Attachment(models.Model):
|
class Attachment(models.Model):
|
||||||
owner = models.ForeignKey('base.User', null=False, blank=False,
|
owner = models.ForeignKey('base.User', null=False, blank=False,
|
||||||
|
|
|
@ -34,15 +34,33 @@ class ProjectSerializer(serializers.ModelSerializer):
|
||||||
fields = ()
|
fields = ()
|
||||||
|
|
||||||
|
|
||||||
|
class RolePointsField(serializers.WritableField):
|
||||||
|
def to_native(self, obj):
|
||||||
|
return {str(o.role.id): o.points.order for o in obj.all()}
|
||||||
|
|
||||||
|
def from_native(self, obj):
|
||||||
|
return json.loads(obj)
|
||||||
|
|
||||||
|
|
||||||
class UserStorySerializer(serializers.ModelSerializer):
|
class UserStorySerializer(serializers.ModelSerializer):
|
||||||
tags = PickleField()
|
tags = PickleField()
|
||||||
is_closed = serializers.Field(source='is_closed')
|
is_closed = serializers.Field(source='is_closed')
|
||||||
|
points = RolePointsField(source='role_points')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = UserStory
|
model = UserStory
|
||||||
fields = ()
|
fields = ()
|
||||||
depth = 0
|
depth = 0
|
||||||
|
|
||||||
|
def save_object(self, obj, **kwargs):
|
||||||
|
role_points = obj._related_data.pop('role_points')
|
||||||
|
super(UserStorySerializer, self).save_object(obj, **kwargs)
|
||||||
|
|
||||||
|
for role_id, points_order in role_points.items():
|
||||||
|
role_points = obj.role_points.get(role__id=role_id)
|
||||||
|
role_points.points.order = points_order
|
||||||
|
role_points.points.save()
|
||||||
|
|
||||||
|
|
||||||
class MilestoneSerializer(serializers.ModelSerializer):
|
class MilestoneSerializer(serializers.ModelSerializer):
|
||||||
user_stories = UserStorySerializer(many=True, required=False)
|
user_stories = UserStorySerializer(many=True, required=False)
|
||||||
|
|
Loading…
Reference in New Issue