diff --git a/atlas/forms.py b/atlas/forms.py
index 01e50c99..b193e5f1 100755
--- a/atlas/forms.py
+++ b/atlas/forms.py
@@ -161,7 +161,7 @@ class CaseForm(ModelForm):
"description",
"history",
"condition",
- "differential",
+ #"differential",
# "sign",
"open_access",
]
diff --git a/atlas/templates/atlas/case_form.html b/atlas/templates/atlas/case_form.html
index 243166a8..1a50a876 100755
--- a/atlas/templates/atlas/case_form.html
+++ b/atlas/templates/atlas/case_form.html
@@ -27,14 +27,21 @@
}
- function add_input_form() {
+ function add_series_input_form() {
var form_idx = $('#id_Case_series-TOTAL_FORMS').val();
- $('#form_set').append($('#empty_form').html().replace(/__prefix__/g, form_idx));
+ $('#series_formset').append($('#empty_form').html().replace(/__prefix__/g, form_idx));
$('#id_Case_series-TOTAL_FORMS').val(parseInt(form_idx) + 1);
}
+ function add_differential_input_form() {
+ var form_idx = $('#id_Case_casedifferential-TOTAL_FORMS').val();
+ $('#case_differential_formset').append($('#empty_form').html().replace(/__prefix__/g, form_idx));
+ $('#id_Case_casedifferential-TOTAL_FORMS').val(parseInt(form_idx) + 1);
+ }
+
$(document).ready(function () {
- $('#add_more').click(() => { add_input_form() });
+ $('#add_more_series').click(() => { add_series_input_form() });
+ $('#add_more_differential').click(() => { add_differential_input_form() });
})
@@ -52,8 +59,8 @@ Use this form to create a atlas case. Existing associated image sets can be adde
Series:
Add image sets here. These can only be added once created (they can also be added to cases on creation).
-
-
+
+
{{ series_formset.management_form }}
+
Differenetial:
+ Add differential here.
+
+
+ {{ case_differential_formset.management_form }}
@@ -70,4 +90,9 @@ Use this form to create a atlas case. Existing associated image sets can be adde
{{ series_formset.empty_form.as_ul }}
+
{% endblock %}
\ No newline at end of file
diff --git a/atlas/views.py b/atlas/views.py
index 864fa6b3..3b7f1f82 100755
--- a/atlas/views.py
+++ b/atlas/views.py
@@ -173,37 +173,37 @@ class SeriesDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
success_url = reverse_lazy("atlas:series_view")
-@login_required
-@user_is_author_or_atlas_checker
-def case_clone(request, pk):
- new_item = get_object_or_404(Case, pk=pk)
- new_item.pk = None # autogen a new pk (item_id)
- # new_item.name = "Copy of " + new_item.name #need to change uniques
-
- form = CaseForm(request.POST or None, instance=new_item)
-
- series_formset = SeriesFormSet()
-
- if form.is_valid():
- form.instance.author.add(request.user.id)
-
- # logger.debug(formset.is_valid())
- if series_formset.is_valid():
- response = super().form_valid(form)
- series_formset.instance = obj
- series_formset.save()
-
- return response
- else:
- return super().form_invalid(form)
-
- context = {
- "form": form,
- "series_formset": series_formset,
- # other context
- }
-
- return render(request, "atlas/case_form.html", context)
+# @login_required
+# @user_is_author_or_atlas_checker
+# def case_clone(request, pk):
+# new_item = get_object_or_404(Case, pk=pk)
+# new_item.pk = None # autogen a new pk (item_id)
+# # new_item.name = "Copy of " + new_item.name #need to change uniques
+#
+# form = CaseForm(request.POST or None, instance=new_item)
+#
+# series_formset = SeriesFormSet()
+#
+# if form.is_valid():
+# form.instance.author.add(request.user.id)
+#
+# # logger.debug(formset.is_valid())
+# if series_formset.is_valid():
+# response = super().form_valid(form)
+# series_formset.instance = obj
+# series_formset.save()
+#
+# return response
+# else:
+# return super().form_invalid(form)
+#
+# context = {
+# "form": form,
+# "series_formset": series_formset,
+# # other context
+# }
+#
+# return render(request, "atlas/case_form.html", context)
class SeriesCreate(RevisionMixin, LoginRequiredMixin, CreateView):
@@ -306,9 +306,14 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
context["series_formset"] = SeriesFormSet(
self.request.POST, self.request.FILES
)
+ context["casedifferential_formset"] = SeriesFormSet(
+ self.request.POST, self.request.FILES
+ )
context["series_formset"].full_clean()
+ context["casedifferential_formset"].full_clean()
else:
context["series_formset"] = SeriesFormSet()
+ context["casedifferential_formset"] = SeriesFormSet()
return context
def form_valid(self, form):
@@ -323,10 +328,13 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
context = self.get_context_data(form=form)
series_formset = context["series_formset"]
- if series_formset.is_valid():
+ casedifferential_formset = context["casedifferential_formset"]
+ if series_formset.is_valid() and casedifferential_formset.is_valid():
response = super().form_valid(form)
series_formset.instance = self.object
series_formset.save()
+ casedifferential_formset.instance = self.object
+ casedifferential_formset.save()
# If the normal submit button is pressed we save as normal
if "submit" in self.request.POST:
return response
@@ -361,40 +369,41 @@ class AtlasUpdate(
# #initial = {'date_of_death': '05/01/2018'}
# 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_context_data(self, **kwargs):
- context = super(AtlasUpdate, self).get_context_data(**kwargs)
- if self.request.POST:
- context["series_formset"] = SeriesFormSet(
- self.request.POST, self.request.FILES, instance=self.object
- )
- context["series_formset"].full_clean()
- else:
- context["series_formset"] = SeriesFormSet(instance=self.object)
- return context
-
- def form_valid(self, form):
-
- self.object = form.save(commit=False)
- self.object.save()
-
- form.instance.author.add(self.request.user.id)
-
- context = self.get_context_data(form=form)
- series_formset = context["series_formset"]
- # logger.debug(formset.is_valid())
- if series_formset.is_valid():
- response = super().form_valid(form)
- series_formset.instance = self.object
- series_formset.save()
-
- return response
- else:
- return super().form_invalid(form)
+# def get_form_kwargs(self):
+# kwargs = super(AtlasUpdate, self).get_form_kwargs()
+# kwargs.update({"user": self.request.user})
+# return kwargs
+#
+# def get_context_data(self, **kwargs):
+# context = super(AtlasUpdate, self).get_context_data(**kwargs)
+# if self.request.POST:
+# context["series_formset"] = SeriesFormSet(
+# self.request.POST, self.request.FILES, instance=self.object
+# )
+# context["series_formset"].full_clean()
+# else:
+# context["series_formset"] = SeriesFormSet(instance=self.object)
+# return context
+#
+# def form_valid(self, form):
+#
+# self.object = form.save(commit=False)
+# self.object.save()
+#
+# form.instance.author.add(self.request.user.id)
+#
+# context = self.get_context_data(form=form)
+# series_formset = context["series_formset"]
+# # logger.debug(formset.is_valid())
+# if series_formset.is_valid():
+# response = super().form_valid(form)
+# series_formset.instance = self.object
+# series_formset.save()
+#
+# return response
+# else:
+# return super().form_invalid(form)
class AtlasClone(AtlasCreateBase):
@@ -576,8 +585,8 @@ class ConditionAutocomplete(autocomplete.Select2QuerySetView):
try:
primary = qs.filter(name__icontains=self.q)
- #synonyms = qs.filter(name__icontains=self.q, primary_name=False)
- #for s in synonyms:
+ # synonyms = qs.filter(name__icontains=self.q, primary_name=False)
+ # for s in synonyms:
# primary.extend(s.synonym.filter(primary_name=True))
except FieldError: