finished endpoint to get tags by establishment type and subtype
This commit is contained in:
parent
f83b735eb3
commit
ddb3eec679
|
|
@ -82,10 +82,15 @@ class MenuAdmin(admin.ModelAdmin):
|
||||||
|
|
||||||
|
|
||||||
@admin.register(models.EstablishmentTypeTagCategory)
|
@admin.register(models.EstablishmentTypeTagCategory)
|
||||||
class EstablishmentTypeTagCategory(admin.ModelAdmin):
|
class EstablishmentTypeTagCategoryAdmin(admin.ModelAdmin):
|
||||||
|
"""EstablishmentTypeTagCategory admin."""
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(models.EstablishmentSubTypeTagCategory)
|
||||||
|
class EstablishmentSubTypeTagCategoryAdmin(admin.ModelAdmin):
|
||||||
"""EstablishmentTypeTagCategory admin."""
|
"""EstablishmentTypeTagCategory admin."""
|
||||||
|
|
||||||
|
|
||||||
@admin.register(models.EstablishmentTag)
|
@admin.register(models.EstablishmentTag)
|
||||||
class EstablishmentTag(admin.ModelAdmin):
|
class EstablishmentTagAdmin(admin.ModelAdmin):
|
||||||
"""EstablishmentTag admin."""
|
"""EstablishmentTag admin."""
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-10-11 10:47
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('tag', '0002_auto_20191009_1408'),
|
||||||
|
('establishment', '0034_merge_20191009_1457'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='EstablishmentSubTypeTagCategory',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('establishment_subtype', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tag_categories', to='establishment.EstablishmentSubType', verbose_name='establishment subtype')),
|
||||||
|
('tag_category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='est_subtype_tag_categories', to='tag.TagCategory', verbose_name='tag category')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'establishment subtype tag categories',
|
||||||
|
'verbose_name_plural': 'establishment subtype tag categories',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -589,7 +589,6 @@ class EstablishmentTypeTagCategoryQuerySet(models.QuerySet):
|
||||||
|
|
||||||
def with_base_related(self):
|
def with_base_related(self):
|
||||||
"""Return with related relations."""
|
"""Return with related relations."""
|
||||||
# return self.select_related('tags', 'establishment_type')
|
|
||||||
return self.select_related('establishment_type', 'tag_category')
|
return self.select_related('establishment_type', 'tag_category')
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -610,22 +609,26 @@ class EstablishmentTypeTagCategory(models.Model):
|
||||||
verbose_name_plural = _('establishment type tag categories')
|
verbose_name_plural = _('establishment type tag categories')
|
||||||
|
|
||||||
|
|
||||||
# class EstablishmentSubTypeTagCategoryQuerySet(models.QuerySet):
|
class EstablishmentSubTypeTagCategoryQuerySet(models.QuerySet):
|
||||||
# """QuerySet for tag categories based on establishment subtype."""
|
"""QuerySet for tag categories based on establishment subtype."""
|
||||||
#
|
|
||||||
#
|
def with_base_related(self):
|
||||||
# class EstablishmentSubTypeTagCategory(models.Model):
|
"""Return queryset with base related."""
|
||||||
# """Tag categories based on establishment subtype."""
|
return self.select_related('establishment_subtype', 'tag_category')
|
||||||
# establishment_subtype = models.ForeignKey(EstablishmentSubType,
|
|
||||||
# on_delete=models.CASCADE,
|
|
||||||
# related_name='tag_categories',
|
class EstablishmentSubTypeTagCategory(models.Model):
|
||||||
# verbose_name=_('establishment subtype'))
|
"""Tag categories based on establishment subtype."""
|
||||||
# tag_category = models.ForeignKey('tag.TagCategory',
|
establishment_subtype = models.ForeignKey(EstablishmentSubType,
|
||||||
# on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
# related_name='est_subtype_tag_categories',
|
related_name='tag_categories',
|
||||||
# verbose_name=_('tag category'))
|
verbose_name=_('establishment subtype'))
|
||||||
# objects = EstablishmentSubTypeTagCategoryQuerySet.as_manager()
|
tag_category = models.ForeignKey('tag.TagCategory',
|
||||||
#
|
on_delete=models.CASCADE,
|
||||||
# class Meta:
|
related_name='est_subtype_tag_categories',
|
||||||
# verbose_name = _('establishment subtype tag categories')
|
verbose_name=_('tag category'))
|
||||||
# verbose_name_plural = _('establishment subtype tag categories')
|
objects = EstablishmentSubTypeTagCategoryQuerySet.as_manager()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = _('establishment subtype tag categories')
|
||||||
|
verbose_name_plural = _('establishment subtype tag categories')
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from establishment import models
|
||||||
from establishment.serializers import (
|
from establishment.serializers import (
|
||||||
EstablishmentBaseSerializer, PlateSerializer, ContactEmailsSerializer,
|
EstablishmentBaseSerializer, PlateSerializer, ContactEmailsSerializer,
|
||||||
ContactPhonesSerializer, SocialNetworkRelatedSerializers,
|
ContactPhonesSerializer, SocialNetworkRelatedSerializers,
|
||||||
EstablishmentTypeSerializer)
|
EstablishmentTypeBaseSerializer)
|
||||||
from main.models import Currency
|
from main.models import Currency
|
||||||
from utils.decorators import with_base_attributes
|
from utils.decorators import with_base_attributes
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
|
||||||
emails = ContactEmailsSerializer(read_only=True, many=True, )
|
emails = ContactEmailsSerializer(read_only=True, many=True, )
|
||||||
socials = SocialNetworkRelatedSerializers(read_only=True, many=True, )
|
socials = SocialNetworkRelatedSerializers(read_only=True, many=True, )
|
||||||
slug = serializers.SlugField(required=True, allow_blank=False, max_length=50)
|
slug = serializers.SlugField(required=True, allow_blank=False, max_length=50)
|
||||||
type = EstablishmentTypeSerializer(source='establishment_type', read_only=True)
|
type = EstablishmentTypeBaseSerializer(source='establishment_type', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Establishment
|
model = models.Establishment
|
||||||
|
|
@ -54,7 +54,7 @@ class EstablishmentRUDSerializer(EstablishmentBaseSerializer):
|
||||||
phones = ContactPhonesSerializer(read_only=False, many=True, )
|
phones = ContactPhonesSerializer(read_only=False, many=True, )
|
||||||
emails = ContactEmailsSerializer(read_only=False, many=True, )
|
emails = ContactEmailsSerializer(read_only=False, many=True, )
|
||||||
socials = SocialNetworkRelatedSerializers(read_only=False, many=True, )
|
socials = SocialNetworkRelatedSerializers(read_only=False, many=True, )
|
||||||
type = EstablishmentTypeSerializer(source='establishment_type')
|
type = EstablishmentTypeBaseSerializer(source='establishment_type')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Establishment
|
model = models.Establishment
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,57 @@ class MenuRUDSerializers(ProjectModelSerializer):
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class ReviewSerializer(serializers.ModelSerializer):
|
||||||
|
"""Serializer for model Review."""
|
||||||
|
text_translated = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
"""Meta class."""
|
||||||
|
model = review_models.Review
|
||||||
|
fields = (
|
||||||
|
'text_translated',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentTypeBaseSerializer(serializers.ModelSerializer):
|
||||||
|
"""Serializer for EstablishmentType model."""
|
||||||
|
name_translated = TranslatedField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
"""Meta class."""
|
||||||
|
model = models.EstablishmentType
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'name_translated',
|
||||||
|
'use_subtypes'
|
||||||
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'name': {'write_only': True},
|
||||||
|
'use_subtypes': {'write_only': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentSubTypeBaseSerializer(serializers.ModelSerializer):
|
||||||
|
"""Serializer for EstablishmentSubType models."""
|
||||||
|
|
||||||
|
name_translated = TranslatedField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
"""Meta class."""
|
||||||
|
model = models.EstablishmentSubType
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'name_translated',
|
||||||
|
'establishment_type'
|
||||||
|
]
|
||||||
|
extra_kwargs = {
|
||||||
|
'name': {'write_only': True},
|
||||||
|
'establishment_type': {'write_only': True}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTypeTagCategoryBaseSerializer(serializers.ModelSerializer):
|
class EstablishmentTypeTagCategoryBaseSerializer(serializers.ModelSerializer):
|
||||||
"""Serializer for intermediate model EstablishmentTypeTagCategories."""
|
"""Serializer for intermediate model EstablishmentTypeTagCategories."""
|
||||||
id = serializers.IntegerField(source='tag_category.id', read_only=True)
|
id = serializers.IntegerField(source='tag_category.id', read_only=True)
|
||||||
|
|
@ -119,71 +170,62 @@ class EstablishmentTypeTagCategoryBaseSerializer(serializers.ModelSerializer):
|
||||||
return attrs
|
return attrs
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTypeSerializer(serializers.ModelSerializer):
|
class EstablishmentSubTypeTagCategoryBaseSerializer(serializers.ModelSerializer):
|
||||||
"""Serializer for EstablishmentType model."""
|
"""Serializer for intermediate model EstablishmentSubTypeTagCategories."""
|
||||||
|
id = serializers.IntegerField(source='tag_category.id', read_only=True)
|
||||||
name_translated = TranslatedField()
|
label_translated = TranslatedField(source='tag_category.label_translated')
|
||||||
|
tags = TagBaseSerializer(source='tag_category.tags', many=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
model = models.EstablishmentSubTypeTagCategory
|
||||||
model = models.EstablishmentType
|
fields = [
|
||||||
fields = ('id', 'name', 'name_translated')
|
'id',
|
||||||
|
'label_translated',
|
||||||
|
'tags',
|
||||||
|
'establishment_subtype',
|
||||||
|
'tag_category',
|
||||||
|
]
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
'name': {'write_only': True}
|
'establishment_subtype': {'write_only': True},
|
||||||
|
'tag_category': {'write_only': True},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def validate(self, attrs):
|
||||||
|
"""Override validate method."""
|
||||||
|
if models.EstablishmentTypeTagCategory.objects.filter(
|
||||||
|
establishment_type=attrs.get('establishment_type'),
|
||||||
|
tag_category=attrs.get('tag_category')).exists():
|
||||||
|
raise serializers.ValidationError(detail={'detail': _('Objects is already attached.')})
|
||||||
|
return attrs
|
||||||
|
|
||||||
class EstablishmentSubTypeSerializer(serializers.ModelSerializer):
|
|
||||||
"""Serializer for EstablishmentSubType models."""
|
|
||||||
|
|
||||||
name_translated = TranslatedField()
|
class EstablishmentSubTypeSerializer(EstablishmentSubTypeBaseSerializer):
|
||||||
|
"""Extended serializer for EstablishmentSubType model with tags."""
|
||||||
|
tag_categories = EstablishmentSubTypeTagCategoryBaseSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta(EstablishmentSubTypeBaseSerializer.Meta):
|
||||||
|
"""Meta class"""
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'name_translated',
|
||||||
|
'tag_categories'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class EstablishmentTagsByType(EstablishmentTypeBaseSerializer):
|
||||||
|
"""Tags by establishment type"""
|
||||||
|
tag_categories = EstablishmentTypeTagCategoryBaseSerializer(many=True)
|
||||||
|
subtypes = EstablishmentSubTypeSerializer(many=True, source='establishmentsubtype_set')
|
||||||
|
|
||||||
|
class Meta(EstablishmentTypeBaseSerializer.Meta):
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
fields = [
|
||||||
model = models.EstablishmentSubType
|
'id',
|
||||||
fields = ('id', 'name', 'name_translated', 'establishment_type')
|
'name_translated',
|
||||||
extra_kwargs = {
|
'tag_categories',
|
||||||
'name': {'write_only': True},
|
'subtypes',
|
||||||
'establishment_type': {'write_only': True}
|
]
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# class EstablishmentSubTypeTagCategoryBaseSerializer(serializers.ModelSerializer):
|
|
||||||
# """Serializer for intermediate model EstablishmentSubTypeTagCategories."""
|
|
||||||
#
|
|
||||||
# class Meta:
|
|
||||||
# """Meta class."""
|
|
||||||
# model = models.EstablishmentSubTypeTagCategory
|
|
||||||
# fields = [
|
|
||||||
# 'establishment_subtype',
|
|
||||||
# 'tag_category',
|
|
||||||
# ]
|
|
||||||
# extra_kwargs = {
|
|
||||||
# 'establishment_subtype': {'write_only': True},
|
|
||||||
# 'tag_category': {'write_only': True},
|
|
||||||
# }
|
|
||||||
#
|
|
||||||
# def validate(self, attrs):
|
|
||||||
# """Override validate method."""
|
|
||||||
# if models.EstablishmentSubTypeTagCategory.objects.filter(
|
|
||||||
# establishment_type=attrs.get('establishment_subtype'),
|
|
||||||
# tag_category=attrs.get('tag_category')).exists():
|
|
||||||
# raise serializers.ValidationError(detail={'detail': _('Objects is already attached.')})
|
|
||||||
# return attrs
|
|
||||||
|
|
||||||
|
|
||||||
class ReviewSerializer(serializers.ModelSerializer):
|
|
||||||
"""Serializer for model Review."""
|
|
||||||
text_translated = serializers.CharField(read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
"""Meta class."""
|
|
||||||
model = review_models.Review
|
|
||||||
fields = (
|
|
||||||
'text_translated',
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentEmployeeSerializer(serializers.ModelSerializer):
|
class EstablishmentEmployeeSerializer(serializers.ModelSerializer):
|
||||||
|
|
@ -202,19 +244,6 @@ class EstablishmentEmployeeSerializer(serializers.ModelSerializer):
|
||||||
fields = ('id', 'name', 'position_translated', 'awards', 'priority')
|
fields = ('id', 'name', 'position_translated', 'awards', 'priority')
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentCategoryTagListSerializer(serializers.ModelSerializer):
|
|
||||||
"""Serializer for establishment category tags."""
|
|
||||||
label_translated = TranslatedField()
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
"""Meta class."""
|
|
||||||
model = tag_models.TagCategory
|
|
||||||
fields = [
|
|
||||||
'id',
|
|
||||||
'label_translated',
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTagSerializer(serializers.ModelSerializer):
|
class EstablishmentTagSerializer(serializers.ModelSerializer):
|
||||||
"""Serializer for intermediate model EstablishmentTag."""
|
"""Serializer for intermediate model EstablishmentTag."""
|
||||||
id = serializers.IntegerField(source='tag.id')
|
id = serializers.IntegerField(source='tag.id')
|
||||||
|
|
@ -262,8 +291,8 @@ class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
||||||
|
|
||||||
description_translated = TranslatedField()
|
description_translated = TranslatedField()
|
||||||
image = serializers.URLField(source='image_url')
|
image = serializers.URLField(source='image_url')
|
||||||
type = EstablishmentTypeSerializer(source='establishment_type', read_only=True)
|
type = EstablishmentTypeBaseSerializer(source='establishment_type', read_only=True)
|
||||||
subtypes = EstablishmentSubTypeSerializer(many=True, source='establishment_subtypes')
|
subtypes = EstablishmentSubTypeBaseSerializer(many=True, source='establishment_subtypes')
|
||||||
awards = AwardSerializer(many=True)
|
awards = AwardSerializer(many=True)
|
||||||
schedule = ScheduleRUDSerializer(many=True, allow_null=True)
|
schedule = ScheduleRUDSerializer(many=True, allow_null=True)
|
||||||
phones = ContactPhonesSerializer(read_only=True, many=True)
|
phones = ContactPhonesSerializer(read_only=True, many=True)
|
||||||
|
|
@ -396,3 +425,4 @@ class EstablishmentFavoritesCreateSerializer(serializers.ModelSerializer):
|
||||||
'content_object': validated_data.pop('establishment')
|
'content_object': validated_data.pop('establishment')
|
||||||
})
|
})
|
||||||
return super().create(validated_data)
|
return super().create(validated_data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ urlpatterns = [
|
||||||
name='schedule-rud'),
|
name='schedule-rud'),
|
||||||
path('<int:pk>/schedule/', views.EstablishmentScheduleCreateView.as_view(),
|
path('<int:pk>/schedule/', views.EstablishmentScheduleCreateView.as_view(),
|
||||||
name='schedule-create'),
|
name='schedule-create'),
|
||||||
path('<int:pk>/tags/categories/', views.EstablishmentTagCategoryListView.as_view(),
|
path('<int:pk>/tags/', views.EstablishmentTagCategoryListView.as_view(),
|
||||||
name='tag-category-list'),
|
name='tag-category-list'),
|
||||||
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
||||||
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
||||||
|
|
@ -34,6 +34,6 @@ urlpatterns = [
|
||||||
name='type-attach-tag-category'),
|
name='type-attach-tag-category'),
|
||||||
path('subtypes/', views.EstablishmentSubtypeListCreateView.as_view(), name='subtype-list'),
|
path('subtypes/', views.EstablishmentSubtypeListCreateView.as_view(), name='subtype-list'),
|
||||||
path('subtypes/<int:pk>/', views.EstablishmentSubtypeRUDView.as_view(), name='subtype-rud'),
|
path('subtypes/<int:pk>/', views.EstablishmentSubtypeRUDView.as_view(), name='subtype-rud'),
|
||||||
# path('subtypes/attach-tag-category/', views.EstablishmentSubTypeAttachTagCategoryView.as_view(),
|
path('subtypes/attach-tag-category/', views.EstablishmentSubTypeAttachTagCategoryView.as_view(),
|
||||||
# name='subtype-attach-tag-category'),
|
name='subtype-attach-tag-category'),
|
||||||
]
|
]
|
||||||
|
|
@ -54,9 +54,9 @@ class EstablishmentScheduleCreateView(generics.CreateAPIView):
|
||||||
serializer_class = ScheduleCreateSerializer
|
serializer_class = ScheduleCreateSerializer
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTagCategoryListView(EstablishmentMixinViews, generics.ListAPIView):
|
class EstablishmentTagCategoryListView(EstablishmentMixinViews, generics.RetrieveAPIView):
|
||||||
"""View for establishment tag categories."""
|
"""View for establishment tag categories."""
|
||||||
serializer_class = serializers.EstablishmentTypeTagCategoryBaseSerializer
|
serializer_class = serializers.EstablishmentTagsByType
|
||||||
pagination_class = None
|
pagination_class = None
|
||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
|
|
@ -74,12 +74,7 @@ class EstablishmentTagCategoryListView(EstablishmentMixinViews, generics.ListAPI
|
||||||
# May raise a permission denied
|
# May raise a permission denied
|
||||||
self.check_object_permissions(self.request, obj)
|
self.check_object_permissions(self.request, obj)
|
||||||
|
|
||||||
return obj
|
return obj.establishment_type
|
||||||
|
|
||||||
def get_queryset(self):
|
|
||||||
"""Overridden get_queryset method."""
|
|
||||||
establishment = self.get_object()
|
|
||||||
return establishment.establishment_type.tag_categories.all()
|
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTypeAttachTagCategoryView(generics.CreateAPIView):
|
class EstablishmentTypeAttachTagCategoryView(generics.CreateAPIView):
|
||||||
|
|
@ -96,17 +91,6 @@ class EstablishmentTypeAttachTagCategoryView(generics.CreateAPIView):
|
||||||
return Response(status=status.HTTP_200_OK)
|
return Response(status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
# class EstablishmentSubTypeAttachTagCategoryView(generics.CreateAPIView):
|
|
||||||
# """Attach tag category to establishment subtype."""
|
|
||||||
# queryset = models.EstablishmentSubTypeTagCategory.objects.all()
|
|
||||||
# serializer_class = serializers.EstablishmentSubTypeTagCategoryBaseSerializer
|
|
||||||
#
|
|
||||||
# def post(self, request, *args, **kwargs):
|
|
||||||
# """Overridden post-method."""
|
|
||||||
# super(EstablishmentSubTypeAttachTagCategoryView, self).post(request)
|
|
||||||
# return Response(status=status.HTTP_200_OK)
|
|
||||||
|
|
||||||
|
|
||||||
class MenuListCreateView(generics.ListCreateAPIView):
|
class MenuListCreateView(generics.ListCreateAPIView):
|
||||||
"""Menu list create view."""
|
"""Menu list create view."""
|
||||||
serializer_class = serializers.MenuSerializers
|
serializer_class = serializers.MenuSerializers
|
||||||
|
|
@ -186,31 +170,44 @@ class EmployeeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
|
|
||||||
class EstablishmentTypeListCreateView(generics.ListCreateAPIView):
|
class EstablishmentTypeListCreateView(generics.ListCreateAPIView):
|
||||||
"""Establishment type list/create view."""
|
"""Establishment type list/create view."""
|
||||||
serializer_class = serializers.EstablishmentTypeSerializer
|
serializer_class = serializers.EstablishmentTypeBaseSerializer
|
||||||
queryset = models.EstablishmentType.objects.all()
|
queryset = models.EstablishmentType.objects.all()
|
||||||
pagination_class = None
|
pagination_class = None
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTypeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
class EstablishmentTypeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
"""Establishment type retrieve/update/destroy view."""
|
"""Establishment type retrieve/update/destroy view."""
|
||||||
serializer_class = serializers.EstablishmentTypeSerializer
|
serializer_class = serializers.EstablishmentTypeBaseSerializer
|
||||||
queryset = models.EstablishmentType.objects.all()
|
queryset = models.EstablishmentType.objects.all()
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentSubtypeListCreateView(generics.ListCreateAPIView):
|
class EstablishmentSubtypeListCreateView(generics.ListCreateAPIView):
|
||||||
"""Establishment subtype list/create view."""
|
"""Establishment subtype list/create view."""
|
||||||
serializer_class = serializers.EstablishmentSubTypeSerializer
|
serializer_class = serializers.EstablishmentSubTypeBaseSerializer
|
||||||
queryset = models.EstablishmentSubType.objects.all()
|
queryset = models.EstablishmentSubType.objects.all()
|
||||||
pagination_class = None
|
pagination_class = None
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentSubtypeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
class EstablishmentSubtypeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
"""Establishment subtype retrieve/update/destroy view."""
|
"""Establishment subtype retrieve/update/destroy view."""
|
||||||
serializer_class = serializers.EstablishmentSubTypeSerializer
|
serializer_class = serializers.EstablishmentSubTypeBaseSerializer
|
||||||
queryset = models.EstablishmentSubType.objects.all()
|
queryset = models.EstablishmentSubType.objects.all()
|
||||||
|
|
||||||
|
|
||||||
# todo: next task
|
class EstablishmentSubTypeAttachTagCategoryView(generics.CreateAPIView):
|
||||||
|
"""Attach tag category to establishment subtype."""
|
||||||
|
serializer_class = serializers.EstablishmentSubTypeTagCategoryBaseSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
"""Override get_queryset method."""
|
||||||
|
return models.EstablishmentSubTypeTagCategory.objects.with_base_related()
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
"""Overridden post-method."""
|
||||||
|
super(EstablishmentSubTypeAttachTagCategoryView, self).post(request)
|
||||||
|
return Response(status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
# class EstablishmentTagListCreateView(generics.CreateAPIView):
|
# class EstablishmentTagListCreateView(generics.CreateAPIView):
|
||||||
# """Establishment tag list/create view."""
|
# """Establishment tag list/create view."""
|
||||||
# serializer_class = serializers.EstablishmentTagCategoryListCreateSerializer
|
# serializer_class = serializers.EstablishmentTagCategoryListCreateSerializer
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ class EstablishmentTypeListView(generics.ListAPIView):
|
||||||
"""Resource for getting a list of establishment types."""
|
"""Resource for getting a list of establishment types."""
|
||||||
|
|
||||||
permission_classes = (permissions.AllowAny,)
|
permission_classes = (permissions.AllowAny,)
|
||||||
serializer_class = serializers.EstablishmentTypeSerializer
|
serializer_class = serializers.EstablishmentTypeBaseSerializer
|
||||||
queryset = models.EstablishmentType.objects.all()
|
queryset = models.EstablishmentType.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user