class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('courses', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Document',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=255)),
                ('document',
                 models.FileField(
                     upload_to=courses.models.Document.path_and_rename)),
                ('uploaded_at', models.DateTimeField(auto_now_add=True)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='author_documents',
                                   to=settings.AUTH_USER_MODEL)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='course_documents',
                                   to='courses.Course')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0003_lecturedetail'),
    ]

    operations = [
        migrations.CreateModel(
            name='Quiz',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=1024)),
                ('description', models.TextField()),
                ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_image_path)),
                ('course_detail', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.CourseDetail')),
            ],
        ),
        migrations.CreateModel(
            name='QuizDetail',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('question', models.CharField(max_length=1024)),
                ('choices', models.TextField()),
                ('answer', models.CharField(max_length=16)),
                ('quiz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Quiz')),
            ],
        ),
    ]
Esempio n. 3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('course_id', models.CharField(max_length=16, primary_key=True, serialize=False)),
                ('course_name', models.CharField(max_length=64)),
                ('credits', models.IntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='Requirement',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('degree_type', models.CharField(max_length=6)),
                ('major_name', models.CharField(max_length=64)),
                ('course_rgx', models.CharField(max_length=128)),
                ('credits', models.IntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='Student',
            fields=[
                ('student_id', models.CharField(max_length=9, primary_key=True, serialize=False, validators=[courses.models.validate_student_id])),
                ('first_name', models.CharField(max_length=32)),
                ('last_name', models.CharField(max_length=32)),
                ('degree_type', models.CharField(max_length=6)),
                ('major_name', models.CharField(max_length=64)),
            ],
        ),
        migrations.CreateModel(
            name='Taken',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('semester', models.CharField(max_length=3, validators=[courses.models.validate_semester])),
                ('grade', models.CharField(choices=[('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D'), ('F', 'F/Fail'), ('P', 'Pass')], max_length=1)),
                ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='courses.Course')),
                ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Student')),
            ],
        ),
        migrations.CreateModel(
            name='Prereq',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('coreq', models.BooleanField()),
                ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='courses.Course')),
                ('prereq_id', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='prereq_course', to='courses.Course')),
            ],
        ),
    ]
Esempio n. 4
0
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0013_auto_20200910_0800'),
    ]

    operations = [
        migrations.CreateModel(
            name='LectureSession',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('session_name',
                 models.CharField(max_length=200,
                                  validators=[courses.models.name_validator])),
                ('session_description', models.CharField(max_length=2000)),
                ('session_content', models.CharField(max_length=20000)),
                ('url_name',
                 models.SlugField(editable=False, max_length=200,
                                  unique=True)),
                ('session_duration', models.DurationField()),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.course')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0003_course_small_cover_image'),
    ]

    operations = [
        migrations.AlterField(
            model_name='course',
            name='cover_image',
            field=models.ImageField(upload_to=courses.models.get_course_upload_directory),
        ),
        migrations.AlterField(
            model_name='course',
            name='small_cover_image',
            field=models.ImageField(blank=True, null=True, upload_to=courses.models.get_course_upload_directory),
        ),
        migrations.CreateModel(
            name='CourseSection',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='course_sections', to='courses.course')),
            ],
            options={
                'order_with_respect_to': 'course',
            },
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('users', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('cid',
                 models.CharField(max_length=10,
                                  unique=True,
                                  verbose_name='Course ID')),
                ('name', models.CharField(max_length=254)),
                ('semester',
                 models.IntegerField(choices=[(1, 1), (2, 2), (3, 3), (4, 4),
                                              (5, 5), (6, 6), (7, 7), (8, 8)],
                                     default=1)),
                ('instructor',
                 models.ForeignKey(on_delete=models.SET(
                     courses.models.get_sentinel_user),
                                   to='users.UserProfileFaculty')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0004_page_is_raw'),
    ]

    operations = [
        migrations.CreateModel(
            name='Person',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.TextField()),
            ],
        ),
        migrations.AddField(
            model_name='participant',
            name='photo',
            field=models.FileField(blank=True,
                                   upload_to=courses.models.get_photo_path),
        ),
        migrations.AddField(
            model_name='participant',
            name='person',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='participants',
                to='courses.Person'),
        ),
        migrations.AddField(
            model_name='teacher',
            name='person',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='teachers',
                to='courses.Person'),
        ),
    ]
