From 62f7663461b5e3d38403fe77198ea5f7de052a2d Mon Sep 17 00:00:00 2001 From: Ross Date: Sat, 18 May 2024 17:31:33 +0100 Subject: [PATCH] add rcr platform changes --- rcr/filters.py | 3 + rcr/forms.py | 3 + .../0023_item_radiology_condition.py | 20 +++++ ...emove_item_radiology_condition_and_more.py | 23 ++++++ .../0025_alter_item_radiology_condition.py | 19 +++++ rcr/models.py | 4 + rcr/templates/rcr/base.html | 3 + rcr/templates/rcr/item_detail.html | 6 ++ rcr/templates/rcr/results.html | 81 +++++++++++++++++++ rcr/urls.py | 1 + rcr/views.py | 21 ++++- ...lter_exam_exam_results_emailed_and_more.py | 33 ++++++++ 12 files changed, 213 insertions(+), 4 deletions(-) create mode 100644 rcr/migrations/0023_item_radiology_condition.py create mode 100644 rcr/migrations/0024_remove_item_radiology_condition_and_more.py create mode 100644 rcr/migrations/0025_alter_item_radiology_condition.py create mode 100644 rcr/templates/rcr/results.html create mode 100644 sbas/migrations/0011_alter_exam_end_date_alter_exam_exam_results_emailed_and_more.py diff --git a/rcr/filters.py b/rcr/filters.py index bbc2b275..3eb2af84 100755 --- a/rcr/filters.py +++ b/rcr/filters.py @@ -58,7 +58,10 @@ class ItemFilter(django_filters.FilterSet): "assessed_by": ["exact"], "completed_radiology": ["exact"], "completed_oncology": ["exact"], + "radiology_categories": ["exact"], + "oncology_category": ["exact"], "needs_review": ["exact"], + "outcome": ["exact"], } diff --git a/rcr/forms.py b/rcr/forms.py index f4ed0530..2996d71a 100644 --- a/rcr/forms.py +++ b/rcr/forms.py @@ -16,12 +16,14 @@ from django.forms import ( from rcr.models import Item, RadiologyCategory, OncologyCategory, Level from django.contrib.auth.models import User +from atlas.models import Condition class ItemForm(ModelForm): #radiology_category = ModelMultipleChoiceField(queryset=RadiologyCategory.objects.all()) #oncology_category = ModelMultipleChoiceField(queryset=OncologyCategory.objects.all()) + radiology_condition = ModelMultipleChoiceField(queryset=Condition.objects.filter(rcr_curriculum=True), required=False) @@ -48,6 +50,7 @@ class ItemForm(ModelForm): # fields = ["category", "level"] widgets = { "radiology_categories": forms.SelectMultiple(attrs={"size": 12}), + #"radiology_condition": forms.SelectMultiple(attrs={"size": 12}), #"oncology_category": CheckboxSelectMultiple(), #"level": CheckboxSelectMultiple(), diff --git a/rcr/migrations/0023_item_radiology_condition.py b/rcr/migrations/0023_item_radiology_condition.py new file mode 100644 index 00000000..40121743 --- /dev/null +++ b/rcr/migrations/0023_item_radiology_condition.py @@ -0,0 +1,20 @@ +# Generated by Django 5.0.2 on 2024-05-18 07:49 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('atlas', '0052_alter_casecollection_end_date_and_more'), + ('rcr', '0022_remove_item_radiology_category'), + ] + + operations = [ + migrations.AddField( + model_name='item', + name='radiology_condition', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rcr_migration_item', to='atlas.condition'), + ), + ] diff --git a/rcr/migrations/0024_remove_item_radiology_condition_and_more.py b/rcr/migrations/0024_remove_item_radiology_condition_and_more.py new file mode 100644 index 00000000..2d2bd725 --- /dev/null +++ b/rcr/migrations/0024_remove_item_radiology_condition_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 5.0.2 on 2024-05-18 16:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('atlas', '0052_alter_casecollection_end_date_and_more'), + ('rcr', '0023_item_radiology_condition'), + ] + + operations = [ + migrations.RemoveField( + model_name='item', + name='radiology_condition', + ), + migrations.AddField( + model_name='item', + name='radiology_condition', + field=models.ManyToManyField(blank=True, null=True, related_name='rcr_migration_item', to='atlas.condition'), + ), + ] diff --git a/rcr/migrations/0025_alter_item_radiology_condition.py b/rcr/migrations/0025_alter_item_radiology_condition.py new file mode 100644 index 00000000..6b76b302 --- /dev/null +++ b/rcr/migrations/0025_alter_item_radiology_condition.py @@ -0,0 +1,19 @@ +# Generated by Django 5.0.2 on 2024-05-18 16:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('atlas', '0052_alter_casecollection_end_date_and_more'), + ('rcr', '0024_remove_item_radiology_condition_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='item', + name='radiology_condition', + field=models.ManyToManyField(blank=True, related_name='rcr_migration_item', to='atlas.condition'), + ), + ] diff --git a/rcr/models.py b/rcr/models.py index 5bb29b96..0d977a17 100644 --- a/rcr/models.py +++ b/rcr/models.py @@ -4,6 +4,8 @@ from django.urls import reverse from django.utils.translation import gettext_lazy as _ import reversion +from atlas.models import Condition + # Create your models here. @reversion.register() @@ -60,6 +62,8 @@ class Item(models.Model): completed_radiology = models.BooleanField(default=False) completed_oncology = models.BooleanField(default=False) + radiology_condition = models.ManyToManyField(Condition, blank=True, related_name="rcr_migration_item") + class Meta: ordering = ("pk",) diff --git a/rcr/templates/rcr/base.html b/rcr/templates/rcr/base.html index f67aeacb..26b7f9e3 100644 --- a/rcr/templates/rcr/base.html +++ b/rcr/templates/rcr/base.html @@ -76,6 +76,9 @@