feat: Implement delete functionality for individual IDS Data entries

This commit is contained in:
Lord_Devi 2024-09-16 23:24:50 -04:00
parent ce58e08719
commit af4ea8adc7
4 changed files with 28 additions and 1 deletions

View file

@ -27,7 +27,10 @@
<td>{{ data.gbp_location_state }}</td>
<td>
<a href="{% url 'ids_data_detail' data.pk %}" class="btn btn-sm btn-outline-primary">View</a>
<a href="#" class="btn btn-sm btn-outline-danger">Delete</a>
<form method="post" action="{% url 'ids_data_delete' data.pk %}" style="display: inline;">
{% csrf_token %}
<button type="submit" class="btn btn-sm btn-outline-danger" onclick="return confirm('Are you sure you want to delete this entry?')">Delete</button>
</form>
</td>
</tr>
{% empty %}

View file

@ -0,0 +1,15 @@
{% extends 'leads/base.html' %}
{% block title %}Confirm Delete IDS Data{% endblock %}
{% block content %}
<h2 class="mb-4">Confirm Delete IDS Data</h2>
<div class="alert alert-danger" role="alert">
Are you sure you want to delete the IDS Data record for "{{ ids_data.business_name }}"?
</div>
<form method="post" class="mb-3">
{% csrf_token %}
<button type="submit" class="btn btn-danger">Confirm Delete</button>
<a href="{% url 'ids_data' %}" class="btn btn-secondary">Cancel</a>
</form>
{% endblock %}

View file

@ -12,4 +12,5 @@ urlpatterns = [
path('data/ids/<int:pk>/', views.ids_data_detail, name='ids_data_detail'),
path('data/ids/import/', views.ids_data_import, name='ids_data_import'),
path('data/ids/delete-all/', views.ids_data_delete_all, name='ids_data_delete_all'),
path('data/ids/<int:pk>/delete/', views.ids_data_delete, name='ids_data_delete'),
]

View file

@ -124,3 +124,11 @@ def ids_data_delete_all(request):
messages.success(request, 'All IDS Data records have been deleted.')
return redirect('ids_data')
return render(request, 'leads/ids_data_delete_confirm.html')
def ids_data_delete(request, pk):
ids_data = get_object_or_404(IDSData, pk=pk)
if request.method == 'POST':
ids_data.delete()
messages.success(request, f'IDS Data record "{ids_data.business_name}" has been deleted.')
return redirect('ids_data')
return render(request, 'leads/ids_data_confirm_delete.html', {'ids_data': ids_data})