Просмотр исходного кода

Fixes #19263: Render action buttons only if the record model matches the table model (#19287)

Jeremy Stretch 9 месяцев назад
Родитель
Сommit
dfd788c643
1 измененных файлов с 7 добавлено и 3 удалено
  1. 7 3
      netbox/netbox/tables/columns.py

+ 7 - 3
netbox/netbox/tables/columns.py

@@ -260,11 +260,15 @@ class ActionsColumn(tables.Column):
         return ''
 
     def render(self, record, table, **kwargs):
-        # Skip dummy records (e.g. available VLANs) or those with no actions
-        if not getattr(record, 'pk', None) or not (self.actions or self.extra_buttons):
+        model = table.Meta.model
+
+        # Skip if no actions or extra buttons are defined
+        if not (self.actions or self.extra_buttons):
+            return ''
+        # Skip dummy records (e.g. available VLANs or IP ranges replacing individual IPs)
+        if type(record) is not model or not getattr(record, 'pk', None):
             return ''
 
-        model = table.Meta.model
         if request := getattr(table, 'context', {}).get('request'):
             return_url = request.GET.get('return_url', request.get_full_path())
             url_appendix = f'?return_url={quote(return_url)}'