Esempio n. 8
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('main', '0023_auto_20170731_1841'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='CbCourses',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=255)),
                ('content', models.TextField()),
                ('image',
                 models.ImageField(
                     default='courses_image.png',
                     upload_to=courses.models.upload_courses_image)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('meta_data',
                 django.contrib.postgres.fields.jsonb.JSONField()),
                ('is_visible', models.BooleanField(default=True)),
                ('category',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='category_courses',
                     to='main.CbCategory')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='user_courses',
                                   to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'cb_courses',
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('courses', '0011_auto_20180821_0034'),
    ]

    operations = [
        migrations.CreateModel(
            name='WatchedVideos',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('times', models.IntegerField(blank=True, default=0)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='+',
                                   to=settings.AUTH_USER_MODEL)),
                ('video',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='watched',
                                   to='courses.Video')),
            ],
        ),
        migrations.AlterField(
            model_name='document',
            name='file',
            field=models.FileField(blank=True,
                                   null=True,
                                   upload_to=courses.models.upload_to_dir,
                                   validators=[
                                       courses.validators.FileValidator(
                                           allowed_extensions='pdf',
                                           allowed_mimetypes='application/pdf',
                                           max_size=104857600)
                                   ]),
        ),
    ]
Esempio n. 10
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Subject',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('description', models.CharField(max_length=500)),
                ('pub_date', models.DateTimeField(auto_now=True)),
                ('slug', models.SlugField(max_length=200, unique=True)),
            ],
            options={
                'verbose_name': 'Subject',
                'ordering': ('title', ),
            },
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=50)),
                ('image',
                 models.ImageField(
                     blank=True, upload_to=courses.models.upload_image_path)),
                ('description', models.CharField(max_length=500)),
                ('pub_date', models.DateTimeField(auto_now=True)),
                ('slug', models.SlugField(max_length=200, unique=True)),
                ('subject',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='products',
                                   to='courses.Subject')),
            ],
            options={
                'ordering': ('title', ),
                'index_together': {('id', 'slug')},
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0023_auto_20190723_0851'),
    ]

    operations = [
        migrations.AddField(
            model_name='course',
            name='department',
            field=models.ForeignKey(
                default=courses.models.get_department,
                on_delete=django.db.models.deletion.CASCADE,
                to='courses.Department'),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0005_auto_20190331_0313'),
    ]

    operations = [
        migrations.AddField(
            model_name='course',
            name='certificate',
            field=models.ImageField(blank=True, null=True, upload_to=courses.models.course_directory_path),
        ),
        migrations.AlterField(
            model_name='topic',
            name='course',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='topics', to='courses.Course'),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='CourseDetail',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('subject', models.CharField(max_length=120)),
                ('description', models.TextField()),
                ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_image_path)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('accounts', '0012_student_grades'),
        ('courses', '0015_auto_20190411_1951'),
    ]

    operations = [
        migrations.AddField(
            model_name='grade',
            name='file',
            field=models.FileField(blank=True, default=None, upload_to=courses.models.response_upload_address),
        ),
        migrations.AddField(
            model_name='grade',
            name='stdnt',
            field=models.ForeignKey(blank=True, default=None, on_delete=django.db.models.deletion.CASCADE, to='accounts.Student'),
        ),
        migrations.AlterField(
            model_name='grade',
            name='assignment',
            field=models.OneToOneField(blank=True, default=None, on_delete=django.db.models.deletion.CASCADE, to='courses.Assignment'),
        ),
        migrations.AlterField(
            model_name='grade',
            name='grade_value',
            field=models.FloatField(blank=True, default=None),
        ),
        migrations.AlterField(
            model_name='homework',
            name='file',
            field=models.FileField(blank=True, upload_to=courses.models.homework_upload_address),
        ),
        migrations.AlterField(
            model_name='quiz',
            name='file',
            field=models.FileField(blank=True, upload_to=courses.models.quiz_upload_address),
        ),
        migrations.AlterField(
            model_name='survey',
            name='file',
            field=models.FileField(blank=True, upload_to=courses.models.survey_upload_address),
        ),
    ]
