LIL-256. Add serializer, viewset & route for SchoolSchedule

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent b0e6f68fe2
commit acb43aa16e
  1. 22
      api/v1/serializers/school.py
  2. 30
      api/v1/urls.py
  3. 9
      api/v1/views.py

@ -0,0 +1,22 @@
from rest_framework import serializers
from apps.school.models import SchoolSchedule
class SchoolScheduleSerializer(serializers.ModelSerializer):
class Meta:
model = SchoolSchedule
fields = (
'id',
'weekday',
'title',
'description',
'materials',
'age',
'month_price',
)
read_only_fields = (
'id',
)

@ -14,6 +14,7 @@ from .views import (
ImageTextViewSet, VideoViewSet,
GalleryViewSet, GalleryImageViewSet,
UserViewSet, LessonViewSet, ImageObjectViewSet,
SchoolScheduleViewSet,
)
router = DefaultRouter()
@ -30,24 +31,27 @@ router.register(r'image-texts', ImageTextViewSet, base_name='image-texts')
router.register(r'videos', VideoViewSet, base_name='videos')
router.register(r'galleries', GalleryViewSet, base_name='galleries')
router.register(r'gallery-images', GalleryImageViewSet, base_name='gallery-images')
router.register(r'school-schedules', SchoolScheduleViewSet, base_name='school-schedules')
router.register(r'users', UserViewSet, base_name='users')
schema_view = get_schema_view(
openapi.Info(
title="Lil Sity API",
default_version='v1',
description="Routes of Lil City project",
),
validators=['flex', 'ssv'],
public=False,
permission_classes=(permissions.AllowAny,),
openapi.Info(
title="Lil Sity API",
default_version='v1',
description="Routes of Lil City project",
),
validators=['flex', 'ssv'],
public=False,
permission_classes=(permissions.AllowAny,),
)
urlpatterns = [
path('swagger(<str:format>.json|.yaml)', schema_view.without_ui(cache_timeout=None), name='schema-json'),
path('swagger/', schema_view.with_ui('swagger', cache_timeout=None), name='schema-swagger-ui'),
path('redoc/', schema_view.with_ui('redoc', cache_timeout=None), name='schema-redoc'),
path('api-token-auth/', ObtainToken.as_view(), name='api-token-auth'),
path('', include((router.urls, 'api-root')), name='api-root'),
path('swagger(<str:format>.json|.yaml)', schema_view.without_ui(cache_timeout=None), name='schema-json'),
path('swagger/', schema_view.with_ui('swagger', cache_timeout=None), name='schema-swagger-ui'),
path('redoc/', schema_view.with_ui('redoc', cache_timeout=None), name='schema-redoc'),
path('api-token-auth/', ObtainToken.as_view(), name='api-token-auth'),
path('', include((router.urls, 'api-root')), name='api-root'),
]

@ -23,6 +23,7 @@ from .serializers.content import (
GalleryImageSerializer, GalleryImageCreateSerializer,
ImageObjectSerializer,
)
from .serializers.school import SchoolScheduleSerializer
from .serializers.user import (
UserSerializer, UserPhotoSerializer,
)
@ -34,7 +35,7 @@ from apps.content.models import (
Image, Text, ImageText, Video,
Gallery, GalleryImage, ImageObject,
)
from apps.school.models import SchoolSchedule
User = get_user_model()
@ -285,3 +286,9 @@ class UserViewSet(ExtendedModelViewSet):
return Response({'success': True})
else:
return Response({'success': False}, status=status.HTTP_400_BAD_REQUEST)
class SchoolScheduleViewSet(ExtendedModelViewSet):
queryset = SchoolSchedule.objects.all()
serializer_class = SchoolScheduleSerializer
permission_classes = (IsAdmin,)

Loading…
Cancel
Save