fix: Add ids_data_bulk_delete view and URL pattern
This commit is contained in:
parent
53ff09e86a
commit
7f29db518d
|
|
@ -212,6 +212,38 @@
|
|||
</table>
|
||||
</form>
|
||||
|
||||
<!-- Deletion Confirmation Modal -->
|
||||
<div class="modal fade" id="deletionConfirmationModal" tabindex="-1" aria-labelledby="deletionConfirmationModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="deletionConfirmationModalLabel">Confirm Deletion</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
Are you sure you want to delete the selected records?
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-danger" id="confirm-delete-btn">Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.getElementById('select-all-checkbox').addEventListener('change', function() {
|
||||
var checkboxes = document.getElementsByName('selected_ids');
|
||||
for (var i = 0; i < checkboxes.length; i++) {
|
||||
checkboxes[i].checked = this.checked;
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('confirm-delete-btn').addEventListener('click', function() {
|
||||
document.getElementById('bulk-action-form').submit();
|
||||
});
|
||||
</script>
|
||||
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.urls import reverse
|
||||
from django.db.models import Q, Count, F
|
||||
from django.contrib import messages
|
||||
from django.db import transaction
|
||||
|
|
@ -253,3 +254,21 @@ def import_log_detail(request, pk):
|
|||
log = get_object_or_404(ImportLog, pk=pk)
|
||||
failed_records = json.loads(log.error_log)
|
||||
return render(request, 'leads/import_log_detail.html', {'log': log, 'failed_records': failed_records})
|
||||
|
||||
def ids_data_bulk_delete(request):
|
||||
if request.method == 'POST':
|
||||
selected_ids = request.POST.getlist('selected_ids')
|
||||
IDSData.objects.filter(id__in=selected_ids).delete()
|
||||
messages.success(request, f'{len(selected_ids)} IDS Data records have been deleted.')
|
||||
|
||||
url = reverse('ids_data')
|
||||
query_params = request.GET.copy()
|
||||
query_params.pop('selected_ids', None)
|
||||
query_string = query_params.urlencode()
|
||||
|
||||
if query_string:
|
||||
url += f'?{query_string}'
|
||||
|
||||
return redirect(url)
|
||||
|
||||
return redirect('ids_data')
|
||||
|
|
|
|||
Loading…
Reference in a new issue