.
This commit is contained in:
+19
-6
@@ -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
|
||||||
|
|
||||||
|
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
|
pass
|
||||||
+26
-1
@@ -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
@@ -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 = ()
|
||||||
@@ -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"),
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user