API method for possible news states

This commit is contained in:
Kuroshini 2020-01-27 20:04:36 +03:00
parent 42d21a79a4
commit e60f4b817b
3 changed files with 24 additions and 0 deletions

View File

@ -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()

View File

@ -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('<int:pk>/', views.NewsBackOfficeRUDView.as_view(), name='retrieve-update-destroy'),
path('<int:pk>/gallery/', views.NewsBackOfficeGalleryListView.as_view(), name='gallery-list'),
path('<int:pk>/gallery/<int:image_id>/', views.NewsBackOfficeGalleryCreateDestroyView.as_view(),

View File

@ -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."""