Fixes: FeedbackViewSet

This commit is contained in:
Egor Pavlovich Gorbunov 2025-06-08 21:21:13 +03:00
parent 22b3b91c2f
commit 966111f0b7
2 changed files with 10 additions and 3 deletions

View file

@ -349,7 +349,8 @@ class BrandFilter(FilterSet):
class FeedbackFilter(FilterSet): class FeedbackFilter(FilterSet):
uuid = UUIDFilter(field_name="uuid", lookup_expr="exact") 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( order_by = OrderingFilter(
fields=( fields=(

View file

@ -32,7 +32,7 @@ from core.docs.drf.viewsets import (
PRODUCT_SCHEMA, PRODUCT_SCHEMA,
WISHLIST_SCHEMA, WISHLIST_SCHEMA,
) )
from core.filters import BrandFilter, CategoryFilter, OrderFilter, ProductFilter from core.filters import BrandFilter, CategoryFilter, FeedbackFilter, OrderFilter, ProductFilter
from core.models import ( from core.models import (
Address, Address,
Attribute, Attribute,
@ -252,12 +252,18 @@ class VendorViewSet(EvibesViewSet):
class FeedbackViewSet(EvibesViewSet): class FeedbackViewSet(EvibesViewSet):
queryset = Feedback.objects.all() queryset = Feedback.objects.all()
filter_backends = [DjangoFilterBackend] filter_backends = [DjangoFilterBackend]
filterset_fields = ["order_product", "rating", "is_active"] filterset_class = FeedbackFilter
serializer_class = FeedbackDetailSerializer serializer_class = FeedbackDetailSerializer
action_serializer_classes = { action_serializer_classes = {
"list": FeedbackSimpleSerializer, "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) @extend_schema_view(**ORDER_SCHEMA)
class OrderViewSet(EvibesViewSet): class OrderViewSet(EvibesViewSet):