Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions cspreports/admin.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
from django.contrib import admin
from django.utils.safestring import mark_safe

from cspreports.models import CSPReport


class CSPReportAdmin(admin.ModelAdmin):
list_display = ('id', 'created', 'document_uri', 'blocked_uri')
list_display = ('id', 'created', 'document_uri', 'blocked_uri', 'is_valid')
fields = ('created', 'modified', 'json_as_html')
readonly_fields = ('created', 'modified', 'json_as_html')
search_fields = ('json',)
list_filter = ('is_valid',)
date_hierarchy = 'created'

def json_as_html(self, instance):
return "<br />" + instance.json_as_html()
return mark_safe("<br />" + instance.json_as_html())

def document_uri(self, instance):
return instance.data.get('csp-report', {}).get('document-uri')
Expand All @@ -20,5 +24,11 @@ def blocked_uri(self, instance):
json_as_html.short_description = "Report"
json_as_html.allow_tags = True

def has_add_permission(self, request):
return False

def has_change_permission(self, request, obj=None):
return False


admin.site.register(CSPReport, CSPReportAdmin)
2 changes: 2 additions & 0 deletions cspreports/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from django.db import models
from django.utils.html import escape
from django.utils.safestring import mark_safe
from django.utils.translation import gettext_lazy as _

DISPOSITIONS = (
('enforce', 'enforce'),
Expand Down Expand Up @@ -60,6 +61,7 @@ class CSPReport(models.Model):
"""

class Meta:
verbose_name = _('CSP report')
ordering = ('-created',)

created = models.DateTimeField(auto_now_add=True)
Expand Down