.
This commit is contained in:
+2
-1
@@ -1,5 +1,5 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from .models import Case, Series, SeriesImage, Condition, Subspecialty
|
from .models import Case, Series, SeriesImage, Condition, Subspecialty, Finding
|
||||||
|
|
||||||
import tagulous.admin
|
import tagulous.admin
|
||||||
|
|
||||||
@@ -19,6 +19,7 @@ from generic.models import Examination, Sign
|
|||||||
admin.site.register(SeriesImage)
|
admin.site.register(SeriesImage)
|
||||||
admin.site.register(Condition)
|
admin.site.register(Condition)
|
||||||
admin.site.register(Subspecialty)
|
admin.site.register(Subspecialty)
|
||||||
|
admin.site.register(Finding)
|
||||||
|
|
||||||
|
|
||||||
class AtlasAdminForm(ModelForm):
|
class AtlasAdminForm(ModelForm):
|
||||||
|
|||||||
+24
-11
@@ -73,16 +73,7 @@ def findMiddle(input_list):
|
|||||||
return input_list[int(middle)]
|
return input_list[int(middle)]
|
||||||
return (input_list[int(middle)], input_list[int(middle - 1)])
|
return (input_list[int(middle)], input_list[int(middle - 1)])
|
||||||
|
|
||||||
|
class SynModel():
|
||||||
class Condition(models.Model):
|
|
||||||
name = models.CharField(max_length=255)
|
|
||||||
|
|
||||||
synonym = models.ManyToManyField("self", blank=True)
|
|
||||||
|
|
||||||
primary_name = models.BooleanField(default="True")
|
|
||||||
|
|
||||||
subspecialty = models.ManyToManyField("subspecialty", blank=True)
|
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
if self.primary_name:
|
if self.primary_name:
|
||||||
if self.synonym.count() == 0:
|
if self.synonym.count() == 0:
|
||||||
@@ -93,6 +84,21 @@ class Condition(models.Model):
|
|||||||
else:
|
else:
|
||||||
return f"{self.name} [syn]"
|
return f"{self.name} [syn]"
|
||||||
|
|
||||||
|
class Finding(models.Model, SynModel):
|
||||||
|
name = models.CharField(max_length=255)
|
||||||
|
synonym = models.ManyToManyField("self", blank=True)
|
||||||
|
|
||||||
|
primary_name = models.BooleanField(default="True")
|
||||||
|
|
||||||
|
class Condition(models.Model, SynModel):
|
||||||
|
name = models.CharField(max_length=255)
|
||||||
|
|
||||||
|
synonym = models.ManyToManyField("self", blank=True)
|
||||||
|
|
||||||
|
primary_name = models.BooleanField(default="True")
|
||||||
|
|
||||||
|
subspecialty = models.ManyToManyField("subspecialty", blank=True)
|
||||||
|
|
||||||
class Subspecialty(models.Model):
|
class Subspecialty(models.Model):
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
|
|
||||||
@@ -195,6 +201,11 @@ class SeriesImage(models.Model):
|
|||||||
info = "File is not a dicom."
|
info = "File is not a dicom."
|
||||||
return info
|
return info
|
||||||
|
|
||||||
|
class SeriesFindings(models.Model):
|
||||||
|
|
||||||
|
series = models.ForeignKey(
|
||||||
|
"Series", related_name="findings", on_delete=models.SET_NULL, null=True
|
||||||
|
)
|
||||||
|
|
||||||
@reversion.register
|
@reversion.register
|
||||||
class Series(models.Model):
|
class Series(models.Model):
|
||||||
@@ -229,7 +240,7 @@ class Series(models.Model):
|
|||||||
)
|
)
|
||||||
description = models.TextField(
|
description = models.TextField(
|
||||||
blank=True,
|
blank=True,
|
||||||
help_text="Description of stack, for admin organisation, will not be visible when taking",
|
help_text="Description of stack",
|
||||||
)
|
)
|
||||||
|
|
||||||
author = models.ManyToManyField(
|
author = models.ManyToManyField(
|
||||||
@@ -238,6 +249,8 @@ class Series(models.Model):
|
|||||||
related_name="series",
|
related_name="series",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
findings = models.TextField(null=True, blank=True, help_text="Findings on the series / stack")
|
||||||
|
|
||||||
open_access = models.BooleanField(
|
open_access = models.BooleanField(
|
||||||
help_text="If a question should be freely available to browse", default=True
|
help_text="If a question should be freely available to browse", default=True
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user