add form to delete a ComputerSoftwareRelation

This commit is contained in:
Andreas Zweili 2020-06-28 19:12:49 +02:00
parent 5640d0ab3f
commit 16fc66385f
4 changed files with 26 additions and 2 deletions

View File

@ -51,8 +51,8 @@
<h2>Software</h2>
<ul>
{% for relation in software_relations %}
<li>{{ relation.software }}</li>
{% for software in software_relations %}
<li>{{ software.software }} <a href="{% url 'software_relation_delete' software.pk %}" class="delete" title="Delete" data-toggle="tooltip"><i class="material-icons">clear</i></a></li>
{% endfor %}
</ul>
<p><a href="{% url 'software_relation_create' pk %}" class="add" title="Add" data-toggle="tooltip"><i class="material-icons">add</i></a></p>

View File

@ -178,3 +178,16 @@ def test_disk_relation_delete_view(create_admin_user):
url = '/delete/disk-relation/{}/'.format(disk_relation.id)
response = client.post(url)
assert response.status_code == 302
def test_software_relation_delete_view(create_admin_user):
create_admin_user()
client = Client()
client.login(username="pharma-admin", password="password")
computer = mixer.blend('computers.Computer', customer=mixer.SELECT)
software = mixer.blend('softwares.Software')
software_relation = mixer.blend('computers.ComputerSoftwareRelation',
computer=computer, software=software)
url = '/delete/software-relation/{}/'.format(software_relation.id)
response = client.post(url)
assert response.status_code == 302

View File

@ -47,4 +47,7 @@ urlpatterns = [
path('computer/<int:pk>/create/software-relation/',
views.ComputerSoftwareRelationCreateView.as_view(),
name='software_relation_create'),
path('delete/software-relation/<int:pk>/',
views.ComputerSoftwareRelationDeleteView.as_view(),
name='software_relation_delete'),
]

View File

@ -266,3 +266,11 @@ class ComputerSoftwareRelationCreateView(LoginRequiredMixin, CreateView):
'computer': self.computer,
}
class ComputerSoftwareRelationDeleteView(LoginRequiredMixin, DeleteView):
model = ComputerSoftwareRelation
template_name = 'computers/relation_confirm_delete.html'
def get_success_url(self):
return reverse('computer', args=(self.object.computer.pk,))