From 78b9d18afb3ec379eae69c7d681fada17b8ed7cb Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 31 Mar 2026 10:51:17 -0700 Subject: [PATCH] cleanup --- netbox/extras/api/serializers_/scripts.py | 10 +++++++++- netbox/extras/filtersets.py | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/netbox/extras/api/serializers_/scripts.py b/netbox/extras/api/serializers_/scripts.py index 5a6a7bc8e..abec31896 100644 --- a/netbox/extras/api/serializers_/scripts.py +++ b/netbox/extras/api/serializers_/scripts.py @@ -118,7 +118,15 @@ class ScriptModuleSerializer(ValidatedModelSerializer): self._save_upload(upload_file, validated_data) elif data_file := validated_data.get('data_file'): self._sync_data_file(data_file, validated_data) - return super().update(instance, validated_data) + try: + return super().update(instance, validated_data) + except Exception: + if file_path := validated_data.get('file_path'): + try: + storages.create_storage(storages.backends["scripts"]).delete(file_path) + except Exception: + pass + raise class ScriptSerializer(ValidatedModelSerializer): diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index df5e1364a..e8deeef22 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -65,7 +65,7 @@ class ScriptFilterSet(BaseFilterSet): ) -class ScriptModuleFilterSet(BaseFilterSet): +class ScriptModuleFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'),