Esempio n. 15
0
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0005_delete_resources_20190911_0815'),
    ]

    operations = [
        migrations.CreateModel(
            name='Resource',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('category', models.CharField(choices=[('IC', 'In Class'), ('LL', 'Language Learning'), ('FS', 'Further Study')], default=('IC', 'In Class'), max_length=2)),
                ('link_URL', models.URLField(blank=True)),
                ('link_text', models.CharField(blank=True, max_length=30)),
                ('description', models.TextField(blank=True, max_length=200)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.AlterField(
            model_name='worksheet',
            name='solution_release_datetime',
            field=models.DateTimeField(default=courses.models.Worksheet.default_release_date),
        ),
        migrations.CreateModel(
            name='CourseResource',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('category', models.CharField(choices=[('IC', 'In Class'), ('LL', 'Language Learning'), ('FS', 'Further Study')], default=('IC', 'In Class'), max_length=2)),
                ('link_URL', models.URLField(blank=True)),
                ('link_text', models.CharField(blank=True, max_length=30)),
                ('description', models.TextField(blank=True, max_length=200)),
                ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Course')),
            ],
            options={
                'abstract': False,
            },
        ),
    ]
Esempio n. 16
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=120)),
                ('content', models.TextField()),
                ('image',
                 models.ImageField(blank=True,
                                   null=True,
                                   upload_to=courses.models.uploded_location)),
                ('publish', models.DateField()),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('video',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=courses.models.uploded_location)),
                ('user',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=True,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
Esempio n. 17
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('orgs', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='CourseInfo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('image', models.ImageField(max_length=200, upload_to='course/', verbose_name='课程封面')),
                ('name', models.CharField(max_length=20, verbose_name='课程名称')),
                ('study_time', models.IntegerField(default=0, verbose_name='学习时长')),
                ('study_num', models.IntegerField(default=0, verbose_name='学习人数')),
                ('level', models.CharField(choices=[('gj', '高级'), ('zj', '中级'), ('cj', '初级')], default='cj', max_length=20, verbose_name='课程难度')),
                ('love_num', models.IntegerField(default=0, verbose_name='收藏数')),
                ('click_num', models.IntegerField(default=0, verbose_name='点击数')),
                ('desc', models.CharField(max_length=200, verbose_name='简介')),
                ('detail', models.TextField(verbose_name='课程详情')),
                ('category', models.CharField(choices=[('qd', '前端开发'), ('hd', '后端开发')], max_length=20, verbose_name='课程类别')),
                ('course_notice', models.CharField(max_length=200, verbose_name='课程公告')),
                ('course_need', models.CharField(max_length=100, verbose_name='课程须知')),
                ('course_tell', models.CharField(max_length=100, verbose_name='老师教导')),
                ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')),
                ('orginfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='orgs.OrgInfo', verbose_name='所属机构')),
                ('teacherinfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='orgs.TeacherInfo', verbose_name='所属讲师')),
            ],
            options={
                'verbose_name': '课程信息',
                'verbose_name_plural': '课程信息',
            },
        ),
        migrations.CreateModel(
            name='LessonInfo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='章节名称')),
                ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')),
                ('courseInfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.CourseInfo', verbose_name='所属课程')),
            ],
            options={
                'verbose_name': '课程信息',
                'verbose_name_plural': '课程信息',
            },
        ),
        migrations.CreateModel(
            name='SourceInfo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='资源名称')),
                ('down_load', models.FileField(max_length=200, upload_to='source/', verbose_name='下载路径')),
                ('所属课程', models.FileField(upload_to='', verbose_name=courses.models.CourseInfo)),
                ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')),
            ],
            options={
                'verbose_name': '资源信息',
                'verbose_name_plural': '资源信息',
            },
        ),
        migrations.CreateModel(
            name='VideoInfo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='视频名称')),
                ('study_time', models.IntegerField(default=0, verbose_name='视频时长')),
                ('url', models.URLField(default='http://www.atguigu.com', verbose_name='视频链接')),
                ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')),
                ('lessoninfo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.LessonInfo', verbose_name='所属章节')),
            ],
            options={
                'verbose_name': '视频信息',
                'verbose_name_plural': '视频信息',
            },
        ),
    ]
