|
31 | 31 | from . import field_types, filtersets, forms, tables
|
32 | 32 | from .models import CustomObject, CustomObjectType, CustomObjectTypeField
|
33 | 33 |
|
34 |
| -logger = logging.getLogger('netbox_custom_objects.views') |
| 34 | +logger = logging.getLogger("netbox_custom_objects.views") |
35 | 35 |
|
36 | 36 |
|
37 | 37 | class CustomJournalEntryForm(JournalEntryForm):
|
@@ -123,7 +123,9 @@ def get_table(self, data, request, bulk_actions=True):
|
123 | 123 | attrs[field.name] = field_type.get_table_column_field(field)
|
124 | 124 | except NotImplementedError:
|
125 | 125 | 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 | + ) |
127 | 129 | )
|
128 | 130 | # Define a method "render_table_column" method on any FieldType to customize output
|
129 | 131 | # 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):
|
543 | 545 | model = object_type.get_model()
|
544 | 546 | return get_object_or_404(model.objects.all(), **self.kwargs)
|
545 | 547 |
|
| 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 | + |
546 | 564 |
|
547 | 565 | @register_model_view(CustomObject, "bulk_edit", path="edit", detail=False)
|
548 | 566 | class CustomObjectBulkEditView(CustomObjectTableMixin, generic.BulkEditView):
|
@@ -578,7 +596,9 @@ def get_form(self, queryset):
|
578 | 596 | try:
|
579 | 597 | attrs[field.name] = field_type.get_annotated_form_field(field)
|
580 | 598 | 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 | + ) |
582 | 602 |
|
583 | 603 | form = type(
|
584 | 604 | f"{queryset.model._meta.object_name}BulkEditForm",
|
|
0 commit comments