This commit is contained in:
Ross
2021-12-05 18:47:00 +00:00
parent bdaf5fc151
commit 088369e0a5
5 changed files with 85 additions and 8 deletions
+19 -6
View File
@@ -1,6 +1,6 @@
import django_filters import django_filters
from .models import Case, Condition, Series from .models import Case, Condition, Finding, Series, Structure
from django.contrib.auth.models import User from django.contrib.auth.models import User
def get_authors(request): def get_authors(request):
@@ -47,10 +47,23 @@ class ConditionFilter(django_filters.FilterSet):
fields = ("name", "primary", "synonym", "parent", "subspecialty") fields = ("name", "primary", "synonym", "parent", "subspecialty")
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None): def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
#if not request.user.groups.filter(name="atlas_checker").exists():
##queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id)
#queryset = queryset.filter(author__id=request.user.id)
super(ConditionFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request) super(ConditionFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass pass
class FindingFilter(django_filters.FilterSet):
class Meta:
model = Finding
fields = ("name", "primary", "synonym")
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
super(FindingFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass
class StructureFilter(django_filters.FilterSet):
class Meta:
model = Structure
fields = ("name", "primary", "synonym")
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
super(StructureFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass
+26 -1
View File
@@ -9,7 +9,7 @@ from django.forms import (
) )
from django.forms import inlineformset_factory from django.forms import inlineformset_factory
from atlas.models import Case, Differential, Series, SeriesImage, SeriesFinding, Condition from atlas.models import Case, Differential, Finding, Series, SeriesImage, SeriesFinding, Condition, Structure
from anatomy.models import Modality from anatomy.models import Modality
@@ -33,6 +33,31 @@ class ConditionForm(ModelForm):
"synonym": autocomplete.ModelSelect2Multiple( "synonym": autocomplete.ModelSelect2Multiple(
url="atlas:condition-autocomplete" url="atlas:condition-autocomplete"
), ),
"parent": autocomplete.ModelSelect2Multiple(
url="atlas:condition-autocomplete"
),
}
class FindingForm(ModelForm):
class Meta:
model = Finding
exclude = []
widgets = {
"synonym": autocomplete.ModelSelect2Multiple(
url="atlas:finding-autocomplete"
),
}
class StructureForm(ModelForm):
class Meta:
model = Structure
exclude = []
widgets = {
"synonym": autocomplete.ModelSelect2Multiple(
url="atlas:structure-autocomplete"
),
} }
class SeriesFindingForm(ModelForm): class SeriesFindingForm(ModelForm):
+26 -1
View File
@@ -133,8 +133,11 @@ class SeriesTable(tables.Table):
) )
class ConditionTable(tables.Table): class ConditionTable(tables.Table):
#edit = tables.LinkColumn(
# "atlas:condition_update", text="Edit", args=[A("pk")], orderable=False
#)
edit = tables.LinkColumn( edit = tables.LinkColumn(
"atlas:condition_update", text="Edit", args=[A("pk")], orderable=False "atlas:condition_update", text=A("name"), args=[A("pk")], orderable=False
) )
view = tables.LinkColumn( view = tables.LinkColumn(
"atlas:condition_detail", text="View", args=[A("pk")], orderable=False "atlas:condition_detail", text="View", args=[A("pk")], orderable=False
@@ -152,3 +155,25 @@ class ConditionTable(tables.Table):
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ("name", "primary", "subspecialty") fields = ("name", "primary", "subspecialty")
sequence = () sequence = ()
class FindingTable(tables.Table):
edit = tables.LinkColumn(
"atlas:finding_update", text="Edit", args=[A("pk")], orderable=False
)
view = tables.LinkColumn(
"atlas:finding_detail", text="View", args=[A("pk")], orderable=False
)
delete = tables.LinkColumn(
"atlas:finding_delete", text="Delete", args=[A("pk")], orderable=False
)
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
synonym = tables.ManyToManyColumn(verbose_name="Synonyms")
parent = tables.ManyToManyColumn(verbose_name="Parents")
class Meta:
model = Finding
template_name = "django_tables2/bootstrap4.html"
fields = ("name", "primary", "subspecialty")
sequence = ()
+1
View File
@@ -14,6 +14,7 @@ urlpatterns = [
path("condition/<int:pk>", views.condition_detail, name="condition_detail"), path("condition/<int:pk>", views.condition_detail, name="condition_detail"),
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("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"),
+13
View File
@@ -360,6 +360,19 @@ class ConditionUpdate(
model = Condition model = Condition
form_class = ConditionForm form_class = ConditionForm
class ConditionCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = Condition
form_class = ConditionForm
class ConditionUpdate(
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
):
model = Condition
form_class = ConditionForm
class ConditionCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = Condition
form_class = ConditionForm
class AtlasCreateBase(RevisionMixin, LoginRequiredMixin): class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
model = Case model = Case