Esempio n. 18
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Contest',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField()),
                ('title', models.TextField()),
                ('statements', models.FileField(blank=True, upload_to=courses.models.get_statements_file_path)),
                ('show_statements', models.BooleanField(default=False)),
                ('duration', models.IntegerField(default=0)),
                ('coefficient', models.FloatField(default=1.0)),
                ('is_olymp', models.BooleanField(default=False)),
                ('judge', models.CharField(choices=[('EJ', 'Ejudge'), ('CF', 'Codeforces'), ('IN', 'Informatics')], default='EJ', max_length=2)),
                ('contest_id', models.IntegerField()),
                ('external_group_id', models.TextField(blank=True)),
                ('other_link', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='ContestLink',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('file', models.FileField(blank=True, upload_to=courses.models.get_contest_file_path)),
                ('link', models.TextField(blank=True)),
                ('new_tab', models.BooleanField(default=False)),
                ('priority', models.IntegerField(default=0)),
                ('contest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Contest')),
            ],
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('label', models.TextField(unique=True)),
                ('title', models.TextField(blank=True)),
                ('subtitle', models.TextField(blank=True)),
                ('template', models.TextField(default='course.html')),
                ('ejudge_url', models.TextField(blank=True)),
                ('url', models.TextField(blank=True)),
                ('name_in_main', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='CourseLink',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('file', models.FileField(blank=True, upload_to=courses.models.get_course_file_path)),
                ('link', models.TextField(blank=True)),
                ('hidden', models.BooleanField(default=False)),
                ('new_tab', models.BooleanField(default=False)),
                ('priority', models.IntegerField(default=0)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='Main',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.TextField(blank=True)),
                ('subtitle', models.TextField(blank=True)),
                ('courses', models.ManyToManyField(to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='MainLink',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('file', models.FileField(blank=True, upload_to=courses.models.get_main_file_path)),
                ('link', models.TextField(blank=True)),
                ('hidden', models.BooleanField(default=False)),
                ('new_tab', models.BooleanField(default=False)),
                ('priority', models.IntegerField(default=0)),
                ('main', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='links', to='courses.Main')),
            ],
        ),
        migrations.CreateModel(
            name='Page',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('label', models.TextField(unique=True)),
                ('title', models.TextField(blank=True)),
                ('subtitle', models.TextField(blank=True)),
                ('content', models.TextField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='Participant',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.TextField(verbose_name='Surname and name')),
                ('ejudge_id', models.IntegerField(blank=True, null=True)),
                ('informatics_id', models.IntegerField(blank=True, null=True)),
                ('codeforces_handle', models.TextField(blank=True)),
                ('comment', models.TextField(blank=True)),
                ('email', models.TextField(blank=True)),
                ('telegram_id', models.TextField(blank=True)),
                ('vk_id', models.TextField(blank=True)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='ParticipantsGroup',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.TextField()),
                ('short_name', models.TextField()),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='groups', to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='Standings',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.TextField()),
                ('olymp', models.BooleanField(default=False)),
                ('enable_marks', models.BooleanField(default=False)),
                ('js_for_contest_mark', models.TextField(blank=True)),
                ('js_for_total_mark', models.TextField(blank=True)),
                ('js', models.TextField(blank=True)),
                ('contests', models.ManyToManyField(related_name='standings', to='courses.Contest')),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='standings', to='courses.Course')),
            ],
            options={
                'verbose_name_plural': 'Standings',
            },
        ),
        migrations.CreateModel(
            name='Teacher',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.TextField()),
                ('description', models.TextField(blank=True)),
                ('photo', models.FileField(blank=True, upload_to=courses.models.get_photo_path)),
                ('vk_id', models.TextField(blank=True)),
                ('telegram_id', models.TextField(blank=True)),
            ],
        ),
        migrations.AddField(
            model_name='participant',
            name='group',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='courses.ParticipantsGroup'),
        ),
        migrations.AddField(
            model_name='course',
            name='teachers',
            field=models.ManyToManyField(blank=True, related_name='courses', to='courses.Teacher'),
        ),
        migrations.AddField(
            model_name='contest',
            name='course',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contests', to='courses.Course'),
        ),
    ]
Esempio n. 19
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('orgnization', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Chapter',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('chapter_order', models.IntegerField(default=0, verbose_name='章节序号')),
                ('chapter_title', models.CharField(max_length=128, verbose_name='章节标题')),
                ('chapter_desc', models.CharField(max_length=1024, verbose_name='章节介绍')),
                ('add_time', models.DateField(default=datetime.datetime.now, verbose_name='添加时间')),
            ],
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='课程名')),
                ('desc', models.CharField(max_length=300, verbose_name='课程描述')),
                ('detail', models.TextField(verbose_name='课程详情')),
                ('degree', models.CharField(choices=[('cj', '初级'), ('zj', '中级'), ('gj', '高级')], max_length=2, verbose_name='难度')),
                ('score', models.IntegerField(default=0, verbose_name='课程评分')),
                ('total_duration_study', models.IntegerField(default=0, verbose_name='学习时长(分钟)')),
                ('students_nums', models.IntegerField(default=0, verbose_name='学习人数')),
                ('fav_nums', models.IntegerField(default=0, verbose_name='收藏人数')),
                ('image', models.ImageField(upload_to='courses/%Y/%m', verbose_name='课程封面')),
                ('click_nums', models.IntegerField(default=0, verbose_name='点击数')),
                ('category', models.CharField(default='理论知识', max_length=20, verbose_name='课程类别')),
                ('tag', models.CharField(default='', max_length=10, verbose_name='课程标签')),
                ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')),
                ('course_org', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='orgnization.CourseOrg', verbose_name='课程机构')),
                ('teacher', models.ManyToManyField(blank=True, null=True, to='orgnization.Teacher', verbose_name='授课教师')),
            ],
            options={
                'verbose_name': '课程',
                'verbose_name_plural': '课程',
            },
        ),
        migrations.CreateModel(
            name='CourseResource',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, verbose_name='名称')),
                ('download', models.FileField(upload_to='course/resource/%Y/%m', verbose_name='资源文件')),
                ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='课程')),
            ],
            options={
                'verbose_name': '课程资源',
                'verbose_name_plural': '课程资源',
            },
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('lesson_order', models.IntegerField(default=0, verbose_name='小节序号')),
                ('lesson_name', models.CharField(max_length=128, verbose_name='小节标题')),
                ('lesson_time_duration', models.CharField(max_length=10, verbose_name='视频时长')),
                ('add_time', models.DateField(default=datetime.datetime.now, verbose_name='添加时间')),
                ('chapter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Chapter', verbose_name='小节')),
            ],
            options={
                'verbose_name': '章节',
                'verbose_name_plural': '章节',
            },
        ),
        migrations.CreateModel(
            name='Video',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, verbose_name='视频名')),
                ('video_source', models.FileField(upload_to=courses.models.Video.upload_to)),
                ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name='添加时间')),
                ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Lesson', verbose_name='章节')),
            ],
            options={
                'verbose_name': '视频',
                'verbose_name_plural': '视频',
            },
        ),
        migrations.AddField(
            model_name='chapter',
            name='course',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Course', verbose_name='章节'),
        ),
    ]
