enabled per-company products filtering
This commit is contained in:
@@ -15,7 +15,9 @@ from rest_framework import viewsets
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.permissions import IsAuthenticatedOrReadOnly, IsAdminUser, IsAuthenticated
|
||||
from rest_framework.decorators import api_view, permission_classes, action
|
||||
from rest_framework.filters import OrderingFilter
|
||||
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
import requests
|
||||
|
||||
from products.models import Product
|
||||
@@ -38,11 +40,21 @@ logging.basicConfig(
|
||||
|
||||
|
||||
class ProductViewSet(viewsets.ModelViewSet):
|
||||
queryset = Product.objects.all()
|
||||
# queryset = Product.objects.all()
|
||||
serializer_class = ProductSerializer
|
||||
permission_classes = [IsAuthenticatedOrReadOnly, IsCreator]
|
||||
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
||||
filterset_class = ProductTagFilter
|
||||
filterset_fields = ['name', 'tags', 'category', 'attributes', 'company', 'created']
|
||||
# TODO: figure out why cant use filterset for company filter
|
||||
def get_queryset(self):
|
||||
try:
|
||||
company_id = self.request.GET.get('company')
|
||||
company_id = int(company_id)
|
||||
queryset = Product.objects.filter(company__id=company_id)
|
||||
except:
|
||||
queryset = Product.objects.all()
|
||||
return queryset
|
||||
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(creator=self.request.user)
|
||||
|
||||
Reference in New Issue
Block a user