Files
old-riskletpy/backend/core/admin.py

49 lines
1.6 KiB
Python
Raw Normal View History

2024-12-29 03:44:52 +01:00
from django.contrib import admin
from .models import Document, DocumentSegment, Organization, Risk, Control, DocumentTemplate
from django.urls import reverse
from django.utils.html import format_html
2024-12-29 03:44:52 +01:00
2025-02-06 11:24:19 +01:00
class DocumentSegmentInline(admin.StackedInline):
model = DocumentSegment
extra = 1
ordering = ['order']
fields = ('segment_type', 'content', 'order')
class DocumentAdmin(admin.ModelAdmin):
inlines = [DocumentSegmentInline]
list_display = ('organization', 'created_at', 'modified_at')
search_fields = ['organization__name']
readonly_fields = ('created_at', 'modified_at')
class DocumentTemplateAdmin(admin.ModelAdmin):
list_display = ['name', 'created_at', 'updated_at', 'preview_button']
def preview_button(self, obj):
url = reverse('core:template_preview', args=[obj.name])
return format_html('<a href="{}" target="_blank">Preview</a>', url)
preview_button.short_description = 'Preview'
preview_button.allow_tags = True
2025-02-06 11:24:19 +01:00
class OrganizationAdmin(admin.ModelAdmin):
list_display = ('name', 'email', 'industry_sector')
search_fields = ['name', 'email']
2025-02-10 09:25:39 +01:00
class RiskAdmin(admin.ModelAdmin):
ordering = ['risk_id']
list_display = ['risk_id','risk_name','category']
2025-02-12 16:15:06 +01:00
class ControlAdmin(admin.ModelAdmin):
list_display = ('risk', 'safeguard', 'weight')
search_fields = ('risk__risk_name', 'safeguard')
list_filter = ('risk', 'weight')
2025-02-10 09:25:39 +01:00
2025-02-06 11:24:19 +01:00
admin.site.register(Document, DocumentAdmin)
admin.site.register(Organization, OrganizationAdmin)
2025-02-10 09:25:39 +01:00
admin.site.register(Risk ,RiskAdmin)
2025-02-12 16:15:06 +01:00
admin.site.register(Control, ControlAdmin)
admin.site.register(DocumentTemplate, DocumentTemplateAdmin)