labs/tournamentpages/admin.py

90 lines
2.6 KiB
Python

from django.contrib import admin
from tabbed_admin import TabbedModelAdmin
from .models import TournamentPage
# Register your models here.
@admin.register(TournamentPage)
class BandAdmin(TabbedModelAdmin):
model = TournamentPage
list_display = ['name', 'link', 'published']
tab_general = (
(None, {
'fields': ('name', 'published', 'header', 'footer')
}),
)
tab_homepage = (
(None, {
'fields': ('homepage_rename', 'homepage', 'homepage_buttons')
}),
)
tab_schedule_and_results = (
(None, {
'fields': ('schedule_and_results_rename', 'schedule_and_results', 'schedule_and_results_enabled', 'schedule_and_results_buttons')
}),
)
tab_registration = (
(None, {
'fields': ('registration_rename', 'registration', 'registration_enabled', 'registration_buttons')
}),
)
tab_rules = (
(None, {
'fields': ('rules_rename', 'rules', 'rules_enabled', 'rules_buttons')
}),
)
tab_fee_and_prizes = (
(None, {
'fields': ('fee_and_prizes_rename', 'fee_and_prizes', 'fee_and_prizes_enabled', 'fee_and_prizes_buttons')
}),
)
tab_accomodation = (
(None, {
'fields': ('accomodation_rename', 'accomodation', 'accomodation_enabled', 'accomodation_buttons')
}),
)
tab_contact = (
(None, {
'fields': ('contact_rename', 'contact', 'contact_enabled', 'contact_buttons')
}),
)
tabs = [
('Ogólne ustawienia', tab_general),
('Strona główna', tab_homepage),
('Harmonogram i wyniki', tab_schedule_and_results),
('Rejestracja', tab_registration),
('Regulamin', tab_rules),
('Wpisowe i nagrody', tab_fee_and_prizes),
('Noclegi', tab_accomodation),
('Kontakt', tab_contact),
]
def get_tabs(self, request, obj=None):
tabs = self.tabs
if obj is not None:
tabs = [
('Ogólne ustawienia', self.tab_general),
(obj.homepage_rename, self.tab_homepage),
(obj.schedule_and_results_rename, self.tab_schedule_and_results),
(obj.registration_rename, self.tab_registration),
(obj.rules_rename, self.tab_rules),
(obj.fee_and_prizes_rename, self.tab_fee_and_prizes),
(obj.accomodation_rename, self.tab_accomodation),
(obj.contact_rename, self.tab_contact),
]
self.tabs = tabs
return super(BandAdmin, self).get_tabs(request, obj)