From 966111f0b75e84a0ce4ba4568640fda02eb45172 Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Sun, 8 Jun 2025 21:21:13 +0300 Subject: [PATCH] Fixes: FeedbackViewSet --- core/filters.py | 3 ++- core/viewsets.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/filters.py b/core/filters.py index 776d5537..b3260ca5 100644 --- a/core/filters.py +++ b/core/filters.py @@ -349,7 +349,8 @@ class BrandFilter(FilterSet): class FeedbackFilter(FilterSet): uuid = UUIDFilter(field_name="uuid", lookup_expr="exact") - product = UUIDFilter(field_name="order_product__product__uuid", lookup_expr="exact") + product_uuid = UUIDFilter(field_name="order_product__product__uuid", lookup_expr="exact") + user_uuid = UUIDFilter(field_name="order_product__order__user__uuid", lookup_expr="exact") order_by = OrderingFilter( fields=( diff --git a/core/viewsets.py b/core/viewsets.py index 264999c7..2ae85311 100644 --- a/core/viewsets.py +++ b/core/viewsets.py @@ -32,7 +32,7 @@ from core.docs.drf.viewsets import ( PRODUCT_SCHEMA, WISHLIST_SCHEMA, ) -from core.filters import BrandFilter, CategoryFilter, OrderFilter, ProductFilter +from core.filters import BrandFilter, CategoryFilter, FeedbackFilter, OrderFilter, ProductFilter from core.models import ( Address, Attribute, @@ -252,12 +252,18 @@ class VendorViewSet(EvibesViewSet): class FeedbackViewSet(EvibesViewSet): queryset = Feedback.objects.all() filter_backends = [DjangoFilterBackend] - filterset_fields = ["order_product", "rating", "is_active"] + filterset_class = FeedbackFilter serializer_class = FeedbackDetailSerializer action_serializer_classes = { "list": FeedbackSimpleSerializer, } + def get_queryset(self): + qs = super().get_queryset() + if self.request.user.has_perm("core.view_feedback"): + return qs + return qs.filter(is_active=True) + @extend_schema_view(**ORDER_SCHEMA) class OrderViewSet(EvibesViewSet):