mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-17 04:58:16 -06:00
14438 soft delete
This commit is contained in:
parent
8b54ff7e33
commit
cb2bf2b293
@ -67,12 +67,12 @@ class Script(EventRulesMixin, JobsMixin, models.Model):
|
||||
def python_class(self):
|
||||
return self.module.get_module_scripts.get(self.name)
|
||||
|
||||
def delete_if_no_jobs(self):
|
||||
if self.jobs.exists():
|
||||
def delete(self, soft_delete=False):
|
||||
if soft_delete and self.jobs.exists():
|
||||
self.is_executable = False
|
||||
self.save()
|
||||
else:
|
||||
self.delete()
|
||||
super().delete()
|
||||
self.id = None
|
||||
|
||||
|
||||
@ -134,7 +134,7 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile):
|
||||
# remove any existing db classes if they are no longer in the file
|
||||
removed = db_classes_set - module_classes_set
|
||||
for name in removed:
|
||||
db_classes[name].delete_if_no_jobs()
|
||||
db_classes[name].delete(soft_delete=True)
|
||||
|
||||
added = module_classes_set - db_classes_set
|
||||
for name in added:
|
||||
|
@ -1055,7 +1055,7 @@ class BaseScriptView(ContentTypePermissionRequiredMixin, generic.ObjectView):
|
||||
if self.script.python_class:
|
||||
self.script_class = self.script.python_class()
|
||||
else:
|
||||
self.script.delete_if_no_jobs()
|
||||
self.script.delete(soft_delete=True)
|
||||
messages.error(request, _("Script class has been deleted from module: ") + str(self.script.module))
|
||||
if not self.script.id:
|
||||
return redirect('extras:script_list')
|
||||
@ -1156,7 +1156,7 @@ class ScriptJobsView(ContentTypePermissionRequiredMixin, View):
|
||||
if self.script.python_class:
|
||||
self.script_class = self.script.python_class()
|
||||
else:
|
||||
self.script.delete_if_no_jobs()
|
||||
self.script.delete(soft_delete=True)
|
||||
if not self.script.id:
|
||||
messages.error(request, _("Script class has been deleted from module: ") + str(self.script.module))
|
||||
return redirect('extras:script_list')
|
||||
|
Loading…
Reference in New Issue
Block a user