From fdc63f2677f34c2f5c4543fdd8f1ae6de2c2f5b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80=20=D0=93=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B8=D1=85?= Date: Tue, 3 Dec 2019 10:20:13 +0300 Subject: [PATCH] Add API methods for site-feature --- apps/main/serializers.py | 55 +++++++++++++--------------------------- apps/main/urls/back.py | 8 +++++- apps/main/views/back.py | 10 ++++++++ 3 files changed, 35 insertions(+), 38 deletions(-) diff --git a/apps/main/serializers.py b/apps/main/serializers.py index 561a50c0..b93382d5 100644 --- a/apps/main/serializers.py +++ b/apps/main/serializers.py @@ -21,27 +21,6 @@ class FeatureSerializer(serializers.ModelSerializer): ) -class SiteFeatureSerializer(serializers.ModelSerializer): - id = serializers.IntegerField(source='feature.id') - slug = serializers.CharField(source='feature.slug') - priority = serializers.IntegerField(source='feature.priority') - route = serializers.CharField(source='feature.route.name') - source = serializers.IntegerField(source='feature.source') - nested = RecursiveFieldSerializer(many=True, allow_null=True) - - class Meta: - """Meta class.""" - model = models.SiteFeature - fields = ('main', - 'id', - 'slug', - 'priority', - 'route', - 'source', - 'nested', - ) - - class CurrencySerializer(ProjectModelSerializer): """Currency serializer.""" @@ -56,6 +35,23 @@ class CurrencySerializer(ProjectModelSerializer): ] +class SiteFeatureSerializer(serializers.ModelSerializer): + """Site feature serializer.""" + + class Meta: + """Meta class.""" + + model = models.SiteFeature + fields = ( + 'id', + 'site_settings', + 'feature', + 'published', + 'main', + 'nested' + ) + + class SiteSettingsSerializer(serializers.ModelSerializer): """Site settings serializer.""" @@ -140,7 +136,7 @@ class SiteBackOfficeSerializer(SiteSerializer): class FeatureSerializer(serializers.ModelSerializer): - """Site feature serializer.""" + """Feature serializer.""" class Meta: """Meta class.""" @@ -155,21 +151,6 @@ class FeatureSerializer(serializers.ModelSerializer): ) -# class SiteFeatureSerializer(serializers.ModelSerializer): -# """Site feature serializer.""" -# -# class Meta: -# """Meta class.""" -# -# model = models.SiteFeature -# fields = ( -# 'id', -# 'published', -# 'site_settings', -# 'feature', -# ) - - class AwardBaseSerializer(serializers.ModelSerializer): """Award base serializer.""" diff --git a/apps/main/urls/back.py b/apps/main/urls/back.py index 99e6a50f..609e61f7 100644 --- a/apps/main/urls/back.py +++ b/apps/main/urls/back.py @@ -13,5 +13,11 @@ urlpatterns = [ path('site-settings//', views.SiteSettingsBackOfficeView.as_view(), name='site-settings'), path('feature/', views.FeatureBackView.as_view(), name='feature-list-create'), - path('feature//', views.FeatureRUDBackView.as_view(), name='feature-rud') + path('feature//', views.FeatureRUDBackView.as_view(), name='feature-rud'), + path('site-feature/', views.SiteFeatureBackView.as_view(), + name='site-feature-list-create'), + path('site-feature//', views.SiteFeatureRUDBackView.as_view(), + name='site-feature-rud'), ] + + diff --git a/apps/main/views/back.py b/apps/main/views/back.py index 76c99e3d..adc0196a 100644 --- a/apps/main/views/back.py +++ b/apps/main/views/back.py @@ -44,11 +44,21 @@ class FeatureBackView(generics.ListCreateAPIView): serializer_class = serializers.FeatureSerializer +class SiteFeatureBackView(generics.ListCreateAPIView): + """Feature list or create View.""" + serializer_class = serializers.SiteFeatureSerializer + + class FeatureRUDBackView(generics.RetrieveUpdateDestroyAPIView): """Feature RUD View.""" serializer_class = serializers.FeatureSerializer +class SiteFeatureRUDBackView(generics.RetrieveUpdateDestroyAPIView): + """Feature RUD View.""" + serializer_class = serializers.SiteFeatureSerializer + + class SiteSettingsBackOfficeView(SiteSettingsView): """Site settings View.""" serializer_class = serializers.SiteSettingsBackOfficeSerializer