.
This commit is contained in:
+1
-1
@@ -161,7 +161,7 @@ class CaseForm(ModelForm):
|
|||||||
"description",
|
"description",
|
||||||
"history",
|
"history",
|
||||||
"condition",
|
"condition",
|
||||||
"differential",
|
#"differential",
|
||||||
# "sign",
|
# "sign",
|
||||||
"open_access",
|
"open_access",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -27,14 +27,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function add_input_form() {
|
function add_series_input_form() {
|
||||||
var form_idx = $('#id_Case_series-TOTAL_FORMS').val();
|
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);
|
$('#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 () {
|
$(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() });
|
||||||
})
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@@ -52,8 +59,8 @@ Use this form to create a atlas case. Existing associated image sets can be adde
|
|||||||
</table>
|
</table>
|
||||||
<h3>Series:</h3>
|
<h3>Series:</h3>
|
||||||
Add image sets here. These can only be added once created (they can also be added to cases on creation).
|
Add image sets here. These can only be added once created (they can also be added to cases on creation).
|
||||||
<input type="button" value="Add More Series" id="add_more">
|
<input type="button" value="Add More Series" id="add_more_series">
|
||||||
<div id="form_set">
|
<div id="series_formset">
|
||||||
{% for form in series_formset %}
|
{% for form in series_formset %}
|
||||||
<ul class="no-error series-formset">
|
<ul class="no-error series-formset">
|
||||||
{{form.non_field_errors}}
|
{{form.non_field_errors}}
|
||||||
@@ -63,6 +70,19 @@ Use this form to create a atlas case. Existing associated image sets can be adde
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{{ series_formset.management_form }}
|
{{ series_formset.management_form }}
|
||||||
|
<h3>Differenetial:</h3>
|
||||||
|
Add differential here.
|
||||||
|
<input type="button" value="Add More Series" id="add_more_differential">
|
||||||
|
<div id="case_differential_formset">
|
||||||
|
{% for form in case_differential_formset %}
|
||||||
|
<ul class="no-error case_differential_formset">
|
||||||
|
{{form.non_field_errors}}
|
||||||
|
{{form.errors}}
|
||||||
|
{{ form.as_ul }}
|
||||||
|
</ul>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{{ case_differential_formset.management_form }}
|
||||||
<input type="submit" class="submit-button" value="Submit" name="submit">
|
<input type="submit" class="submit-button" value="Submit" name="submit">
|
||||||
</form>
|
</form>
|
||||||
<div id="empty_form" style="display:none">
|
<div id="empty_form" style="display:none">
|
||||||
@@ -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 }}
|
{{ series_formset.empty_form.as_ul }}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="empty_form" style="display:none">
|
||||||
|
<ul class='no_error case_differential_formset'>
|
||||||
|
{{ case_differential_formset.empty_form.as_ul }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
+76
-67
@@ -173,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):
|
||||||
@@ -306,9 +306,14 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
|||||||
context["series_formset"] = SeriesFormSet(
|
context["series_formset"] = SeriesFormSet(
|
||||||
self.request.POST, self.request.FILES
|
self.request.POST, self.request.FILES
|
||||||
)
|
)
|
||||||
|
context["casedifferential_formset"] = SeriesFormSet(
|
||||||
|
self.request.POST, self.request.FILES
|
||||||
|
)
|
||||||
context["series_formset"].full_clean()
|
context["series_formset"].full_clean()
|
||||||
|
context["casedifferential_formset"].full_clean()
|
||||||
else:
|
else:
|
||||||
context["series_formset"] = SeriesFormSet()
|
context["series_formset"] = SeriesFormSet()
|
||||||
|
context["casedifferential_formset"] = SeriesFormSet()
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
@@ -323,10 +328,13 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
|||||||
|
|
||||||
context = self.get_context_data(form=form)
|
context = self.get_context_data(form=form)
|
||||||
series_formset = context["series_formset"]
|
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)
|
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
|
||||||
@@ -361,40 +369,41 @@ class AtlasUpdate(
|
|||||||
# #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_context_data(self, **kwargs):
|
# def get_form_kwargs(self):
|
||||||
context = super(AtlasUpdate, self).get_context_data(**kwargs)
|
# kwargs = super(AtlasUpdate, self).get_form_kwargs()
|
||||||
if self.request.POST:
|
# kwargs.update({"user": self.request.user})
|
||||||
context["series_formset"] = SeriesFormSet(
|
# return kwargs
|
||||||
self.request.POST, self.request.FILES, instance=self.object
|
#
|
||||||
)
|
# def get_context_data(self, **kwargs):
|
||||||
context["series_formset"].full_clean()
|
# context = super(AtlasUpdate, self).get_context_data(**kwargs)
|
||||||
else:
|
# if self.request.POST:
|
||||||
context["series_formset"] = SeriesFormSet(instance=self.object)
|
# context["series_formset"] = SeriesFormSet(
|
||||||
return context
|
# self.request.POST, self.request.FILES, instance=self.object
|
||||||
|
# )
|
||||||
def form_valid(self, form):
|
# context["series_formset"].full_clean()
|
||||||
|
# else:
|
||||||
self.object = form.save(commit=False)
|
# context["series_formset"] = SeriesFormSet(instance=self.object)
|
||||||
self.object.save()
|
# return context
|
||||||
|
#
|
||||||
form.instance.author.add(self.request.user.id)
|
# def form_valid(self, form):
|
||||||
|
#
|
||||||
context = self.get_context_data(form=form)
|
# self.object = form.save(commit=False)
|
||||||
series_formset = context["series_formset"]
|
# self.object.save()
|
||||||
# logger.debug(formset.is_valid())
|
#
|
||||||
if series_formset.is_valid():
|
# form.instance.author.add(self.request.user.id)
|
||||||
response = super().form_valid(form)
|
#
|
||||||
series_formset.instance = self.object
|
# context = self.get_context_data(form=form)
|
||||||
series_formset.save()
|
# series_formset = context["series_formset"]
|
||||||
|
# # logger.debug(formset.is_valid())
|
||||||
return response
|
# if series_formset.is_valid():
|
||||||
else:
|
# response = super().form_valid(form)
|
||||||
return super().form_invalid(form)
|
# series_formset.instance = self.object
|
||||||
|
# series_formset.save()
|
||||||
|
#
|
||||||
|
# return response
|
||||||
|
# else:
|
||||||
|
# return super().form_invalid(form)
|
||||||
|
|
||||||
|
|
||||||
class AtlasClone(AtlasCreateBase):
|
class AtlasClone(AtlasCreateBase):
|
||||||
@@ -576,8 +585,8 @@ class ConditionAutocomplete(autocomplete.Select2QuerySetView):
|
|||||||
try:
|
try:
|
||||||
primary = qs.filter(name__icontains=self.q)
|
primary = qs.filter(name__icontains=self.q)
|
||||||
|
|
||||||
#synonyms = qs.filter(name__icontains=self.q, primary_name=False)
|
# synonyms = qs.filter(name__icontains=self.q, primary_name=False)
|
||||||
#for s in synonyms:
|
# for s in synonyms:
|
||||||
# primary.extend(s.synonym.filter(primary_name=True))
|
# primary.extend(s.synonym.filter(primary_name=True))
|
||||||
|
|
||||||
except FieldError:
|
except FieldError:
|
||||||
|
|||||||
Reference in New Issue
Block a user