This commit is contained in:
Ross
2021-12-05 19:08:24 +00:00
parent 5c23549b59
commit 62d23fef48
3 changed files with 46 additions and 8 deletions
+2
View File
@@ -20,6 +20,8 @@ Atlas:
<a href="{% url 'atlas:case_view' %}">Cases</a> / <a href="{% url 'atlas:case_view' %}">Cases</a> /
<a href="{% url 'atlas:series_view' %}">Series</a> / <a href="{% url 'atlas:series_view' %}">Series</a> /
<a href="{% url 'atlas:condition_view' %}">Conditions</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: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> <a href="{% url 'atlas:series_create' %}" title="Create a new image series">Create Series</a>
{% endif %} {% endif %}
+10
View File
@@ -15,6 +15,16 @@ urlpatterns = [
path("condition/<int:pk>/delete", views.ConditionDelete.as_view(), name="condition_delete"), 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>/update", views.ConditionUpdate.as_view(), name="condition_update"),
path("condition/<int:pk>/create", views.ConditionCreate.as_view(), name="condition_create"), 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/<int:pk>", views.series_detail, name="series_detail"),
path("series/", views.SeriesView.as_view(), name="series_view"), path("series/", views.SeriesView.as_view(), name="series_view"),
path("series/<int:pk>", views.series_detail, name="series_detail"), path("series/<int:pk>", views.series_detail, name="series_detail"),
+34 -8
View File
@@ -29,11 +29,13 @@ from django.http import HttpResponseRedirect, HttpResponse
from .forms import ( from .forms import (
CaseForm, CaseForm,
ConditionForm, ConditionForm,
FindingForm,
SeriesForm, SeriesForm,
SeriesImageFormSet, SeriesImageFormSet,
SeriesFormSet, SeriesFormSet,
SeriesFindingForm, SeriesFindingForm,
CaseDifferentialFormSet, CaseDifferentialFormSet,
StructureForm,
) )
from .models import ( from .models import (
Case, Case,
@@ -46,8 +48,8 @@ from .models import (
SeriesFinding, SeriesFinding,
SeriesImage, SeriesImage,
) )
from .tables import CaseTable, ConditionTable, SeriesTable from .tables import CaseTable, ConditionTable, FindingTable, SeriesTable, StructureTable
from .filters import AtlasFilter, ConditionFilter, SeriesFilter from .filters import AtlasFilter, ConditionFilter, FindingFilter, SeriesFilter, StructureFilter
from django_tables2 import SingleTableView, SingleTableMixin from django_tables2 import SingleTableView, SingleTableMixin
from django_filters.views import FilterView from django_filters.views import FilterView
@@ -368,15 +370,25 @@ class ConditionCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = Condition model = Condition
form_class = ConditionForm form_class = ConditionForm
class ConditionUpdate( class FindingUpdate(
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
): ):
model = Condition model = Finding
form_class = ConditionForm form_class = FindingForm
class ConditionCreate(RevisionMixin, LoginRequiredMixin, CreateView): class FindingCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = Condition model = Finding
form_class = ConditionForm 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): class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
model = Case model = Case
@@ -574,6 +586,20 @@ class ConditionView(LoginRequiredMixin, SingleTableMixin, FilterView):
filterset_class = ConditionFilter 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 @login_required
@user_is_author_or_atlas_series_checker @user_is_author_or_atlas_series_checker