initial commit
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from .models import Category, Claim, CounterArgument, EvidenceFile, Source, Tag
|
||||
|
||||
|
||||
class EvidenceFileInline(admin.TabularInline):
|
||||
model = EvidenceFile
|
||||
extra = 1
|
||||
fields = ('title', 'file', 'caption', 'order')
|
||||
|
||||
|
||||
class SourceInline(admin.TabularInline):
|
||||
model = Source
|
||||
extra = 1
|
||||
|
||||
|
||||
class CounterArgumentInline(admin.StackedInline):
|
||||
model = CounterArgument
|
||||
extra = 1
|
||||
|
||||
|
||||
@admin.register(Tag)
|
||||
class TagAdmin(admin.ModelAdmin):
|
||||
list_display = ('name', 'slug')
|
||||
prepopulated_fields = {'slug': ('name',)}
|
||||
search_fields = ('name',)
|
||||
|
||||
|
||||
@admin.register(Category)
|
||||
class CategoryAdmin(admin.ModelAdmin):
|
||||
list_display = ('name', 'slug', 'claim_count', 'created_at')
|
||||
prepopulated_fields = {'slug': ('name',)}
|
||||
search_fields = ('name', 'description')
|
||||
|
||||
@admin.display(description='Anzahl Behauptungen')
|
||||
def claim_count(self, obj):
|
||||
return obj.claims.count()
|
||||
|
||||
|
||||
@admin.register(Claim)
|
||||
class ClaimAdmin(admin.ModelAdmin):
|
||||
list_display = ('title', 'category', 'status', 'evidence_level', 'updated_at')
|
||||
list_filter = ('category', 'status', 'evidence_level', 'tags')
|
||||
search_fields = ('title', 'short_answer', 'detailed_explanation')
|
||||
prepopulated_fields = {'slug': ('title',)}
|
||||
filter_horizontal = ('tags',)
|
||||
inlines = [EvidenceFileInline, SourceInline, CounterArgumentInline]
|
||||
fieldsets = (
|
||||
(None, {
|
||||
'fields': ('category', 'title', 'slug', 'status', 'evidence_level', 'tags'),
|
||||
}),
|
||||
('Inhalt', {
|
||||
'fields': ('short_answer', 'detailed_explanation'),
|
||||
}),
|
||||
)
|
||||
|
||||
|
||||
@admin.register(EvidenceFile)
|
||||
class EvidenceFileAdmin(admin.ModelAdmin):
|
||||
list_display = ('display_title', 'claim', 'file_extension_display', 'order', 'created_at')
|
||||
list_filter = ('claim__category',)
|
||||
search_fields = ('title', 'caption', 'claim__title')
|
||||
|
||||
@admin.display(description='Typ')
|
||||
def file_extension_display(self, obj):
|
||||
return obj.file_extension.upper()
|
||||
|
||||
|
||||
@admin.register(Source)
|
||||
class SourceAdmin(admin.ModelAdmin):
|
||||
list_display = ('title', 'organization', 'claim')
|
||||
list_filter = ('claim__category',)
|
||||
search_fields = ('title', 'organization', 'description')
|
||||
|
||||
|
||||
@admin.register(CounterArgument)
|
||||
class CounterArgumentAdmin(admin.ModelAdmin):
|
||||
list_display = ('argument_preview', 'claim')
|
||||
list_filter = ('claim__category',)
|
||||
search_fields = ('argument', 'response')
|
||||
|
||||
@admin.display(description='Gegenargument')
|
||||
def argument_preview(self, obj):
|
||||
return obj.argument[:80]
|
||||
Reference in New Issue
Block a user