Skip to content

Commit 1cf0c80

Browse files
authored
Merge pull request #175 from netboxlabs/174-delete
174 fix delete of CO on detail page
2 parents a850a9c + 3216a93 commit 1cf0c80

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

netbox_custom_objects/views.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from . import field_types, filtersets, forms, tables
3232
from .models import CustomObject, CustomObjectType, CustomObjectTypeField
3333

34-
logger = logging.getLogger('netbox_custom_objects.views')
34+
logger = logging.getLogger("netbox_custom_objects.views")
3535

3636

3737
class CustomJournalEntryForm(JournalEntryForm):
@@ -123,7 +123,9 @@ def get_table(self, data, request, bulk_actions=True):
123123
attrs[field.name] = field_type.get_table_column_field(field)
124124
except NotImplementedError:
125125
logger.debug(
126-
"table mixin: {} field is not implemented; using a default column".format(field.name)
126+
"table mixin: {} field is not implemented; using a default column".format(
127+
field.name
128+
)
127129
)
128130
# Define a method "render_table_column" method on any FieldType to customize output
129131
# See https://django-tables2.readthedocs.io/en/latest/pages/custom-data.html#table-render-foo-methods
@@ -543,6 +545,22 @@ def get_object(self, **kwargs):
543545
model = object_type.get_model()
544546
return get_object_or_404(model.objects.all(), **self.kwargs)
545547

548+
def get_return_url(self, request, obj=None):
549+
"""
550+
Return the URL to redirect to after deleting a custom object.
551+
"""
552+
if obj:
553+
# Get the custom object type from the object directly
554+
custom_object_type = obj.custom_object_type.name
555+
else:
556+
# Fallback to getting it from kwargs if object is not available
557+
custom_object_type = self.kwargs.get("custom_object_type")
558+
559+
return reverse(
560+
"plugins:netbox_custom_objects:customobject_list",
561+
kwargs={"custom_object_type": custom_object_type},
562+
)
563+
546564

547565
@register_model_view(CustomObject, "bulk_edit", path="edit", detail=False)
548566
class CustomObjectBulkEditView(CustomObjectTableMixin, generic.BulkEditView):
@@ -578,7 +596,9 @@ def get_form(self, queryset):
578596
try:
579597
attrs[field.name] = field_type.get_annotated_form_field(field)
580598
except NotImplementedError:
581-
logger.debug("bulk edit form: {} field is not supported".format(field.name))
599+
logger.debug(
600+
"bulk edit form: {} field is not supported".format(field.name)
601+
)
582602

583603
form = type(
584604
f"{queryset.model._meta.object_name}BulkEditForm",

0 commit comments

Comments
 (0)