diff --git a/apps/system/serializers.py b/apps/system/serializers.py index 618c84dc..2eebdd5f 100755 --- a/apps/system/serializers.py +++ b/apps/system/serializers.py @@ -280,6 +280,13 @@ class UserSimpleSerializer(CustomModelSerializer): fields = ['id', 'username', 'name', 'phone'] +class UserSignatureSerializer(CustomModelSerializer): + signature = serializers.CharField(source='employee.signature', read_only=True) + class Meta: + model = User + fields = ['id', 'username', 'name', 'phone', 'signature'] + + class UserListSerializer(CustomModelSerializer): """ 用户列表序列化 diff --git a/apps/wf/serializers.py b/apps/wf/serializers.py index 580c4942..eba05476 100755 --- a/apps/wf/serializers.py +++ b/apps/wf/serializers.py @@ -1,5 +1,5 @@ from apps.system.models import Dept, User -from apps.system.serializers import UserSimpleSerializer +from apps.system.serializers import UserSignatureSerializer, UserSimpleSerializer from rest_framework import serializers from apps.utils.serializers import CustomModelSerializer @@ -208,7 +208,7 @@ class TicketDetailSerializer(CustomModelSerializer): class TicketFlowSerializer(CustomModelSerializer): - participant_ = UserSimpleSerializer(source='participant', read_only=True) + participant_ = UserSignatureSerializer(source='participant', read_only=True) state_ = StateSimpleSerializer(source='state', read_only=True) transition_ = TransitionSimpleSerializer(source='transition', read_only=True) transition_attribute = serializers.CharField(source='transition.attribute_type', read_only=True) @@ -219,7 +219,7 @@ class TicketFlowSerializer(CustomModelSerializer): class TicketFlowSimpleSerializer(CustomModelSerializer): - participant_ = UserSimpleSerializer(source='participant', read_only=True) + participant_ = UserSignatureSerializer(source='participant', read_only=True) state_ = StateSimpleSerializer(source='state', read_only=True) transition_ = TransitionSimpleSerializer(source='transition', read_only=True) transition_attribute = serializers.CharField(source='transition.attribute_type', read_only=True) diff --git a/apps/wf/views.py b/apps/wf/views.py index fdbe55b3..4263c3ef 100755 --- a/apps/wf/views.py +++ b/apps/wf/views.py @@ -12,7 +12,7 @@ from apps.wf.serializers import CustomFieldCreateUpdateSerializer, CustomFieldSe TicketCreateSerializer, TicketDeliverSerializer, TicketDestorySerializer, TicketFlowSerializer, \ TicketHandleSerializer, TicketRetreatSerializer, \ TicketSerializer, TransitionSerializer, WorkflowSerializer, \ - TicketListSerializer, TicketDetailSerializer, WorkflowCloneSerializer, TicketStateUpateSerializer + TicketListSerializer, TicketDetailSerializer, WorkflowCloneSerializer, TicketStateUpateSerializer, TicketFlowSimpleSerializer from rest_framework.viewsets import GenericViewSet, ModelViewSet from rest_framework.decorators import action from apps.wf.models import CustomField, Ticket, Workflow, State, Transition, TicketFlow @@ -356,7 +356,7 @@ class TicketViewSet(CreateUpdateCustomMixin, CreateModelMixin, ListModelMixin, R """ ticket = self.get_object() flowlogs = TicketFlow.objects.filter(ticket=ticket).order_by('-create_time') - serializer = TicketFlowSerializer(instance=flowlogs.select_related('participant', 'state', 'transition'), many=True) + serializer = TicketFlowSimpleSerializer(instance=flowlogs.select_related('participant', 'state', 'transition', 'participant__employee'), many=True) return Response(serializer.data) @action(methods=['get'], detail=True, perms_map={'get': '*'}) @@ -526,6 +526,7 @@ class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, CustomGenericViewSet """ perms_map = {'get': '*'} queryset = TicketFlow.objects.all() + list_serializer_class = TicketFlowSimpleSerializer serializer_class = TicketFlowSerializer search_fields = ['suggestion'] select_related_fields = ['participant', 'state', 'transition']