added endpoint /api/back/collections/guides/all/,

revert pagination in /api/back/collections/guides/
This commit is contained in:
Anatoly 2020-02-04 11:36:46 +03:00
parent 9bfba9af70
commit 04c6948539
4 changed files with 44 additions and 4 deletions

View File

@ -180,7 +180,20 @@ class LoginByUsernameOrEmailView(JWTGenericViewMixin, generics.GenericAPIView):
serializer_class = serializers.LoginByUsernameOrEmailSerializer
def post(self, request, *args, **kwargs):
"""Implement POST method"""
"""
#Login view.
***
##Available HTTP methods: POST
POST-request data:
```
{
"username_or_email": <str>,
"password": <str>,
"remember": <bool>,
"source": <int> # 0 - Mobile, 1 - Web, 2 - All (by default used: 1)
}
```
"""
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)

View File

@ -160,6 +160,17 @@ class GuideBaseSerializer(serializers.ModelSerializer):
return super(GuideBaseSerializer, self).create(validated_data)
class GuideShortSerializer(serializers.ModelSerializer):
"""Serializer for model Guide."""
class Meta(GuideBaseSerializer.Meta):
"""Meta-class."""
fields = [
'id',
'name',
]
class GuideElementBaseSerializer(serializers.ModelSerializer):
"""Serializer for model GuideElement."""
establishment_detail = EstablishmentGuideElementSerializer(read_only=True,

View File

@ -1,6 +1,6 @@
"""Collection common urlpaths."""
from rest_framework.routers import SimpleRouter
from django.urls import path
from rest_framework.routers import SimpleRouter
from collection.views import back as views
@ -12,6 +12,8 @@ router.register(r'collections', views.CollectionBackOfficeViewSet)
urlpatterns = [
path('guides/', views.GuideListCreateView.as_view(),
name='guide-list-create'),
path('guides/all/', views.GuideListView.as_view(),
name='guide-list'),
path('guides/<int:pk>/', views.GuideElementListView.as_view(),
name='guide-element-list'),
path('guides/<int:pk>/regenerate/', views.GuideUpdateView.as_view(),

View File

@ -33,7 +33,7 @@ class GuideBaseView(generics.GenericAPIView):
queryset = models.Guide.objects.with_base_related
if hasattr(self.request, 'country_code'):
return queryset().by_country_code(self.request.country_code).order_by('-created')
return queryset().order_by('-created')
return queryset().none()
class GuideFilterBaseView(generics.GenericAPIView):
@ -104,7 +104,6 @@ class GuideListCreateView(GuideBaseView,
generics.ListCreateAPIView):
"""View for Guides list for BackOffice users and Guide create."""
filter_class = filters.GuideFilterSet
pagination_class = None
def create(self, request, *args, **kwargs):
"""Overridden create method."""
@ -112,6 +111,21 @@ class GuideListCreateView(GuideBaseView,
return Response(status=status.HTTP_201_CREATED)
class GuideListView(generics.ListAPIView):
"""View for Guides list."""
pagination_class = None
serializer_class = serializers.GuideShortSerializer
def get_queryset(self):
"""An overridden get_queryset method."""
if hasattr(self.request, 'country_code'):
return (
models.Guide.objects.by_country_code(self.request.country_code)
.order_by('-created')
)
return models.Guide.objects.none()
class GuideBackOfficeList(BindObjectMixin, GuideBaseView):
"""ViewSet for Guides list for BackOffice users"""
pagination_class = None