award back api

This commit is contained in:
alex 2019-11-20 16:38:11 +03:00
parent 7ba3913000
commit 824cbe203b
6 changed files with 57 additions and 8 deletions

View File

@ -1,7 +1,7 @@
from django.core.validators import EMPTY_VALUES from django.core.validators import EMPTY_VALUES
from django_filters import rest_framework as filters from django_filters import rest_framework as filters
from review import models from main import models
class AwardFilter(filters.FilterSet): class AwardFilter(filters.FilterSet):
@ -14,11 +14,14 @@ class AwardFilter(filters.FilterSet):
class Meta: class Meta:
"""Meta class.""" """Meta class."""
model = models.Review model = models.Award
fields = ( fields = (
'establishment_id', 'establishment_id',
'product_id', 'product_id',
'employee_id', 'employee_id',
'state',
'award_type',
'vintage_year',
) )
def by_establishment_id(self, queryset, name, value): def by_establishment_id(self, queryset, name, value):

View File

@ -38,7 +38,7 @@ class SiteFeatureSerializer(serializers.ModelSerializer):
'route', 'route',
'source', 'source',
'nested', 'nested',
) )
class CurrencySerializer(ProjectModelSerializer): class CurrencySerializer(ProjectModelSerializer):
@ -145,6 +145,22 @@ class AwardSerializer(AwardBaseSerializer):
fields = AwardBaseSerializer.Meta.fields + ['award_type', ] fields = AwardBaseSerializer.Meta.fields + ['award_type', ]
class BackAwardSerializer(serializers.ModelSerializer):
"""Award serializer."""
title_translated = serializers.CharField(read_only=True, allow_null=True)
class Meta:
model = models.Award
fields = [
'id',
'title_translated',
'vintage_year',
'award_type',
'state',
]
class CarouselListSerializer(serializers.ModelSerializer): class CarouselListSerializer(serializers.ModelSerializer):
"""Serializer for retrieving list of carousel items.""" """Serializer for retrieving list of carousel items."""
@ -202,4 +218,4 @@ class PageTypeBaseSerializer(serializers.ModelSerializer):
fields = [ fields = [
'id', 'id',
'name', 'name',
] ]

11
apps/main/urls/back.py Normal file
View File

@ -0,0 +1,11 @@
"""Back main URLs"""
from django.urls import path
from main.views import back as views
app_name = 'main'
urlpatterns = [
path('awards/', views.AwardLstView.as_view(), name='awards-list-create'),
path('awards/<int:pk>/', views.AwardRUDView.as_view(), name='awards-rud'),
]

21
apps/main/views/back.py Normal file
View File

@ -0,0 +1,21 @@
from rest_framework import generics, permissions
from main import serializers
from main.filters import AwardFilter
from main.models import Award
class AwardLstView(generics.ListCreateAPIView):
"""Award list create view."""
queryset = Award.objects.all()
serializer_class = serializers.BackAwardSerializer
permission_classes = (permissions.IsAdminUser,)
filterset_class = AwardFilter
class AwardRUDView(generics.RetrieveUpdateDestroyAPIView):
"""Award RUD view."""
queryset = Award.objects.all()
serializer_class = serializers.BackAwardSerializer
permission_classes = (permissions.IsAdminUser,)
lookup_field = 'id'

View File

@ -1,9 +1,8 @@
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import generics, permissions from rest_framework import generics, permissions
from review import filters
from review import models from review import models
from review import serializers from review import serializers
from review import filters
from utils.permissions import IsReviewerManager, IsRestaurantReviewer from utils.permissions import IsReviewerManager, IsRestaurantReviewer
@ -12,7 +11,6 @@ class ReviewLstView(generics.ListCreateAPIView):
serializer_class = serializers.ReviewBaseSerializer serializer_class = serializers.ReviewBaseSerializer
queryset = models.Review.objects.all() queryset = models.Review.objects.all()
permission_classes = [permissions.IsAuthenticatedOrReadOnly, ] permission_classes = [permissions.IsAuthenticatedOrReadOnly, ]
filter_backends = (DjangoFilterBackend,)
filterset_class = filters.ReviewFilter filterset_class = filters.ReviewFilter

View File

@ -15,5 +15,5 @@ urlpatterns = [
path('products/', include(('product.urls.back', 'product'), namespace='product')), path('products/', include(('product.urls.back', 'product'), namespace='product')),
path('re_blocks/', include(('advertisement.urls.back', 'advertisement'), path('re_blocks/', include(('advertisement.urls.back', 'advertisement'),
namespace='advertisement')), namespace='advertisement')),
path('main/', include('main.urls.back')),
] ]