51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
from django.contrib import admin
|
|
from django.utils.safestring import mark_safe
|
|
|
|
from .models import *
|
|
from admin_ordering.admin import OrderableAdmin
|
|
|
|
# Register your models here.
|
|
|
|
|
|
@admin.register(Button, UpperButton)
|
|
class ButtonModelAdmin(OrderableAdmin, admin.ModelAdmin):
|
|
list_display = ["__str__", "published", "ordering"]
|
|
list_editable = ["ordering"]
|
|
ordering_field_hide_input = True
|
|
exclude = ["ordering"]
|
|
|
|
@admin.register(AdditionalPagePost)
|
|
class AdditionalPagePostModelAdmin(OrderableAdmin, admin.ModelAdmin):
|
|
list_display = ["__str__", "published", "ordering"]
|
|
list_editable = ["ordering"]
|
|
ordering_field_hide_input = True
|
|
exclude = ["ordering"]
|
|
|
|
|
|
# @admin.register(AdditionalPagePost)
|
|
class AdditionalPagePostInline(OrderableAdmin, admin.TabularInline):
|
|
model = AdditionalPagePost
|
|
list_editable = ["ordering"]
|
|
ordering_field_hide_input = True
|
|
fields = ["title", "ordering"]
|
|
show_change_link = True
|
|
extra = 0
|
|
|
|
|
|
@admin.register(AdditionalPage)
|
|
class AdditionalPageModelAdmin(OrderableAdmin, admin.ModelAdmin):
|
|
list_display = ["__str__", "published"]
|
|
readonly_fields = ["posts"]
|
|
inlines = [AdditionalPagePostInline]
|
|
|
|
@admin.display(description="Opublikowane posty")
|
|
def posts(self, obj):
|
|
return mark_safe(''.join([f'<a href="/post/{p.id}" target="_blank">{p.title}</a><br>' for p in obj.posts.filter(published=True)]))
|
|
|
|
|
|
admin.site.site_header = "ŁABS"
|
|
admin.site.site_title = "ŁABS"
|
|
admin.site.index_title = "Panel administracyjny"
|
|
admin.site.site_url = "/"
|
|
admin.site.enable_nav_sidebar = True
|