# Generated by Django 2.0.4 on 2018-04-16 10:15

from django.db import migrations, models
import django.db.models.deletion
from ckeditor_uploader.fields import RichTextUploadingField


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='AnswerVar',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('content', RichTextUploadingField(blank=True, verbose_name='текст ответа')),
                ('is_true', models.BooleanField(default=False, verbose_name='Верный ответ')),
                ('position', models.SmallIntegerField(default=0, verbose_name='Позиция')),
            ],
            options={
                'verbose_name': 'Ответ: один верный',
                'verbose_name_plural': 'Ответы: один верный',
            },
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('content', RichTextUploadingField(blank=True, verbose_name='текст вопроса')),
                ('type', models.CharField(choices=[('chr', 'Один ответ'), ('var', 'Один верный из вариантов')], default='var', max_length=3, verbose_name='Тип вопроса')),
                ('chr_answer', models.CharField(blank=True, max_length=100, verbose_name='Верный ответ')),
                ('position', models.SmallIntegerField(default=0, verbose_name='Позиция')),
            ],
            options={
                'verbose_name': 'Вопрос для Тестирования',
                'verbose_name_plural': 'Вопросы для Тестирования',
            },
        ),
        migrations.CreateModel(
            name='Quiz',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=200, verbose_name='Название теста')),
                ('slug', models.SlugField(max_length=200, verbose_name='Ссылка на сайте')),
                ('have_time', models.BooleanField(default=True, verbose_name='Ограничено по времени')),
                ('time', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Время на тест в минутах')),
                ('result', models.PositiveSmallIntegerField(default=0, help_text='Процент, по которому проверяется, прошел ли тест пользователь', verbose_name='Процент правильных ответов')),
                ('open', models.BooleanField(default=False, help_text='Если включить, то после прохождения теста, пользователь увидит, где и как он ошибся', verbose_name='Открыть подробные результаты')),
            ],
            options={
                'verbose_name': 'Тестирование',
                'verbose_name_plural': 'Тестирования',
            },
        ),
        migrations.CreateModel(
            name='QuizResult',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('result', models.PositiveSmallIntegerField(default=0, verbose_name='Процент правильных ответов')),
                ('quiz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='users_answers', to='quizzes.Quiz', verbose_name='Тестирование')),
            ],
            options={
                'verbose_name': 'Результат тестирования',
                'verbose_name_plural': 'Результаты тестирования',
            },
        ),
        migrations.CreateModel(
            name='StudentAnswer',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('answer_chr', models.CharField(blank=True, max_length=100, verbose_name='Текстовый ответ')),
                ('answer_var', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quizzes.AnswerVar', verbose_name='Ответ: один верный')),
                ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quizzes.Question', verbose_name='Вопрос')),
                ('user_answer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quizzes.QuizResult', verbose_name='Тест с ответами пользователя')),
            ],
            options={
                'verbose_name': 'Ответ студента',
                'verbose_name_plural': 'Ответы студентов',
            },
        ),
        migrations.AddField(
            model_name='question',
            name='quiz',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='questions', to='quizzes.Quiz', verbose_name='Тестирования'),
        ),
        migrations.AddField(
            model_name='answervar',
            name='question',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quizzes.Question', verbose_name='Вопрос'),
        ),
    ]
