|
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