parent
14ad75259b
commit
c43e5830d0
21 changed files with 16571 additions and 11245 deletions
@ -0,0 +1,66 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.11.6 on 2017-11-28 15:18 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
from django.conf import settings |
||||||
|
from django.db import migrations, models |
||||||
|
import django.db.models.deletion |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
initial = True |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('access', '0001_initial'), |
||||||
|
('auth', '0008_alter_user_username_max_length'), |
||||||
|
('maps', '0001_initial'), |
||||||
|
('courses', '0002_auto_20171128_1518'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AddField( |
||||||
|
model_name='progress', |
||||||
|
name='course', |
||||||
|
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Курс'), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='progress', |
||||||
|
name='progress_list', |
||||||
|
field=models.ManyToManyField(blank=True, to='courses.Vertex', verbose_name='Лист пройденных объектов'), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='progress', |
||||||
|
name='template', |
||||||
|
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='maps.CourseRoute', verbose_name='Шаблон для прохождения если не указан явно смотри функцию get_template()'), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='progress', |
||||||
|
name='user', |
||||||
|
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Студент'), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='invite', |
||||||
|
name='owner', |
||||||
|
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='account', |
||||||
|
name='owner', |
||||||
|
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='user', |
||||||
|
name='groups', |
||||||
|
field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='user', |
||||||
|
name='user_permissions', |
||||||
|
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'), |
||||||
|
), |
||||||
|
migrations.AlterUniqueTogether( |
||||||
|
name='progress', |
||||||
|
unique_together=set([('user', 'course')]), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,27 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.11.6 on 2017-11-29 16:39 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
from django.conf import settings |
||||||
|
from django.db import migrations, models |
||||||
|
import django.db.models.deletion |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('access', '0002_auto_20171128_1518'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AlterField( |
||||||
|
model_name='progress', |
||||||
|
name='course', |
||||||
|
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='Курс'), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='progress', |
||||||
|
name='user', |
||||||
|
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Студент'), |
||||||
|
), |
||||||
|
] |
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,8 @@ |
|||||||
from django.contrib import admin |
from django.contrib import admin |
||||||
|
|
||||||
from maps.models import CourseMap, CourseRoute |
from maps.models import CourseMap, CourseRoute, PivotCourseMap, PivotVertex |
||||||
|
|
||||||
admin.site.register(CourseMap) |
admin.site.register(CourseMap) |
||||||
admin.site.register(CourseRoute) |
admin.site.register(CourseRoute) |
||||||
|
admin.site.register(PivotCourseMap) |
||||||
|
admin.site.register(PivotVertex) |
||||||
|
|||||||
@ -0,0 +1,2 @@ |
|||||||
|
class MapTypeError(ValueError): |
||||||
|
pass |
||||||
@ -0,0 +1,24 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.11.6 on 2017-11-29 14:39 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
from django.db import migrations |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('courses', '0002_auto_20171128_1518'), |
||||||
|
('maps', '0001_initial'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AlterUniqueTogether( |
||||||
|
name='pivotcoursemap', |
||||||
|
unique_together=set([('map_course', 'route'), ('sort', 'route')]), |
||||||
|
), |
||||||
|
migrations.AlterUniqueTogether( |
||||||
|
name='pivotvertex', |
||||||
|
unique_together=set([('sort', 'map_course'), ('map_course', 'vertex')]), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.11.6 on 2017-11-29 14:41 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
from django.db import migrations, models |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('maps', '0002_auto_20171129_1439'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AlterField( |
||||||
|
model_name='pivotcoursemap', |
||||||
|
name='sort', |
||||||
|
field=models.SmallIntegerField(verbose_name='Порядок сортировки'), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='pivotvertex', |
||||||
|
name='sort', |
||||||
|
field=models.SmallIntegerField(verbose_name='Порядок сортировки'), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.11.6 on 2017-11-29 14:47 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
from django.db import migrations |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('maps', '0003_auto_20171129_1441'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AlterModelOptions( |
||||||
|
name='pivotcoursemap', |
||||||
|
options={'ordering': ('sort',), 'verbose_name': 'Порядок сортировки маршрута', 'verbose_name_plural': 'Порядки сортировок маршрутов'}, |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,27 @@ |
|||||||
|
from rest_framework import serializers |
||||||
|
|
||||||
|
from maps.models import CourseRoute, CourseMap |
||||||
|
|
||||||
|
|
||||||
|
class CourseRouteSerializer(serializers.ModelSerializer): |
||||||
|
maps = serializers.SerializerMethodField() |
||||||
|
|
||||||
|
class Meta: |
||||||
|
model = CourseRoute |
||||||
|
fields = '__all__' |
||||||
|
|
||||||
|
@staticmethod |
||||||
|
def get_maps(self): |
||||||
|
return [CourseMapSerializer(i).data for i in self.get_maps()] |
||||||
|
|
||||||
|
|
||||||
|
class CourseMapSerializer(serializers.ModelSerializer): |
||||||
|
vertexes = serializers.SerializerMethodField() |
||||||
|
|
||||||
|
class Meta: |
||||||
|
model = CourseMap |
||||||
|
fields = '__all__' |
||||||
|
|
||||||
|
@staticmethod |
||||||
|
def get_vertexes(self): |
||||||
|
return [i.id for i in self.pivotvertex_set.all()] |
||||||
Loading…
Reference in new issue