fix: Add ids_data_bulk_delete view and URL pattern

This commit is contained in:
Lord_Devi 2024-09-19 22:41:14 -04:00
parent 53ff09e86a
commit 7f29db518d
2 changed files with 51 additions and 0 deletions

View file

@ -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 %}

View file

@ -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')