diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 2bfa7901a..e2b60680c 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -117,22 +117,9 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): def get_extra_context(self, request, instance): context = super().get_extra_context(request, instance) - return_url = '?return_url=' + request.get_full_path() - bulk_edit_url = reverse(f'{self.child_model._meta.app_label}:{self.child_model._meta.model_name}_bulk_edit') + return_url - bulk_delete_url = reverse(f'{self.child_model._meta.app_label}:{self.child_model._meta.model_name}_bulk_delete') + return_url - - try: - bulk_rename_url = reverse( - f'{self.child_model._meta.app_label}:{self.child_model._meta.model_name}_bulk_rename') + return_url - except NoReverseMatch: - bulk_rename_url = None - context.update({ 'base_template': f'{instance._meta.app_label}/{instance._meta.model_name}.html', 'table_config': f'{self.table.__name__}_config', - 'bulk_edit_url': bulk_edit_url, - 'bulk_delete_url': bulk_delete_url, - 'bulk_rename_url': bulk_rename_url, }) return context @@ -170,6 +157,7 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): 'table': table, 'actions': actions, 'tab': self.tab, + 'return_url': request.get_full_path(), **self.get_extra_context(request, instance), }) diff --git a/netbox/templates/generic/object_tab.html b/netbox/templates/generic/object_tab.html index 12c65f041..eaa61b9cc 100644 --- a/netbox/templates/generic/object_tab.html +++ b/netbox/templates/generic/object_tab.html @@ -16,28 +16,30 @@
{% if 'bulk_edit' in actions %}
- - {% if bulk_rename_url %} - + {% endif %} + {% endwith %} + {% with bulk_rename_view=child_model|validated_viewname:"bulk_rename" %} + {% if bulk_rename_view %} + + {% endif %} + {% endwith %}
{% endif %}
- {% if 'bulk_delete' in actions %} - - {% endif %} + {% endif %} + {% endwith %} {% block bulk_delete_control %} {% endblock %}