add a delete button to the license tables

This commit is contained in:
Andreas Zweili 2020-08-03 17:33:50 +02:00
parent 5aed28748a
commit 190569cdb0
4 changed files with 49 additions and 1 deletions

View File

@ -1,4 +1,5 @@
import django_tables2 as tables
from django_tables2.utils import A
from core.tables import CoreTable
@ -12,6 +13,11 @@ class UserLicensesTable(CoreTable):
customer = tables.Column('Customer', linkify=True)
used_licenses = tables.Column()
user = tables.ManyToManyColumn(linkify_item=True)
delete = tables.LinkColumn('user_license_delete',
text='delete',
args=[A('pk')], attrs={
'a': {'class': 'delete material-icons', }
})
class Meta(CoreTable.Meta):
model = UserLicense
@ -23,6 +29,11 @@ class ComputerLicensesTable(CoreTable):
customer = tables.Column('Customer', linkify=True)
used_licenses = tables.Column()
computer = tables.ManyToManyColumn(linkify_item=True)
delete = tables.LinkColumn('computer_license_delete',
text='delete',
args=[A('pk')], attrs={
'a': {'class': 'delete material-icons', }
})
class Meta(CoreTable.Meta):
model = ComputerLicense

View File

@ -0,0 +1,16 @@
{% extends "core/base.html" %}
{% block section_title %}Delete License{% endblock %}
{% block content %}
<div class="row">
<form method="post">{% csrf_token %}
<p>Are you sure you want unasign the license "{{ object }}"?</p>
<button type="submit" class="btn btn-danger">Delete</button>
<a href="{% url 'licenses' object.customer.pk %}" class="btn btn-primary">Cancel</a>
<input type="hidden" id="previous_page" name="previous_page" value="/previous/page/url">
</form>
<script>
prev = document.getElementById("previous_page");
prev.value = document.referrer;
</script>
</div>
{% endblock %}

View File

@ -11,4 +11,10 @@ urlpatterns = [
path('delete/license-with-computer/<int:pk>/',
views.LicenseWithComputerDeleteView.as_view(),
name='license_with_computer_delete'),
path('delete/user-license/<int:pk>/',
views.UserLicenseDeleteView.as_view(),
name='user_license_delete'),
path('delete/computer-license/<int:pk>/',
views.ComputerLicenseDeleteView.as_view(),
name='computer_license_delete'),
]

View File

@ -17,7 +17,6 @@ from .models import UserLicense
from .models import LicenseWithComputer
from .tables import ComputerLicensesTable
from .tables import UserLicensesTable
# Create your views here.
@login_required
@ -59,3 +58,19 @@ class LicenseWithComputerDeleteView(LoginRequiredMixin, DeleteView):
def get_success_url(self):
return reverse('computer', args=(self.object.computer.pk,))
class UserLicenseDeleteView(LoginRequiredMixin, DeleteView):
model = UserLicense
template_name = 'licenses/license_confirm_delete.html'
def get_success_url(self):
return reverse('licenses', args=(self.object.customer.pk,))
class ComputerLicenseDeleteView(LoginRequiredMixin, DeleteView):
model = ComputerLicense
template_name = 'licenses/license_confirm_delete.html'
def get_success_url(self):
return reverse('licenses', args=(self.object.customer.pk,))