From e60f4b817b5d8edbb6138080915c189c8a3f9e04 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Mon, 27 Jan 2020 20:04:36 +0300 Subject: [PATCH] API method for possible news states --- apps/news/serializers.py | 5 +++++ apps/news/urls/back.py | 1 + apps/news/views.py | 18 ++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/apps/news/serializers.py b/apps/news/serializers.py index f88c79f0..3103c4dd 100644 --- a/apps/news/serializers.py +++ b/apps/news/serializers.py @@ -508,3 +508,8 @@ class NewsCloneCreateSerializer(NewsBackOfficeBaseSerializer, view_count_model = rating_models.ViewCount.objects.create(count=0) instance.create_duplicate(new_country, view_count_model) return get_object_or_404(models.News, pk=kwargs['pk']) + + +class NewsStatesSerializer(serializers.Serializer): + value = serializers.IntegerField() + state_translated = serializers.CharField() diff --git a/apps/news/urls/back.py b/apps/news/urls/back.py index 54f40513..bf9ab856 100644 --- a/apps/news/urls/back.py +++ b/apps/news/urls/back.py @@ -8,6 +8,7 @@ app_name = 'news' urlpatterns = [ path('', views.NewsBackOfficeLCView.as_view(), name='list-create'), + path('states/', views.NewsStatesView.as_view(), name='possible-news-states-list'), path('/', views.NewsBackOfficeRUDView.as_view(), name='retrieve-update-destroy'), path('/gallery/', views.NewsBackOfficeGalleryListView.as_view(), name='gallery-list'), path('/gallery//', views.NewsBackOfficeGalleryCreateDestroyView.as_view(), diff --git a/apps/news/views.py b/apps/news/views.py index 4f0adc1e..948da401 100644 --- a/apps/news/views.py +++ b/apps/news/views.py @@ -51,6 +51,24 @@ class NewsMixinView: return instance +class NewsStatesView(generics.ListAPIView): + """Possible project news states""" + pagination_class = None + serializer_class = serializers.NewsStatesSerializer + + def get_queryset(self): + return None + + def list(self, request, *args, **kwargs): + mutated_for_serializer = [{ + 'value': state[0], + 'state_translated': state[1], + } for state in models.News.STATE_CHOICES] + print(mutated_for_serializer) + serializer = self.get_serializer(mutated_for_serializer, many=True) + return response.Response(serializer.data) + + class NewsListView(NewsMixinView, generics.ListAPIView): """News list view."""