Files
Ausweis/backend/app/admin.py
2023-10-02 23:39:20 +02:00

42 lines
1.4 KiB
Python

from django.contrib import admin
from django.contrib.auth.models import Group # , User
from django.utils.safestring import mark_safe
from .models import Organization, Member
admin.site.site_header = 'Ausweis-Verwaltung' # top-most title
admin.site.index_title = 'Ausweis' # title at root
admin.site.site_title = 'Ausweis-Verwaltung' # suffix to <title>
admin.site.unregister(Group)
# admin.site.unregister(User)
@admin.register(Organization)
class OrganizationAdmin(admin.ModelAdmin):
prepopulated_fields = {'slug': ['name']}
list_display = ('name', 'slug', 'member_count')
list_display_links = ('name', 'slug')
search_fields = ('name', 'slug')
@admin.display(description='Mitglieder')
def member_count(self, obj: 'Organization'):
return obj.members.count()
@admin.register(Member)
class MemberAdmin(admin.ModelAdmin):
readonly_fields = ('uuid', 'url_link_full')
list_display = (
'name', 'member_id', 'valid_since', 'valid_until', 'url_link_short')
search_fields = ('name', 'member_id')
@admin.display(description='URL')
def url_link_short(self, obj: 'Member'):
return mark_safe(f'<a target="blank" href="{obj.export_url}">Link</a>')
@admin.display(description='URL')
def url_link_full(self, obj: 'Member'):
return mark_safe('<a target="blank" href="{0}">{0}</a>'.format(
obj.export_url))