Merge pull request 'feat: add new evaluation-request crud apis for admin' (#42) from behruz into main
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 1m55s
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 1m55s
Reviewed-on: #42
This commit is contained in:
@@ -23,6 +23,7 @@ class BaseEvaluationrequestSerializer(serializers.ModelSerializer):
|
|||||||
rate_goal = ListReferenceitemSerializer(read_only=True)
|
rate_goal = ListReferenceitemSerializer(read_only=True)
|
||||||
property_rights = ListReferenceitemSerializer(read_only=True)
|
property_rights = ListReferenceitemSerializer(read_only=True)
|
||||||
form_ownership = ListReferenceitemSerializer(read_only=True)
|
form_ownership = ListReferenceitemSerializer(read_only=True)
|
||||||
|
user = serializers.SerializerMethodField(method_name="get_user")
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = EvaluationrequestModel
|
model = EvaluationrequestModel
|
||||||
@@ -46,6 +47,7 @@ class BaseEvaluationrequestSerializer(serializers.ModelSerializer):
|
|||||||
"location_name",
|
"location_name",
|
||||||
"status",
|
"status",
|
||||||
"status_display",
|
"status_display",
|
||||||
|
"user",
|
||||||
"created_at",
|
"created_at",
|
||||||
"updated_at",
|
"updated_at",
|
||||||
]
|
]
|
||||||
@@ -59,6 +61,16 @@ class BaseEvaluationrequestSerializer(serializers.ModelSerializer):
|
|||||||
}
|
}
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def get_user(self, obj):
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class ListEvaluationrequestSerializer(BaseEvaluationrequestSerializer):
|
class ListEvaluationrequestSerializer(BaseEvaluationrequestSerializer):
|
||||||
class Meta(BaseEvaluationrequestSerializer.Meta):
|
class Meta(BaseEvaluationrequestSerializer.Meta):
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ from .views import (
|
|||||||
ValuationDocumentView,
|
ValuationDocumentView,
|
||||||
ValuationView,
|
ValuationView,
|
||||||
VehicleView,
|
VehicleView,
|
||||||
|
AdminEvaluationrequestView,
|
||||||
)
|
)
|
||||||
|
|
||||||
router = DefaultRouter()
|
router = DefaultRouter()
|
||||||
@@ -30,6 +31,7 @@ router.register("evaluation-purpose", EvaluationPurposeView, basename="evaluatio
|
|||||||
router.register("property-rights", PropertyRightsView, basename="property-rights")
|
router.register("property-rights", PropertyRightsView, basename="property-rights")
|
||||||
router.register("ownership-form", OwnershipFormView, basename="ownership-form")
|
router.register("ownership-form", OwnershipFormView, basename="ownership-form")
|
||||||
router.register("evaluation-request", EvaluationrequestView, basename="evaluation-request")
|
router.register("evaluation-request", EvaluationrequestView, basename="evaluation-request")
|
||||||
|
router.register("admin-evaluation-request", AdminEvaluationrequestView, basename="admin-evaluation-request")
|
||||||
router.register("reference-item", ReferenceitemView, basename="reference-item")
|
router.register("reference-item", ReferenceitemView, basename="reference-item")
|
||||||
router.register("valuation-document", ValuationDocumentView, basename="valuation-document")
|
router.register("valuation-document", ValuationDocumentView, basename="valuation-document")
|
||||||
router.register("evaluation-report", EvaluationReportView, basename="evaluation-report")
|
router.register("evaluation-report", EvaluationReportView, basename="evaluation-report")
|
||||||
|
|||||||
@@ -54,3 +54,37 @@ class EvaluationrequestView(BaseViewSetMixin, ModelViewSet):
|
|||||||
return EvaluationrequestModel.objects.filter(
|
return EvaluationrequestModel.objects.filter(
|
||||||
user=self.request.user
|
user=self.request.user
|
||||||
).order_by("-created_at")
|
).order_by("-created_at")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@extend_schema(tags=["EvaluationRequest"])
|
||||||
|
class AdminEvaluationrequestView(BaseViewSetMixin, ModelViewSet):
|
||||||
|
serializer_class = ListEvaluationrequestSerializer
|
||||||
|
permission_classes = [IsAuthenticated]
|
||||||
|
# pagination_class = RequestPagination
|
||||||
|
|
||||||
|
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
|
||||||
|
filterset_class = EvaluationrequestFilter
|
||||||
|
search_fields = [
|
||||||
|
"customer_inn_number",
|
||||||
|
"owner_inn_number",
|
||||||
|
"tex_passport",
|
||||||
|
]
|
||||||
|
ordering_fields = [
|
||||||
|
"created_at",
|
||||||
|
"updated_at",
|
||||||
|
"rate_type",
|
||||||
|
"object_type",
|
||||||
|
"status",
|
||||||
|
]
|
||||||
|
ordering = ["-created_at"]
|
||||||
|
|
||||||
|
action_permission_classes = {}
|
||||||
|
action_serializer_class = {
|
||||||
|
"list": ListEvaluationrequestSerializer,
|
||||||
|
"retrieve": RetrieveEvaluationrequestSerializer,
|
||||||
|
"create": CreateEvaluationrequestSerializer,
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
return EvaluationrequestModel.objects.select_related("value_determined", "rate_goal", "property_rights", "form_ownership", "user").order_by("-created_at")
|
||||||
|
|||||||
Reference in New Issue
Block a user