Web M&M
https://mam.matfyz.cz
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.9 KiB
54 lines
1.9 KiB
"""
|
|
Soubor sloužící k úpravě základních vlastností adminu. Zde se do adminu přidává
|
|
CKEditor, nastavuje české řazení v adminu a preference (zobrazuje se v seznamu
|
|
jako první) adminu k Semináři.
|
|
"""
|
|
import locale
|
|
from django.contrib import admin
|
|
from django.contrib.admin import AdminSite
|
|
from django.contrib.flatpages.models import FlatPage
|
|
|
|
# Note: we are renaming the original Admin and Form as we import them!
|
|
from django.contrib.flatpages.admin import FlatPageAdmin as FlatPageAdminOld
|
|
from django.contrib.flatpages.admin import FlatpageForm as FlatpageFormOld
|
|
|
|
from django import forms
|
|
from ckeditor_uploader.widgets import CKEditorUploadingWidget
|
|
|
|
|
|
class FlatpageForm(FlatpageFormOld):
|
|
content = forms.CharField(widget=CKEditorUploadingWidget())
|
|
class Meta:
|
|
model = FlatPage # this is not automatically inherited from FlatpageFormOld
|
|
exclude = []
|
|
|
|
|
|
class FlatPageAdmin(FlatPageAdminOld):
|
|
form = FlatpageForm
|
|
|
|
|
|
# We have to unregister the normal admin, and then reregister ours
|
|
admin.site.unregister(FlatPage)
|
|
admin.site.register(FlatPage, FlatPageAdmin)
|
|
|
|
locale.setlocale(locale.LC_COLLATE, 'cs_CZ.UTF-8')
|
|
|
|
# https://books.agiliq.com/projects/django-admin-cookbook/en/latest/set_ordering.html
|
|
# FIXME zpraseno pomocí toho, že Python umí bez problému přepisovat funkce
|
|
def get_app_list(self, request):
|
|
"""
|
|
Return a sorted list of all the installed apps that have been
|
|
registered in this site.
|
|
"""
|
|
|
|
app_dict = self._build_app_dict(request)
|
|
# Sort the apps alphabetically.
|
|
app_list = sorted(app_dict.values(), key=lambda x: locale.strxfrm('!') if (x['name'] == "Seminar") else locale.strxfrm(x['name'].lower()))
|
|
|
|
# Sort the models alphabetically within each app.
|
|
for app in app_list:
|
|
app['models'].sort(key=lambda x: locale.strxfrm('žž' + x['name'].lower()) if (x['name'].endswith("(Node)")) else locale.strxfrm(x['name'].lower()))
|
|
|
|
return app_list
|
|
|
|
AdminSite.get_app_list = get_app_list
|
|
|