From 6fe835bbb8efbf6b5c7bc5dd24832897e1797ff9 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Wed, 31 Jan 2024 16:39:46 -0400 Subject: [PATCH] feat: deactivate instead of delete a link type --- program/views.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/program/views.py b/program/views.py index 237edb3a..ba5d807a 100644 --- a/program/views.py +++ b/program/views.py @@ -886,6 +886,17 @@ class APILinkTypeViewSet(viewsets.ModelViewSet): queryset = LinkType.objects.all() serializer_class = LinkTypeSerializer + def destroy(self, request, *args, **kwargs): + """Destroying a link type just makes is inactive. + + This is needed to preserve all the links that reference a link type.""" + + link_type = self.get_object() + link_type.is_active = False + link_type.save() + + return Response(status=status.HTTP_204_NO_CONTENT) + @extend_schema_view( create=extend_schema(summary="Create a new license type."), -- GitLab