added AdminProductsViewSet for users with role SITE_ADMIN

This commit is contained in:
Sam
2021-03-08 12:54:06 +00:00
parent ec27937b85
commit 642688b98d
4 changed files with 190 additions and 7 deletions

View File

@@ -16,13 +16,13 @@ from rest_framework.filters import OrderingFilter
from django_filters.rest_framework import DjangoFilterBackend
import requests
from products.models import Product, CategoryTag
from products.serializers import ProductSerializer, TagFilterSerializer, SearchResultSerializer
from companies.models import Company
from history.models import HistorySync
from dal import autocomplete
from back_latienda.permissions import IsCreator
from products.models import Product, CategoryTag
from products.serializers import ProductSerializer, TagFilterSerializer, SearchResultSerializer
from companies.models import Company
from back_latienda.permissions import IsCreator, IsSiteAdmin
from .utils import extract_search_filters, find_related_products_v3, find_related_products_v6, product_loader
from utils.tag_serializers import TaggitSerializer
from utils.tag_filters import ProductTagFilter, ProductOrderFilter
@@ -53,6 +53,8 @@ class ProductViewSet(viewsets.ModelViewSet):
class MyProductsViewSet(viewsets.ModelViewSet):
""" Allows user to get all products where user is product creator
"""
model = Product
serializer_class = ProductSerializer
permission_classes = [IsAuthenticated]
@@ -64,6 +66,17 @@ class MyProductsViewSet(viewsets.ModelViewSet):
serializer.save(creator=self.request.user)
class AdminProductsViewSet(viewsets.ModelViewSet):
""" Allows user with role 'SITE_ADMIN' to access all product instances
"""
queryset = Product.objects.all()
serializer_class = ProductSerializer
permission_classes = [IsSiteAdmin]
def perform_create(self, serializer):
serializer.save(creator=self.request.user)
@api_view(['POST',])
@permission_classes([IsAuthenticated,])
def load_coop_products(request):