获取处理人bug
This commit is contained in:
parent
97bdde5888
commit
b0cf23834a
|
@ -118,12 +118,10 @@ class TicketListSerializer(CustomModelSerializer):
|
|||
model = Ticket
|
||||
fields = ['id', 'title', 'sn', 'workflow', 'workflow_', 'state', 'state_',
|
||||
'act_state', 'create_time', 'update_time', 'participant_type', 'create_by', 'ticket_data',
|
||||
'participant_', 'script_run_last_result']
|
||||
'participant_', 'script_run_last_result', 'participant']
|
||||
|
||||
def get_participant_(self, obj):
|
||||
if obj.participant_type == 1:
|
||||
return UserSimpleSerializer(instance=User.objects.get(id=obj.participant)).data
|
||||
elif obj.participant_type == 2:
|
||||
if obj.participant_type in [1, 2]:
|
||||
return UserSimpleSerializer(instance=User.objects.filter(id__in=obj.participant), many=True).data
|
||||
return None
|
||||
|
||||
|
@ -137,11 +135,17 @@ class TicketDetailSerializer(CustomModelSerializer):
|
|||
workflow_ = WorkflowSimpleSerializer(source='workflow', read_only=True)
|
||||
state_ = StateSimpleSerializer(source='state', read_only=True)
|
||||
ticket_data_ = serializers.SerializerMethodField()
|
||||
participant_ = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Ticket
|
||||
fields = '__all__'
|
||||
|
||||
def get_participant_(self, obj):
|
||||
if obj.participant_type in [1, 2]:
|
||||
return UserSimpleSerializer(instance=User.objects.filter(id__in=obj.participant), many=True).data
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def setup_eager_loading(queryset):
|
||||
queryset = queryset.select_related('workflow', 'state')
|
||||
|
@ -163,13 +167,17 @@ class TicketDetailSerializer(CustomModelSerializer):
|
|||
i['field_display'] = ','.join(list(User.objects.filter(
|
||||
id__in=i['field_value']).values_list('name', flat=True)))
|
||||
else:
|
||||
i['field_display'] = User.objects.get(id=i['field_value']).name
|
||||
f_obj = User.objects.filter(id=i['field_value']).first()
|
||||
if f_obj:
|
||||
i['field_display'] = f_obj.name
|
||||
elif 'deptSelect' in i['label']:
|
||||
if isinstance(i['field_value'], list):
|
||||
i['field_display'] = ','.join(list(Dept.objects.filter(
|
||||
id__in=i['field_value']).values_list('name', flat=True)))
|
||||
else:
|
||||
i['field_display'] = Dept.objects.get(id=i['field_value']).name
|
||||
f_obj = Dept.objects.filter(id=i['field_value']).first()
|
||||
if f_obj:
|
||||
i['field_display'] = f_obj.name
|
||||
elif i['field_type'] in ['radio', 'select']:
|
||||
for m in i['field_choice']:
|
||||
if m['id'] == i['field_value']:
|
||||
|
|
Loading…
Reference in New Issue