update conditions
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
- Privacy policy
|
||||
- Cookie policy
|
||||
- Sort out conditions / signs / findings etc
|
||||
- Search by image id / name / etc
|
||||
|
||||
|
||||
# Future
|
||||
|
||||
+4
-1
@@ -52,7 +52,7 @@ import logging
|
||||
class ConditionForm(ModelForm):
|
||||
class Meta:
|
||||
model = Condition
|
||||
exclude = []
|
||||
exclude = ["rcr_curriculum"]
|
||||
|
||||
widgets = {
|
||||
"synonym": autocomplete.ModelSelect2Multiple(
|
||||
@@ -61,6 +61,9 @@ class ConditionForm(ModelForm):
|
||||
"parent": autocomplete.ModelSelect2Multiple(
|
||||
url="atlas:condition-autocomplete"
|
||||
),
|
||||
"rcr_curriculum_map": autocomplete.ModelSelect2Multiple(
|
||||
url="atlas:condition-autocomplete-rcr-curriculum"
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Generated by Django 4.1.4 on 2023-10-24 11:54
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('atlas', '0022_alter_uncategoriseddicom_series_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='condition',
|
||||
name='rcr_curriculum',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='condition',
|
||||
name='rcr_curriculum_map',
|
||||
field=models.ManyToManyField(blank=True, limit_choices_to={'rcr_curriculum': True}, to='atlas.condition'),
|
||||
),
|
||||
]
|
||||
@@ -150,6 +150,10 @@ class Condition(SynMixin, models.Model):
|
||||
|
||||
subspecialty = models.ManyToManyField("subspecialty", blank=True)
|
||||
|
||||
rcr_curriculum_map = models.ManyToManyField("self", blank=True, limit_choices_to={"rcr_curriculum": True})
|
||||
|
||||
rcr_curriculum = models.BooleanField(default=False)
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("atlas:condition_detail", kwargs={"pk": self.pk})
|
||||
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@ class ConditionTable(tables.Table):
|
||||
class Meta:
|
||||
model = Condition
|
||||
template_name = "django_tables2/bootstrap4.html"
|
||||
fields = ("primary", "subspecialty")
|
||||
fields = ("primary", "subspecialty", "rcr_curriculum_map", "rcr_curriculum")
|
||||
sequence = ("name",)
|
||||
|
||||
def render_synonym(self, value, record):
|
||||
|
||||
@@ -279,6 +279,12 @@ urlpatterns = [
|
||||
views.ConditionAutocomplete.as_view(model=Condition, create_field="name"),
|
||||
name="condition-autocomplete",
|
||||
),
|
||||
path(
|
||||
"condition-autocomplete-rcr-curriculum",
|
||||
views.ConditionAutocompleteRCRCurriculum.as_view(model=Condition),
|
||||
name="condition-autocomplete-rcr-curriculum",
|
||||
),
|
||||
|
||||
path(
|
||||
"presentation-autocomplete",
|
||||
views.PresentationAutocomplete.as_view(model=Presentation, create_field="name"),
|
||||
|
||||
@@ -1039,6 +1039,22 @@ class ConditionAutocomplete(autocomplete.Select2QuerySetView):
|
||||
|
||||
return qs
|
||||
|
||||
class ConditionAutocompleteRCRCurriculum(autocomplete.Select2QuerySetView):
|
||||
def get_queryset(self):
|
||||
# Don't forget to filter out results depending on the visitor !
|
||||
if not self.request.user.is_authenticated:
|
||||
return Condition.objects.none()
|
||||
|
||||
qs = Condition.objects.filter(rcr_curriculum=True)
|
||||
|
||||
if self.q:
|
||||
# This raises a fielderror which breaks creating a new item if not caught
|
||||
try:
|
||||
qs = qs.filter(name__icontains=self.q, rcr_curriculum=True)
|
||||
except FieldError:
|
||||
return Condition.objects.none()
|
||||
|
||||
return qs
|
||||
|
||||
class PresentationAutocomplete(autocomplete.Select2QuerySetView):
|
||||
def get_queryset(self):
|
||||
|
||||
Reference in New Issue
Block a user