Esempio n. 20
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=40)),
                ('started',
                 models.PositiveIntegerField(
                     default=2020,
                     validators=[
                         django.core.validators.MinValueValidator(1970),
                         courses.models.max_value_current_year
                     ])),
            ],
            options={
                'ordering': ('name', ),
            },
        ),
        migrations.CreateModel(
            name='CourseGrade',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('grade',
                 models.CharField(choices=[('A', 'Excellent'), ('B', 'Good'),
                                           ('C', 'Fair'), ('D', 'Poor')],
                                  max_length=1)),
            ],
            options={
                'ordering': ('student', 'course', 'grade'),
            },
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('start_time', models.DateTimeField(blank=True, null=True)),
                ('duration', models.IntegerField(blank=True, null=True)),
                ('location',
                 models.CharField(blank=True, max_length=80, null=True)),
            ],
            options={
                'ordering': ('course', '-start_time'),
            },
        ),
        migrations.CreateModel(
            name='LessonGrade',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('grade',
                 models.CharField(choices=[('A', 'Excellent'), ('B', 'Good'),
                                           ('C', 'Fair'), ('D', 'Poor')],
                                  max_length=1)),
                ('lesson',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.Lesson')),
            ],
            options={
                'ordering': ('student', 'lesson', 'grade'),
            },
        ),
    ]
Esempio n. 21
0
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0008_contest_contest_type'),
    ]

    operations = [
        migrations.CreateModel(
            name='BlitzProblem',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('problem_id', models.TextField()),
                ('description', models.TextField(blank=True)),
                ('statements',
                 models.FileField(
                     upload_to=courses.models.get_blitz_statements_file_path)),
            ],
        ),
        migrations.RemoveField(
            model_name='contest',
            name='is_olymp',
        ),
        migrations.AddField(
            model_name='standings',
            name='contest_type',
            field=models.CharField(choices=[('AC', 'Acm'), ('OL', 'Olympiad'),
                                            ('BS', 'Battleship'),
                                            ('BT', 'Blitz')],
                                   default='AC',
                                   max_length=2),
        ),
        migrations.RunPython(change_olymp_to_type, revert_type_to_olymp),
        migrations.CreateModel(
            name='BlitzProblemStart',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('participant_id', models.IntegerField()),
                ('time', models.DateTimeField(auto_now_add=True)),
                ('bid', models.IntegerField(default=0)),
                ('problem',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='starts',
                                   to='courses.BlitzProblem')),
            ],
        ),
        migrations.AddField(
            model_name='blitzproblem',
            name='contest',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='blitz_problems',
                to='courses.Contest'),
        ),
    ]
