class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Assignment', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('title', models.CharField(max_length=200)), ('description', models.CharField(max_length=600)), ('date', models.DateTimeField(auto_now_add=True)), ('deadline', models.DateField()), ('by_teacher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-date', ), }, ), migrations.CreateModel( name='UploadedAssignment', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('upload_file', models.FileField( upload_to=assignments.models.user_directory_path, validators=[ django.core.validators.FileExtensionValidator( allowed_extensions=['pdf', 'docx']) ])), ('uploaded_date', models.DateField(auto_now_add=True, db_index=True)), ('assignment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignment', to='assignments.Assignment')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignment_uploaded', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-uploaded_date', ), }, ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('assignments', '0003_auto_20201203_1016'), ] operations = [ migrations.CreateModel( name='UploadAssignment', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('upload_file', models.FileField(upload_to=assignments.models.user_directory_path, validators=[django.core.validators.FileExtensionValidator(allowed_extensions=['pdf', 'docx'])])), ('uploaded_date', models.DateField(auto_now_add=True, db_index=True)), ('assignment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='upload_assignment', to='assignments.giveassignment')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='upload_by_student', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-uploaded_date',), }, ), migrations.DeleteModel( name='UploadedAssignment', ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('booking', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Exercise', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('file', models.FileField( upload_to=assignments.models.get_exercise_filepath)), ('feedback_text', models.TextField(blank=True, max_length=1500, null=True)), ('approved', models.BooleanField(blank=True, null=True)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='exercise_uploads', to='booking.Course')), ('feedback_by', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='reviews', to=settings.AUTH_USER_MODEL)), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='exercises', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ['approved'], }, ), ]
class Migration(migrations.Migration): dependencies = [ ('courses', '0001_initial'), ('assignments', '0001_initial'), ] operations = [ migrations.RemoveField( model_name='assignment', name='grade', ), migrations.AddField( model_name='assignment', name='assignment_file', field=models.FileField( blank=True, upload_to=assignments.models.user_directory_path), ), migrations.AddField( model_name='assignment', name='course', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to='courses.Course'), ), migrations.AddField( model_name='assignment', name='score', field=models.FloatField(blank=True, default=0.0), ), migrations.AlterField( model_name='assignment', name='description', field=models.CharField(blank=True, max_length=500), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Enrollment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('enrollment_status', models.CharField(choices=[('NOT-STARTED', 'NOT STARTED'), ('IN-REVIEW', 'IN REVIEW'), ('RE-SUBMIT', 'RE SUBMIT'), ('IN-PROGRESS', 'IN PROGRESS'), ('COMPLETED', 'COMPLETED'), ('NEXT-MODULE', 'NEXT MODULE')], default=None, max_length=30)), ('enrollment_method', models.CharField(choices=[('AUTOMATIC', 'AUTOMATIC ENROLLMENT'), ('MANUAL', 'MANUAL ENROLLMENT'), ('SETDATE', 'SET DATE')], default=None, max_length=30)), ('total_tasks', models.IntegerField(default=0)), ('tasks_completed', models.IntegerField(default=0)), ('rejected_count', models.PositiveIntegerField(default=0)), ('date_set', models.DateTimeField(blank=True, null=True)), ('date_to_start', models.DateTimeField(blank=True, null=True)), ('date_due', models.DateTimeField(blank=True, null=True)), ('date_completed', models.DateTimeField(blank=True, null=True)), ], options={ 'verbose_name': 'Enrollment', 'verbose_name_plural': 'Enrollements', }, ), migrations.CreateModel( name='Module', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=255)), ('description', ckeditor.fields.RichTextField()), ('status', models.CharField(blank=True, choices=[('DRAFT', 'Draft'), ('PUBLISHED', 'Published')], default='DRAFT', max_length=255, null=True)), ('short_title', models.CharField(blank=True, max_length=255, null=True)), ('cover_image', models.FileField(blank=True, null=True, upload_to='module-cover-image')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Module', 'verbose_name_plural': 'Modules', }, ), migrations.CreateModel( name='ModuleCategory', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('category_type', models.CharField(max_length=255, unique=True)), ('category_description', models.TextField()), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Module Category', 'verbose_name_plural': 'Module Categories', }, ), migrations.CreateModel( name='ModuleLesson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('lesson_name', models.CharField(max_length=255)), ('completed', models.BooleanField(default=False)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('module', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lessons', to='assignments.Module')), ], options={ 'verbose_name': 'Module Lesson', 'verbose_name_plural': 'Module Lessons', }, ), migrations.CreateModel( name='QuizQuestion', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('question', models.TextField()), ('question_type', models.CharField(choices=[('MC', 'Multiple Choice'), ('SC', 'Single Choice')], default='MC', max_length=2)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Quiz Question', 'verbose_name_plural': 'Quiz Questions', }, ), migrations.CreateModel( name='Task', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('task_name', models.CharField(max_length=255)), ('task_description', ckeditor.fields.RichTextField(blank=True, null=True)), ('duration', models.TimeField(blank=True, null=True)), ('content_type', models.CharField(choices=[('TXT', 'RICH TEXT'), ('IMG', 'IMAGE'), ('TXT-IMG', 'TEXT AND IMAGE'), ('PDF', 'PDF'), ('SCREENSHARE', 'Video Screenshare'), ('TALKINGHEAD', 'Video Talking Head'), ('QUIZ', 'QUIZ'), ('FILE', 'UPLOAD FILE - DOWNLOAD FILE'), ('INPUT-FIELD', 'INPUT FIELD')], default='TXT', max_length=30)), ('response_type', models.CharField(choices=[('NONE', 'NONE'), ('TXT', 'RICH TEXT'), ('FILE', 'FILE'), ('QUIZ', 'QUIZ')], default='NONE', max_length=30)), ('task_file', models.FileField(blank=True, max_length=255, null=True, upload_to=assignments.models._update_filename)), ('completed', models.BooleanField(default=False)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tasks', to='assignments.ModuleLesson')), ], options={ 'verbose_name': 'Task', 'verbose_name_plural': 'Tasks', }, ), migrations.CreateModel( name='TaskProgressStatus', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('enrollment_updated', models.BooleanField(default=False)), ('task_response_text', ckeditor.fields.RichTextField(blank=True, null=True)), ('task_response_file', models.FileField(blank=True, null=True, upload_to='task-response-files/')), ('rejected_count', models.PositiveIntegerField(default=0)), ('date_started', models.DateTimeField(auto_now_add=True)), ('date_completed', models.DateTimeField(blank=True, null=True)), ('enrollment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='task_progress', to='assignments.Enrollment')), ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='task_progress_statuses', to='assignments.Task')), ], options={ 'verbose_name': 'Task Progress Status', 'verbose_name_plural': 'Task Progress status', }, ), migrations.CreateModel( name='StudentDetail', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('roll_number', models.CharField(max_length=255)), ('student_type', models.CharField(max_length=20)), ('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='student_detail', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Student Detail', 'verbose_name_plural': 'Student Details', }, ), migrations.CreateModel( name='StaffDetail', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('staff_id', models.CharField(max_length=255, unique=True)), ('staff_role', models.CharField(choices=[('MAN', 'Manager'), ('CC', 'Content Creator'), ('MOD', 'Moderator')], max_length=3)), ('assigned_modules', models.ManyToManyField(blank=True, null=True, related_name='staff_details', to='assignments.Module')), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='staff_detail', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Staff Detail', 'verbose_name_plural': 'Staff Details', }, ), migrations.CreateModel( name='Resource', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('resource_title', models.CharField(max_length=255)), ('resource_short_title', models.CharField(blank=True, max_length=20, null=True)), ('resource_description', ckeditor.fields.RichTextField()), ('suggested_student_type', models.CharField(blank=True, max_length=255, null=True)), ('file_type', models.CharField(choices=[('TXT', 'TEXT'), ('IMG', 'IMAGE'), ('PDF', 'PDF')], default='PDF', max_length=255)), ('can_be_downloaded', models.BooleanField(default=False)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('resource_cover_image', models.FileField(upload_to='resource-cover-image/')), ('resource_text', ckeditor.fields.RichTextField(blank=True, null=True)), ('resource_media_file', models.FileField(blank=True, null=True, upload_to='resource-media-files/')), ('users', models.ManyToManyField(related_name='resources', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Resource', 'verbose_name_plural': 'Resources', }, ), migrations.CreateModel( name='QuizQuestionOption', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('option_content', models.TextField()), ('weightage', models.IntegerField()), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='options', to='assignments.QuizQuestion')), ], options={ 'verbose_name': 'Quiz Question Option', 'verbose_name_plural': 'Quiz Question Options', }, ), migrations.AddField( model_name='quizquestion', name='quiz_task', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='questions', to='assignments.Task'), ), migrations.CreateModel( name='QuizAnswer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('rejected_count', models.IntegerField(default=0)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('options', models.ManyToManyField(related_name='quiz_answers', to='assignments.QuizQuestionOption')), ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quiz_answers', to='assignments.QuizQuestion')), ('task_progress_status', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quiz_answers', to='assignments.TaskProgressStatus')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quiz_answers', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Quiz Answer', 'verbose_name_plural': 'Quiz Answers', }, ), migrations.AddField( model_name='module', name='module_category', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='modules', to='assignments.ModuleCategory'), ), migrations.CreateModel( name='EnrollmentFeedback', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('enrollment_status', models.CharField(choices=[('COM', 'COMPLETED'), ('RES', 'RE-SUBMIT')], max_length=10)), ('comment', ckeditor.fields.RichTextField()), ('feedback_file', models.FileField(blank=True, upload_to='feedback-documents/')), ('enrollment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='enrollments', to='assignments.Enrollment')), ], options={ 'verbose_name': 'Enrollment Feedback', 'verbose_name_plural': 'Enrollment Feedbacks', }, ), migrations.AddField( model_name='enrollment', name='module', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='enrollments', to='assignments.Module'), ), migrations.AddField( model_name='enrollment', name='student', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='enrollments', to=settings.AUTH_USER_MODEL), ), migrations.AlterUniqueTogether( name='enrollment', unique_together={('student', 'module')}, ), ]