.
This commit is contained in:
@@ -38,6 +38,8 @@ from easy_thumbnails.exceptions import InvalidImageFormatError
|
||||
import pydicom
|
||||
import datetime
|
||||
|
||||
import reversion
|
||||
|
||||
|
||||
|
||||
image_storage = FileSystemStorage(
|
||||
@@ -61,6 +63,7 @@ def findMiddle(input_list):
|
||||
return (input_list[int(middle)], input_list[int(middle - 1)])
|
||||
|
||||
|
||||
@reversion.register
|
||||
class Long(models.Model):
|
||||
# author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
|
||||
# image = models.ImageField()
|
||||
@@ -281,6 +284,7 @@ class LongSeriesImage(models.Model):
|
||||
ordering = ['position']
|
||||
|
||||
|
||||
@reversion.register
|
||||
class LongSeries(models.Model):
|
||||
modality = models.ForeignKey(
|
||||
Modality, related_name="series_modality", on_delete=models.SET_NULL, null=True
|
||||
@@ -512,6 +516,7 @@ class LongCreationDefault(models.Model):
|
||||
return reverse("longs:long_create")
|
||||
|
||||
|
||||
@reversion.register
|
||||
class Exam(ExamBase):
|
||||
app_name = "longs"
|
||||
|
||||
|
||||
+8
-59
@@ -58,6 +58,7 @@ from longs.forms import LongCreationDefaultForm
|
||||
from longs.models import LongCreationDefault
|
||||
|
||||
from generic.views import ExamViews
|
||||
from reversion.views import RevisionMixin
|
||||
|
||||
|
||||
from rest_framework import viewsets
|
||||
@@ -245,11 +246,11 @@ class AddNote(LoginRequiredMixin, CreateView):
|
||||
#def long_delete(request, pk):
|
||||
#q = get_object_or_404(Long, pk=pk)
|
||||
#q.delete()
|
||||
class LongDelete(AuthorOrCheckerRequiredMixin, DeleteView):
|
||||
class LongDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
|
||||
model = Long
|
||||
success_url = reverse_lazy("longs:long_view")
|
||||
|
||||
class LongSeriesDelete(AuthorOrCheckerRequiredMixin, DeleteView):
|
||||
class LongSeriesDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
|
||||
model = LongSeries
|
||||
success_url = reverse_lazy("longs:long_series_view")
|
||||
|
||||
@@ -285,7 +286,7 @@ def long_clone(request, pk):
|
||||
|
||||
return render(request, "longs/long_form.html", context)
|
||||
|
||||
class LongSeriesCreate(LoginRequiredMixin, CreateView):
|
||||
class LongSeriesCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||
model = LongSeries
|
||||
form_class = LongSeriesForm
|
||||
|
||||
@@ -329,7 +330,7 @@ class LongSeriesCreate(LoginRequiredMixin, CreateView):
|
||||
else:
|
||||
return super().form_invalid(form)
|
||||
|
||||
class LongSeriesUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
|
||||
class LongSeriesUpdate(RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
|
||||
model = LongSeries
|
||||
form_class = LongSeriesForm
|
||||
|
||||
@@ -371,7 +372,7 @@ class LongSeriesUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateV
|
||||
else:
|
||||
return super().form_invalid(form)
|
||||
|
||||
class LongCreateBase(LoginRequiredMixin, CreateView):
|
||||
class LongCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||
model = Long
|
||||
form_class = LongForm
|
||||
|
||||
@@ -441,7 +442,7 @@ class LongCreate(LongCreateBase):
|
||||
# return super().form_valid(form)
|
||||
|
||||
|
||||
class LongUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
|
||||
class LongUpdate(RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
|
||||
model = Long
|
||||
form_class = LongForm
|
||||
|
||||
@@ -522,32 +523,6 @@ def long_scrap(request, pk):
|
||||
# return render(request, "longs/create_simple.html", {'form': form})
|
||||
|
||||
|
||||
@login_required
|
||||
def create_abnormality(request):
|
||||
form = AbnormalityForm(request.POST or None)
|
||||
if form.is_valid():
|
||||
instance = form.save()
|
||||
return HttpResponse(
|
||||
'<script>opener.closePopup(window, "%s", "%s", "#id_abnormality");</script>'
|
||||
% (instance.pk, instance)
|
||||
)
|
||||
return render(
|
||||
request, "longs/create_simple.html", {"form": form, "name": "Abnormality"}
|
||||
)
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
def get_abnormality_id(request):
|
||||
if request.is_ajax():
|
||||
abnormality_name = request.GET["abnormality_name"]
|
||||
abnormality_id = Abnormality.objects.get(name=abnormality_name).id
|
||||
data = {
|
||||
"abnormality_id": abnormality_id,
|
||||
}
|
||||
return HttpResponse(json.dumps(data), content_type="application/json")
|
||||
return HttpResponse("/")
|
||||
|
||||
|
||||
@login_required
|
||||
def create_examination(request):
|
||||
form = ExaminationForm(request.POST or None)
|
||||
@@ -574,32 +549,6 @@ def get_examination_id(request):
|
||||
return HttpResponse("/")
|
||||
|
||||
|
||||
@login_required
|
||||
def create_region(request):
|
||||
form = RegionForm(request.POST or None)
|
||||
if form.is_valid():
|
||||
instance = form.save()
|
||||
return HttpResponse(
|
||||
'<script>opener.closePopup(window, "%s", "%s", "#id_region");</script>'
|
||||
% (instance.pk, instance)
|
||||
)
|
||||
return render(
|
||||
request, "longs/create_simple.html", {"form": form, "name": "Region"}
|
||||
)
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
def get_region_id(request):
|
||||
if request.is_ajax():
|
||||
region_name = request.GET["region_name"]
|
||||
region_id = Region.objects.get(name=region_name).id
|
||||
data = {
|
||||
"region_id": region_id,
|
||||
}
|
||||
return HttpResponse(json.dumps(data), content_type="application/json")
|
||||
return HttpResponse("/")
|
||||
|
||||
|
||||
class LongView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
model = Long
|
||||
table_class = LongTable
|
||||
@@ -997,7 +946,7 @@ def long_series_order_upload_filename(request, pk):
|
||||
|
||||
LongExamViews = ExamViews(Exam, Long, "longs", "long", loadJsonAnswer)
|
||||
|
||||
class ExamViewSet(viewsets.ModelViewSet):
|
||||
class ExamViewSet(RevisionMixin, viewsets.ModelViewSet):
|
||||
queryset = Exam.objects.all().order_by('name')
|
||||
serializer_class = ExamSerializer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user