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 maps.models import CourseMap, CourseRoute |
||||
from maps.models import CourseMap, CourseRoute, PivotCourseMap, PivotVertex |
||||
|
||||
admin.site.register(CourseMap) |
||||
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