hacky reset of migrations

This commit is contained in:
Ross
2023-06-12 11:14:19 +01:00
parent 796ec1a072
commit 4eb421bc33
361 changed files with 949 additions and 8097 deletions
+86 -25
View File
@@ -1,11 +1,11 @@
# Generated by Django 3.1.2 on 2021-01-18 13:39
# Generated by Django 4.1.4 on 2023-06-12 10:07
from django.conf import settings
import django.core.files.storage
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import rapids.models
import sortedm2m.fields
class Migration(migrations.Migration):
@@ -13,6 +13,7 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('generic', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
@@ -27,6 +28,38 @@ class Migration(migrations.Migration):
'ordering': ('name',),
},
),
migrations.CreateModel(
name='Exam',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(help_text='Name of the exam', max_length=200)),
('active', models.BooleanField(default=False, help_text='If an exam should be available to take')),
('exam_mode', models.BooleanField(default=False, help_text='If an exam should be taken in exam mode (users results will be submited to the server for marking)')),
('include_history', models.BooleanField(default=False, help_text='If an exam should include history when taking')),
('publish_results', models.BooleanField(default=False, help_text='If an exams results should be available')),
('recreate_json', models.BooleanField(default=False, help_text='If the json cache needs updating')),
('json_creation_time', models.DateTimeField(blank=True, default=None, null=True)),
('exam_json_id', models.IntegerField(default=1, help_text='auto incrementing field when json recreated')),
('archive', models.BooleanField(default=False, help_text='Archived exams will remain on the test system but will not be displayed by default')),
('open_access', models.BooleanField(default=False, help_text='If the exam is freely accessible (to view and edit on the test system)')),
('authors_only', models.BooleanField(default=False, help_text='If true only exam authors will be able to view.')),
('stats_mean', models.FloatField(default=0)),
('stats_mode', models.CharField(default=0, max_length=25)),
('stats_median', models.FloatField(default=0)),
('stats_candidates', models.FloatField(default=0)),
('stats_min', models.FloatField(default=0)),
('stats_max', models.FloatField(default=0)),
('stats_max_possible', models.FloatField(default=0)),
('user_scores', models.JSONField(default=dict)),
('exam_results_emailed', models.DateTimeField(default=None, null=True)),
('time_limit', models.IntegerField(default=2100, help_text='Exam time limit (in seconds). Default is 2100 secondse (35 minutes)')),
('author', models.ManyToManyField(blank=True, help_text='Author of exam', related_name='rapid_exam_author', to=settings.AUTH_USER_MODEL)),
('cid_user_groups', models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='rapid_cid_user_groups', to='generic.cidusergroup')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Examination',
fields=[
@@ -41,18 +74,23 @@ class Migration(migrations.Migration):
name='Rapid',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('authors_only', models.BooleanField(default=False, help_text='If true only question authors will be able to view.')),
('created_date', models.DateTimeField(default=django.utils.timezone.now)),
('open_access', models.BooleanField(default=True, help_text='If a question should be freely available to browse')),
('feedback', models.TextField(blank=True, help_text='Question Feedback', null=True)),
('question', models.TextField(blank=True, null=True)),
('feedback', models.TextField(blank=True, null=True)),
('history', models.TextField(blank=True, null=True)),
('normal', models.BooleanField(default=False, help_text='Tick if true')),
('laterality', models.CharField(choices=[('NONE', 'None'), ('LEFT', 'Left'), ('RIGHT', 'Right'), ('BILAT', 'Bilateral')], default='NONE', help_text='Applies to the answer, not the examination', max_length=20)),
('verified', models.BooleanField(default=False)),
('created_date', models.DateTimeField(default=django.utils.timezone.now)),
('published_date', models.DateTimeField(blank=True, null=True)),
('scrapped', models.BooleanField(default=False, help_text='Question has been scrapped and will not be shown')),
('abnormality', models.ManyToManyField(blank=True, help_text='The abnormality (laterality and region independent)', to='rapids.Abnormality')),
('abnormality', models.ManyToManyField(blank=True, help_text='The abnormality (laterality and region independent). Used for categorisation but does not affect the answer', to='rapids.abnormality')),
('author', models.ManyToManyField(blank=True, help_text='Author of question', related_name='rapid_authored_questions', to=settings.AUTH_USER_MODEL)),
('examination', models.ManyToManyField(help_text='Name of the (primary) examination', to='rapids.Examination')),
('examination', models.ManyToManyField(help_text='Name of the (primary) examination', to='rapids.examination')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Region',
@@ -65,19 +103,37 @@ class Migration(migrations.Migration):
},
),
migrations.CreateModel(
name='Site',
name='UserAnswer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('site', models.CharField(max_length=200)),
('initials', models.CharField(max_length=200)),
('cid', models.BigIntegerField(blank=True, help_text='Candidate ID (limitied by BigIntegerField size)', null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('normal', models.BooleanField(default=False)),
('answer', models.TextField(blank=True, max_length=500)),
('answer_compare', models.TextField(blank=True, max_length=500)),
('score', models.CharField(blank=True, choices=[('', 'Unmarked'), ('0', 'Incorrect'), ('1', 'Half mark'), ('2', 'Correct')], default='', max_length=1)),
('callstate', models.CharField(blank=True, choices=[('C', 'Correct Call'), ('O', 'Overcall'), ('U', 'Undercall'), ('W', 'Incorrect Call'), ('P', 'Partial Call')], max_length=1, null=True)),
('exam', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='rapids.exam')),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='rapids.rapid')),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_rapid_user_answers', to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ['cid'],
'abstract': False,
},
),
migrations.CreateModel(
name='RapidImage',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/sites/rad/media//rapids/'), upload_to=rapids.models.image_directory_path)),
('image', models.FileField(upload_to=rapids.models.image_directory_path)),
('image_annotations', models.TextField(blank=True, help_text='Stores a JSON representation of annotations to be applied by cornerstonetools', null=True)),
('feedback_image', models.BooleanField(default=False)),
('filename', models.CharField(blank=True, help_text='Name of the original file when uploaded', max_length=255, null=True)),
('description', models.CharField(blank=True, max_length=255, null=True)),
('image_md5_hash', models.CharField(blank=True, max_length=32, null=True)),
('is_dicom', models.BooleanField(default=False)),
('rapid', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='rapids.rapid')),
],
),
@@ -86,28 +142,32 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('author', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='rapid_default', to=settings.AUTH_USER_MODEL)),
('site', models.ManyToManyField(blank=True, default=1, help_text='Default site to use when creating a new rapid', to='rapids.Site')),
],
),
migrations.AddField(
model_name='rapid',
name='region',
field=models.ManyToManyField(blank=True, help_text='Region of the abnormality (laterality independent)', to='rapids.Region'),
field=models.ManyToManyField(blank=True, help_text='Region of the abnormality (laterality independent)', to='rapids.region'),
),
migrations.AddField(
model_name='rapid',
name='site',
field=models.ManyToManyField(blank=True, default=1, help_text='If we know the source of the image (should possibly be removed?)', to='rapids.Site'),
model_name='exam',
name='exam_questions',
field=sortedm2m.fields.SortedManyToManyField(blank='true', help_text=None, related_name='exams', to='rapids.rapid'),
),
migrations.CreateModel(
name='Note',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('note', models.TextField()),
('created_on', models.DateTimeField(auto_now_add=True)),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rapid_notes', to=settings.AUTH_USER_MODEL)),
('rapid', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='rapid_notes', to='rapids.rapid')),
],
migrations.AddField(
model_name='exam',
name='user_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='rapid_user_user_groups', to='generic.userusergroup'),
),
migrations.AddField(
model_name='exam',
name='valid_cid_users',
field=models.ManyToManyField(blank=True, related_name='rapid_exams', to='generic.ciduser'),
),
migrations.AddField(
model_name='exam',
name='valid_user_users',
field=models.ManyToManyField(blank=True, related_name='user_rapid_exams', to=settings.AUTH_USER_MODEL),
),
migrations.CreateModel(
name='Answer',
@@ -116,6 +176,7 @@ class Migration(migrations.Migration):
('answer', models.TextField(max_length=500)),
('answer_compare', models.TextField(max_length=500)),
('status', models.CharField(choices=[('', 'Unmarked'), ('0', 'Incorrect'), ('1', 'Half mark'), ('2', 'Correct')], default='', max_length=1)),
('proposed', models.BooleanField(default=False)),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='rapids.rapid')),
],
),
@@ -1,52 +0,0 @@
# Generated by Django 3.1.2 on 2021-01-18 14:02
import django.core.files.storage
from django.db import migrations, models
import django.db.models.deletion
import rapids.models
import sortedm2m.fields
class Migration(migrations.Migration):
dependencies = [
('rapids', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='rapid',
name='abnormality',
field=models.ManyToManyField(blank=True, help_text='The abnormality (laterality and region independent). Used for categorisation but does not affect the answer', to='rapids.Abnormality'),
),
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://penracourses.org.uk//media/rapids/', location='/home/ross/sites/rad/media//rapids/'), upload_to=rapids.models.image_directory_path),
),
migrations.CreateModel(
name='Exam',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=200)),
('active', models.BooleanField(default=True, help_text='If an exam should be available')),
('publish_results', models.BooleanField(default=True, help_text='If an exams results should be available')),
('recreate_json', models.BooleanField(default=False, help_text='If the json cache needs updating')),
('time_limit', models.IntegerField(default=5400, help_text='Exam time limit (in seconds)')),
('exam_questions', sortedm2m.fields.SortedManyToManyField(blank='true', help_text=None, related_name='exams', to='rapids.Rapid')),
],
),
migrations.CreateModel(
name='CidUserAnswer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.TextField(blank=True, max_length=500)),
('answer_compare', models.TextField(blank=True, max_length=500)),
('cid', models.BigIntegerField(blank=True, help_text='Candidate ID (limitied by BigIntegerField size)', null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('exam', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='rapids.exam')),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='rapids.rapid')),
],
),
]
@@ -1,71 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-20 22:06
import django.core.files.storage
from django.db import migrations, models
import rapids.models
#import tagulous.models.fields
#import tagulous.models.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0002_auto_20210118_1402'),
]
operations = [
migrations.AlterField(
model_name='rapid',
name='site',
field=models.ManyToManyField(blank=True, default=1, help_text='If we know the source of the image', to='rapids.Site'),
),
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://penracourses.org.uk//media/rapids/', location='/home/ross/scripts/sites/rad/media//rapids/'), upload_to=rapids.models.image_directory_path),
),
migrations.CreateModel(
name='Sign',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('slug', models.SlugField()),
('count', models.IntegerField(default=0, help_text='Internal counter of how many times this tag is in use')),
('protected', models.BooleanField(default=False, help_text='Will not be deleted when the count reaches 0')),
],
options={
'ordering': ('name',),
'abstract': False,
'unique_together': {('slug',)},
},
#bases=(tagulous.models.models.BaseTagModel, models.Model),
bases=(models.Model,),
),
migrations.CreateModel(
name='Condition',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('slug', models.SlugField()),
('count', models.IntegerField(default=0, help_text='Internal counter of how many times this tag is in use')),
('protected', models.BooleanField(default=False, help_text='Will not be deleted when the count reaches 0')),
],
options={
'ordering': ('name',),
'abstract': False,
'unique_together': {('slug',)},
},
#bases=(tagulous.models.models.BaseTagModel, models.Model),
bases=(models.Model,),
),
migrations.AddField(
model_name='rapid',
name='condition',
field=models.CharField(blank=True, help_text='Associated condition. Will allow searching / filtering and tips / hints to be displayed. Conditions with spaces must be enclosed in quotes "..."',),
),
migrations.AddField(
model_name='rapid',
name='sign',
field=models.CharField(blank=True, help_text='Radiological signs in the question'),
),
]
@@ -1,31 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-20 22:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0003_auto_20210120_2206'),
]
operations = [
migrations.RemoveField(
model_name='rapid',
name='condition',
),
migrations.AddField(
model_name='rapid',
name='condition',
field=models.CharField(blank=True, max_length=255),
),
migrations.RemoveField(
model_name='rapid',
name='sign',
),
migrations.AddField(
model_name='rapid',
name='sign',
field=models.CharField(blank=True, max_length=255),
),
]
@@ -1,30 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-21 18:06
import django.core.files.storage
from django.db import migrations, models
import django.db.models.deletion
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0004_auto_20210120_2214'),
]
operations = [
migrations.RemoveField(
model_name='rapid',
name='examination',
),
migrations.AddField(
model_name='rapid',
name='examination',
field=models.ForeignKey(help_text='Name of the (primary) examination', null=True, on_delete=django.db.models.deletion.SET_NULL, to='rapids.examination'),
),
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/scripts/sites/rad/media//rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,22 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-21 18:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0005_auto_20210121_1806'),
]
operations = [
migrations.RemoveField(
model_name='rapid',
name='examination',
),
migrations.AddField(
model_name='rapid',
name='examination',
field=models.ManyToManyField(help_text='Name of the (primary) examination', to='rapids.Examination'),
),
]
@@ -1,30 +0,0 @@
# Generated by Django 3.1.5 on 2021-01-25 15:34
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0006_auto_20210121_1809'),
]
operations = [
migrations.AddField(
model_name='rapid',
name='open_access',
field=models.BooleanField(default=True, help_text='If an question should be freely available to browse'),
),
migrations.AlterField(
model_name='exam',
name='time_limit',
field=models.IntegerField(default=2100, help_text='Exam time limit (in seconds). Default is 2100 secondse (35 minutes)'),
),
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/sites/rad/media//rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,25 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-30 15:15
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0007_auto_20210125_1534'),
]
operations = [
migrations.AddField(
model_name='ciduseranswer',
name='normal',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/scripts/sites/rad/media//rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,24 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-05 10:46
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0008_auto_20210130_1515'),
]
operations = [
migrations.RemoveField(
model_name='rapid',
name='site',
),
migrations.RemoveField(
model_name='rapidcreationdefault',
name='site',
),
migrations.DeleteModel(
name='Site',
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-05 10:51
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0009_auto_20210205_1046'),
]
operations = [
migrations.DeleteModel(
name='Condition',
),
migrations.DeleteModel(
name='Sign',
),
]
@@ -1,33 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-05 10:56
from django.db import migrations, models
#import tagulous.models.fields
class Migration(migrations.Migration):
dependencies = [
('generic', '0007_site'),
('rapids', '0010_auto_20210205_1051'),
]
operations = [
migrations.RemoveField(
model_name='rapid',
name='condition',
),
migrations.AddField(
model_name='rapid',
name='condition',
field=models.CharField(blank=True, help_text='Associated condition. Will allow searching / filtering and tips / hints to be displayed. Conditions with spaces must be enclosed in quotes "..."'),
),
migrations.RemoveField(
model_name='rapid',
name='sign',
),
migrations.AddField(
model_name='rapid',
name='sign',
field=models.CharField(blank=True, help_text='Radiological signs in the question'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-06 09:05
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0011_auto_20210205_1056'),
]
operations = [
migrations.AlterField(
model_name='rapid',
name='open_access',
field=models.BooleanField(default=True, help_text='If a question should be freely available to browse'),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-09 22:39
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0012_auto_20210206_0905'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/rad/media//rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-11 20:34
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0013_auto_20210209_2239'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.FileField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/rad/media//rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-11 20:35
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0014_auto_20210211_2034'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.FileField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/rad/media/rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-14 20:28
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0015_auto_20210211_2035'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.FileField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/scripts/sites/rad/media/rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.5 on 2021-02-15 10:43
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0016_auto_20210214_2028'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.FileField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/ross/sites/rad/media/rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.5 on 2021-02-15 11:44
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0017_auto_20210215_1043'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.FileField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/rapids/', location='/home/django/rad/media/rapids/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.5 on 2021-02-15 12:03
import django.core.files.storage
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0018_auto_20210215_1144'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.FileField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/', location='/home/django/rad/media/'), upload_to=rapids.models.image_directory_path),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2021-03-09 15:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0019_auto_20210215_1203'),
]
operations = [
migrations.AddField(
model_name='exam',
name='json_creation_time',
field=models.DateTimeField(blank=True, default=None, null=True),
),
]
-18
View File
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2021-03-19 11:17
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0020_exam_json_creation_time'),
]
operations = [
migrations.AddField(
model_name='exam',
name='exam_mode',
field=models.BooleanField(default=True, help_text='If an exam should be take in exam_mode'),
),
]
@@ -1,41 +0,0 @@
# Generated by Django 3.1.3 on 2021-04-22 11:43
from django.conf import settings
from django.db import migrations, models
import rapids.models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('rapids', '0021_exam_exam_mode'),
]
operations = [
migrations.AddField(
model_name='exam',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author of exam', related_name='rapid_exam_author', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='exam',
name='active',
field=models.BooleanField(default=False, help_text='If an exam should be available'),
),
migrations.AlterField(
model_name='exam',
name='exam_mode',
field=models.BooleanField(default=True, help_text='If an exam should be taken in exam mode'),
),
migrations.AlterField(
model_name='exam',
name='publish_results',
field=models.BooleanField(default=False, help_text='If an exams results should be available'),
),
migrations.AlterField(
model_name='rapidimage',
name='image',
field=models.FileField(upload_to=rapids.models.image_directory_path),
),
]
-18
View File
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2021-05-03 11:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0022_auto_20210422_1143'),
]
operations = [
migrations.AddField(
model_name='answer',
name='proposed',
field=models.BooleanField(default=False),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-07-06 19:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0023_answer_proposed'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='exam_mode',
field=models.BooleanField(default=False, help_text='If an exam should be taken in exam mode (users results will be submited to the server for marking)'),
),
]
@@ -1,26 +0,0 @@
# Generated by Django 3.2.4 on 2021-07-09 11:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0024_alter_exam_exam_mode'),
]
operations = [
migrations.RemoveField(
model_name='rapid',
name='condition',
),
migrations.RemoveField(
model_name='rapid',
name='sign',
),
migrations.AlterField(
model_name='exam',
name='name',
field=models.CharField(help_text='Name of the exam', max_length=200),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-08-01 08:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0025_auto_20210709_1135'),
]
operations = [
migrations.AddField(
model_name='exam',
name='json_creation_id',
field=models.IntegerField(default=1, help_text='auto incrementing field when json recreated'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-08-01 08:47
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0026_exam_json_creation_id'),
]
operations = [
migrations.RenameField(
model_name='exam',
old_name='json_creation_id',
new_name='exam_json_id',
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.2.6 on 2021-08-16 12:06
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0027_rename_json_creation_id_exam_exam_json_id'),
]
operations = [
migrations.AddField(
model_name='exam',
name='archive',
field=models.BooleanField(default=False, help_text='Archived exams will remain on the test system but will not be displayed by default'),
),
migrations.AlterField(
model_name='exam',
name='active',
field=models.BooleanField(default=False, help_text='If an exam should be available to take'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.5 on 2021-08-19 14:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0028_auto_20210816_1306'),
]
operations = [
migrations.AddField(
model_name='rapidimage',
name='image_annotations',
field=models.TextField(blank=True, help_text='Stores a JSON representation of annotations to be applied by cornerstonetools'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.6 on 2021-08-20 09:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0029_rapidimage_image_annotations'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image_annotations',
field=models.TextField(blank=True, help_text='Stores a JSON representation of annotations to be applied by cornerstonetools', null=True),
),
]
-16
View File
@@ -1,16 +0,0 @@
# Generated by Django 3.2.6 on 2021-09-09 17:06
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0030_alter_rapidimage_image_annotations'),
]
operations = [
migrations.DeleteModel(
name='Note',
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-16 07:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0031_delete_note'),
]
operations = [
migrations.AddField(
model_name='exam',
name='double_mark',
field=models.BooleanField(default=False, help_text='If the exam requires double marking'),
),
]
-25
View File
@@ -1,25 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-16 09:24
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('rapids', '0032_exam_double_mark'),
]
operations = [
migrations.CreateModel(
name='AnswerMarks',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('score', models.CharField(choices=[('', 'Unmarked'), ('0', 'Incorrect'), ('1', 'Half mark'), ('2', 'Correct')], max_length=1)),
('marker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rapid_marks', to=settings.AUTH_USER_MODEL)),
('user_answer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='mark', to='rapids.ciduseranswer')),
],
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-16 20:28
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0033_answermarks'),
]
operations = [
migrations.RemoveField(
model_name='exam',
name='double_mark',
),
migrations.DeleteModel(
name='AnswerMarks',
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-17 17:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0034_auto_20211016_2128'),
]
operations = [
migrations.AddField(
model_name='exam',
name='open_access',
field=models.BooleanField(default=False, help_text='If the exam is freely accessible'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-17 17:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0035_exam_open_access'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='open_access',
field=models.BooleanField(default=False, help_text='If the exam is freely accessible (to view and edit on the test system)'),
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.2.4 on 2021-11-21 10:20
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0036_alter_exam_open_access'),
]
operations = [
migrations.AddField(
model_name='rapidimage',
name='image_md5_hash',
field=models.CharField(max_length=32, null=True),
),
migrations.AddField(
model_name='rapidimage',
name='is_dicom',
field=models.BooleanField(default=False),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-11-21 10:29
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0037_auto_20211121_1020'),
]
operations = [
migrations.AlterField(
model_name='rapidimage',
name='image_md5_hash',
field=models.CharField(blank=True, max_length=32, null=True),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-11 22:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0015_ciduser_ciduserexam'),
('rapids', '0038_alter_rapidimage_image_md5_hash'),
]
operations = [
migrations.AddField(
model_name='exam',
name='valid_users',
field=models.ManyToManyField(blank=True, related_name='rapids_exams', to='generic.CidUser'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-12 08:50
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0017_alter_ciduser_cid'),
('rapids', '0039_exam_valid_users'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='valid_users',
field=models.ManyToManyField(blank=True, related_name='rapid_exams', to='generic.CidUser'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-15 20:04
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0040_alter_exam_valid_users'),
]
operations = [
migrations.AddField(
model_name='ciduseranswer',
name='score',
field=models.CharField(blank=True, choices=[('', 'Unmarked'), ('0', 'Incorrect'), ('1', 'Half mark'), ('2', 'Correct')], default='', max_length=1),
),
]
@@ -1,53 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-15 20:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0041_ciduseranswer_score'),
]
operations = [
migrations.AddField(
model_name='exam',
name='stats_candidates',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_graph',
field=models.TextField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_max',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_max_possible',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_mean',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_median',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_min',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_mode',
field=models.CharField(default=0, max_length=25),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.10 on 2021-12-31 10:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0042_auto_20211215_2036'),
]
operations = [
migrations.AddField(
model_name='exam',
name='user_scores',
field=models.JSONField(default=dict),
),
]
-18
View File
@@ -1,18 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-04 21:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0043_exam_user_scores'),
]
operations = [
migrations.AddField(
model_name='rapid',
name='history',
field=models.TextField(blank=True, null=True),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-04 21:50
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0044_rapid_history'),
]
operations = [
migrations.AddField(
model_name='rapidimage',
name='description',
field=models.CharField(blank=True, max_length=255, null=True),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-04 21:56
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0045_rapidimage_description'),
]
operations = [
migrations.AddField(
model_name='exam',
name='include_history',
field=models.BooleanField(default=False, help_text='If an exam should include history when taking'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-21 14:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0026_ciduser_generic_cid_cid_291418_idx'),
('rapids', '0046_exam_include_history'),
]
operations = [
migrations.AddField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(to='generic.CidUserGroup'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-21 16:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0026_ciduser_generic_cid_cid_291418_idx'),
('rapids', '0047_exam_cid_user_groups'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(blank=True, null=True, to='generic.CidUserGroup'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-21 16:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0026_ciduser_generic_cid_cid_291418_idx'),
('rapids', '0048_alter_exam_cid_user_groups'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(blank=True, to='generic.CidUserGroup'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-26 20:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0026_ciduser_generic_cid_cid_291418_idx'),
('rapids', '0049_alter_exam_cid_user_groups'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', to='generic.CidUserGroup'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-03 17:48
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0050_alter_exam_cid_user_groups'),
]
operations = [
migrations.AddField(
model_name='exam',
name='authors_only',
field=models.BooleanField(default=False, help_text='If true only exam authors will be able to view.'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-18 16:55
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0051_exam_authors_only'),
]
operations = [
migrations.AddField(
model_name='rapidimage',
name='filename',
field=models.CharField(blank=True, help_text='Name of the original file when uploaded', max_length=255, null=True),
),
]
@@ -1,21 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-18 18:30
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('rapids', '0052_rapidimage_filename'),
]
operations = [
migrations.AddField(
model_name='ciduseranswer',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-20 10:45
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0053_ciduseranswer_user'),
]
operations = [
migrations.RenameField(
model_name='exam',
old_name='valid_users',
new_name='valid_cid_users',
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-20 10:59
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('rapids', '0054_rename_valid_users_exam_valid_cid_users'),
]
operations = [
migrations.AddField(
model_name='exam',
name='valid_user_users',
field=models.ManyToManyField(blank=True, related_name='user_rapid_exams', to=settings.AUTH_USER_MODEL),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-20 17:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0029_userusergroup'),
('rapids', '0055_exam_valid_user_users'),
]
operations = [
migrations.AddField(
model_name='exam',
name='user_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', to='generic.UserUserGroup'),
),
]
@@ -1,21 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-20 19:51
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('rapids', '0056_exam_user_user_groups'),
]
operations = [
migrations.AlterField(
model_name='ciduseranswer',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_rapid_user_answers', to=settings.AUTH_USER_MODEL),
),
]
@@ -1,24 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-21 09:20
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0032_userprofile_registration_number'),
('rapids', '0057_alter_ciduseranswer_user'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='rapid_cid_user_groups', to='generic.CidUserGroup'),
),
migrations.AlterField(
model_name='exam',
name='user_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='rapid_user_user_groups', to='generic.UserUserGroup'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-06-20 21:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0058_auto_20220521_1020'),
]
operations = [
migrations.AddField(
model_name='ciduseranswer',
name='callstate',
field=models.CharField(blank=True, choices=[('C', 'Correct Call'), ('O', 'Overcall'), ('U', 'Undercall'), ('W', 'Incorrect Call'), ('P', 'Partial Call')], max_length=1, null=True),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-06-26 15:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0059_ciduseranswer_callstate'),
]
operations = [
migrations.AddField(
model_name='exam',
name='exam_results_emailed',
field=models.DateTimeField(default=None, null=True),
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.2.13 on 2022-06-30 20:45
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0060_exam_exam_results_emailed'),
]
operations = [
migrations.RemoveField(
model_name='exam',
name='stats_graph',
),
]
@@ -1,17 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-15 10:11
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0061_remove_exam_stats_graph'),
]
operations = [
migrations.AlterModelOptions(
name='ciduseranswer',
options={'ordering': ['cid']},
),
]
@@ -1,19 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-15 10:14
from django.conf import settings
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('rapids', '0062_alter_ciduseranswer_options'),
]
operations = [
migrations.RenameModel(
old_name='CidUserAnswer',
new_name='UserAnswer',
),
]
@@ -1,18 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-22 12:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0063_rename_ciduseranswer_useranswer'),
]
operations = [
migrations.AddField(
model_name='rapid',
name='authors_only',
field=models.BooleanField(default=False, help_text='If true only question authors will be able to view.'),
),
]
@@ -1,17 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-22 12:36
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rapids', '0064_rapid_authors_only'),
]
operations = [
migrations.RemoveField(
model_name='rapid',
name='published_date',
),
]
@@ -1,18 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-22 12:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0065_remove_rapid_published_date'),
]
operations = [
migrations.AlterField(
model_name='rapid',
name='feedback',
field=models.TextField(blank=True, help_text='Question Feedback', null=True),
),
]