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):
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=(

View file

@ -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):