.
This commit is contained in:
+78
-93
@@ -31,7 +31,6 @@ from .forms import (
|
|||||||
SeriesForm,
|
SeriesForm,
|
||||||
SeriesImageFormSet,
|
SeriesImageFormSet,
|
||||||
SeriesFormSet,
|
SeriesFormSet,
|
||||||
CaseDifferentialFormSet,
|
|
||||||
ExaminationForm,
|
ExaminationForm,
|
||||||
SeriesFindingForm,
|
SeriesFindingForm,
|
||||||
)
|
)
|
||||||
@@ -174,37 +173,37 @@ class SeriesDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
|
|||||||
success_url = reverse_lazy("atlas:series_view")
|
success_url = reverse_lazy("atlas:series_view")
|
||||||
|
|
||||||
|
|
||||||
# @login_required
|
@login_required
|
||||||
# @user_is_author_or_atlas_checker
|
@user_is_author_or_atlas_checker
|
||||||
# def case_clone(request, pk):
|
def case_clone(request, pk):
|
||||||
# new_item = get_object_or_404(Case, pk=pk)
|
new_item = get_object_or_404(Case, pk=pk)
|
||||||
# new_item.pk = None # autogen a new pk (item_id)
|
new_item.pk = None # autogen a new pk (item_id)
|
||||||
# # new_item.name = "Copy of " + new_item.name #need to change uniques
|
# new_item.name = "Copy of " + new_item.name #need to change uniques
|
||||||
#
|
|
||||||
# form = CaseForm(request.POST or None, instance=new_item)
|
form = CaseForm(request.POST or None, instance=new_item)
|
||||||
#
|
|
||||||
# series_formset = SeriesFormSet()
|
series_formset = SeriesFormSet()
|
||||||
#
|
|
||||||
# if form.is_valid():
|
if form.is_valid():
|
||||||
# form.instance.author.add(request.user.id)
|
form.instance.author.add(request.user.id)
|
||||||
#
|
|
||||||
# # logger.debug(formset.is_valid())
|
# logger.debug(formset.is_valid())
|
||||||
# if series_formset.is_valid():
|
if series_formset.is_valid():
|
||||||
# response = super().form_valid(form)
|
response = super().form_valid(form)
|
||||||
# series_formset.instance = obj
|
series_formset.instance = obj
|
||||||
# series_formset.save()
|
series_formset.save()
|
||||||
#
|
|
||||||
# return response
|
return response
|
||||||
# else:
|
else:
|
||||||
# return super().form_invalid(form)
|
return super().form_invalid(form)
|
||||||
#
|
|
||||||
# context = {
|
context = {
|
||||||
# "form": form,
|
"form": form,
|
||||||
# "series_formset": series_formset,
|
"series_formset": series_formset,
|
||||||
# # other context
|
# other context
|
||||||
# }
|
}
|
||||||
#
|
|
||||||
# return render(request, "atlas/case_form.html", context)
|
return render(request, "atlas/case_form.html", context)
|
||||||
|
|
||||||
|
|
||||||
class SeriesCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
class SeriesCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||||
@@ -292,7 +291,7 @@ class SeriesUpdate(
|
|||||||
return super().form_invalid(form)
|
return super().form_invalid(form)
|
||||||
|
|
||||||
|
|
||||||
class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
|
class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||||
model = Case
|
model = Case
|
||||||
form_class = CaseForm
|
form_class = CaseForm
|
||||||
|
|
||||||
@@ -305,18 +304,11 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
|
|||||||
context = super(AtlasCreateBase, self).get_context_data(**kwargs)
|
context = super(AtlasCreateBase, self).get_context_data(**kwargs)
|
||||||
if self.request.POST:
|
if self.request.POST:
|
||||||
context["series_formset"] = SeriesFormSet(
|
context["series_formset"] = SeriesFormSet(
|
||||||
self.request.POST, self.request.FILES, instance=self.object
|
self.request.POST, self.request.FILES
|
||||||
)
|
|
||||||
context["casedifferential_formset"] = CaseDifferentialFormSet(
|
|
||||||
self.request.POST, self.request.FILES, instance=self.object
|
|
||||||
)
|
)
|
||||||
context["series_formset"].full_clean()
|
context["series_formset"].full_clean()
|
||||||
context["casedifferential_formset"].full_clean()
|
|
||||||
else:
|
else:
|
||||||
context["series_formset"] = SeriesFormSet(instance=self.object)
|
context["series_formset"] = SeriesFormSet()
|
||||||
context["casedifferential_formset"] = CaseDifferentialFormSet(
|
|
||||||
instance=self.object
|
|
||||||
)
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
@@ -331,13 +323,10 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
|
|||||||
|
|
||||||
context = self.get_context_data(form=form)
|
context = self.get_context_data(form=form)
|
||||||
series_formset = context["series_formset"]
|
series_formset = context["series_formset"]
|
||||||
casedifferential_formset = context["casedifferential_formset"]
|
if series_formset.is_valid():
|
||||||
if series_formset.is_valid() and casedifferential_formset.is_valid():
|
|
||||||
response = super().form_valid(form)
|
response = super().form_valid(form)
|
||||||
series_formset.instance = self.object
|
series_formset.instance = self.object
|
||||||
series_formset.save()
|
series_formset.save()
|
||||||
casedifferential_formset.instance = self.object
|
|
||||||
casedifferential_formset.save()
|
|
||||||
# If the normal submit button is pressed we save as normal
|
# If the normal submit button is pressed we save as normal
|
||||||
if "submit" in self.request.POST:
|
if "submit" in self.request.POST:
|
||||||
return response
|
return response
|
||||||
@@ -350,7 +339,7 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
|
|||||||
|
|
||||||
|
|
||||||
# @login_required
|
# @login_required
|
||||||
class AtlasCreate(AtlasCreateBase, CreateView):
|
class AtlasCreate(AtlasCreateBase):
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
# There has to be a better way...
|
# There has to be a better way...
|
||||||
try:
|
try:
|
||||||
@@ -361,7 +350,9 @@ class AtlasCreate(AtlasCreateBase, CreateView):
|
|||||||
return self.initial
|
return self.initial
|
||||||
|
|
||||||
|
|
||||||
class AtlasUpdate(AuthorOrCheckerRequiredMixin, AtlasCreateBase, UpdateView):
|
class AtlasUpdate(
|
||||||
|
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
|
||||||
|
):
|
||||||
model = Case
|
model = Case
|
||||||
form_class = CaseForm
|
form_class = CaseForm
|
||||||
|
|
||||||
@@ -370,44 +361,43 @@ class AtlasUpdate(AuthorOrCheckerRequiredMixin, AtlasCreateBase, UpdateView):
|
|||||||
# #initial = {'date_of_death': '05/01/2018'}
|
# #initial = {'date_of_death': '05/01/2018'}
|
||||||
# exclude = [ 'created_date', 'published_date' ]
|
# exclude = [ 'created_date', 'published_date' ]
|
||||||
|
|
||||||
|
def get_form_kwargs(self):
|
||||||
|
kwargs = super(AtlasUpdate, self).get_form_kwargs()
|
||||||
|
kwargs.update({"user": self.request.user})
|
||||||
|
return kwargs
|
||||||
|
|
||||||
# def get_form_kwargs(self):
|
def get_context_data(self, **kwargs):
|
||||||
# kwargs = super(AtlasUpdate, self).get_form_kwargs()
|
context = super(AtlasUpdate, self).get_context_data(**kwargs)
|
||||||
# kwargs.update({"user": self.request.user})
|
if self.request.POST:
|
||||||
# return kwargs
|
context["series_formset"] = SeriesFormSet(
|
||||||
#
|
self.request.POST, self.request.FILES, instance=self.object
|
||||||
# def get_context_data(self, **kwargs):
|
)
|
||||||
# context = super(AtlasUpdate, self).get_context_data(**kwargs)
|
context["series_formset"].full_clean()
|
||||||
# if self.request.POST:
|
else:
|
||||||
# context["series_formset"] = SeriesFormSet(
|
context["series_formset"] = SeriesFormSet(instance=self.object)
|
||||||
# self.request.POST, self.request.FILES, instance=self.object
|
return context
|
||||||
# )
|
|
||||||
# context["series_formset"].full_clean()
|
def form_valid(self, form):
|
||||||
# else:
|
|
||||||
# context["series_formset"] = SeriesFormSet(instance=self.object)
|
self.object = form.save(commit=False)
|
||||||
# return context
|
self.object.save()
|
||||||
#
|
|
||||||
# def form_valid(self, form):
|
form.instance.author.add(self.request.user.id)
|
||||||
#
|
|
||||||
# self.object = form.save(commit=False)
|
context = self.get_context_data(form=form)
|
||||||
# self.object.save()
|
series_formset = context["series_formset"]
|
||||||
#
|
# logger.debug(formset.is_valid())
|
||||||
# form.instance.author.add(self.request.user.id)
|
if series_formset.is_valid():
|
||||||
#
|
response = super().form_valid(form)
|
||||||
# context = self.get_context_data(form=form)
|
series_formset.instance = self.object
|
||||||
# series_formset = context["series_formset"]
|
series_formset.save()
|
||||||
# # logger.debug(formset.is_valid())
|
|
||||||
# if series_formset.is_valid():
|
return response
|
||||||
# response = super().form_valid(form)
|
else:
|
||||||
# series_formset.instance = self.object
|
return super().form_invalid(form)
|
||||||
# series_formset.save()
|
|
||||||
#
|
|
||||||
# return response
|
|
||||||
# else:
|
|
||||||
# return super().form_invalid(form)
|
|
||||||
|
|
||||||
|
|
||||||
class AtlasClone(AtlasCreateBase, CreateView):
|
class AtlasClone(AtlasCreateBase):
|
||||||
"""Clones a existing atlas"""
|
"""Clones a existing atlas"""
|
||||||
|
|
||||||
# fields = '__all__'
|
# fields = '__all__'
|
||||||
@@ -426,12 +416,12 @@ class AtlasClone(AtlasCreateBase, CreateView):
|
|||||||
@user_is_author_or_atlas_checker
|
@user_is_author_or_atlas_checker
|
||||||
def atlas_scrap(request, pk):
|
def atlas_scrap(request, pk):
|
||||||
try:
|
try:
|
||||||
case = Case.objects.get(pk=pk)
|
atlas = Case.objects.get(pk=pk)
|
||||||
except Case.DoesNotExist:
|
except Case.DoesNotExist:
|
||||||
raise Http404("Case does not exist")
|
raise Http404("Case does not exist")
|
||||||
|
|
||||||
case.scrapped = not case.scrapped
|
atlas.scrapped = not atlas.scrapped
|
||||||
case.save()
|
atlas.save()
|
||||||
return HttpResponseRedirect(reverse("atlas:case_detail", args=(pk,)))
|
return HttpResponseRedirect(reverse("atlas:case_detail", args=(pk,)))
|
||||||
|
|
||||||
|
|
||||||
@@ -584,13 +574,8 @@ class ConditionAutocomplete(autocomplete.Select2QuerySetView):
|
|||||||
if self.q:
|
if self.q:
|
||||||
# This raises a fielderror which breaks creating a new item if not caught
|
# This raises a fielderror which breaks creating a new item if not caught
|
||||||
try:
|
try:
|
||||||
primary = qs.filter(name__icontains=self.q)
|
qs = qs.filter(name__istartswith=self.q)
|
||||||
|
|
||||||
# synonyms = qs.filter(name__icontains=self.q, primary=False)
|
|
||||||
# for s in synonyms:
|
|
||||||
# primary.extend(s.synonym.filter(primary=True))
|
|
||||||
|
|
||||||
except FieldError:
|
except FieldError:
|
||||||
return Condition.objects.none()
|
return Condition.objects.none()
|
||||||
|
|
||||||
return primary
|
return qs
|
||||||
|
|||||||
Reference in New Issue
Block a user