.
This commit is contained in:
@@ -60,6 +60,10 @@ class AnatomyUserAnswerTable(tables.Table):
|
|||||||
delete = tables.LinkColumn(
|
delete = tables.LinkColumn(
|
||||||
"anatomy:user_answer_delete", text="Delete", args=[A("pk")], orderable=False
|
"anatomy:user_answer_delete", text="Delete", args=[A("pk")], orderable=False
|
||||||
)
|
)
|
||||||
|
view = tables.LinkColumn('anatomy:user_answer_view',
|
||||||
|
text='View',
|
||||||
|
args=[A('pk')],
|
||||||
|
orderable=False)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CidUserAnswer
|
model = CidUserAnswer
|
||||||
template_name = "django_tables2/bootstrap4.html"
|
template_name = "django_tables2/bootstrap4.html"
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
{% extends 'anatomy/base.html' %}
|
||||||
|
|
||||||
|
{% load render_table from django_tables2 %}
|
||||||
|
{% block css %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div id="view-filter-options">
|
||||||
|
<h3>Anatomy User Answers</h3>
|
||||||
|
<form action="" method="get">
|
||||||
|
{{ filter.form }}
|
||||||
|
<input class="btn btn-primary btn-sm mt-1 mb-1" type="submit" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{% render_table table %}
|
||||||
|
<button id="delete-selected-button">Delete selected answers</button>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block js %}
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
$("table thead th input").click((e) => {
|
||||||
|
let status = e.currentTarget.checked; console.log(status, $("table tbody input")); $("table tbody input").prop("checked", status);
|
||||||
|
})
|
||||||
|
//$("thead input:checked").each((n, el) => {
|
||||||
|
|
||||||
|
$("#delete-selected-button").on("click", function () {
|
||||||
|
answer_ids = [];
|
||||||
|
$("tbody input:checked").each((n, el) => {
|
||||||
|
answer_ids.push(el.value);
|
||||||
|
})
|
||||||
|
|
||||||
|
if (confirm(`Delete ${answer_ids.length} answers?`)) {
|
||||||
|
$.ajax({
|
||||||
|
url: "{% url 'anatomy:user_answer_delete_multiple' %}",
|
||||||
|
data: {
|
||||||
|
csrfmiddlewaretoken: "{{ csrf_token }}",
|
||||||
|
answer_ids: JSON.stringify(answer_ids) // true if checked else false
|
||||||
|
},
|
||||||
|
type: "POST",
|
||||||
|
dataType: "json",
|
||||||
|
})
|
||||||
|
// $.ajax().done(), $.ajax().fail(), $ajax().always() are upto you. Add/change accordingly
|
||||||
|
.done(function (data) {
|
||||||
|
console.log(data);
|
||||||
|
|
||||||
|
if (data.status == "success") {
|
||||||
|
toastr.info('Deleted.')
|
||||||
|
location.reload();
|
||||||
|
} else {
|
||||||
|
toastr.info('Error deleting questions.')
|
||||||
|
|
||||||
|
}
|
||||||
|
// show some message according to the response.
|
||||||
|
// For eg. A message box showing that the status has been changed
|
||||||
|
})
|
||||||
|
.always(function () {
|
||||||
|
console.log('[Done]');
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
||||||
+1
-2
@@ -9,7 +9,6 @@ from django.contrib.auth.models import User
|
|||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
|
|
||||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
from django.views.generic.detail import DetailView
|
|
||||||
|
|
||||||
from django.views.generic.edit import CreateView, UpdateView, DeleteView
|
from django.views.generic.edit import CreateView, UpdateView, DeleteView
|
||||||
from django.views.generic import ListView
|
from django.views.generic import ListView
|
||||||
@@ -952,7 +951,7 @@ class AnatomyQuestionView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
|||||||
class UserAnswerTableView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
class UserAnswerTableView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||||
model = CidUserAnswer
|
model = CidUserAnswer
|
||||||
table_class = AnatomyUserAnswerTable
|
table_class = AnatomyUserAnswerTable
|
||||||
template_name = "anatomy/anatomy_question_view.html"
|
template_name = "anatomy/user_answer_question_view.html"
|
||||||
|
|
||||||
filterset_class = AnatomyUserAnswerFilter
|
filterset_class = AnatomyUserAnswerFilter
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user