##// END OF EJS Templates
Split thread view into separate views for each mode
Split thread view into separate views for each mode

File last commit:

r933:ce97c754 merge decentral
r951:225d57cf default
Show More
admin.py
47 lines | 1.2 KiB | text/x-python | PythonLexer
from django.contrib import admin
from boards.models import Post, Tag, Ban, Thread
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'text')
list_filter = ('pub_time', 'thread_new')
search_fields = ('id', 'title', 'text')
exclude = ('referenced_posts', 'refmap')
readonly_fields = ('poster_ip', 'thread_new')
@admin.register(Tag)
class TagAdmin(admin.ModelAdmin):
def thread_count(self, obj: Tag) -> int:
return obj.get_thread_count()
list_display = ('name', 'thread_count')
search_fields = ('name',)
@admin.register(Thread)
class ThreadAdmin(admin.ModelAdmin):
def title(self, obj: Thread) -> str:
return obj.get_opening_post().get_title()
def reply_count(self, obj: Thread) -> int:
return obj.get_reply_count()
def ip(self, obj: Thread):
return obj.get_opening_post().poster_ip
list_display = ('id', 'title', 'reply_count', 'archived', 'ip')
list_filter = ('bump_time', 'archived', 'bumpable')
search_fields = ('id', 'title')
filter_horizontal = ('tags',)
@admin.register(Ban)
class BanAdmin(admin.ModelAdmin):
list_display = ('ip', 'can_read')
list_filter = ('can_read',)
search_fields = ('ip',)