Merge pull request #420 from taigaio/remove-descriptions-from-listin-API
Removing descriptions from list APIremotes/origin/enhancement/email-actions
commit
2681c7dcd5
|
@ -79,6 +79,9 @@ class IssueViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin,
|
|||
if self.action in ["retrieve", "by_ref"]:
|
||||
return serializers.IssueNeighborsSerializer
|
||||
|
||||
if self.action == "list":
|
||||
return serializers.IssueListSerializer
|
||||
|
||||
return serializers.IssueSerializer
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
|
|
|
@ -64,6 +64,13 @@ class IssueSerializer(WatchersValidator, serializers.ModelSerializer):
|
|||
return getattr(obj, "votes_count", 0)
|
||||
|
||||
|
||||
class IssueListSerializer(IssueSerializer):
|
||||
class Meta:
|
||||
model = models.Issue
|
||||
read_only_fields = ('id', 'ref', 'created_date', 'modified_date')
|
||||
exclude=("description", "description_html")
|
||||
|
||||
|
||||
class IssueNeighborsSerializer(NeighborsSerializerMixin, IssueSerializer):
|
||||
def serialize_neighbor(self, neighbor):
|
||||
return NeighborIssueSerializer(neighbor).data
|
||||
|
|
|
@ -46,6 +46,9 @@ class TaskViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin,
|
|||
if self.action in ["retrieve", "by_ref"]:
|
||||
return serializers.TaskNeighborsSerializer
|
||||
|
||||
if self.action == "list":
|
||||
return serializers.TaskListSerializer
|
||||
|
||||
return serializers.TaskSerializer
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
|
|
|
@ -67,6 +67,13 @@ class TaskSerializer(WatchersValidator, serializers.ModelSerializer):
|
|||
return obj.status.is_closed
|
||||
|
||||
|
||||
class TaskListSerializer(TaskSerializer):
|
||||
class Meta:
|
||||
model = models.Task
|
||||
read_only_fields = ('id', 'ref', 'created_date', 'modified_date')
|
||||
exclude=("description", "description_html")
|
||||
|
||||
|
||||
class TaskNeighborsSerializer(NeighborsSerializerMixin, TaskSerializer):
|
||||
def serialize_neighbor(self, neighbor):
|
||||
return NeighborTaskSerializer(neighbor).data
|
||||
|
|
|
@ -76,6 +76,9 @@ class UserStoryViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMi
|
|||
if self.action in ["retrieve", "by_ref"]:
|
||||
return serializers.UserStoryNeighborsSerializer
|
||||
|
||||
if self.action == "list":
|
||||
return serializers.UserStoryListSerializer
|
||||
|
||||
return serializers.UserStorySerializer
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
|
|
|
@ -97,6 +97,14 @@ class UserStorySerializer(WatchersValidator, serializers.ModelSerializer):
|
|||
return mdrender(obj.project, obj.description)
|
||||
|
||||
|
||||
class UserStoryListSerializer(UserStorySerializer):
|
||||
class Meta:
|
||||
model = models.UserStory
|
||||
depth = 0
|
||||
read_only_fields = ('created_date', 'modified_date')
|
||||
exclude=("description", "description_html")
|
||||
|
||||
|
||||
class UserStoryNeighborsSerializer(NeighborsSerializerMixin, UserStorySerializer):
|
||||
def serialize_neighbor(self, neighbor):
|
||||
return NeighborUserStorySerializer(neighbor).data
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from taiga.projects.history import services as history_services
|
||||
from taiga.projects.models import Project
|
||||
|
@ -79,7 +80,16 @@ def _push_to_timelines(project, user, obj, event_type, created_datetime, extra_d
|
|||
extra_data=extra_data)
|
||||
|
||||
|
||||
def _clean_description_fields(values_diff):
|
||||
# Description_diff and description_html if included can be huge, we are
|
||||
# removing the html one and clearing the diff
|
||||
values_diff.pop("description_html", None)
|
||||
if "description_diff" in values_diff:
|
||||
values_diff["description_diff"] = _("Check the history API for the exact diff")
|
||||
|
||||
|
||||
def on_new_history_entry(sender, instance, created, **kwargs):
|
||||
|
||||
if instance._importing:
|
||||
return
|
||||
|
||||
|
@ -99,9 +109,11 @@ def on_new_history_entry(sender, instance, created, **kwargs):
|
|||
event_type = "delete"
|
||||
|
||||
user = User.objects.get(id=instance.user["pk"])
|
||||
values_diff = instance.values_diff
|
||||
_clean_description_fields(values_diff)
|
||||
|
||||
extra_data = {
|
||||
"values_diff": instance.values_diff,
|
||||
"values_diff": values_diff,
|
||||
"user": extract_user_info(user),
|
||||
"comment": instance.comment,
|
||||
"comment_html": instance.comment_html,
|
||||
|
|
Loading…
Reference in New Issue