From b7de62610f067e681011bdd2aaf62241eb59d95d Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Mon, 15 Jun 2026 16:21:46 +0200 Subject: [PATCH] Fixes #22395: Remove unused save() override on ManagedFileForm The method wrote uploaded files to disk via a raw open(), but no code path reached it. Its only subclass, ScriptFileForm, overrode save() to write through django-storages and explicitly skipped the base via super(ManagedFileForm, self).save(). With the override gone, that call simplifies back to a plain super().save(). A leftover from #18680, which moved both upload paths onto django-storages but left the form-level write in place. --- netbox/core/forms/model_forms.py | 9 --------- netbox/extras/forms/scripts.py | 3 +-- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/netbox/core/forms/model_forms.py b/netbox/core/forms/model_forms.py index 074ea8498..aca3d9fd3 100644 --- a/netbox/core/forms/model_forms.py +++ b/netbox/core/forms/model_forms.py @@ -114,15 +114,6 @@ class ManagedFileForm(SyncedDataMixin, NetBoxModelForm): return self.cleaned_data - def save(self, *args, **kwargs): - # If a file was uploaded, save it to disk - if self.cleaned_data['upload_file']: - self.instance.file_path = self.cleaned_data['upload_file'].name - with open(self.instance.full_path, 'wb+') as new_file: - new_file.write(self.cleaned_data['upload_file'].read()) - - return super().save(*args, **kwargs) - class ConfigFormMetaclass(forms.models.ModelFormMetaclass): diff --git a/netbox/extras/forms/scripts.py b/netbox/extras/forms/scripts.py index b646c397d..2aa8f4786 100644 --- a/netbox/extras/forms/scripts.py +++ b/netbox/extras/forms/scripts.py @@ -112,5 +112,4 @@ class ScriptFileForm(ManagedFileForm): data = self.cleaned_data['upload_file'] storage.save(filename, data) - # need to skip ManagedFileForm save method - return super(ManagedFileForm, self).save(*args, **kwargs) + return super().save(*args, **kwargs)