shiftregister/shiftregister/app/admin.py

43 lines
1.0 KiB
Python

from django.contrib import admin
from .models import Room, Shift, Helper, ShiftRegistration, Message, LoginToken
admin.site.register(Room)
@admin.register(Shift)
class ShiftAdmin(admin.ModelAdmin):
list_display = ("room_name", "start_at", "free_slots")
def room_name(self, object):
return object.room.name
# def helpers(self, object):
# object.helpers.count()
def free_slots(self, object):
return object.room.required_helpers - object.shiftregistration_set.count()
def send_login(modeladmin, request, queryset):
for helper in queryset:
helper.send_confirmation()
class RegistationInline(admin.TabularInline):
model = ShiftRegistration
@admin.register(Helper)
class HelperAdmin(admin.ModelAdmin):
readonly_fields = ("phone",)
fields = ("name", "phone", "number_validated")
list_display = ("name",)
inlines = (RegistationInline,)
actions = (send_login,)
admin.site.register(ShiftRegistration)
admin.site.register(Message)
admin.site.register(LoginToken)