remotes/origin/hasaccess
Ivlev Denis 8 years ago
commit 70f07e602b
  1. 22
      api/v1/serializers/school.py
  2. 30
      api/v1/urls.py
  3. 11
      api/v1/views.py
  4. 18
      apps/school/migrations/0002_schoolschedule_age.py
  5. 17
      apps/school/migrations/0003_auto_20180221_0901.py
  6. 5
      apps/school/models.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()
@ -65,7 +66,7 @@ class LikeViewSet(ExtendedModelViewSet):
class CategoryViewSet(ExtendedModelViewSet):
queryset = Category.objects.all()
queryset = Category.objects.order_by('-id')
serializer_class = CategorySerializer
search_fields = ('title',)
ordering_fields = ('title',)
@ -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,)

@ -0,0 +1,18 @@
# Generated by Django 2.0.2 on 2018-02-21 08:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('school', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='schoolschedule',
name='age',
field=models.PositiveSmallIntegerField(default=0, verbose_name='Возраст'),
),
]

@ -0,0 +1,17 @@
# Generated by Django 2.0.2 on 2018-02-21 09:01
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('school', '0002_schoolschedule_age'),
]
operations = [
migrations.AlterModelOptions(
name='schoolschedule',
options={'ordering': ('weekday',), 'verbose_name': 'Расписание', 'verbose_name_plural': 'Расписания'},
),
]

@ -15,9 +15,10 @@ class SchoolSchedule(models.Model):
title = models.CharField('Заголовок', default='', max_length=100, db_index=True)
description = models.TextField('Описание')
materials = models.TextField('Материалы')
age = models.PositiveSmallIntegerField('Возраст', default=0)
month_price = models.DecimalField('Цена', max_digits=8, decimal_places=2, default=0)
class Meta:
ordering = ('weekday',)
verbose_name = 'Рассписание'
verbose_name_plural = 'Рассписания'
verbose_name = 'Расписание'
verbose_name_plural = 'Расписания'

Loading…
Cancel
Save