.
This commit is contained in:
@@ -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 %}
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user