diff --git a/core/apps/evaluation/serializers/request/EvaluationRequest.py b/core/apps/evaluation/serializers/request/EvaluationRequest.py index 6d85fe7..dc3bfbf 100644 --- a/core/apps/evaluation/serializers/request/EvaluationRequest.py +++ b/core/apps/evaluation/serializers/request/EvaluationRequest.py @@ -1,11 +1,16 @@ import re +from django.contrib.auth import get_user_model + from rest_framework import serializers from core.apps.evaluation.models import EvaluationrequestModel, ReferenceitemModel from core.apps.evaluation.serializers.reference import ListReferenceitemSerializer +User = get_user_model() + + class BaseEvaluationrequestSerializer(serializers.ModelSerializer): rate_type_display = serializers.CharField( source="get_rate_type_display", read_only=True @@ -62,13 +67,14 @@ class BaseEvaluationrequestSerializer(serializers.ModelSerializer): return None def get_user(self, obj): + request = self.context.get('request') return { "id": obj.user.id, "phone": obj.user.phone, "first_name": obj.user.first_name, "last_name": obj.user.last_name, "role": obj.user.role, - "avatar": obj.user.avatar.url if obj.user.avatar else None + "avatar": request.build_absolute_uri(obj.user.avatar.url) if obj.user.avatar else None } @@ -109,6 +115,7 @@ class CreateEvaluationrequestSerializer(serializers.ModelSerializer): rate_goal = serializers.PrimaryKeyRelatedField(required=False, queryset=ReferenceitemModel.objects.all()) property_rights = serializers.PrimaryKeyRelatedField(required=False, queryset=ReferenceitemModel.objects.all()) form_ownership = serializers.PrimaryKeyRelatedField(required=False, queryset=ReferenceitemModel.objects.all()) + user = serializers.PrimaryKeyRelatedField(required=False, queryset=User.objects.all()) class Meta: model = EvaluationrequestModel @@ -127,6 +134,7 @@ class CreateEvaluationrequestSerializer(serializers.ModelSerializer): "need_delivering", "location", "locationName", + "user", ] def validate_tex_passport(self, value): @@ -176,5 +184,4 @@ class CreateEvaluationrequestSerializer(serializers.ModelSerializer): if location_name: validated_data["location_name"] = str(location_name) - validated_data["user"] = self.context["request"].user return super().create(validated_data) diff --git a/core/apps/evaluation/views/request.py b/core/apps/evaluation/views/request.py index acd4b76..3d9cb35 100644 --- a/core/apps/evaluation/views/request.py +++ b/core/apps/evaluation/views/request.py @@ -88,3 +88,6 @@ class AdminEvaluationrequestView(BaseViewSetMixin, ModelViewSet): def get_queryset(self): return EvaluationrequestModel.objects.select_related("value_determined", "rate_goal", "property_rights", "form_ownership", "user").order_by("-created_at") + + def serializer_context(self): + return self.serializer_class(context={"request": self.request})