# -*- coding: utf-8 -*- # Generated by Django 1.11.6 on 2018-01-11 17:32 from __future__ import unicode_literals import access.models.user from django.conf import settings import django.contrib.postgres.fields from django.db import migrations, models import django.db.models.deletion import phonenumber_field.modelfields import uuid class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0008_alter_user_username_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('out_key', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='Токен')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), ('first_name', models.CharField(blank=True, default='Гость', max_length=63, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=63, verbose_name='last name')), ('date_joined', models.DateTimeField(verbose_name='date joined')), ('is_staff', models.BooleanField(default=False, help_text='Определяет разрешение пользователя на вход в административную часть.', verbose_name='флаг персонала')), ('is_active', models.BooleanField(default=False, help_text='Определяет активен ли пользователь в системе. Снимите флаг, вместо удаления пользователя.', verbose_name='активен')), ('is_blocked', models.BooleanField(default=False, help_text='Определяет заблокирован ли пользователь. Поставьте флаг, если знаете, что это нехороший человек.', verbose_name='заблочен')), ('groups', 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')), ('user_permissions', 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')), ], options={ 'verbose_name': 'Пользователь', 'verbose_name_plural': 'Пользователи', }, managers=[ ('objects', access.models.user.CustomUserManager()), ], ), migrations.CreateModel( name='Account', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('b_day', models.DateField(blank=True, null=True)), ('city', models.CharField(blank=True, max_length=63, null=True)), ('gender', models.SmallIntegerField(choices=[(0, 'undefined'), (1, 'male'), (2, 'female')], default=0)), ('photo', models.ImageField(default='/static/default/access/default.png', upload_to='user/photo/')), ('phone', phonenumber_field.modelfields.PhoneNumberField(blank=True, max_length=128, null=True)), ('owner', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Дополнительная информация о пользователе', 'verbose_name_plural': 'Дополнительная информация о пользователе', }, ), migrations.CreateModel( name='Invite', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('hash', models.CharField(max_length=15, unique=True, verbose_name='Уникальный код')), ('date', models.DateTimeField(blank=True, null=True, verbose_name='Дата сгорания приглошения')), ], options={ 'verbose_name': 'Приглошение в систему', 'verbose_name_plural': 'Приглошения в систему', }, ), migrations.CreateModel( name='Progress', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('hidden_lessons', django.contrib.postgres.fields.ArrayField(base_field=models.UUIDField(editable=False, unique=True, verbose_name='Токен урока'), default=[], size=None, verbose_name='Список скрытых уроков')), ('course_token', models.UUIDField(editable=False, unique=True, verbose_name='Токен курса')), ('teacher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='teacher_progress', to=settings.AUTH_USER_MODEL, verbose_name='Преподователь по умолчанию')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Студент')), ], options={ 'verbose_name': 'Прогресс пользователя', 'verbose_name_plural': 'Прогресс пользователя', }, ), migrations.CreateModel( name='ProgressLesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('lesson_token', models.UUIDField(editable=False, unique=True, verbose_name='Токен урока')), ('comment', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=15, unique=True, verbose_name='Ссылки на комменты'), default=[], size=None)), ('date', models.DateTimeField(blank=True, null=True, verbose_name='Дата зачтения задания')), ('progress', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='access.Progress')), ('teacher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Преподователь')), ], options={ 'verbose_name': 'Прохождение уроков', 'verbose_name_plural': 'Прохождение урока', }, ), migrations.CreateModel( name='UserAnswer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('key', models.CharField(blank=True, max_length=255, verbose_name='Наименование поля')), ('value', models.TextField(verbose_name='Значение в поле')), ('status', models.CharField(choices=[('done', 'done'), ('wait', 'wait'), ('fail', 'fail')], default='done', max_length=20)), ], options={ 'verbose_name': 'Ответ пользователя', 'verbose_name_plural': 'Ответы пользователя', }, ), migrations.CreateModel( name='UserAnswerBlock', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateTimeField(auto_now_add=True, verbose_name='Дата сдачи')), ('demand_token', models.UUIDField(editable=False, unique=True, verbose_name='Токен правила')), ('checker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Проверяющий')), ('progress', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='access.ProgressLesson')), ], options={ 'verbose_name': 'Блок ответов пользователя', 'verbose_name_plural': 'Блоки ответов пользователя', }, ), migrations.CreateModel( name='ResetPassword', fields=[ ('invite_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='access.Invite')), ('password', models.CharField(max_length=63, verbose_name='Новый пароль, если есть')), ], options={ 'verbose_name': 'Запрос на сброс пароля', 'verbose_name_plural': 'Запросы на сброс пароля', }, bases=('access.invite',), ), migrations.AddField( model_name='useranswer', name='block', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='access.UserAnswerBlock'), ), migrations.AddField( model_name='invite', name='owner', field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Кому приглошение'), ), migrations.AlterUniqueTogether( name='progress', unique_together=set([('user', 'course_token')]), ), ]