diff --git a/rapids/views.py b/rapids/views.py
index ac49335c..a9522a44 100755
--- a/rapids/views.py
+++ b/rapids/views.py
@@ -1,6 +1,7 @@
from django.shortcuts import render, get_object_or_404, redirect
from django import forms
-#from django.contrib.auth.models import User
+
+# from django.contrib.auth.models import User
from django.contrib.auth.decorators import login_required, user_passes_test
from django.contrib.auth.models import User
from django.core.exceptions import PermissionDenied
@@ -16,7 +17,16 @@ from django.urls import reverse_lazy, reverse
from django.http import Http404, JsonResponse
from django.http import HttpResponseRedirect, HttpResponse
-from .forms import RapidForm, ImageFormSet, NoteForm, RegionForm, AbnormalityForm, ExaminationForm, AnswerFormSet, AnswerUpdateFormSet
+from .forms import (
+ RapidForm,
+ ImageFormSet,
+ NoteForm,
+ RegionForm,
+ AbnormalityForm,
+ ExaminationForm,
+ AnswerFormSet,
+ AnswerUpdateFormSet,
+)
from .models import Rapid, Note, Abnormality, Region, Examination
from .tables import RapidTable
from .filters import RapidFilter
@@ -33,16 +43,17 @@ from copy import deepcopy
from django.forms.models import model_to_dict
from rapids.forms import RapidCreationDefaultForm
from rapids.models import RapidCreationDefault
+
logger = logging.getLogger(__name__)
class AuthorOrCheckerRequiredMixin(object):
def get_object(self, *args, **kwargs):
obj = super(UpdateView, self).get_object(*args, **kwargs)
- if self.request.user.groups.filter(name='rapid_checker').exists():
+ if self.request.user.groups.filter(name="rapid_checker").exists():
return obj
if self.request.user not in obj.author.all():
- raise PermissionDenied() #or Http404
+ raise PermissionDenied() # or Http404
return obj
@@ -50,22 +61,23 @@ class AuthorOrCheckerRequiredMixin(object):
def index(request):
other_rapids = Rapid.objects.exclude(author=request.user.pk)
user_rapids = Rapid.objects.filter(author=request.user.pk)
- return render(request, "rapids/index.html", {
- "other_rapids": other_rapids,
- "user_rapids": user_rapids
- })
+ return render(
+ request,
+ "rapids/index.html",
+ {"other_rapids": other_rapids, "user_rapids": user_rapids},
+ )
@login_required
def rapid_detail(request, pk):
rapid = get_object_or_404(Rapid, pk=pk)
- #if request.user not in rapid.author.all():
+ # if request.user not in rapid.author.all():
# raise PermissionDenied
- #logging.debug(rapid.rapid_notes.first())
- #logging.debug(rapid.subspecialty.first().name.all())
- return render(request, 'rapids/rapid_detail.html', {'rapid': rapid})
+ # logging.debug(rapid.rapid_notes.first())
+ # logging.debug(rapid.subspecialty.first().name.all())
+ return render(request, "rapids/rapid_detail.html", {"rapid": rapid})
@login_required
@@ -96,34 +108,33 @@ def rapid_split(request, pk):
images[n].rapid = rapid
images[n].save()
- #images[-1].rapid
+ # images[-1].rapid
- #if request.user not in rapid.author.all():
+ # if request.user not in rapid.author.all():
# raise PermissionDenied
- #logging.debug(rapid.rapid_notes.first())
- #logging.debug(rapid.subspecialty.first().name.all())
- return render(request, 'rapids/rapid_detail.html', {'rapid': rapid})
+ # logging.debug(rapid.rapid_notes.first())
+ # logging.debug(rapid.subspecialty.first().name.all())
+ return render(request, "rapids/rapid_detail.html", {"rapid": rapid})
@login_required
def author_detail(request, pk):
- #logging.debug(Author.objects.all())
- #author = get_object_or_404(Author, pk=pk)
+ # logging.debug(Author.objects.all())
+ # author = get_object_or_404(Author, pk=pk)
author = User.objects.get(pk=pk)
rapids = Rapid.objects.filter(author=pk)
- return render(request, "rapids/category_detail.html", {
- "category": author,
- "rapids": rapids
- })
+ return render(
+ request, "rapids/category_detail.html", {"category": author, "rapids": rapids}
+ )
def author_list(request):
authors = User.objects.all()
- return render(request, 'rapids/author_list.html', {'authors': authors})
+ return render(request, "rapids/author_list.html", {"authors": authors})
class RapidCreationDefaultView(LoginRequiredMixin, UpdateView):
@@ -143,7 +154,8 @@ class RapidCreationDefaultView(LoginRequiredMixin, UpdateView):
# return super().dispatch(request, *args, **kwargs)
def get_object(self, queryset=None):
obj, create = RapidCreationDefault.objects.get_or_create(
- author=self.request.user)
+ author=self.request.user
+ )
return obj
@@ -158,7 +170,7 @@ class RapidCreationDefaultView(LoginRequiredMixin, UpdateView):
return response
- #form.instance.author.add(self.request.user.id)
+ # form.instance.author.add(self.request.user.id)
class AddNote(LoginRequiredMixin, CreateView):
@@ -174,7 +186,7 @@ class AddNote(LoginRequiredMixin, CreateView):
Overridden so we can make sure the `Rapid` instance exists
before going any further.
"""
- self.pk = get_object_or_404(Rapid, pk=kwargs['pk'])
+ self.pk = get_object_or_404(Rapid, pk=kwargs["pk"])
return super().dispatch(request, *args, **kwargs)
def form_valid(self, form):
@@ -190,14 +202,14 @@ class AddNote(LoginRequiredMixin, CreateView):
return response
- #form.instance.author.add(self.request.user.id)
+ # form.instance.author.add(self.request.user.id)
@login_required
def rapid_clone(request, pk):
new_item = get_object_or_404(Rapid, pk=pk)
- new_item.pk = None #autogen a new pk (item_id)
- #new_item.name = "Copy of " + new_item.name #need to change uniques
+ new_item.pk = None # autogen a new pk (item_id)
+ # new_item.name = "Copy of " + new_item.name #need to change uniques
form = RapidForm(request.POST or None, instance=new_item)
@@ -207,7 +219,7 @@ def rapid_clone(request, pk):
if form.is_valid():
form.instance.author.add(request.user.id)
- #logger.debug(formset.is_valid())
+ # logger.debug(formset.is_valid())
if image_formset.is_valid() and answer_formset.is_valid():
response = super().form_valid(form)
image_formset.instance = obj
@@ -223,7 +235,7 @@ def rapid_clone(request, pk):
"form": form,
"image_formset": image_formset,
"answer_formset": answer_formset
- #other context
+ # other context
}
return render(request, "rapids/rapid_form.html", context)
@@ -236,11 +248,12 @@ class RapidCreateBase(LoginRequiredMixin, CreateView):
def get_context_data(self, **kwargs):
context = super(RapidCreateBase, self).get_context_data(**kwargs)
if self.request.POST:
- context['image_formset'] = ImageFormSet(self.request.POST,
- self.request.FILES)
+ context["image_formset"] = ImageFormSet(
+ self.request.POST, self.request.FILES
+ )
else:
- context['image_formset'] = ImageFormSet()
- context['answer_formset'] = AnswerFormSet()
+ context["image_formset"] = ImageFormSet()
+ context["answer_formset"] = AnswerFormSet()
return context
def form_valid(self, form):
@@ -251,8 +264,8 @@ class RapidCreateBase(LoginRequiredMixin, CreateView):
form.instance.author.add(self.request.user.id)
context = self.get_context_data(form=form)
- image_formset = context['image_formset']
- answer_formset = context['answer_formset']
+ image_formset = context["image_formset"]
+ answer_formset = context["answer_formset"]
if image_formset.is_valid() and answer_formset.is_valid():
response = super().form_valid(form)
image_formset.instance = self.object
@@ -264,22 +277,22 @@ class RapidCreateBase(LoginRequiredMixin, CreateView):
return response
# else we redirect to the clone url
else:
- return redirect('rapids:rapid_clone', pk=self.object.pk)
+ return redirect("rapids:rapid_clone", pk=self.object.pk)
else:
return super().form_invalid(form)
-#@login_required
+# @login_required
class RapidCreate(RapidCreateBase):
- initial = {'laterality': Rapid.NONE}
+ initial = {"laterality": Rapid.NONE}
def get_initial(self):
# There has to be a better way...
try:
s = (i.pk for i in self.request.user.rapid_default.site.all())
- self.initial.update({'site': s})
+ self.initial.update({"site": s})
except AttributeError:
pass
return self.initial
@@ -289,15 +302,14 @@ class RapidCreate(RapidCreateBase):
# #initial = {'date_of_death': '05/01/2018'}
# exclude = [ 'created_date', 'published_date' ]
- #self.object = form.save(commit=False)
- #self.object.save()
+ # self.object = form.save(commit=False)
+ # self.object.save()
- #form.instance.author.add(self.request.user.id)
- #return super().form_valid(form)
+ # form.instance.author.add(self.request.user.id)
+ # return super().form_valid(form)
-class RapidUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin,
- UpdateView):
+class RapidUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
model = Rapid
form_class = RapidForm
@@ -308,13 +320,17 @@ class RapidUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin,
def get_context_data(self, **kwargs):
context = super(RapidUpdate, self).get_context_data(**kwargs)
if self.request.POST:
- context['image_formset'] = ImageFormSet(self.request.POST,
- self.request.FILES,
- instance=self.object)
- context['image_formset'].full_clean()
+ context["image_formset"] = ImageFormSet(
+ self.request.POST, self.request.FILES, instance=self.object
+ )
+ context["image_formset"].full_clean()
+ context["answer_formset"] = AnswerFormSet(
+ self.request.POST, instance=self.object
+ )
+ context["answer_formset"].full_clean()
else:
- context['image_formset'] = ImageFormSet(instance=self.object)
- context['answer_formset'] = AnswerFormSet(instance=self.object)
+ context["image_formset"] = ImageFormSet(instance=self.object)
+ context["answer_formset"] = AnswerFormSet(instance=self.object)
return context
def form_valid(self, form):
@@ -325,9 +341,9 @@ class RapidUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin,
form.instance.author.add(self.request.user.id)
context = self.get_context_data(form=form)
- image_formset = context['image_formset']
- answer_formset = context['answer_formset']
- #logger.debug(formset.is_valid())
+ image_formset = context["image_formset"]
+ answer_formset = context["answer_formset"]
+ # logger.debug(formset.is_valid())
if image_formset.is_valid() and answer_formset.is_valid():
response = super().form_valid(form)
image_formset.instance = self.object
@@ -347,9 +363,9 @@ class RapidClone(RapidCreateBase):
# #initial = {'date_of_death': '05/01/2018'}
# exclude = [ 'created_date', 'published_date' ]
def get_initial(self):
- #print(self.request)
- old_object = get_object_or_404(Rapid, pk=self.kwargs['pk'])
- initial_data = model_to_dict(old_object, exclude=['id'])
+ # print(self.request)
+ old_object = get_object_or_404(Rapid, pk=self.kwargs["pk"])
+ initial_data = model_to_dict(old_object, exclude=["id"])
return initial_data
@@ -364,7 +380,7 @@ def rapid_scrap(request, pk):
rapid.scrapped = not rapid.scrapped
rapid.save()
- return HttpResponseRedirect(reverse('rapids:rapid_detail', args=(pk, )))
+ return HttpResponseRedirect(reverse("rapids:rapid_detail", args=(pk,)))
# @login_required
@@ -384,22 +400,22 @@ def create_abnormality(request):
instance = form.save()
return HttpResponse(
''
- % (instance.pk, instance))
- return render(request, "rapids/create_simple.html", {
- 'form': form,
- 'name': "Abnormality"
- })
+ % (instance.pk, instance)
+ )
+ return render(
+ request, "rapids/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_name = request.GET["abnormality_name"]
abnormality_id = Abnormality.objects.get(name=abnormality_name).id
data = {
- 'abnormality_id': abnormality_id,
+ "abnormality_id": abnormality_id,
}
- return HttpResponse(json.dumps(data), content_type='application/json')
+ return HttpResponse(json.dumps(data), content_type="application/json")
return HttpResponse("/")
@@ -410,22 +426,22 @@ def create_examination(request):
instance = form.save()
return HttpResponse(
''
- % (instance.pk, instance))
- return render(request, "rapids/create_simple.html", {
- 'form': form,
- 'name': "Examination"
- })
+ % (instance.pk, instance)
+ )
+ return render(
+ request, "rapids/create_simple.html", {"form": form, "name": "Examination"}
+ )
@csrf_exempt
def get_examination_id(request):
if request.is_ajax():
- examination_name = request.GET['examination_name']
+ examination_name = request.GET["examination_name"]
examination_id = Examination.objects.get(name=examination_name).id
data = {
- 'examination_id': examination_id,
+ "examination_id": examination_id,
}
- return HttpResponse(json.dumps(data), content_type='application/json')
+ return HttpResponse(json.dumps(data), content_type="application/json")
return HttpResponse("/")
@@ -436,22 +452,22 @@ def create_region(request):
instance = form.save()
return HttpResponse(
''
- % (instance.pk, instance))
- return render(request, "rapids/create_simple.html", {
- 'form': form,
- 'name': "Region"
- })
+ % (instance.pk, instance)
+ )
+ return render(
+ request, "rapids/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_name = request.GET["region_name"]
region_id = Region.objects.get(name=region_name).id
data = {
- 'region_id': region_id,
+ "region_id": region_id,
}
- return HttpResponse(json.dumps(data), content_type='application/json')
+ return HttpResponse(json.dumps(data), content_type="application/json")
return HttpResponse("/")