Esempio n. 22
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=256)),
                ('participants', models.ManyToManyField(to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Lecture',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('topic', models.CharField(max_length=256)),
                ('document', models.FileField(upload_to=courses.models.get_upload_path_doc)),
                ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.course')),
            ],
        ),
        migrations.CreateModel(
            name='Task',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('lecture', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.lecture')),
            ],
        ),
        migrations.CreateModel(
            name='Solution',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.task')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Mark',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('result', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(10)])),
                ('solution', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='courses.solution')),
            ],
        ),
        migrations.CreateModel(
            name='Comment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('text', models.TextField()),
                ('mark', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.mark')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
Esempio n. 23
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=50,
                                  verbose_name='\u8ab2\u7a0b\u540d')),
                ('desc',
                 models.CharField(max_length=300,
                                  verbose_name='\u8ab2\u7a0b\u63cf\u8ff0')),
                ('detail',
                 models.TextField(verbose_name='\u8ab2\u7a0b\u8a73\u60c5')),
                ('instructor',
                 models.CharField(blank=True,
                                  max_length=50,
                                  null=True,
                                  verbose_name='\u6307\u5c0e\u8001\u5e2b')),
                ('image',
                 models.ImageField(blank=True,
                                   default='img/course/default_course.jpg',
                                   null=True,
                                   upload_to=courses.models.get_image_path)),
                ('add_time',
                 models.DateTimeField(
                     default=datetime.datetime.now,
                     verbose_name='\u6dfb\u52a0\u6642\u9593')),
            ],
            options={
                'verbose_name': '\u8ab2\u7a0b',
                'verbose_name_plural': '\u8ab2\u7a0b',
            },
        ),
        migrations.CreateModel(
            name='CourseHomework',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100,
                                  verbose_name='\u6a19\u984c')),
                ('desc',
                 models.CharField(blank=True,
                                  max_length=200,
                                  null=True,
                                  verbose_name='\u63cf\u8ff0')),
                ('detail',
                 models.CharField(blank=True,
                                  max_length=500,
                                  null=True,
                                  verbose_name='\u5167\u5bb9')),
                ('uploadFile',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=courses.models.get_courseHw_image_path,
                     verbose_name='\u7bc4\u4f8b\u6a94\u6848')),
                ('limit_time',
                 models.DateTimeField(
                     default=datetime.datetime(2017, 3, 31, 0, 37, 25, 707845),
                     verbose_name='\u7e73\u4ea4\u6642\u9593')),
                ('add_time',
                 models.DateTimeField(
                     default=datetime.datetime.now,
                     verbose_name='\u6dfb\u52a0\u6642\u9593')),
            ],
            options={
                'verbose_name': '\u8ab2\u7a0b\u4f5c\u696d',
                'verbose_name_plural': '\u8ab2\u7a0b\u4f5c\u696d',
            },
        ),
        migrations.CreateModel(
            name='CourseResource',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100,
                                  verbose_name='\u540d\u7a31')),
                ('detail',
                 models.TextField(blank=True,
                                  null=True,
                                  verbose_name='\u6587\u4ef6\u63cf\u8ff0')),
                ('download',
                 models.FileField(
                     blank=True,
                     null=True,
                     upload_to=courses.models.get_courseResource_image_path,
                     verbose_name='\u8cc7\u6e90\u6587\u4ef6')),
                ('add_time',
                 models.DateTimeField(
                     default=datetime.datetime.now,
                     verbose_name='\u6dfb\u52a0\u6642\u9593')),
            ],
            options={
                'verbose_name': '\u8ab2\u7a0b\u8cc7\u6e90',
                'verbose_name_plural': '\u8ab2\u7a0b\u8cc7\u6e90',
            },
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100,
                                  verbose_name='\u7ae0\u7bc0\u540d')),
                ('add_time',
                 models.DateTimeField(
                     default=datetime.datetime.now,
                     verbose_name='\u6dfb\u52a0\u6642\u9593')),
            ],
            options={
                'verbose_name': '\u7ae0\u7bc0',
                'verbose_name_plural': '\u7ae0\u7bc0',
            },
        ),
        migrations.CreateModel(
            name='StudentHomework',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('add_time',
                 models.DateTimeField(
                     default=datetime.datetime.now,
                     verbose_name='\u6dfb\u52a0\u6642\u9593')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.Course',
                                   verbose_name='\u8ab2\u7a0b')),
                ('homework',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.CourseHomework',
                                   verbose_name='\u4f5c\u696d')),
            ],
            options={
                'verbose_name': '\u5b78\u751f\u4f5c\u696d\u4e0a\u50b3',
                'verbose_name_plural': '\u5b78\u751f\u4f5c\u696d\u4e0a\u50b3',
            },
        ),
    ]
Esempio n. 24
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('taggit', '0002_auto_20150616_2121'),
    ]

    operations = [
        migrations.CreateModel(
            name='Alternative',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('description', models.TextField(max_length=500)),
                ('is_correct', models.BooleanField(default=False)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Category',
                'verbose_name_plural': 'Categories',
            },
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('description', models.TextField(max_length=300)),
                ('image',
                 models.ImageField(blank=True,
                                   null=True,
                                   upload_to='images/courses')),
                ('category',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='categories',
                                   to='courses.Category')),
            ],
        ),
        migrations.CreateModel(
            name='Document',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('uri',
                 models.FileField(upload_to=courses.models.upload_to_dir)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='Enrollment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='enrollments',
                                   to='courses.Course')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='+',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Exam',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=100)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='Instructor',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('contact', models.EmailField(max_length=100)),
                ('about', models.TextField(max_length=200)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('statement', models.TextField(max_length=500)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('exam',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='questions',
                                   to='courses.Exam')),
            ],
        ),
        migrations.CreateModel(
            name='Unit',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('description', models.CharField(max_length=100)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='units',
                                   to='courses.Course')),
            ],
        ),
        migrations.CreateModel(
            name='Video',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('uri', models.URLField(max_length=2000)),
                ('created_at', models.DateField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('unit',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='videos',
                                   to='courses.Unit')),
            ],
        ),
        migrations.AddField(
            model_name='exam',
            name='unit',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='exams',
                to='courses.Unit'),
        ),
        migrations.AddField(
            model_name='document',
            name='unit',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='documents',
                to='courses.Unit'),
        ),
        migrations.AddField(
            model_name='course',
            name='instructor',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='instructors',
                to='courses.Instructor'),
        ),
        migrations.AddField(
            model_name='course',
            name='keywords',
            field=taggit.managers.TaggableManager(
                help_text='A comma-separated list of tags.',
                through='taggit.TaggedItem',
                to='taggit.Tag',
                verbose_name='keywords'),
        ),
        migrations.AddField(
            model_name='alternative',
            name='question',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='alternatives',
                to='courses.Question'),
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='ConnectionPlatform',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=150)),
                ('url_link', models.URLField(blank=True)),
                ('deleted', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='Event',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_recurrent', models.BooleanField(default=False, null=True)),
                ('is_recorded', models.BooleanField(default=False, null=True)),
                ('event_type', models.CharField(blank=True, choices=[('COURSE', 'Course'), ('EVENT', 'Event')], max_length=50)),
                ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.upload_event_picture)),
                ('title', models.CharField(blank=True, max_length=150)),
                ('description', models.CharField(blank=True, max_length=10000)),
                ('other_platform', models.CharField(blank=True, max_length=150)),
                ('reference_price', models.FloatField(blank=True, default=0, null=True)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('date_start', models.DateTimeField(blank=True, null=True)),
                ('date_end', models.DateTimeField(blank=True, null=True)),
                ('date_recorded', models.DateTimeField(blank=True, null=True)),
                ('schedule_description', models.CharField(blank=True, max_length=1000)),
                ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
                ('platform', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.ConnectionPlatform')),
            ],
        ),
        migrations.CreateModel(
            name='CertificateRequest',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateTimeField(auto_now_add=True, null=True)),
                ('accepted', models.BooleanField(blank=True, default=None, null=True)),
                ('deleted', models.BooleanField(blank=True, default=False, null=True)),
                ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Event')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Certificate',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('event', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='courses.Event')),
                ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Bookmark',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateTimeField(auto_now_add=True, null=True)),
                ('deleted', models.BooleanField(blank=True, default=False, null=True)),
                ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='courses.Event')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
