Add Procedure model and integrate into CaseForm; update views and templates for procedure handling
This commit is contained in:
@@ -118,6 +118,7 @@ from .models import (
|
||||
UserReportAnswer,
|
||||
PrerequisiteRequired
|
||||
)
|
||||
from .models import Procedure
|
||||
from .models import NormalCase
|
||||
from .tables import (
|
||||
CaseCollectionTable,
|
||||
@@ -590,6 +591,7 @@ def get_case_for_case_detail(pk: int) -> Case:
|
||||
),
|
||||
Prefetch("subspecialty", queryset=Subspecialty.objects.all()),
|
||||
Prefetch("condition", queryset=Condition.objects.all()),
|
||||
Prefetch("procedures", queryset=Procedure.objects.all()),
|
||||
Prefetch("presentation", queryset=Presentation.objects.all()),
|
||||
Prefetch("pathological_process", queryset=PathologicalProcess.objects.all()),
|
||||
Prefetch("caseresource_set", queryset=CaseResource.objects.all()),
|
||||
@@ -1198,6 +1200,23 @@ def presentation_detail(request, pk):
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
def procedure_detail(request, pk):
|
||||
procedure = get_object_or_404(Procedure, pk=pk)
|
||||
|
||||
# Cases that have this procedure
|
||||
cases = Case.objects.filter(procedures__id=procedure.pk)
|
||||
|
||||
return render(
|
||||
request,
|
||||
"atlas/procedure_detail.html",
|
||||
{
|
||||
"procedure": procedure,
|
||||
"cases": cases,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
# @user_is_atlas_editor
|
||||
def pathological_process_detail(request, pk):
|
||||
@@ -2985,6 +3004,22 @@ class ConditionAutocomplete(autocomplete.Select2QuerySetView):
|
||||
return qs
|
||||
|
||||
|
||||
class ProcedureAutocomplete(autocomplete.Select2QuerySetView):
|
||||
def get_queryset(self):
|
||||
if not self.request.user.is_authenticated:
|
||||
return Procedure.objects.none()
|
||||
|
||||
qs = Procedure.objects.all()
|
||||
|
||||
if self.q:
|
||||
try:
|
||||
qs = qs.filter(name__icontains=self.q)
|
||||
except FieldError:
|
||||
return Procedure.objects.none()
|
||||
|
||||
return qs
|
||||
|
||||
|
||||
class ConditionAutocompleteRCRCurriculum(autocomplete.Select2QuerySetView):
|
||||
def get_queryset(self):
|
||||
# Don't forget to filter out results depending on the visitor !
|
||||
|
||||
Reference in New Issue
Block a user