diff --git a/requirements.txt b/requirements.txt index f569fd22..0098b044 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 638a3329..48791495 100644 --- a/taiga/projects/serializers.py +++ b/taiga/projects/serializers.py @@ -305,6 +305,7 @@ 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: @@ -327,6 +328,9 @@ 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() @@ -351,7 +355,6 @@ 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", @@ -371,8 +374,6 @@ 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 7558da15..52882850 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 ca8c7016..69f5f83f 100644 --- a/taiga/timeline/timeline_implementations.py +++ b/taiga/timeline/timeline_implementations.py @@ -75,11 +75,7 @@ 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