Skip to content

Commit

Permalink
16149 add (optional) obj hyperlink to script list table
Browse files Browse the repository at this point in the history
  • Loading branch information
arthanson committed May 23, 2024
1 parent bc24820 commit 422bfda
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 0 deletions.
2 changes: 2 additions & 0 deletions netbox/extras/scripts.py
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,8 @@ def _log(self, message, obj=None, level=LogLevelChoices.LOG_DEFAULT):
'time': timezone.now().isoformat(),
'status': level,
'message': str(message),
'obj': str(obj) if obj else None,
'url': obj.get_absolute_url() if hasattr(obj, 'get_absolute_url') else None,
})

# Record to the system log
Expand Down
13 changes: 13 additions & 0 deletions netbox/extras/tables/tables.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import json

import django_tables2 as tables
from django.utils.html import format_html
from django.utils.translation import gettext_lazy as _

from extras.models import *
Expand Down Expand Up @@ -564,6 +565,12 @@ class Meta(BaseTable.Meta):
'index', 'time', 'status', 'message',
)

def render_object(self, value, record):
return format_html("<a href='{}'>{}</a>", record['url'], value)

def render_url(self, value):
return format_html("<a href='{}'>{}</a>", value, value)


class ReportResultsTable(BaseTable):
index = tables.Column(
Expand Down Expand Up @@ -594,3 +601,9 @@ class Meta(BaseTable.Meta):
fields = (
'index', 'method', 'time', 'status', 'object', 'url', 'message',
)

def render_object(self, value, record):
return format_html("<a href='{}'>{}</a>", record['url'], value)

def render_url(self, value):
return format_html("<a href='{}'>{}</a>", value, value)
2 changes: 2 additions & 0 deletions netbox/extras/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1201,6 +1201,8 @@ def get_table(self, job, request, bulk_actions=True):
'time': log.get('time'),
'status': log.get('status'),
'message': log.get('message'),
'object': log.get('obj'),
'url': log.get('url'),
}
data.append(result)

Expand Down

0 comments on commit 422bfda

Please sign in to comment.