Updating project list and detail serializers

remotes/origin/enhancement/email-actions
Alejandro Alonso 2015-05-28 14:44:03 +02:00
parent 192a497916
commit 7f52d81bdd
4 changed files with 10 additions and 7 deletions

View File

@ -31,6 +31,6 @@ premailer==2.8.1
django-transactional-cleanup==0.1.14 django-transactional-cleanup==0.1.14
lxml==3.4.1 lxml==3.4.1
git+https://github.com/Xof/django-pglocks.git@dbb8d7375066859f897604132bd437832d2014ea git+https://github.com/Xof/django-pglocks.git@dbb8d7375066859f897604132bd437832d2014ea
django-bulk-update==1.1.3
# Comment it if you are using python >= 3.4 # Comment it if you are using python >= 3.4
enum34==1.0 enum34==1.0

View File

@ -305,7 +305,6 @@ class ProjectSerializer(serializers.ModelSerializer):
my_permissions = serializers.SerializerMethodField("get_my_permissions") my_permissions = serializers.SerializerMethodField("get_my_permissions")
i_am_owner = serializers.SerializerMethodField("get_i_am_owner") i_am_owner = serializers.SerializerMethodField("get_i_am_owner")
tags_colors = TagsColorsField(required=False) tags_colors = TagsColorsField(required=False)
users = serializers.SerializerMethodField("get_users")
total_closed_milestones = serializers.SerializerMethodField("get_total_closed_milestones") total_closed_milestones = serializers.SerializerMethodField("get_total_closed_milestones")
class Meta: class Meta:
@ -328,9 +327,6 @@ class ProjectSerializer(serializers.ModelSerializer):
return is_project_owner(self.context["request"].user, obj) return is_project_owner(self.context["request"].user, obj)
return False return False
def get_users(self, obj):
return UserSerializer(obj.members.all(), many=True).data
def get_total_closed_milestones(self, obj): def get_total_closed_milestones(self, obj):
return obj.milestones.filter(closed=True).count() return obj.milestones.filter(closed=True).count()
@ -355,6 +351,7 @@ class ProjectDetailSerializer(ProjectSerializer):
issue_types = IssueTypeSerializer(many=True, required=False) issue_types = IssueTypeSerializer(many=True, required=False)
priorities = PrioritySerializer(many=True, required=False) # Issues priorities = PrioritySerializer(many=True, required=False) # Issues
severities = SeveritySerializer(many=True, required=False) severities = SeveritySerializer(many=True, required=False)
users = serializers.SerializerMethodField("get_users")
userstory_custom_attributes = UserStoryCustomAttributeSerializer(source="userstorycustomattributes", userstory_custom_attributes = UserStoryCustomAttributeSerializer(source="userstorycustomattributes",
many=True, required=False) many=True, required=False)
task_custom_attributes = TaskCustomAttributeSerializer(source="taskcustomattributes", task_custom_attributes = TaskCustomAttributeSerializer(source="taskcustomattributes",
@ -374,6 +371,8 @@ class ProjectDetailSerializer(ProjectSerializer):
serializer = ProjectRoleSerializer(obj.roles.all(), many=True) serializer = ProjectRoleSerializer(obj.roles.all(), many=True)
return serializer.data return serializer.data
def get_users(self, obj):
return UserSerializer(obj.members.all(), many=True).data
class ProjectDetailAdminSerializer(ProjectDetailSerializer): class ProjectDetailAdminSerializer(ProjectDetailSerializer):
class Meta: class Meta:

View File

@ -37,8 +37,8 @@ class Timeline(models.Model):
created = models.DateTimeField(default=timezone.now) created = models.DateTimeField(default=timezone.now)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if self.id: #if self.id:
raise ValidationError("Not modify allowed for timeline entries") # raise ValidationError("Not modify allowed for timeline entries")
return super().save(*args, **kwargs) return super().save(*args, **kwargs)
class Meta: class Meta:

View File

@ -75,7 +75,11 @@ def task_timeline(instance, extra_data={}):
result ={ result ={
"task": service.extract_task_info(instance), "task": service.extract_task_info(instance),
"project": service.extract_project_info(instance.project), "project": service.extract_project_info(instance.project),
"userstory": None,
} }
if instance.user_story:
result["userstory"] = service.extract_userstory_info(instance.user_story)
result.update(extra_data) result.update(extra_data)
return result return result