Esempio n. 26
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('categories', '0001_initial'),
        ('videos', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=150)),
                ('slug', models.SlugField(blank=True)),
                ('image', models.ImageField(blank=True, null=True, upload_to=courses.models.course_directory_path)),
                ('order', courses.fields.PositionField(default=-1)),
                ('description', models.TextField()),
                ('price', models.DecimalField(blank=True, decimal_places=2, help_text='Si existe un descuento especial agrega una cantidad al precio neto, de lo contrario deja este campo vacío y utiliza solo el precio de lista.', max_digits=6, null=True, verbose_name='Precio Neto')),
                ('list_price', models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True, verbose_name='Precio de lista o precio regular')),
                ('active', models.BooleanField(default=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='primary_category', to='categories.Category')),
                ('secondary', models.ManyToManyField(blank=True, related_name='secondary_category', to='categories.Category')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Lecture',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=120)),
                ('order', courses.fields.PositionField(default=-1)),
                ('slug', models.SlugField(blank=True)),
                ('free', models.BooleanField(default=False)),
                ('description', models.TextField(blank=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('course', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='courses.Course')),
                ('video', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='videos.Video')),
            ],
            options={
                'ordering': ['order', 'title'],
            },
        ),
        migrations.CreateModel(
            name='MyCourses',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('updated', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('courses', models.ManyToManyField(blank=True, related_name='owned', to='courses.Course')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'My courses',
                'verbose_name_plural': 'My courses',
            },
        ),
        migrations.AlterUniqueTogether(
            name='lecture',
            unique_together=set([('slug', 'course')]),
        ),
    ]
Esempio n. 27
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Courses',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('deleted', models.DateTimeField(editable=False, null=True)),
                ('name', models.CharField(max_length=100,
                                          verbose_name='name')),
                ('slug', models.CharField(max_length=100,
                                          verbose_name='slug')),
                ('short_description',
                 models.TextField(max_length=300,
                                  verbose_name='short description')),
                ('description', models.TextField(verbose_name='description')),
                ('course_fee', models.FloatField(verbose_name='course fee')),
                ('image',
                 models.ImageField(upload_to=courses.models.course_image_path,
                                   verbose_name='image')),
                ('is_active',
                 models.BooleanField(default=True, verbose_name='is active')),
                ('created_at',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='created at')),
            ],
            options={
                'verbose_name': 'course',
                'verbose_name_plural': 'courses',
            },
        ),
        migrations.CreateModel(
            name='Enrolled',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('payment_status',
                 models.CharField(choices=[('unpaid', 'Unpaid'),
                                           ('partly', 'Part Payment'),
                                           ('paid', 'Fully Paid')],
                                  max_length=50)),
                ('date_enrolled',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='created at')),
            ],
        ),
        migrations.CreateModel(
            name='Modules',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('deleted', models.DateTimeField(editable=False, null=True)),
                ('name', models.CharField(max_length=100,
                                          verbose_name='name')),
                ('description', models.TextField(verbose_name='description')),
                ('order', models.IntegerField(verbose_name='order')),
                ('date_created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='date created')),
            ],
            options={
                'verbose_name': 'module',
                'verbose_name_plural': 'modules',
            },
        ),
        migrations.CreateModel(
            name='UserModules',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('deleted', models.DateTimeField(editable=False, null=True)),
                ('date_activated',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='date activated')),
                ('expires', models.DateTimeField(verbose_name='date expires')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='user_modules',
                                   to='courses.Courses')),
                ('module',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.Modules')),
            ],
        ),
    ]
