.
This commit is contained in:
@@ -20,6 +20,8 @@ Atlas:
|
||||
<a href="{% url 'atlas:case_view' %}">Cases</a> /
|
||||
<a href="{% url 'atlas:series_view' %}">Series</a> /
|
||||
<a href="{% url 'atlas:condition_view' %}">Conditions</a> /
|
||||
<a href="{% url 'atlas:finding_view' %}">Findings</a> /
|
||||
<a href="{% url 'atlas:structure_view' %}">Structures</a> /
|
||||
<a href="{% url 'atlas:create' %}" title="Create a new atlas case">Create Case</a> /
|
||||
<a href="{% url 'atlas:series_create' %}" title="Create a new image series">Create Series</a>
|
||||
{% endif %}
|
||||
|
||||
@@ -15,6 +15,16 @@ urlpatterns = [
|
||||
path("condition/<int:pk>/delete", views.ConditionDelete.as_view(), name="condition_delete"),
|
||||
path("condition/<int:pk>/update", views.ConditionUpdate.as_view(), name="condition_update"),
|
||||
path("condition/<int:pk>/create", views.ConditionCreate.as_view(), name="condition_create"),
|
||||
path("finding/", views.FindingView.as_view(), name="finding_view"),
|
||||
path("finding/<int:pk>", views.finding_detail, name="finding_detail"),
|
||||
path("finding/<int:pk>/delete", views.FindingDelete.as_view(), name="finding_delete"),
|
||||
path("finding/<int:pk>/update", views.FindingUpdate.as_view(), name="finding_update"),
|
||||
path("finding/<int:pk>/create", views.FindingCreate.as_view(), name="finding_create"),
|
||||
path("structure/", views.StructureView.as_view(), name="structure_view"),
|
||||
path("structure/<int:pk>", views.structure_detail, name="structure_detail"),
|
||||
path("structure/<int:pk>/delete", views.StructureDelete.as_view(), name="structure_delete"),
|
||||
path("structure/<int:pk>/update", views.StructureUpdate.as_view(), name="structure_update"),
|
||||
path("structure/<int:pk>/create", views.StructureCreate.as_view(), name="structure_create"),
|
||||
path("series/<int:pk>", views.series_detail, name="series_detail"),
|
||||
path("series/", views.SeriesView.as_view(), name="series_view"),
|
||||
path("series/<int:pk>", views.series_detail, name="series_detail"),
|
||||
|
||||
+34
-8
@@ -29,11 +29,13 @@ from django.http import HttpResponseRedirect, HttpResponse
|
||||
from .forms import (
|
||||
CaseForm,
|
||||
ConditionForm,
|
||||
FindingForm,
|
||||
SeriesForm,
|
||||
SeriesImageFormSet,
|
||||
SeriesFormSet,
|
||||
SeriesFindingForm,
|
||||
CaseDifferentialFormSet,
|
||||
StructureForm,
|
||||
)
|
||||
from .models import (
|
||||
Case,
|
||||
@@ -46,8 +48,8 @@ from .models import (
|
||||
SeriesFinding,
|
||||
SeriesImage,
|
||||
)
|
||||
from .tables import CaseTable, ConditionTable, SeriesTable
|
||||
from .filters import AtlasFilter, ConditionFilter, SeriesFilter
|
||||
from .tables import CaseTable, ConditionTable, FindingTable, SeriesTable, StructureTable
|
||||
from .filters import AtlasFilter, ConditionFilter, FindingFilter, SeriesFilter, StructureFilter
|
||||
|
||||
from django_tables2 import SingleTableView, SingleTableMixin
|
||||
from django_filters.views import FilterView
|
||||
@@ -368,15 +370,25 @@ class ConditionCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||
model = Condition
|
||||
form_class = ConditionForm
|
||||
|
||||
class ConditionUpdate(
|
||||
class FindingUpdate(
|
||||
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
|
||||
):
|
||||
model = Condition
|
||||
form_class = ConditionForm
|
||||
model = Finding
|
||||
form_class = FindingForm
|
||||
|
||||
class ConditionCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||
model = Condition
|
||||
form_class = ConditionForm
|
||||
class FindingCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||
model = Finding
|
||||
form_class = FindingForm
|
||||
|
||||
class StructureUpdate(
|
||||
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
|
||||
):
|
||||
model = Structure
|
||||
form_class = StructureForm
|
||||
|
||||
class StructureCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||
model = Structure
|
||||
form_class = StructureForm
|
||||
|
||||
class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
|
||||
model = Case
|
||||
@@ -574,6 +586,20 @@ class ConditionView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
|
||||
filterset_class = ConditionFilter
|
||||
|
||||
class StructureView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
model = Structure
|
||||
table_class = StructureTable
|
||||
template_name = "atlas/view.html"
|
||||
|
||||
filterset_class = StructureFilter
|
||||
|
||||
class FindingView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
model = Finding
|
||||
table_class = FindingTable
|
||||
template_name = "atlas/view.html"
|
||||
|
||||
filterset_class = FindingFilter
|
||||
|
||||
|
||||
@login_required
|
||||
@user_is_author_or_atlas_series_checker
|
||||
|
||||
Reference in New Issue
Block a user