diff --git a/nets/tables.py b/nets/tables.py index d2a56cb..0d7e5f2 100644 --- a/nets/tables.py +++ b/nets/tables.py @@ -1,4 +1,5 @@ import django_tables2 as tables +from django_tables2.utils import A from core.tables import CoreTable @@ -10,6 +11,11 @@ class NetsTable(CoreTable): id = tables.Column(visible=False) name = tables.Column('Net', linkify=True) customer = tables.Column('Customer', linkify=True) + delete = tables.LinkColumn('net_delete', + text='delete', + args=[A('pk')], attrs={ + 'a': {'class': 'delete material-icons', } + }) class Meta(CoreTable.Meta): model = Net diff --git a/nets/templates/nets/net_confirm_delete.html b/nets/templates/nets/net_confirm_delete.html new file mode 100644 index 0000000..8d22fec --- /dev/null +++ b/nets/templates/nets/net_confirm_delete.html @@ -0,0 +1,16 @@ +{% extends "core/base.html" %} +{% block section_title %}Delete net{% endblock %} +{% block content %} +
+
{% csrf_token %} +

Are you sure you want to delete the net "{{ object }}"?

+ + Cancel + +
+ +
+{% endblock %} diff --git a/nets/urls.py b/nets/urls.py index 7f5e721..91191c0 100644 --- a/nets/urls.py +++ b/nets/urls.py @@ -6,4 +6,6 @@ urlpatterns = [ path('customer//nets/', views.nets_table_view, name='nets'), path('net//', views.net_detail_view, name='net'), + path('delete/net//', views.NetDeleteView.as_view(), + name='net_delete'), ] diff --git a/nets/views.py b/nets/views.py index 38e3e05..4683333 100644 --- a/nets/views.py +++ b/nets/views.py @@ -1,7 +1,9 @@ from django.contrib.auth.decorators import login_required +from django.contrib.auth.mixins import LoginRequiredMixin from django.shortcuts import get_object_or_404 from django.shortcuts import render - +from django.urls import reverse +from django.views.generic import DeleteView from django_tables2 import RequestConfig from customers.decorators import customer_view_permission @@ -30,3 +32,10 @@ def net_detail_view(request, pk): return render(request, 'nets/net_details.html', {'table': table, 'net': net}) + + +class NetDeleteView(LoginRequiredMixin, DeleteView): + model = Net + + def get_success_url(self): + return reverse('nets', args=(self.object.customer.pk,))