mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Close #2892: Extend admin UI to allow deleting old report results
This commit is contained in:
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
## Enhancements
|
## Enhancements
|
||||||
|
|
||||||
|
* [#2892](https://github.com/netbox-community/netbox/issues/2892) - Extend admin UI to allow deleting old report results
|
||||||
* [#3062](https://github.com/netbox-community/netbox/issues/3062) - Add `assigned_to_interface` filter for IP addresses
|
* [#3062](https://github.com/netbox-community/netbox/issues/3062) - Add `assigned_to_interface` filter for IP addresses
|
||||||
* [#3461](https://github.com/netbox-community/netbox/issues/3461) - Fail gracefully on custom link rendering exception
|
* [#3461](https://github.com/netbox-community/netbox/issues/3461) - Fail gracefully on custom link rendering exception
|
||||||
* [#3705](https://github.com/netbox-community/netbox/issues/3705) - Provide request context when executing custom scripts
|
* [#3705](https://github.com/netbox-community/netbox/issues/3705) - Provide request context when executing custom scripts
|
||||||
|
@ -3,7 +3,10 @@ from django.contrib import admin
|
|||||||
|
|
||||||
from netbox.admin import admin_site
|
from netbox.admin import admin_site
|
||||||
from utilities.forms import LaxURLField
|
from utilities.forms import LaxURLField
|
||||||
from .models import CustomField, CustomFieldChoice, CustomLink, Graph, ExportTemplate, TopologyMap, Webhook
|
from .models import (
|
||||||
|
CustomField, CustomFieldChoice, CustomLink, Graph, ExportTemplate, ReportResult, TopologyMap, Webhook,
|
||||||
|
)
|
||||||
|
from .reports import get_report
|
||||||
|
|
||||||
|
|
||||||
def order_content_types(field):
|
def order_content_types(field):
|
||||||
@ -166,6 +169,36 @@ class ExportTemplateAdmin(admin.ModelAdmin):
|
|||||||
form = ExportTemplateForm
|
form = ExportTemplateForm
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Reports
|
||||||
|
#
|
||||||
|
|
||||||
|
@admin.register(ReportResult, site=admin_site)
|
||||||
|
class ReportResultAdmin(admin.ModelAdmin):
|
||||||
|
list_display = [
|
||||||
|
'report', 'active', 'created', 'user', 'passing',
|
||||||
|
]
|
||||||
|
fields = [
|
||||||
|
'report', 'user', 'passing', 'data',
|
||||||
|
]
|
||||||
|
list_filter = [
|
||||||
|
'failed',
|
||||||
|
]
|
||||||
|
readonly_fields = fields
|
||||||
|
|
||||||
|
def has_add_permission(self, request):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def active(self, obj):
|
||||||
|
module, report_name = obj.report.split('.')
|
||||||
|
return True if get_report(module, report_name) else False
|
||||||
|
active.boolean = True
|
||||||
|
|
||||||
|
def passing(self, obj):
|
||||||
|
return not obj.failed
|
||||||
|
passing.boolean = True
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Topology maps
|
# Topology maps
|
||||||
#
|
#
|
||||||
|
@ -915,6 +915,13 @@ class ReportResult(models.Model):
|
|||||||
class Meta:
|
class Meta:
|
||||||
ordering = ['report']
|
ordering = ['report']
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return "{} {} at {}".format(
|
||||||
|
self.report,
|
||||||
|
"passed" if not self.failed else "failed",
|
||||||
|
self.created
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Change logging
|
# Change logging
|
||||||
|
Reference in New Issue
Block a user