cmsmanage/rentals/admin.py

52 lines
1.4 KiB
Python
Raw Normal View History

from django.contrib import admin
from django import forms
from .models import LockerBank, LockerInfo, LockerUnit
class LockerInfoInline(admin.TabularInline):
model = LockerInfo
extra = 0
2022-01-24 23:37:04 -05:00
class LockerUnitInline(admin.TabularInline):
model = LockerUnit
extra = 0
2022-01-24 23:37:04 -05:00
@admin.register(LockerBank)
class LockerBankAdmin(admin.ModelAdmin):
inlines = [LockerUnitInline]
prepopulated_fields = {"slug": ("name",)}
2022-01-24 23:37:04 -05:00
@admin.register(LockerUnit)
class LockerUnitAdmin(admin.ModelAdmin):
inlines = [LockerInfoInline]
@admin.register(LockerInfo)
class LockerInfoAdmin(admin.ModelAdmin):
search_fields = ["renter__username", "locker_unit__bank__name"]
list_filter = ["locker_unit__bank", "locker_unit", "renter"]
list_display = [
"locker_unit",
"address",
"blind_code",
"bitting_code",
"renter",
"notes",
]
list_display_links = ["locker_unit", "address"]
list_editable = ["blind_code", "bitting_code"]
def get_queryset(self, request):
return LockerInfo.objects.select_related("locker_unit", "locker_unit__bank")
def get_changelist_formset(self, request, **kwargs):
kwargs["widgets"] = {
"blind_code": forms.TextInput(attrs={"size": 6}),
"bitting_code": forms.TextInput(attrs={"size": 6}),
}
return super().get_changelist_formset(request, **kwargs)