Esempio n. 28
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Answer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.CharField(max_length=100, null=True)),
                ('correct', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('category',
                 models.CharField(choices=[('other', 'inna'),
                                           ('infa', 'informatyka'),
                                           ('matma', 'matematyka'),
                                           ('fizyka', 'fizyka'),
                                           ('biologia', 'biologia'),
                                           ('chemia', 'chemia')],
                                  default='other',
                                  max_length=100)),
                ('desc', models.CharField(max_length=1000)),
                ('slug',
                 models.SlugField(allow_unicode=True,
                                  blank=True,
                                  null=True,
                                  unique=True)),
                ('node_count', models.PositiveIntegerField(default=0)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='author_courses',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Node',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('desc', models.CharField(max_length=200)),
                ('content', models.CharField(default='', max_length=2000)),
                ('slug',
                 models.SlugField(allow_unicode=True, blank=True, null=True)),
                ('node_type',
                 models.CharField(choices=[('lesson', 'Lekcja'),
                                           ('test', 'Test')],
                                  default='lesson',
                                  max_length=20)),
                ('node_number', models.PositiveIntegerField(default=0)),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.course')),
            ],
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text', models.CharField(max_length=200, null=True)),
                ('answers', models.ManyToManyField(to='courses.Answer')),
                ('node',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.node')),
            ],
        ),
        migrations.CreateModel(
            name='LessonFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('lesson_type',
                 multiselectfield.db.fields.MultiSelectField(choices=[
                     ('0', 'Wzrokowiec'), ('1', 'Kinestetyk'),
                     ('2', 'Słuchowiec')
                 ],
                                                             default='0',
                                                             max_length=5)),
                ('lesson_file',
                 models.FileField(upload_to=courses.models.get_upload_path)),
                ('node',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='courses.node')),
            ],
        ),
    ]
Esempio n. 29
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100, verbose_name='название')),
                ('slug', models.SlugField(unique=True, verbose_name='ссылка')),
                ('description', models.TextField(verbose_name='описание')),
            ],
            options={
                'verbose_name': 'Курс',
                'verbose_name_plural': 'Курсы',
                'ordering': ['-id'],
            },
        ),
        migrations.CreateModel(
            name='Lesson',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=100, verbose_name='название')),
                ('slug', models.SlugField(verbose_name='ссылка')),
                ('video',
                 coursify.fields.VideoField(
                     blank=True,
                     upload_to=courses.models.lesson_video_upload_to,
                     verbose_name='видео')),
                ('content', models.TextField(blank=True,
                                             verbose_name='контент')),
                ('order',
                 models.PositiveIntegerField(default=0,
                                             verbose_name='порядок')),
                ('course',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='lessons',
                                   to='courses.Course',
                                   verbose_name='курс')),
            ],
            options={
                'verbose_name': 'Урок',
                'verbose_name_plural': 'Уроки',
                'ordering': ['order'],
                'unique_together': {('course', 'slug')},
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('courses', '0023_battleship_public'),
    ]

    operations = [
        migrations.CreateModel(
            name='FormBuilder',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('label', models.TextField(unique=True)),
                ('title', models.TextField()),
                ('subtitle', models.TextField(blank=True)),
                ('send_mail', models.BooleanField(default=False)),
                ('mail_host', models.TextField(blank=True)),
                ('mail_port', models.TextField(blank=True)),
                ('mail_username', models.TextField(blank=True)),
                ('mail_password', models.TextField(blank=True)),
                ('mail_template', models.TextField(blank=True)),
                ('registerNameTemplate', models.TextField(blank=True)),
                ('registerApi',
                 models.ManyToManyField(blank=True,
                                        related_name='forms',
                                        to='courses.EjudgeRegisterApi')),
            ],
        ),
        migrations.CreateModel(
            name='FormField',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('label', models.TextField()),
                ('type',
                 models.CharField(choices=[('ST', 'Small text field'),
                                           ('IN', 'Number'),
                                           ('ML', 'Mail address'),
                                           ('PH', 'Phone number'),
                                           ('LO', 'Large text field'),
                                           ('CB', 'Check box'),
                                           ('TX', 'Some text')],
                                  default='ST',
                                  max_length=2)),
                ('required', models.BooleanField(default=False)),
                ('internal_name', models.TextField()),
                ('description', models.TextField(blank=True)),
                ('form',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='fields',
                                   to='courses.formbuilder')),
            ],
            bases=(models.Model, courses.models.FormFieldType),
        ),
        migrations.CreateModel(
            name='FormEntry',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('data', models.TextField()),
                ('form',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='enteries',
                                   to='courses.formbuilder')),
            ],
        ),
    ]