16149 add (optional) obj hyperlink to script list table

This commit is contained in:
Arthur 2024-05-23 15:05:12 -07:00
parent bc248208e2
commit 422bfdafd6
3 changed files with 17 additions and 0 deletions

View File

@ -500,6 +500,8 @@ class BaseScript:
'time': timezone.now().isoformat(), 'time': timezone.now().isoformat(),
'status': level, 'status': level,
'message': str(message), '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 # Record to the system log

View File

@ -1,6 +1,7 @@
import json import json
import django_tables2 as tables import django_tables2 as tables
from django.utils.html import format_html
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from extras.models import * from extras.models import *
@ -564,6 +565,12 @@ class ScriptResultsTable(BaseTable):
'index', 'time', 'status', 'message', '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): class ReportResultsTable(BaseTable):
index = tables.Column( index = tables.Column(
@ -594,3 +601,9 @@ class ReportResultsTable(BaseTable):
fields = ( fields = (
'index', 'method', 'time', 'status', 'object', 'url', 'message', '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)

View File

@ -1201,6 +1201,8 @@ class ScriptResultView(TableMixin, generic.ObjectView):
'time': log.get('time'), 'time': log.get('time'),
'status': log.get('status'), 'status': log.get('status'),
'message': log.get('message'), 'message': log.get('message'),
'object': log.get('obj'),
'url': log.get('url'),
} }
data.append(result) data.append(result)