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
+62 -79
View File
@@ -1,8 +1,7 @@
# Generated by Django 3.1.2 on 2020-10-16 19:07
# Generated by Django 4.1.4 on 2023-06-12 10:07
import anatomy.models
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
@@ -21,9 +20,26 @@ class Migration(migrations.Migration):
name='AnatomyQuestion',
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='http://161.35.163.87//media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path)),
('description', models.CharField(help_text="Short description of the image e.g. 'Sagittal CT Chest, Abdomen & Pelvis', will be displayed as the title.", max_length=400)),
('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)),
('image', models.ImageField(help_text="The image to use for the question. Ideally use use unmarked images and annotate (arrow) them on the test system. If you wish to reuse an image that is already uploaded 'clone' the question that contains it.", upload_to=anatomy.models.image_directory_path)),
('image_annotations', models.TextField(blank=True, help_text='Stores a JSON representation of annotations to be applied by cornerstonetools')),
('description', models.CharField(help_text="Short description of the image e.g. 'Sagittal CT Chest, Abdomen & Pelvis', will be displayed as the title.", max_length=400)),
],
options={
'permissions': (),
},
),
migrations.CreateModel(
name='Answer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('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)),
],
),
migrations.CreateModel(
@@ -37,16 +53,32 @@ class Migration(migrations.Migration):
name='Exam',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=200)),
('exam_questions', models.ManyToManyField(related_name='exams', to='anatomy.AnatomyQuestion')),
],
),
migrations.CreateModel(
name='Examination',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('examination', models.CharField(max_length=200)),
('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=5400, help_text='Exam time limit (in seconds)')),
('author', models.ManyToManyField(blank=True, help_text='Author of exam', related_name='anatomy_exam_author', to=settings.AUTH_USER_MODEL)),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Modality',
@@ -62,86 +94,37 @@ class Migration(migrations.Migration):
('text', models.CharField(max_length=400)),
],
),
migrations.CreateModel(
name='Region',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('region', models.CharField(max_length=200)),
],
),
migrations.CreateModel(
name='Structure',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('bodypart', models.CharField(max_length=200)),
('structure', models.CharField(max_length=200, unique=True)),
],
),
migrations.CreateModel(
name='UserAnswer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.CharField(blank=True, max_length=500)),
('cid', models.IntegerField(blank=True, null=True)),
('flagged', models.BooleanField(default=False)),
('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='exam', to='anatomy.exam')),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_answers', to='anatomy.anatomyquestion')),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='IncorrectAnswers',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.CharField(max_length=500)),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='incorrect_answers', to='anatomy.anatomyquestion')),
],
),
migrations.CreateModel(
name='HalfMarkAnswers',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.CharField(max_length=500)),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='half_mark_answers', to='anatomy.anatomyquestion')),
],
),
migrations.CreateModel(
name='CidUserAnswer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.CharField(blank=True, max_length=500)),
('cid', models.IntegerField(blank=True, null=True)),
('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)),
('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)),
('exam', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='anatomy.exam')),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='anatomy.anatomyquestion')),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_anatomy_user_answers', to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Answers',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.CharField(max_length=500)),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='anatomy.anatomyquestion')),
],
),
migrations.AddField(
model_name='anatomyquestion',
name='body_part',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.bodypart'),
),
migrations.AddField(
model_name='anatomyquestion',
name='examination',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.examination'),
),
migrations.AddField(
model_name='anatomyquestion',
name='modality',
field=models.ForeignKey(help_text='Modality of the image', null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.modality'),
),
migrations.AddField(
model_name='anatomyquestion',
name='question_type',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.questiontype'),
),
migrations.AddField(
model_name='anatomyquestion',
name='structure',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.structure'),
options={
'ordering': ['cid'],
'abstract': False,
},
),
]
-18
View File
@@ -1,18 +0,0 @@
# Generated by Django 3.1.2 on 2020-10-16 19:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='exam',
name='active',
field=models.BooleanField(default=True, help_text='If an exam should be available'),
),
]
+85
View File
@@ -0,0 +1,85 @@
# Generated by Django 4.1.4 on 2023-06-12 10:07
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import sortedm2m.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
('generic', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('anatomy', '0001_initial'),
]
operations = [
migrations.AddField(
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='anatomy_cid_user_groups', to='generic.cidusergroup'),
),
migrations.AddField(
model_name='exam',
name='exam_questions',
field=sortedm2m.fields.SortedManyToManyField(blank='true', help_text=None, related_name='exams', to='anatomy.anatomyquestion'),
),
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='anatomy_user_user_groups', to='generic.userusergroup'),
),
migrations.AddField(
model_name='exam',
name='valid_cid_users',
field=models.ManyToManyField(blank=True, related_name='anatomy_exams', to='generic.ciduser'),
),
migrations.AddField(
model_name='exam',
name='valid_user_users',
field=models.ManyToManyField(blank=True, related_name='user_anatomy_exams', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='answer',
name='question',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='anatomy.anatomyquestion'),
),
migrations.AddField(
model_name='anatomyquestion',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author(s) of question', related_name='anatomy_authored_questions', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='anatomyquestion',
name='body_part',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.bodypart'),
),
migrations.AddField(
model_name='anatomyquestion',
name='examination',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='generic.examination'),
),
migrations.AddField(
model_name='anatomyquestion',
name='modality',
field=models.ForeignKey(help_text='Modality of the image', null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.modality'),
),
migrations.AddField(
model_name='anatomyquestion',
name='question_type',
field=models.ForeignKey(default=1, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.questiontype'),
),
migrations.AddField(
model_name='anatomyquestion',
name='region',
field=models.ForeignKey(blank=True, help_text='Region the image covers', null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.region'),
),
migrations.AddField(
model_name='anatomyquestion',
name='structure',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.structure'),
),
]
@@ -1,40 +0,0 @@
# Generated by Django 3.1.3 on 2020-11-19 19:41
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0002_exam_active'),
]
operations = [
migrations.CreateModel(
name='Answer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.CharField(max_length=500)),
('status', models.CharField(choices=[('', 'Unmarked'), ('0', 'Incorrect'), ('1', 'Half mark'), ('2', 'Correct')], default='', max_length=1)),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='anatomy.anatomyquestion')),
],
),
migrations.RemoveField(
model_name='halfmarkanswers',
name='question',
),
migrations.RemoveField(
model_name='incorrectanswers',
name='question',
),
migrations.DeleteModel(
name='Answers',
),
migrations.DeleteModel(
name='HalfMarkAnswers',
),
migrations.DeleteModel(
name='IncorrectAnswers',
),
]
@@ -1,25 +0,0 @@
# Generated by Django 3.1.2 on 2020-11-23 16:19
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0003_auto_20201119_1941'),
]
operations = [
migrations.AddField(
model_name='exam',
name='recreate_json',
field=models.BooleanField(default=False, help_text='If the json cache needs updating'),
),
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://161.35.163.87//media/anatomy/', location='/home/ross/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,39 +0,0 @@
# Generated by Django 3.1.3 on 2020-11-26 17:30
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0004_auto_20201123_1619'),
]
operations = [
migrations.RenameField(
model_name='structure',
old_name='bodypart',
new_name='structure',
),
migrations.RemoveField(
model_name='exam',
name='recreate_json',
),
#migrations.AddField(
# model_name='anatomyquestion',
# name='open_access',
# field=models.BooleanField(default=True, help_text='If an question should be freely available to browse'),
#),
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://161.35.163.87//media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
migrations.AlterField(
model_name='exam',
name='exam_questions',
field=models.ManyToManyField(blank='true', related_name='exams', to='anatomy.AnatomyQuestion'),
),
]
@@ -1,25 +0,0 @@
# Generated by Django 3.1.3 on 2020-11-29 09:55
from django.db import migrations, models
import sortedm2m.fields
from sortedm2m.operations import AlterSortedManyToManyField
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0005_auto_20201126_1730'),
]
operations = [
#migrations.AddField(
# model_name='anatomyquestion',
# name='open_access',
# field=models.BooleanField(default=True, help_text='If an question should be freely available to browse'),
#),
AlterSortedManyToManyField(
model_name='exam',
name='exam_questions',
field=sortedm2m.fields.SortedManyToManyField(blank='true', help_text=None, related_name='exams', to='anatomy.AnatomyQuestion'),
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-01 23:58
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0006_auto_20201129_0955'),
]
operations = [
#migrations.AddField(
#model_name='anatomyquestion',
#name='open_access',
#field=models.BooleanField(default=True, help_text='If an question should be freely available to browse'),
#),
migrations.AddField(
model_name='exam',
name='recreate_json',
field=models.BooleanField(default=False, help_text='If the json cache needs updating'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-03 09:29
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0007_auto_20201201_2358'),
]
operations = [
migrations.AddField(
model_name='anatomyquestion',
name='open_access',
field=models.BooleanField(default=True, help_text='If an question should be freely available to browse'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-06 11:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0008_anatomyquestion_open_access'),
]
operations = [
migrations.AddField(
model_name='anatomyquestion',
name='image_annotations',
field=models.TextField(blank=True, help_text='Stores a JSON representation of annotations to be applied by cornerstonetools'),
),
]
@@ -1,26 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-06 17:16
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0009_anatomyquestion_image_annotations'),
]
operations = [
migrations.CreateModel(
name='Region',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('region', models.CharField(max_length=200)),
],
),
migrations.AddField(
model_name='anatomyquestion',
name='region',
field=models.ForeignKey(blank=True, help_text='Region the image covers', null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.region'),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-06 18:12
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('anatomy', '0010_auto_20201206_1716'),
]
operations = [
migrations.AddField(
model_name='anatomyquestion',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author(s) of question', related_name='anatomy_authored_questions', to=settings.AUTH_USER_MODEL),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-10 23:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0011_anatomyquestion_author'),
]
operations = [
migrations.AddField(
model_name='exam',
name='publish_results',
field=models.BooleanField(default=True, help_text='If an exams results should be available'),
),
]
@@ -1,35 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-27 12:00
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0012_exam_publish_results'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://penracourses.org.uk//media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
migrations.AlterField(
model_name='answer',
name='answer',
field=models.TextField(max_length=500),
),
migrations.AlterField(
model_name='ciduseranswer',
name='answer',
field=models.TextField(blank=True, max_length=500),
),
migrations.AlterField(
model_name='useranswer',
name='answer',
field=models.TextField(blank=True, max_length=500),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-28 10:17
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0013_auto_20201227_1200'),
]
operations = [
migrations.AddField(
model_name='exam',
name='time_limit',
field=models.IntegerField(default=False, help_text='Exam time limit (in seconds)'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-28 22:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0014_exam_time_limit'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='time_limit',
field=models.IntegerField(default=5400, help_text='Exam time limit (in seconds)'),
),
]
@@ -1,25 +0,0 @@
# Generated by Django 3.1.2 on 2021-01-04 13:10
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0015_auto_20201228_2235'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://penracourses.org.uk//media/anatomy/', location='/home/ross/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
migrations.AlterField(
model_name='useranswer',
name='cid',
field=models.BigIntegerField(blank=True, null=True),
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.1.2 on 2021-01-04 13:55
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0016_auto_20210104_1310'),
]
operations = [
migrations.AlterField(
model_name='ciduseranswer',
name='cid',
field=models.BigIntegerField(blank=True, help_text='Candidate ID (limitied by BigIntegerField size)', null=True),
),
migrations.AlterField(
model_name='useranswer',
name='cid',
field=models.BigIntegerField(blank=True, help_text='Candidate ID (limitied by BigIntegerField size)', null=True),
),
]
@@ -1,34 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-12 17:26
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0017_auto_20210104_1355'),
]
operations = [
migrations.AddField(
model_name='answer',
name='answer_compare',
field=models.TextField(default='temp', max_length=500),
preserve_default=False,
),
migrations.AddField(
model_name='ciduseranswer',
name='answer_compare',
field=models.TextField(blank=True, max_length=500),
),
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
migrations.DeleteModel(
name='UserAnswer',
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.2 on 2021-01-18 13:39
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0018_auto_20210112_1726'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.2 on 2021-01-18 14:02
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0019_auto_20210118_1339'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://penracourses.org.uk//media/anatomy/', location='/home/ross/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-20 22:06
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0020_auto_20210118_1402'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='http://penracourses.org.uk//media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-21 18:06
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0021_auto_20210120_2206'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.5 on 2021-01-25 15:34
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0022_auto_20210121_1806'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-01-30 15:15
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0023_auto_20210125_1534'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-05 11:06
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('generic', '0007_site'),
('anatomy', '0024_auto_20210130_1515'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='examination',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='generic.examination'),
),
migrations.DeleteModel(
name='Examination',
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-05 11:09
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0025_auto_20210205_1106'),
]
operations = [
migrations.RemoveField(
model_name='anatomyquestion',
name='examination',
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-05 11:10
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('generic', '0007_site'),
('anatomy', '0026_remove_anatomyquestion_examination'),
]
operations = [
migrations.AddField(
model_name='anatomyquestion',
name='examination',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='generic.examination'),
),
]
@@ -1,24 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-06 09:05
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0027_anatomyquestion_examination'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='open_access',
field=models.BooleanField(default=True, help_text='If a question should be freely available to browse'),
),
migrations.AlterField(
model_name='anatomyquestion',
name='question_type',
field=models.ForeignKey(default=1, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.questiontype'),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-09 22:39
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0028_auto_20210206_0905'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-02-14 20:28
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0029_auto_20210209_2239'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/scripts/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.5 on 2021-02-15 10:43
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0030_auto_20210214_2028'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/ross/sites/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.5 on 2021-02-15 11:44
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0031_auto_20210215_1043'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media/anatomy/', location='/home/django/rad/media//anatomy/'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.1.5 on 2021-02-15 11:47
import anatomy.models
import django.core.files.storage
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0032_auto_20210215_1144'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(storage=django.core.files.storage.FileSystemStorage(base_url='/media//', location='/home/django/rad/media//'), upload_to=anatomy.models.image_directory_path),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.1.5 on 2021-02-15 12:00
import anatomy.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0033_auto_20210215_1147'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(upload_to=anatomy.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 = [
('anatomy', '0034_auto_20210215_1200'),
]
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 = [
('anatomy', '0035_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,35 +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
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('anatomy', '0036_exam_exam_mode'),
]
operations = [
migrations.AddField(
model_name='exam',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author of exam', related_name='anatomy_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'),
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.1.3 on 2021-04-29 19:04
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0037_auto_20210422_1143'),
]
operations = [
migrations.AlterModelOptions(
name='anatomyquestion',
options={'permissions': ()},
),
]
@@ -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 = [
('anatomy', '0038_auto_20210429_1904'),
]
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 = [
('anatomy', '0039_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,18 +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 = [
('anatomy', '0040_alter_exam_exam_mode'),
]
operations = [
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 = [
('anatomy', '0041_alter_exam_name'),
]
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 = [
('anatomy', '0042_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 = [
('anatomy', '0043_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.8 on 2021-10-17 17:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0044_auto_20210816_1306'),
]
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 = [
('anatomy', '0045_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,28 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-22 19:38
import anatomy.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0046_alter_exam_open_access'),
]
operations = [
migrations.RemoveField(
model_name='structure',
name='id',
),
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(help_text="The image to use for the question. Ideally use use unmarked images and annotate (arrow) them on the test system. If you wish to reuse an image that is already uploaded 'clone' the question that contains it.As a preference", upload_to=anatomy.models.image_directory_path),
),
migrations.AlterField(
model_name='structure',
name='structure',
field=models.CharField(max_length=200, primary_key=True, serialize=False),
),
]
@@ -1,25 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-25 10:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0047_auto_20211022_2038'),
]
operations = [
migrations.CreateModel(
name='Structure2',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('structure', models.CharField(max_length=200, unique=True)),
],
),
migrations.AlterField(
model_name='anatomyquestion',
name='structure',
field=models.CharField(max_length=255, null=True),
),
]
@@ -1,16 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-25 10:07
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0048_auto_20211025_1102'),
]
operations = [
migrations.DeleteModel(
name='Structure',
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-25 10:08
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0049_delete_structure'),
]
operations = [
migrations.RenameModel(
old_name='Structure2',
new_name='Structure',
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-25 10:08
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0050_rename_structure2_structure'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='structure',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.structure'),
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-25 10:15
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0051_alter_anatomyquestion_structure'),
]
operations = [
migrations.RemoveField(
model_name='anatomyquestion',
name='structure',
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-25 10:17
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0052_remove_anatomyquestion_structure'),
]
operations = [
migrations.AddField(
model_name='anatomyquestion',
name='structure',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='anatomy.structure'),
),
]
@@ -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'),
('anatomy', '0053_anatomyquestion_structure'),
]
operations = [
migrations.AddField(
model_name='exam',
name='valid_users',
field=models.ManyToManyField(blank=True, related_name='anatomy_exams', to='generic.CidUser'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-15 18:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0054_exam_valid_users'),
]
operations = [
migrations.AddField(
model_name='ciduseranswer',
name='score',
field=models.CharField(choices=[('', 'Unmarked'), ('0', 'Incorrect'), ('1', 'Half mark'), ('2', 'Correct')], default='', max_length=1),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-15 20:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0055_ciduseranswer_score'),
]
operations = [
migrations.AlterField(
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 = [
('anatomy', '0056_alter_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 = [
('anatomy', '0057_auto_20211215_2036'),
]
operations = [
migrations.AddField(
model_name='exam',
name='user_scores',
field=models.JSONField(default=dict),
),
]
@@ -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 = [
('anatomy', '0058_exam_user_scores'),
]
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,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 = [
('anatomy', '0059_exam_include_history'),
]
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-20 10:45
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0060_exam_authors_only'),
]
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 12:42
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('anatomy', '0061_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_anatomy_exams', to=settings.AUTH_USER_MODEL),
),
]
@@ -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),
('anatomy', '0062_exam_valid_user_users'),
]
operations = [
migrations.AddField(
model_name='ciduseranswer',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_anatomy_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'),
('anatomy', '0063_ciduseranswer_user'),
]
operations = [
migrations.AddField(
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='anatomy_cid_user_groups', to='generic.CidUserGroup'),
),
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='anatomy_user_user_groups', to='generic.UserUserGroup'),
),
]
@@ -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 = [
('anatomy', '0064_auto_20220521_1020'),
]
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 = [
('anatomy', '0065_exam_exam_results_emailed'),
]
operations = [
migrations.RemoveField(
model_name='exam',
name='stats_graph',
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.13 on 2022-11-14 09:44
import anatomy.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('anatomy', '0066_remove_exam_stats_graph'),
]
operations = [
migrations.AlterField(
model_name='anatomyquestion',
name='image',
field=models.ImageField(help_text="The image to use for the question. Ideally use use unmarked images and annotate (arrow) them on the test system. If you wish to reuse an image that is already uploaded 'clone' the question that contains it.", upload_to=anatomy.models.image_directory_path),
),
]
@@ -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 = [
('anatomy', '0067_alter_anatomyquestion_image'),
]
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),
('anatomy', '0068_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 = [
('anatomy', '0069_rename_ciduseranswer_useranswer'),
]
operations = [
migrations.AddField(
model_name='anatomyquestion',
name='authors_only',
field=models.BooleanField(default=False, help_text='If true only question authors will be able to view.'),
),
]
@@ -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 = [
('anatomy', '0070_anatomyquestion_authors_only'),
]
operations = [
migrations.AddField(
model_name='anatomyquestion',
name='feedback',
field=models.TextField(blank=True, help_text='Question Feedback', null=True),
),
]
+149 -24
View File
@@ -1,12 +1,11 @@
# Generated by Django 3.2.8 on 2021-11-23 19:28
# Generated by Django 4.1.4 on 2023-06-12 10:07
import atlas.models
from django.conf import settings
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import sortedm2m.fields
#import tagulous.models.fields
class Migration(migrations.Migration):
@@ -14,24 +13,157 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('anatomy', '0053_anatomyquestion_structure'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('generic', '0014_alter_questionnote_note'),
]
operations = [
migrations.CreateModel(
name='Case',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(default='', help_text='Title of the case', max_length=255)),
('description', models.TextField(blank=True, help_text='Description of the case')),
('history', models.TextField(blank=True, help_text='A (brief) summary of the relevant history', null=True)),
('discussion', models.TextField(blank=True, null=True)),
('report', models.TextField(blank=True, help_text='A model (sample) report for the case.', null=True)),
('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')),
('open_access', models.BooleanField(default=True, help_text='If a case should be freely available to browse')),
],
),
migrations.CreateModel(
name='CaseCollection',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('publish_results', models.BooleanField(default=False, help_text='If a collection should published')),
('active', models.BooleanField(default=True, help_text='If a collection should be available')),
('show_title_pre', models.BooleanField(default=False, help_text='Show the title of the cases (pre exam)')),
('show_history_pre', models.BooleanField(default=False, help_text='Show the history of the cases (pre exam)')),
('show_description_pre', models.BooleanField(default=False, help_text='Show the description of the cases (pre exam)')),
('show_discussion_pre', models.BooleanField(default=False, help_text='Show the case discussion (pre exam)')),
('show_report_pre', models.BooleanField(default=False, help_text='Show the case report (pre exam)')),
('show_title_post', models.BooleanField(default=False, help_text='Show the title of the cases (post exam)')),
('show_history_post', models.BooleanField(default=False, help_text='Show the history of the cases (post exam)')),
('show_description_post', models.BooleanField(default=False, help_text='Show the description of the cases (post exam)')),
('show_discussion_post', models.BooleanField(default=False, help_text='Show the case discussion (post exam)')),
('show_report_post', models.BooleanField(default=False, help_text='Show the case report (post exam)')),
('archive', models.BooleanField(default=False)),
('exam_mode', models.BooleanField(default=False)),
('open_access', models.BooleanField(default=False, help_text='If the exam is freely accessible (to view and edit on the test system)')),
('collection_type', models.CharField(choices=[('REV', 'Review'), ('REP', 'Report')], default='REP', max_length=3)),
],
),
migrations.CreateModel(
name='CaseDetail',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sort_order', models.IntegerField(default=1000)),
],
options={
'ordering': ('sort_order',),
},
),
migrations.CreateModel(
name='CidReportAnswer',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.TextField(blank=True)),
('feedback', models.TextField(blank=True)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('score', models.IntegerField(blank=True, null=True, validators=[django.core.validators.MaxValueValidator(10), django.core.validators.MinValueValidator(0)])),
('cid', models.BigIntegerField(help_text='Candidate ID')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Condition',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('primary', models.BooleanField(default='True')),
],
bases=(atlas.models.SynMixin, models.Model),
),
migrations.CreateModel(
name='Differential',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField(blank=True, null=True)),
],
),
migrations.CreateModel(
name='Finding',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('primary', models.BooleanField(default='True')),
],
bases=(atlas.models.SynMixin, models.Model),
),
migrations.CreateModel(
name='PathologicalProcess',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
),
migrations.CreateModel(
name='Presentation',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
),
migrations.CreateModel(
name='Series',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('description', models.TextField(blank=True, help_text='Description of stack, for admin organisation, will not be visible when taking')),
('open_access', models.BooleanField(default=True, help_text='If a question should be freely available to browse')),
('open_access', models.BooleanField(default=True, help_text='If a series should be freely available to browse')),
('author', models.ManyToManyField(blank=True, related_name='series', to=settings.AUTH_USER_MODEL)),
('contrast', models.ForeignKey(blank=True, help_text='MRI / CT contrast', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_contrast', to='generic.contrast')),
('examination', models.ForeignKey(help_text='Name of the examination', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_examination', to='generic.examination')),
('modality', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_modality', to='anatomy.modality')),
('plane', models.ForeignKey(blank=True, help_text='Plane of the examination', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_plane', to='generic.plane')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Subspecialty',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
),
migrations.CreateModel(
name='UserReportAnswer',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('answer', models.TextField(blank=True)),
('feedback', models.TextField(blank=True)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('score', models.IntegerField(blank=True, null=True, validators=[django.core.validators.MaxValueValidator(10), django.core.validators.MinValueValidator(0)])),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.casedetail')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Structure',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('primary', models.BooleanField(default='True')),
('synonym', models.ManyToManyField(blank=True, to='atlas.structure')),
],
bases=(atlas.models.SynMixin, models.Model),
),
migrations.CreateModel(
name='SeriesImage',
@@ -47,22 +179,15 @@ class Migration(migrations.Migration):
},
),
migrations.CreateModel(
name='Case',
name='SeriesFinding',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('description', models.TextField(blank=True, help_text='Description of the case, for admin organisation, will not be visible when taking')),
('history', models.TextField(blank=True, null=True)),
('findings', models.TextField(blank=True, null=True)),
('subpecialty', models.CharField(choices=[('BR', 'Breast'), ('CA', 'Cardiac'), ('GI', 'Gastrointestinal and hepatobiliary'), ('HN', 'Head and Neck'), ('MS', 'Musculoskeletal'), ('NE', 'Neuroradiology'), ('OG', 'Obstectric and Gynaecological'), ('PA', 'Paediatric'), ('UR', 'Uroradiology'), ('VA', 'Vascular'), ('HA', 'Haemotology and Oncology')], max_length=2)),
('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')),
('open_access', models.BooleanField(default=True, help_text='If a question should be freely available to browse')),
('author', models.ManyToManyField(blank=True, help_text='Author of question', related_name='atlas_authored_questions', to=settings.AUTH_USER_MODEL)),
('condition', 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 "..."')),
('series', sortedm2m.fields.SortedManyToManyField(help_text=None, related_name='atlas', to='atlas.Series')),
('sign', models.CharField( blank=True, help_text='Radiological signs in the question')),
('description', models.TextField(blank=True, help_text='Findings on the series / stack', null=True)),
('annotation_json', models.TextField(blank=True, null=True)),
('viewport_json', models.TextField(blank=True, null=True)),
('findings', models.ManyToManyField(blank=True, to='atlas.finding')),
('series', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='findings', to='atlas.series')),
('structures', models.ManyToManyField(blank=True, to='atlas.structure')),
],
),
]
@@ -1,24 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-23 22:40
from django.db import migrations, models
import sortedm2m.fields
class Migration(migrations.Migration):
dependencies = [
('atlas', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='case',
name='title',
field=models.CharField(default='', help_text='Title of the case', max_length=255),
),
migrations.AlterField(
model_name='case',
name='series',
field=sortedm2m.fields.SortedManyToManyField(help_text=None, related_name='case', to='atlas.Series'),
),
]
+156
View File
@@ -0,0 +1,156 @@
# Generated by Django 4.1.4 on 2023-06-12 10:07
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import sortedm2m.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
('generic', '0001_initial'),
('anatomy', '0002_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('atlas', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='series',
name='contrast',
field=models.ForeignKey(blank=True, help_text='MRI / CT contrast', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_contrast', to='generic.contrast'),
),
migrations.AddField(
model_name='series',
name='examination',
field=models.ForeignKey(help_text='Name of the examination', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_examination', to='generic.examination'),
),
migrations.AddField(
model_name='series',
name='modality',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_modality', to='anatomy.modality'),
),
migrations.AddField(
model_name='series',
name='plane',
field=models.ForeignKey(blank=True, help_text='Plane of the examination', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='atlas_series_plane', to='generic.plane'),
),
migrations.AddField(
model_name='presentation',
name='subspecialty',
field=models.ManyToManyField(blank=True, to='atlas.subspecialty'),
),
migrations.AddField(
model_name='finding',
name='synonym',
field=models.ManyToManyField(blank=True, to='atlas.finding'),
),
migrations.AddField(
model_name='differential',
name='case',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='differentialcase', to='atlas.case'),
),
migrations.AddField(
model_name='differential',
name='condition',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.condition'),
),
migrations.AddField(
model_name='condition',
name='parent',
field=models.ManyToManyField(blank=True, to='atlas.condition'),
),
migrations.AddField(
model_name='condition',
name='subspecialty',
field=models.ManyToManyField(blank=True, to='atlas.subspecialty'),
),
migrations.AddField(
model_name='condition',
name='synonym',
field=models.ManyToManyField(blank=True, to='atlas.condition'),
),
migrations.AddField(
model_name='cidreportanswer',
name='question',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.casedetail'),
),
migrations.AddField(
model_name='casedetail',
name='case',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.case'),
),
migrations.AddField(
model_name='casedetail',
name='collection',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.casecollection'),
),
migrations.AddField(
model_name='casecollection',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author of the collection', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='casecollection',
name='cases',
field=models.ManyToManyField(through='atlas.CaseDetail', to='atlas.case'),
),
migrations.AddField(
model_name='casecollection',
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'),
),
migrations.AddField(
model_name='casecollection',
name='valid_cid_users',
field=models.ManyToManyField(blank=True, related_name='casecollection_exams', to='generic.ciduser'),
),
migrations.AddField(
model_name='case',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author of the case', related_name='atlas_authored_cases', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='case',
name='condition',
field=models.ManyToManyField(blank=True, to='atlas.condition'),
),
migrations.AddField(
model_name='case',
name='differential',
field=models.ManyToManyField(related_name='casedifferential', through='atlas.Differential', to='atlas.condition'),
),
migrations.AddField(
model_name='case',
name='editor',
field=models.ManyToManyField(blank=True, related_name='atlas_edited_cases', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='case',
name='pathological_process',
field=models.ManyToManyField(blank=True, to='atlas.pathologicalprocess'),
),
migrations.AddField(
model_name='case',
name='presentation',
field=models.ManyToManyField(blank=True, to='atlas.presentation'),
),
migrations.AddField(
model_name='case',
name='previous_case',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='next_case', to='atlas.case'),
),
migrations.AddField(
model_name='case',
name='series',
field=sortedm2m.fields.SortedManyToManyField(help_text=None, related_name='case', to='atlas.series'),
),
migrations.AddField(
model_name='case',
name='subspecialty',
field=models.ManyToManyField(blank=True, to='atlas.subspecialty'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-24 18:47
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0002_auto_20211123_2240'),
]
operations = [
migrations.RenameField(
model_name='case',
old_name='subpecialty',
new_name='subspecialty',
),
]
@@ -1,26 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-25 22:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0003_rename_subpecialty_case_subspecialty'),
]
operations = [
migrations.CreateModel(
name='Condition',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('synonym', models.ManyToManyField(blank=True, related_name='_atlas_condition_synonym_+', to='atlas.Condition')),
],
),
migrations.AlterField(
model_name='case',
name='condition',
field=models.ManyToManyField(blank=True, to='atlas.Condition'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-25 22:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0004_auto_20211125_2216'),
]
operations = [
migrations.AddField(
model_name='condition',
name='primary_name',
field=models.BooleanField(default='True'),
),
]
@@ -1,34 +0,0 @@
# Generated by Django 3.2.4 on 2021-11-28 14:48
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0005_condition_primary_name'),
]
operations = [
migrations.CreateModel(
name='Subspecialty',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
),
migrations.RemoveField(
model_name='case',
name='subspecialty',
),
migrations.AddField(
model_name='condition',
name='subspecialty',
field=models.ManyToManyField(blank=True, to='atlas.Subspecialty'),
),
migrations.AddField(
model_name='case',
name='subspecialty',
field=models.ManyToManyField(blank=True, to='atlas.Subspecialty'),
),
]
@@ -1,87 +0,0 @@
# Generated by Django 3.2.4 on 2021-11-28 16:22
import atlas.models
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("atlas", "0006_auto_20211128_1448"),
]
operations = [
migrations.CreateModel(
name="Finding",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=255)),
("primary_name", models.BooleanField(default="True")),
(
"synonym",
models.ManyToManyField(
blank=True,
related_name="_atlas_finding_synonym_+",
to="atlas.Finding",
),
),
],
bases=(atlas.models.SynMixin, models.Model),
),
migrations.RemoveField(
model_name="case",
name="findings",
),
migrations.AlterField(
model_name="case",
name="description",
field=models.TextField(blank=True, help_text="Description of the case"),
),
migrations.AlterField(
model_name="series",
name="description",
field=models.TextField(blank=True, help_text="Description of stack"),
),
migrations.CreateModel(
name="SeriesFindings",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"description",
models.TextField(
blank=True,
help_text="Findings on the series / stack",
null=True,
),
),
("annotation_json", models.TextField(blank=True, null=True)),
("findings", models.ManyToManyField(blank=True, to="atlas.Finding")),
(
"series",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="findings",
to="atlas.series",
),
),
],
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-29 19:10
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0007_auto_20211128_1622'),
]
operations = [
migrations.RenameModel(
old_name='SeriesFindings',
new_name='SeriesFinding',
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-29 21:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0008_rename_seriesfindings_seriesfinding'),
]
operations = [
migrations.AddField(
model_name='seriesfinding',
name='viewport_json',
field=models.TextField(blank=True, null=True),
),
]
@@ -1,33 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-29 22:14
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('atlas', '0009_seriesfinding_viewport_json'),
]
operations = [
migrations.AddField(
model_name='case',
name='discussion',
field=models.TextField(blank=True, null=True),
),
migrations.CreateModel(
name='Differential',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField(blank=True, null=True)),
('case', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='differentialcase', to='atlas.case')),
('condition', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.condition')),
],
),
migrations.AddField(
model_name='case',
name='differential',
field=models.ManyToManyField(related_name='casedifferential', through='atlas.Differential', to='atlas.Condition'),
),
]
@@ -1,39 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-30 18:07
import atlas.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0010_auto_20211129_2214'),
]
operations = [
migrations.AlterField(
model_name='condition',
name='name',
field=models.CharField(max_length=255, unique=True),
),
migrations.AlterField(
model_name='finding',
name='name',
field=models.CharField(max_length=255, unique=True),
),
migrations.CreateModel(
name='Structure',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('structure', models.CharField(max_length=255, unique=True)),
('primary_name', models.BooleanField(default='True')),
('synonym', models.ManyToManyField(blank=True, related_name='_atlas_structure_synonym_+', to='atlas.Structure')),
],
bases=(atlas.models.SynMixin, models.Model),
),
migrations.AddField(
model_name='seriesfinding',
name='structures',
field=models.ManyToManyField(blank=True, to='atlas.Structure'),
),
]
@@ -1,28 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-30 20:50
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0011_auto_20211130_1807'),
]
operations = [
migrations.RenameField(
model_name='condition',
old_name='primary_name',
new_name='primary',
),
migrations.RenameField(
model_name='finding',
old_name='primary_name',
new_name='primary',
),
migrations.RenameField(
model_name='structure',
old_name='primary_name',
new_name='primary',
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-11-30 22:55
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0012_auto_20211130_2050'),
]
operations = [
migrations.RenameField(
model_name='structure',
old_name='structure',
new_name='name',
),
]
-17
View File
@@ -1,17 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-01 19:32
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0013_rename_structure_structure_name'),
]
operations = [
migrations.RemoveField(
model_name='case',
name='sign',
),
]
-18
View File
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-12-05 16:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0014_remove_case_sign'),
]
operations = [
migrations.AddField(
model_name='condition',
name='parent',
field=models.ManyToManyField(blank=True, related_name='_atlas_condition_parent_+', to='atlas.Condition'),
),
]
@@ -1,25 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-06 22:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0015_condition_parent'),
]
operations = [
migrations.CreateModel(
name='PathalogicalProcess',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
),
migrations.AddField(
model_name='case',
name='pathalogical_process',
field=models.ManyToManyField(blank=True, to='atlas.PathalogicalProcess'),
),
]
-23
View File
@@ -1,23 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-06 22:31
import atlas.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0016_auto_20211206_2224'),
]
operations = [
migrations.CreateModel(
name='Presentation',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('subspecialty', models.ManyToManyField(blank=True, to='atlas.Subspecialty')),
],
bases=(atlas.models.SynMixin, models.Model),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-07 09:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0017_presentation'),
]
operations = [
migrations.AlterField(
model_name='presentation',
name='name',
field=models.CharField(max_length=255),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-07 11:41
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0018_alter_presentation_name'),
]
operations = [
migrations.AddField(
model_name='case',
name='presentation',
field=models.ManyToManyField(blank=True, to='atlas.Presentation'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-07 15:13
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0019_case_presentation'),
]
operations = [
migrations.RenameField(
model_name='case',
old_name='pathalogical_process',
new_name='pathological_process',
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-07 15:23
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0020_rename_pathalogical_process_case_pathological_process'),
]
operations = [
migrations.RenameModel(
old_name='PathalogicalProcess',
new_name='PathologicalProcess',
),
]
@@ -1,35 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-14 17:45
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('atlas', '0021_rename_pathalogicalprocess_pathologicalprocess'),
]
operations = [
migrations.AddField(
model_name='case',
name='editor',
field=models.ManyToManyField(blank=True, related_name='atlas_edited_cases', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='case',
name='report',
field=models.TextField(blank=True, help_text='A model (sample) report for the case.', null=True),
),
migrations.AlterField(
model_name='case',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author of the case', related_name='atlas_authored_cases', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='case',
name='history',
field=models.TextField(blank=True, help_text='A (brief) summary of the relevant history', null=True),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.10 on 2021-12-23 17:20
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('atlas', '0022_auto_20211214_1745'),
]
operations = [
migrations.AddField(
model_name='case',
name='previous_case',
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='next_case', to='atlas.case'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.10 on 2021-12-23 17:28
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('atlas', '0023_case_previous_case'),
]
operations = [
migrations.AlterField(
model_name='case',
name='previous_case',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='next_case', to='atlas.case'),
),
]
@@ -1,36 +0,0 @@
# Generated by Django 3.2.10 on 2022-03-21 16:02
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('atlas', '0024_alter_case_previous_case'),
]
operations = [
migrations.CreateModel(
name='CaseCollection',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('open_access', models.BooleanField(default=True, help_text='If a collection should be freely available to browse')),
],
),
migrations.CreateModel(
name='CaseDetail',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sort_order', models.IntegerField()),
('case', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.case')),
('collection', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.casecollection')),
],
),
migrations.AddField(
model_name='casecollection',
name='cases',
field=models.ManyToManyField(through='atlas.CaseDetail', to='atlas.Case'),
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.2.10 on 2022-03-21 16:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0025_auto_20220321_1602'),
]
operations = [
migrations.AlterField(
model_name='case',
name='open_access',
field=models.BooleanField(default=True, help_text='If a case should be freely available to browse'),
),
migrations.AlterField(
model_name='series',
name='open_access',
field=models.BooleanField(default=True, help_text='If a series should be freely available to browse'),
),
]
@@ -1,32 +0,0 @@
# Generated by Django 3.2.4 on 2022-03-25 21:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0026_auto_20220321_1612'),
]
operations = [
migrations.AlterModelOptions(
name='casedetail',
options={'ordering': ('sort_order',)},
),
migrations.AddField(
model_name='casecollection',
name='show_description',
field=models.BooleanField(default=False, help_text='Show the description of the cases'),
),
migrations.AddField(
model_name='casecollection',
name='show_discussion',
field=models.BooleanField(default=False, help_text='Show the case discussion'),
),
migrations.AddField(
model_name='casecollection',
name='show_title',
field=models.BooleanField(default=False, help_text='Show the title of the cases'),
),
]

Some files were not shown because too many files have changed in this diff Show More