2022-05-03 18:02:04 -07:00
|
|
|
from django.contrib import admin
|
2022-06-23 16:03:09 -07:00
|
|
|
from django.urls import reverse
|
2022-06-19 18:12:02 -07:00
|
|
|
from django.utils.safestring import mark_safe
|
2022-06-28 21:37:45 -07:00
|
|
|
|
|
|
|
|
from guardian.admin import GuardedModelAdmin
|
|
|
|
|
|
|
|
|
|
from board.models import *
|
2022-05-03 18:02:04 -07:00
|
|
|
|
2022-06-23 16:03:09 -07:00
|
|
|
#
|
|
|
|
|
# Admin sites
|
|
|
|
|
#
|
2022-05-07 16:58:16 -07:00
|
|
|
@admin.register(Board)
|
|
|
|
|
class BoardAdmin(admin.ModelAdmin):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(Post)
|
|
|
|
|
class PostAdmin(admin.ModelAdmin):
|
|
|
|
|
pass
|
2022-05-07 17:35:47 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(ReportReason)
|
|
|
|
|
class ReportReasonAdmin(admin.ModelAdmin):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
2022-06-19 22:03:01 -07:00
|
|
|
@admin.register(ReportRecord)
|
|
|
|
|
class ReportRecordAdmin(admin.ModelAdmin):
|
|
|
|
|
ordering = (
|
|
|
|
|
"-urgent",
|
|
|
|
|
"-weight",
|
|
|
|
|
)
|
2022-06-23 16:03:09 -07:00
|
|
|
readonly_fields = ("post", "weight", "urgent")
|
|
|
|
|
list_display = ("post_id", "post_thumbnail", "post_body", "create_ban")
|
2022-06-15 20:50:21 -07:00
|
|
|
save_as = False
|
2022-06-19 18:12:02 -07:00
|
|
|
|
2022-06-23 16:03:09 -07:00
|
|
|
def post_id(self, obj):
|
|
|
|
|
return obj.post.id
|
|
|
|
|
|
2022-06-19 20:30:48 -07:00
|
|
|
def post_thumbnail(self, obj):
|
2022-06-19 18:12:02 -07:00
|
|
|
if obj.post.thumbnail:
|
|
|
|
|
return mark_safe(f'<img src="{obj.post.thumbnail.url}" />')
|
|
|
|
|
else:
|
|
|
|
|
return None
|
|
|
|
|
|
2022-06-19 20:30:48 -07:00
|
|
|
def post_body(self, obj):
|
|
|
|
|
html = ""
|
2022-06-19 22:03:01 -07:00
|
|
|
if obj.urgent:
|
|
|
|
|
html += '<div class="urgent">'
|
|
|
|
|
else:
|
|
|
|
|
html += "<div>"
|
2022-06-19 20:30:48 -07:00
|
|
|
if obj.post.subject:
|
2022-06-23 16:03:09 -07:00
|
|
|
html += f"<p><strong>{obj.post.subject}</strong></p>"
|
2022-06-19 20:30:48 -07:00
|
|
|
html += f"<p>{obj.post.text}</p>"
|
2022-06-19 22:03:01 -07:00
|
|
|
html += "</div>"
|
2022-06-19 20:30:48 -07:00
|
|
|
return mark_safe(html)
|
2022-06-20 15:26:35 -07:00
|
|
|
|
2022-06-23 16:03:09 -07:00
|
|
|
def create_ban(self, obj):
|
|
|
|
|
post = obj.post
|
|
|
|
|
board = obj.post.board
|
|
|
|
|
ban_url = reverse("board:ban_create", kwargs={"url": board.url, "id": post.id})
|
|
|
|
|
return mark_safe(
|
|
|
|
|
f'<a href="#" data-ban-url="{ban_url}" class="ban_link">Ban</a>'
|
|
|
|
|
)
|
|
|
|
|
|
2022-06-20 15:26:35 -07:00
|
|
|
|
|
|
|
|
@admin.register(RangeBan)
|
|
|
|
|
class RangeBanAdmin(admin.ModelAdmin):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(Ban)
|
|
|
|
|
class BanAdmin(admin.ModelAdmin):
|
|
|
|
|
pass
|
2022-06-23 18:16:00 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(BanTemplate)
|
|
|
|
|
class BanTemplateAdmin(admin.ModelAdmin):
|
|
|
|
|
ordering = ("board__url", "name")
|
2022-06-28 21:37:45 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(Capcode)
|
|
|
|
|
class CapcodeAdmin(GuardedModelAdmin):
|
|
|
|
|
pass
|