fix(api): include approver avatars in procurement approvals
This commit is contained in:
parent
4611f8c2e6
commit
4ad946da8b
@ -17,6 +17,7 @@ from procurement.models import (
|
||||
ProcurementRequest,
|
||||
Supplier,
|
||||
)
|
||||
from ..employees.serializers import EmployeeBriefSerializer
|
||||
|
||||
|
||||
class ProcurementItemSerializer(serializers.ModelSerializer):
|
||||
@ -62,6 +63,7 @@ class ProcurementItemCreateSerializer(serializers.ModelSerializer):
|
||||
class ApprovalSerializer(serializers.ModelSerializer):
|
||||
"""Сериализатор для согласований."""
|
||||
|
||||
approver = EmployeeBriefSerializer(read_only=True)
|
||||
approver_name = serializers.CharField(
|
||||
source="approver.get_full_name", read_only=True
|
||||
)
|
||||
|
||||
@ -56,7 +56,7 @@ class ProcurementRequestViewSet(viewsets.ModelViewSet):
|
||||
|
||||
queryset = ProcurementRequest.objects.select_related(
|
||||
"department", "requestor", "executor"
|
||||
).prefetch_related("items", "approvals")
|
||||
).prefetch_related("items", "approvals__approver")
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.SearchFilter,
|
||||
|
||||
@ -993,6 +993,8 @@ class TestProcurementRequestWorkflow:
|
||||
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
approvals = sorted(response.data['approvals'], key=lambda item: item['priority'])
|
||||
assert isinstance(approvals[0]["approver"], dict)
|
||||
assert "avatar" in approvals[0]["approver"]
|
||||
assert approvals[1]['step_name'] == 'Финансовый контроль'
|
||||
assert approvals[1]['step_label'] == 'Финансовый контроль'
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user