From 7f52d81bdddafd35f83d26f0c01a252b052e729f Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Thu, 28 May 2015 14:44:03 +0200 Subject: [PATCH] Updating project list and detail serializers --- requirements.txt | 2 +- taiga/projects/serializers.py | 7 +++---- taiga/timeline/models.py | 4 ++-- taiga/timeline/timeline_implementations.py | 4 ++++ 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/requirements.txt b/requirements.txt index 0098b044..f569fd22 100644 --- a/requirements.txt +++ b/requirements.txt @@ -31,6 +31,6 @@ premailer==2.8.1 django-transactional-cleanup==0.1.14 lxml==3.4.1 git+https://github.com/Xof/django-pglocks.git@dbb8d7375066859f897604132bd437832d2014ea - +django-bulk-update==1.1.3 # Comment it if you are using python >= 3.4 enum34==1.0 diff --git a/taiga/projects/serializers.py b/taiga/projects/serializers.py index 48791495..638a3329 100644 --- a/taiga/projects/serializers.py +++ b/taiga/projects/serializers.py @@ -305,7 +305,6 @@ class ProjectSerializer(serializers.ModelSerializer): my_permissions = serializers.SerializerMethodField("get_my_permissions") i_am_owner = serializers.SerializerMethodField("get_i_am_owner") tags_colors = TagsColorsField(required=False) - users = serializers.SerializerMethodField("get_users") total_closed_milestones = serializers.SerializerMethodField("get_total_closed_milestones") class Meta: @@ -328,9 +327,6 @@ class ProjectSerializer(serializers.ModelSerializer): return is_project_owner(self.context["request"].user, obj) return False - def get_users(self, obj): - return UserSerializer(obj.members.all(), many=True).data - def get_total_closed_milestones(self, obj): return obj.milestones.filter(closed=True).count() @@ -355,6 +351,7 @@ class ProjectDetailSerializer(ProjectSerializer): issue_types = IssueTypeSerializer(many=True, required=False) priorities = PrioritySerializer(many=True, required=False) # Issues severities = SeveritySerializer(many=True, required=False) + users = serializers.SerializerMethodField("get_users") userstory_custom_attributes = UserStoryCustomAttributeSerializer(source="userstorycustomattributes", many=True, required=False) task_custom_attributes = TaskCustomAttributeSerializer(source="taskcustomattributes", @@ -374,6 +371,8 @@ class ProjectDetailSerializer(ProjectSerializer): serializer = ProjectRoleSerializer(obj.roles.all(), many=True) return serializer.data + def get_users(self, obj): + return UserSerializer(obj.members.all(), many=True).data class ProjectDetailAdminSerializer(ProjectDetailSerializer): class Meta: diff --git a/taiga/timeline/models.py b/taiga/timeline/models.py index 52882850..7558da15 100644 --- a/taiga/timeline/models.py +++ b/taiga/timeline/models.py @@ -37,8 +37,8 @@ class Timeline(models.Model): created = models.DateTimeField(default=timezone.now) def save(self, *args, **kwargs): - if self.id: - raise ValidationError("Not modify allowed for timeline entries") + #if self.id: + # raise ValidationError("Not modify allowed for timeline entries") return super().save(*args, **kwargs) class Meta: diff --git a/taiga/timeline/timeline_implementations.py b/taiga/timeline/timeline_implementations.py index 69f5f83f..ca8c7016 100644 --- a/taiga/timeline/timeline_implementations.py +++ b/taiga/timeline/timeline_implementations.py @@ -75,7 +75,11 @@ def task_timeline(instance, extra_data={}): result ={ "task": service.extract_task_info(instance), "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) return result