This commit is contained in:
Ross
2022-04-13 22:49:46 +01:00
parent ec48f47992
commit b860fb7d67
2 changed files with 18 additions and 35 deletions
+18 -2
View File
@@ -32,9 +32,9 @@
{{ form.as_table }} {{ form.as_table }}
</table> </table>
<h3>Cases:</h3> <h3>Cases:</h3>
Add cases here. These can only be added once created (they can also be added to cases on creation). Add cases here. These can only be added once created (they can also be added to cases on creation). Click and drag to change order.
<input type="button" value="Add More Cases" id="add_more_case"> <input type="button" value="Add More Cases" id="add_more_case">
<div id="case_formset"> <div id="case_formset" class="sortable">
{% for form in case_formset %} {% for form in case_formset %}
<ul class="no-error case-formset"> <ul class="no-error case-formset">
{{form.non_field_errors}} {{form.non_field_errors}}
@@ -43,6 +43,7 @@
</ul> </ul>
{% endfor %} {% endfor %}
</div> </div>
<button id="case-order-button" title="click and drag to update case order">Update case order</button>
{{ case_formset.management_form }} {{ case_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>
@@ -51,4 +52,19 @@
{{ case_formset.empty_form.as_ul }} {{ case_formset.empty_form.as_ul }}
</ul> </ul>
</div> </div>
<script>
$(document).ready(() => {
sortable('.sortable');
$("#case-order-button").click(() => {
let cases = $("#case_formset ul");
cases.each((n, el) => {
input_el = $(el).find("input[name$='sort_order']");
console.log(input_el);
input_el.val(n+1);
})
})
})
</script>
{% endblock %} {% endblock %}
-33
View File
@@ -334,39 +334,6 @@ class StructureDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
success_url = reverse_lazy("atlas:structure_view") success_url = reverse_lazy("atlas:structure_view")
@login_required
@user_is_author_or_atlas_editor
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 CaseCollectionCreate(RevisionMixin, LoginRequiredMixin, CreateView): class CaseCollectionCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = CaseCollection model = CaseCollection
form_class = CaseCollectionForm form_class = CaseCollectionForm