fix a number of issues and start adding resources

This commit is contained in:
Ross
2024-04-04 23:15:22 +01:00
parent 2fef934323
commit f13d1ba7e2
8 changed files with 174 additions and 6 deletions
+32
View File
@@ -364,6 +364,8 @@ class Case(models.Model, AuthorMixin, QuestionMixin):
blank=True,
)
resource = models.ManyToManyField("Resource", through="CaseResource")
def get_app_name(self):
return "atlas"
@@ -1142,3 +1144,33 @@ class UncategorisedDicom(models.Model):
class DuplicateDicom(Exception):
pass
class Resource(models.Model, AuthorMixin):
name = models.CharField(max_length=255)
description = models.TextField(blank=True, null=True)
url = models.URLField(blank=True, null=True)
file = models.FileField(upload_to="atlas/resources/", blank=True, null=True)
author = models.ManyToManyField(
settings.AUTH_USER_MODEL,
blank=True,
help_text="Author of the resource",
related_name="resources",
)
def __str__(self) -> str:
return self.name
def get_absolute_url(self):
return reverse("atlas:resource_detail", kwargs={"pk": self.pk})
def get_link(self):
return format_html("<a href='{}'>{}</a>", self.get_absolute_url(), self.name)
class CaseResource(models.Model):
resource = models.ForeignKey(Resource, on_delete=models.CASCADE)
case = models.ForeignKey(Case, on_delete=models.CASCADE)
pre_review = models.BooleanField(default=False)
def __str__(self) -> str:
return f"{self.resource} - {self.case}"