Aggiornato con i contenuti del remoto al 07/03/2024

This commit is contained in:
Davide Borgonovo
2024-03-07 16:33:26 +01:00
parent 0eed8c8679
commit b8252030a4
156 changed files with 6303 additions and 2655 deletions
+16 -3
View File
@@ -1,4 +1,17 @@
import django
from admin_interface.metadata import (
__author__,
__copyright__,
__description__,
__license__,
__title__,
__version__,
)
if django.VERSION < (3, 2):
default_app_config = "admin_interface.apps.AdminInterfaceConfig"
__all__ = [
"__author__",
"__copyright__",
"__description__",
"__license__",
"__title__",
"__version__",
]
+39 -10
View File
@@ -1,9 +1,6 @@
# -*- coding: utf-8 -*-
from django.contrib import admin
from django.contrib.auth import models as auth_models
from django.utils.translation import gettext_lazy as _
from admin_interface.compat import gettext_lazy as _
from admin_interface.models import Theme, UserTheme
from .import_tema.admin import ImportMixin
@@ -15,6 +12,7 @@ class UserInline(admin.TabularInline):
autocomplete_fields = ('user', )
@admin.register(Theme)
class ThemeAdmin(ImportMixin, admin.ModelAdmin):
inlines = [UserInline, ]
@@ -59,6 +57,7 @@ class ThemeAdmin(ImportMixin, admin.ModelAdmin):
"classes": ("wide",),
"fields": (
"language_chooser_active",
"language_chooser_control",
"language_chooser_display",
),
},
@@ -122,6 +121,7 @@ class ThemeAdmin(ImportMixin, admin.ModelAdmin):
"fields": (
"css_generic_link_color",
"css_generic_link_hover_color",
"css_generic_link_active_color",
),
},
),
@@ -147,8 +147,13 @@ class ThemeAdmin(ImportMixin, admin.ModelAdmin):
),
},
),
(_("Navigation Bar"), {"classes": (
"wide",), "fields": ("foldable_apps",)}),
(
_("Navigation Bar"),
{
"classes": ("wide",),
"fields": ("foldable_apps",),
},
),
(
_("Related Modal"),
{
@@ -177,18 +182,42 @@ class ThemeAdmin(ImportMixin, admin.ModelAdmin):
{
"classes": ("wide",),
"fields": (
"list_filter_highlight",
"list_filter_dropdown",
"list_filter_sticky",
"list_filter_removal_links",
),
},
),
(
_("Change Form"),
{
"classes": ("wide",),
"fields": (
"show_fieldsets_as_tabs",
"show_inlines_as_tabs",
),
},
),
(
_("Inlines"),
{
"classes": ("wide",),
"fields": (
"collapsible_stacked_inlines",
"collapsible_stacked_inlines_collapsed",
"collapsible_tabular_inlines",
"collapsible_tabular_inlines_collapsed",
),
},
),
(
_("Recent Actions"),
{"classes": ("wide",), "fields": ("recent_actions_visible",)},
{
"classes": ("wide",),
"fields": ("recent_actions_visible",),
},
),
)
save_on_top = True
admin.site.register(Theme, ThemeAdmin)
+1 -9
View File
@@ -1,21 +1,13 @@
# -*- coding: utf-8 -*-
from admin_interface.compat import gettext_lazy as _
from django.apps import AppConfig
from django.db.models.signals import post_migrate
from django.utils.translation import gettext_lazy as _
class AdminInterfaceConfig(AppConfig):
name = "admin_interface"
verbose_name = _("Admin Interface")
default_auto_field = "django.db.models.AutoField"
def ready(self):
from admin_interface import settings
from admin_interface.models import Theme
settings.check_installed_apps()
post_migrate.connect(Theme.post_migrate_handler, sender=self)
-2
View File
@@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from django.conf import settings
from django.core.cache import cache, caches
-26
View File
@@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
import django
if django.VERSION >= (1, 11):
from django.core.validators import FileExtensionValidator
else:
def FileExtensionValidator(*args, **kwargs):
def noop(*args, **kwargs):
pass
return noop
if django.VERSION < (1, 10):
from django.core.urlresolvers import NoReverseMatch, reverse
else:
from django.urls import NoReverseMatch, reverse
if django.VERSION < (2, 0):
from django.utils.encoding import force_text as force_str
from django.utils.translation import ugettext_lazy as gettext_lazy
else:
from django.utils.encoding import force_str
from django.utils.translation import gettext_lazy
-8
View File
@@ -18,14 +18,6 @@ def get_active_theme(request):
obj = objs_active_ls[0]
elif objs_active_count > 1:
# for frame_record in inspect.stack():
# if frame_record[3]=='get_response':
# request = frame_record[0].f_locals['request']
# user = request.user
# break
# else:
# request = None
user = request.user
try:
obj = user_theme_manager.filter(user=user, theme__active=True).first().theme
Binary file not shown.
@@ -0,0 +1,316 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin_interface/admin.py
msgid "Environment"
msgstr "Umgebung"
#: admin_interface/admin.py
msgid "Language chooser"
msgstr "Sprachauswahl"
#: admin_interface/admin.py
msgid "Logo"
msgstr "Logo"
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Favicon"
#: admin_interface/admin.py
msgid "Title"
msgstr "Titel"
#: admin_interface/admin.py
msgid "Header"
msgstr "Header"
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Breadcrumbs / Modul-Header"
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Generische Links"
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Speichern-Buttons"
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Löschen-Buttons"
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr "Navigationsleiste"
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "Modal für verwandte Objekte"
#: admin_interface/admin.py
msgid "Form Controls"
msgstr "Formularsteuerung"
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Filteranzeige"
#: admin_interface/admin.py
msgid "Change Form"
msgstr "Änderungsformular"
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Neueste Aktionen"
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Admin-Oberfläche"
#: admin_interface/models.py
msgid "name"
msgstr "Name"
#: admin_interface/models.py
msgid "active"
msgstr "aktiv"
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Django-Administration"
#: admin_interface/models.py
msgid "title"
msgstr "Titel"
#: admin_interface/models.py
msgid "color"
msgstr "Farbe"
#: admin_interface/models.py
msgid "visible"
msgstr "sichtbar"
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Dieses Feld leer lassen um das Django Standard Logo zu benutzen"
#: admin_interface/models.py
msgid "logo"
msgstr "Logo"
#: admin_interface/models.py
msgid "max width"
msgstr "maximale Breite"
#: admin_interface/models.py
msgid "max height"
msgstr "maximale Höhe"
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr "(.ico|.png|.gif - 16x16|32x32 px)"
#: admin_interface/models.py
msgid "favicon"
msgstr "Favicon"
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
msgstr ""
"(rot: #E74C3C, orange: #E67E22, gelb: #F1C40F, grün: #2ECC71, blau: #3498DB)"
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "sichtbar im Header (Marker und Name)"
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "sichtbar im Favicon (Marker)"
#: admin_interface/models.py
msgid "Default Select"
msgstr "normale Auswahl"
#: admin_interface/models.py
msgid "Minimal Select"
msgstr "minimale Auswahl"
#: admin_interface/models.py
msgid "control"
msgstr "Regler"
#: admin_interface/models.py
msgid "code"
msgstr "Code"
#: admin_interface/models.py
msgid "display"
msgstr "Anzeige"
#: admin_interface/models.py
msgid "background color"
msgstr "Hintergrundfarbe"
#: admin_interface/models.py
msgid "text color"
msgstr "Textfarbe"
#: admin_interface/models.py
msgid "link color"
msgstr "Linkfarbe"
#: admin_interface/models.py
msgid "link hover color"
msgstr "Linkfarbe beim Überfahren"
#: admin_interface/models.py
msgid "background selected color"
msgstr "Hintergrundfarbe bei Auswahl"
#: admin_interface/models.py
msgid "link selected color"
msgstr "Linkfarbe bei Auswahl"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "abgerundete Ecken"
#: admin_interface/models.py
msgid "link active color"
msgstr "Linkfarbe beim aktiv"
#: admin_interface/models.py
msgid "background hover color"
msgstr "Hintergrundfarbe beim Überfahren"
#: admin_interface/models.py
msgid "background opacity"
msgstr "Deckkraft des Hintergrunds"
#: admin_interface/models.py
msgid "close button visible"
msgstr "Schließen-Schalter sichtbar"
#: admin_interface/models.py
msgid "highlight active"
msgstr "Aktiv hervorheben"
#: admin_interface/models.py
msgid "use dropdown"
msgstr "Dropdown-Liste nutzen"
#: admin_interface/models.py
msgid "sticky position"
msgstr "angeheftete Position"
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr "Schnellentfernung für aktive Filter oben in der Seitenleiste"
#: admin_interface/models.py
msgid "foldable apps"
msgstr "einklappbare Apps"
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr "Fieldsets als Tabs"
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr "Inlines als Tabs"
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "sticky submit"
msgstr "angeheftete Schaltfläche"
#: admin_interface/models.py
msgid "sticky pagination"
msgstr "angeheftete Seitennummerierung"
#: admin_interface/models.py
msgid "Theme"
msgstr "Thema"
#: admin_interface/models.py
msgid "Themes"
msgstr "Themen"
#: admin_interface/templates/admin/change_list.html
msgid "Filter"
msgstr ""
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr ""
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr ""
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Popup schließen..."
Binary file not shown.
+188 -71
View File
@@ -3,15 +3,16 @@
#
# Translators:
# Martin Vuelta <martin.vuelta@softbutterfly.io>, 2018
# Santiago Muñoz <smunoz@mythologylabs.com.uy>, 2023
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: django-admin-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-04 09:18+0000\n"
"PO-Revision-Date: 2018-12-30 19:13-0500\n"
"Last-Translator: Martin Vuelta <martin.vuelta@softbutterfly.io>\n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: 2023-08-04 11:52-0300\n"
"Last-Translator: Santiago Muñoz <smunoz@mythologylabs.com.uy>\n"
"Language-Team: Spanish <dev@softbutterfly.io>\n"
"Language: Spanish \n"
"MIME-Version: 1.0\n"
@@ -19,188 +20,304 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin_interface/admin.py:21
#: admin_interface/admin.py
msgid "Environment"
msgstr "Ambiente"
#: admin_interface/admin.py:30
#: admin_interface/admin.py
msgid "Language chooser"
msgstr ""
msgstr "Selección de idioma"
#: admin_interface/admin.py:37
#: admin_interface/admin.py
msgid "Logo"
msgstr "Logo"
#: admin_interface/admin.py:45
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Favicon"
#: admin_interface/admin.py:49
#: admin_interface/admin.py
msgid "Title"
msgstr "Título"
#: admin_interface/admin.py:57
#: admin_interface/admin.py
msgid "Header"
msgstr "Encabezado"
#: admin_interface/admin.py:66
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Breadcrumbs / Encabezados de módulos"
#: admin_interface/admin.py:76
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Enlaces genéricos"
#: admin_interface/admin.py:83
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Botones de guardar"
#: admin_interface/admin.py:91
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Botones de borrar"
#: admin_interface/admin.py:99
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr "Barra de navegación"
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "Modal para objetos relacionados"
#: admin_interface/admin.py:109
#: admin_interface/admin.py
msgid "Form Controls"
msgstr "Controles del formulario"
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Lista de filtros"
#: admin_interface/admin.py:113
#: admin_interface/admin.py
msgid "Change Form"
msgstr "Cambiar Formulario"
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Acciones recientes"
#: admin_interface/apps.py:11
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Interfaz de administración"
#: admin_interface/models.py:72 admin_interface/models.py:116
#: admin_interface/models.py:135
#: admin_interface/models.py
msgid "name"
msgstr "Nombre"
msgstr "nombre"
#: admin_interface/models.py:75 admin_interface/models.py:132
#: admin_interface/models.py:253
#: admin_interface/models.py
msgid "active"
msgstr "Activo"
msgstr "activo"
#: admin_interface/models.py:79
#: admin_interface/templates/admin/base_site.html:6
#: admin_interface/templates/admin/base_site.html:60
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Administración de Django"
#: admin_interface/models.py:81
#: admin_interface/models.py
msgid "title"
msgstr "Título"
#: admin_interface/models.py:87 admin_interface/models.py:102
#: admin_interface/models.py:122
#, fuzzy
#| msgid "logo color"
#: admin_interface/models.py
msgid "color"
msgstr "color de logo"
msgstr "color"
#: admin_interface/models.py:90 admin_interface/models.py:105
#: admin_interface/models.py:289
#: admin_interface/models.py
msgid "visible"
msgstr "Visible"
msgstr "visible"
#: admin_interface/models.py:95
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Dejar en blanco para usaer el logo por defecto de Django"
msgstr "Dejar en blanco para usar el logo por defecto de Django"
#: admin_interface/models.py:96
#: admin_interface/models.py
msgid "logo"
msgstr "logo"
#: admin_interface/models.py:110
#: admin_interface/models.py
msgid "max width"
msgstr "ancho máximo"
#: admin_interface/models.py
msgid "max height"
msgstr "altura máxima"
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr "Formatos ico, png o gif. Tamaños de 16x16 o 32x32 pixeles"
#: admin_interface/models.py:111
#: admin_interface/models.py
msgid "favicon"
msgstr "favicon"
#: admin_interface/models.py:120
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
msgstr ""
#: admin_interface/models.py:125
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr ""
msgstr "visible en el encabezado (marcador y nombre)"
#: admin_interface/models.py:128
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr ""
msgstr "visible en el favicon (marcador)"
#: admin_interface/models.py:134
#: admin_interface/models.py
msgid "Default Select"
msgstr "Selección por defecto"
#: admin_interface/models.py
msgid "Minimal Select"
msgstr "Selección mínima"
#: admin_interface/models.py
msgid "control"
msgstr "control"
#: admin_interface/models.py
msgid "code"
msgstr ""
msgstr "código"
#: admin_interface/models.py:141
#: admin_interface/models.py
msgid "display"
msgstr ""
msgstr "mostrar"
#: admin_interface/models.py:148 admin_interface/models.py:173
#: admin_interface/models.py:214 admin_interface/models.py:233
#: admin_interface/models.py:259
#: admin_interface/models.py
msgid "background color"
msgstr "color de fondo"
#: admin_interface/models.py:154 admin_interface/models.py:179
#: admin_interface/models.py:226 admin_interface/models.py:245
#: admin_interface/models.py:249
#: admin_interface/models.py
msgid "text color"
msgstr "color de texto"
#: admin_interface/models.py:160 admin_interface/models.py:185
#: admin_interface/models.py:201
#: admin_interface/models.py
msgid "link color"
msgstr "color de enlace"
#: admin_interface/models.py:166 admin_interface/models.py:191
#: admin_interface/models.py:207
#: admin_interface/models.py
msgid "link hover color"
msgstr "color de enlace (hover)"
#: admin_interface/models.py:194 admin_interface/models.py:279
#: admin_interface/models.py
#, fuzzy
#| msgid "background color"
msgid "background selected color"
msgstr "color de fondo"
#: admin_interface/models.py
#, fuzzy
#| msgid "link color"
msgid "link selected color"
msgstr "color de enlace"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "esquinas redondas"
#: admin_interface/models.py:220 admin_interface/models.py:239
#: admin_interface/models.py
msgid "link active color"
msgstr "color de enlace (active)"
#: admin_interface/models.py
msgid "background hover color"
msgstr "color de fondo (hover)"
#: admin_interface/models.py:276
#: admin_interface/models.py
msgid "background opacity"
msgstr "opacidad de fondo"
#: admin_interface/models.py:282
#: admin_interface/models.py
msgid "close button visible"
msgstr ""
msgstr "mostrar botón de cerrar"
#: admin_interface/models.py:286
#: admin_interface/models.py
msgid "highlight active"
msgstr "destacar activo"
#: admin_interface/models.py
msgid "use dropdown"
msgstr "Usar lista desplegable"
#: admin_interface/models.py:298
#: admin_interface/models.py
msgid "sticky position"
msgstr "anclar posición"
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr "remover enlaces para filtros activos en la parte superior de la barra lateral"
#: admin_interface/models.py
msgid "foldable apps"
msgstr "aplicaciones plegables"
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr "campos como pestañas"
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr "inlines como pestañas"
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr "inlines apilados plegables"
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr "inlines apilados plegables colapsados"
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr "inlines tabulares plegables"
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr "inlines tabulares plegables colapsados"
#: admin_interface/models.py
msgid "sticky submit"
msgstr "anclar botón de guardar"
#: admin_interface/models.py
msgid "sticky pagination"
msgstr "anclar paginación"
#: admin_interface/models.py
msgid "Theme"
msgstr "Tema"
#: admin_interface/models.py:299
#: admin_interface/models.py
msgid "Themes"
msgstr "Temas"
#: admin_interface/templates/admin/filter.html:13
#: admin_interface/templates/admin_interface/dropdown_filter.html:4
#: admin_interface/templates/admin/change_list.html
#, fuzzy
#| msgid "List Filter"
msgid "Filter"
msgstr "Lista de filtros"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr ""
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr " Por %(filter_title)s "
#: admin_interface/templates/admin/popup_response.html:3
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Cerando popup..."
Binary file not shown.
+186 -70
View File
@@ -8,198 +8,314 @@ msgid ""
msgstr ""
"Project-Id-Version: django-admin-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-12 19:23+0330\n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Amir Ajorloo <amirajorloo@gmail.com>\n"
"Language-Team: Farsi <LL@li.org>\n"
"Language: Farsi"
"MIME-Version: 1.0\n"
"Language: FarsiMIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: admin_interface/admin.py:21
#: admin_interface/admin.py
msgid "Environment"
msgstr "محیط"
#: admin_interface/admin.py:30
#: admin_interface/admin.py
msgid "Language chooser"
msgstr "انتخاب زبان"
#: admin_interface/admin.py:37
#: admin_interface/admin.py
msgid "Logo"
msgstr "لوگو"
#: admin_interface/admin.py:45
#: admin_interface/admin.py
msgid "Favicon"
msgstr "آیکون تب"
#: admin_interface/admin.py:49
#: admin_interface/admin.py
msgid "Title"
msgstr "عنوان"
#: admin_interface/admin.py:57
#: admin_interface/admin.py
msgid "Header"
msgstr "هدر"
#: admin_interface/admin.py:66
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "مسیر صفحه"
#: admin_interface/admin.py:76
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "لینکهای عمومی"
msgstr "لینکهای عمومی"
#: admin_interface/admin.py:83
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "دکمههای ذخیره"
msgstr "دکمههای ذخیره"
#: admin_interface/admin.py:91
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "دکمههای حذف"
msgstr "دکمههای حذف"
#: admin_interface/admin.py:99
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr ""
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "مدلهای مرتبط"
msgstr "مدلهای مرتبط"
#: admin_interface/admin.py:109
#: admin_interface/admin.py
msgid "Form Controls"
msgstr ""
#: admin_interface/admin.py
msgid "List Filter"
msgstr "فیلترهای لیست"
msgstr "فیلترهای لیست"
#: admin_interface/admin.py:113
#: admin_interface/admin.py
msgid "Change Form"
msgstr ""
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "فعالیتهای اخیر"
msgstr "فعالیتهای اخیر"
#: admin_interface/apps.py:11
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "ظاهر ادمین"
#: admin_interface/models.py:72 admin_interface/models.py:116
#: admin_interface/models.py:135
#: admin_interface/models.py
msgid "name"
msgstr "نام"
#: admin_interface/models.py:75 admin_interface/models.py:132
#: admin_interface/models.py:253
#: admin_interface/models.py
msgid "active"
msgstr "فعال"
#: admin_interface/models.py:79
#: admin_interface/templates/admin/base_site.html:6
#: admin_interface/templates/admin/base_site.html:60
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "مدیریت جنگو"
#: admin_interface/models.py:81
#: admin_interface/models.py
msgid "title"
msgstr "عنوان"
#: admin_interface/models.py:87 admin_interface/models.py:102
#: admin_interface/models.py:122
#: admin_interface/models.py
msgid "color"
msgstr "رنگ"
#: admin_interface/models.py:90 admin_interface/models.py:105
#: admin_interface/models.py:289
#: admin_interface/models.py
msgid "visible"
msgstr "نمایان"
#: admin_interface/models.py:95
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "برای نمایش لوگوی پیش فرض، خالی بگذارید."
#: admin_interface/models.py:96
#: admin_interface/models.py
msgid "logo"
msgstr "لوگو"
#: admin_interface/models.py:110
#: admin_interface/models.py
msgid "max width"
msgstr ""
#: admin_interface/models.py
msgid "max height"
msgstr ""
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr "(.ico|.png|.gif - 16x16|32x32 px)"
#: admin_interface/models.py:111
#: admin_interface/models.py
msgid "favicon"
msgstr "آیکون تب"
#: admin_interface/models.py:120
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
msgstr ""
"(قرمز: #E74C3C, نارنجی: #E67E22, زرد: #F1C40F, سبز: #2ECC71, آبی: "
"#3498DB)"
"(قرمز: #E74C3C, نارنجی: #E67E22, زرد: #F1C40F, سبز: #2ECC71, آبی: #3498DB)"
#: admin_interface/models.py:125
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "نمایان در هدر"
#: admin_interface/models.py:128
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "نمایان در آیکون تب"
#: admin_interface/models.py:134
#: admin_interface/models.py
msgid "Default Select"
msgstr ""
#: admin_interface/models.py
msgid "Minimal Select"
msgstr ""
#: admin_interface/models.py
msgid "control"
msgstr ""
#: admin_interface/models.py
msgid "code"
msgstr "کد"
#: admin_interface/models.py:141
#: admin_interface/models.py
msgid "display"
msgstr "نمایش"
#: admin_interface/models.py:148 admin_interface/models.py:173
#: admin_interface/models.py:214 admin_interface/models.py:233
#: admin_interface/models.py:259
#: admin_interface/models.py
msgid "background color"
msgstr "رنگ پسزمینه"
msgstr "رنگ پسزمینه"
#: admin_interface/models.py:154 admin_interface/models.py:179
#: admin_interface/models.py:226 admin_interface/models.py:245
#: admin_interface/models.py:249
#: admin_interface/models.py
msgid "text color"
msgstr "رنگ متن"
#: admin_interface/models.py:160 admin_interface/models.py:185
#: admin_interface/models.py:201
#: admin_interface/models.py
msgid "link color"
msgstr "رنگ لینک"
#: admin_interface/models.py:166 admin_interface/models.py:191
#: admin_interface/models.py:207
#: admin_interface/models.py
msgid "link hover color"
msgstr "رنگ لینک در حالت هاور"
#: admin_interface/models.py:194 admin_interface/models.py:279
#: admin_interface/models.py
#, fuzzy
#| msgid "background color"
msgid "background selected color"
msgstr "رنگ پسزمینه"
#: admin_interface/models.py
#, fuzzy
#| msgid "link color"
msgid "link selected color"
msgstr "رنگ لینک"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "گوشههای خمیده"
msgstr "گوشههای خمیده"
#: admin_interface/models.py:220 admin_interface/models.py:239
#: admin_interface/models.py
msgid "link active color"
msgstr "رنگ فعال پیوند"
#: admin_interface/models.py
msgid "background hover color"
msgstr "رنگ پسزمینه در حالت هاور"
msgstr "رنگ پسزمینه در حالت هاور"
#: admin_interface/models.py:276
#: admin_interface/models.py
msgid "background opacity"
msgstr "شفافیت بکگراند"
#: admin_interface/models.py:282
#: admin_interface/models.py
msgid "close button visible"
msgstr "دکمه بستن نمایان باشد"
#: admin_interface/models.py:286
#: admin_interface/models.py
msgid "highlight active"
msgstr ""
#: admin_interface/models.py
msgid "use dropdown"
msgstr "استفاده از دراپ داون"
#: admin_interface/models.py:298
#: admin_interface/models.py
msgid "sticky position"
msgstr ""
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr ""
#: admin_interface/models.py
msgid "foldable apps"
msgstr ""
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr ""
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "sticky submit"
msgstr ""
#: admin_interface/models.py
msgid "sticky pagination"
msgstr ""
#: admin_interface/models.py
msgid "Theme"
msgstr "تم"
#: admin_interface/models.py:299
#: admin_interface/models.py
msgid "Themes"
msgstr "تمها"
msgstr "تمها"
#: admin_interface/templates/admin/filter.html:13
#: admin_interface/templates/admin_interface/dropdown_filter.html:4
#: admin_interface/templates/admin/change_list.html
#, fuzzy
#| msgid "List Filter"
msgid "Filter"
msgstr "فیلترهای لیست"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr ""
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr " توسط %(filter_title)s "
#: admin_interface/templates/admin/popup_response.html:3
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "پاپ آپ در حال بسته شدن..."
Binary file not shown.
+173 -60
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-04 09:18+0000\n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,109 +18,127 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: admin_interface/admin.py:21
#: admin_interface/admin.py
msgid "Environment"
msgstr "Environnment"
msgstr "Environnement"
#: admin_interface/admin.py:30
#: admin_interface/admin.py
msgid "Language chooser"
msgstr ""
msgstr "Sélecteur de langue"
#: admin_interface/admin.py:37
#: admin_interface/admin.py
msgid "Logo"
msgstr "Logo"
#: admin_interface/admin.py:45
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Favicon"
#: admin_interface/admin.py:49
#: admin_interface/admin.py
msgid "Title"
msgstr "Titre"
#: admin_interface/admin.py:57
#: admin_interface/admin.py
msgid "Header"
msgstr "Bannière"
#: admin_interface/admin.py:66
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Fil d'ariane / en-têtes de module"
#: admin_interface/admin.py:76
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Liens génériques"
#: admin_interface/admin.py:83
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Boutons sauvegarder"
#: admin_interface/admin.py:91
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Boutons supprimer"
#: admin_interface/admin.py:99
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr "Barre de navigation"
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "Modale pour objet reliés"
#: admin_interface/admin.py:109
#: admin_interface/admin.py
msgid "Form Controls"
msgstr "Contrôles de formulaires"
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Filtre de liste"
#: admin_interface/admin.py:113
#: admin_interface/admin.py
msgid "Change Form"
msgstr ""
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Actions récentes"
#: admin_interface/apps.py:11
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Interface Admin"
#: admin_interface/models.py:72 admin_interface/models.py:116
#: admin_interface/models.py:135
#: admin_interface/models.py
msgid "name"
msgstr "nom"
#: admin_interface/models.py:75 admin_interface/models.py:132
#: admin_interface/models.py:253
#: admin_interface/models.py
msgid "active"
msgstr "actif"
#: admin_interface/models.py:79
#: admin_interface/templates/admin/base_site.html:6
#: admin_interface/templates/admin/base_site.html:60
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Administration Django"
#: admin_interface/models.py:81
#: admin_interface/models.py
msgid "title"
msgstr "titre"
#: admin_interface/models.py:87 admin_interface/models.py:102
#: admin_interface/models.py:122
#: admin_interface/models.py
msgid "color"
msgstr "couleur"
#: admin_interface/models.py:90 admin_interface/models.py:105
#: admin_interface/models.py:289
#: admin_interface/models.py
msgid "visible"
msgstr "visible"
#: admin_interface/models.py:95
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Laisser vide pour utiliser le logo Django par défaut"
#: admin_interface/models.py:96
#: admin_interface/models.py
msgid "logo"
msgstr "logo"
#: admin_interface/models.py:110
#: admin_interface/models.py
msgid "max width"
msgstr "largeur max"
#: admin_interface/models.py
msgid "max height"
msgstr "hauteur max"
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr "(.ico|.png|.gif - 16x16|32x32 px)"
#: admin_interface/models.py:111
#: admin_interface/models.py
msgid "favicon"
msgstr "favicon"
#: admin_interface/models.py:120
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
@@ -128,78 +146,173 @@ msgstr ""
"(rouge: #E74C3C, orange: #E67E22, jaune: #F1C40F, vert: #2ECC71, bleu: "
"#3498DB)"
#: admin_interface/models.py:125
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "visible dans len-tête (marqueur et nom)"
#: admin_interface/models.py:128
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "visible dans la favicon (marqueur)"
#: admin_interface/models.py:134
#: admin_interface/models.py
msgid "Default Select"
msgstr ""
#: admin_interface/models.py
msgid "Minimal Select"
msgstr ""
#: admin_interface/models.py
msgid "control"
msgstr "contrôle"
#: admin_interface/models.py
msgid "code"
msgstr ""
msgstr "code"
#: admin_interface/models.py:141
#: admin_interface/models.py
msgid "display"
msgstr ""
msgstr "affichage"
#: admin_interface/models.py:148 admin_interface/models.py:173
#: admin_interface/models.py:214 admin_interface/models.py:233
#: admin_interface/models.py:259
#: admin_interface/models.py
msgid "background color"
msgstr "couleur d'arrière-plan"
#: admin_interface/models.py:154 admin_interface/models.py:179
#: admin_interface/models.py:226 admin_interface/models.py:245
#: admin_interface/models.py:249
#: admin_interface/models.py
msgid "text color"
msgstr "couleur du texte"
#: admin_interface/models.py:160 admin_interface/models.py:185
#: admin_interface/models.py:201
#: admin_interface/models.py
msgid "link color"
msgstr "couleur de lien"
#: admin_interface/models.py:166 admin_interface/models.py:191
#: admin_interface/models.py:207
#: admin_interface/models.py
msgid "link hover color"
msgstr "couleur de lien au survol"
#: admin_interface/models.py:194 admin_interface/models.py:279
#: admin_interface/models.py
msgid "background selected color"
msgstr "couleur d'arrière-plan choisi"
#: admin_interface/models.py
msgid "link selected color"
msgstr "couleur de lien choisi"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "coins arrondis"
#: admin_interface/models.py:220 admin_interface/models.py:239
#: admin_interface/models.py
msgid "link active color"
msgstr "couleur de lien actif"
#: admin_interface/models.py
msgid "background hover color"
msgstr "couleur de fond au survol"
#: admin_interface/models.py:276
#: admin_interface/models.py
msgid "background opacity"
msgstr "opacité de l'arrière-plan"
#: admin_interface/models.py:282
#: admin_interface/models.py
msgid "close button visible"
msgstr "bouton fermer visible"
#: admin_interface/models.py:286
#: admin_interface/models.py
msgid "highlight active"
msgstr "mise en valeur active"
#: admin_interface/models.py
msgid "use dropdown"
msgstr "utiliser un menu déroulant"
#: admin_interface/models.py:298
#: admin_interface/models.py
msgid "sticky position"
msgstr "position adhérente (sticky)"
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr ""
"liens de suppression pour les filtres actifs en haut de la barre latérale"
#: admin_interface/models.py
msgid "foldable apps"
msgstr "apps repliables"
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr ""
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "sticky submit"
msgstr "envoi adhérent (sticky)"
#: admin_interface/models.py
msgid "sticky pagination"
msgstr "pagination adhérente (sticky)"
#: admin_interface/models.py
msgid "Theme"
msgstr "Thème"
#: admin_interface/models.py:299
#: admin_interface/models.py
msgid "Themes"
msgstr "Thèmes"
#: admin_interface/templates/admin/filter.html:13
#: admin_interface/templates/admin_interface/dropdown_filter.html:4
#: admin_interface/templates/admin/change_list.html
msgid "Filter"
msgstr "Filtre"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr ""
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr " Par %(filter_title)s "
#: admin_interface/templates/admin/popup_response.html:3
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Fermeture de la modale..."
Binary file not shown.
+174 -56
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-admin-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-04 09:19+0000\n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: 2018-12-30 19:13-0500\n"
"Last-Translator: Fabio Caccamo <fabio.caccamo@gmail.com>\n"
"Language-Team: Italian <LL@li.org>\n"
@@ -19,109 +19,127 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin_interface/admin.py:21
#: admin_interface/admin.py
msgid "Environment"
msgstr "Ambiente"
#: admin_interface/admin.py:30
#: admin_interface/admin.py
msgid "Language chooser"
msgstr "Selettore di lingua"
#: admin_interface/admin.py:37
#: admin_interface/admin.py
msgid "Logo"
msgstr "Logo"
#: admin_interface/admin.py:45
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Favicon"
#: admin_interface/admin.py:49
#: admin_interface/admin.py
msgid "Title"
msgstr "Titolo"
#: admin_interface/admin.py:57
#: admin_interface/admin.py
msgid "Header"
msgstr "Header"
#: admin_interface/admin.py:66
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Breadcrumbs / Header dei moduli"
#: admin_interface/admin.py:76
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Link generici"
#: admin_interface/admin.py:83
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Pulsanti per salvare"
#: admin_interface/admin.py:91
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Pulsanti per eliminare"
#: admin_interface/admin.py:99
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr "Barra di Navigazione"
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "Modale per gli oggetti correlati"
#: admin_interface/admin.py:109
#: admin_interface/admin.py
msgid "Form Controls"
msgstr "Controlli dei form"
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Filtro listato"
#: admin_interface/admin.py:113
#: admin_interface/admin.py
msgid "Change Form"
msgstr "Form di modifica"
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Azioni recenti"
#: admin_interface/apps.py:11
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Interfaccia di amministrazione"
#: admin_interface/models.py:72 admin_interface/models.py:116
#: admin_interface/models.py:135
#: admin_interface/models.py
msgid "name"
msgstr "nome"
#: admin_interface/models.py:75 admin_interface/models.py:132
#: admin_interface/models.py:253
#: admin_interface/models.py
msgid "active"
msgstr "attivo"
#: admin_interface/models.py:79
#: admin_interface/templates/admin/base_site.html:6
#: admin_interface/templates/admin/base_site.html:60
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Amministrazione di Django"
#: admin_interface/models.py:81
#: admin_interface/models.py
msgid "title"
msgstr "titolo"
#: admin_interface/models.py:87 admin_interface/models.py:102
#: admin_interface/models.py:122
#: admin_interface/models.py
msgid "color"
msgstr "colore"
#: admin_interface/models.py:90 admin_interface/models.py:105
#: admin_interface/models.py:289
#: admin_interface/models.py
msgid "visible"
msgstr "visibile"
#: admin_interface/models.py:95
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Lasciare vuoto per usare il logo Django di default"
#: admin_interface/models.py:96
#: admin_interface/models.py
msgid "logo"
msgstr "logo"
#: admin_interface/models.py:110
#: admin_interface/models.py
msgid "max width"
msgstr "larghezza massima"
#: admin_interface/models.py
msgid "max height"
msgstr "altezza massima"
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr "(formato ico, png o gif - dimensioni 16x16 o 32x32 px)"
#: admin_interface/models.py:111
#: admin_interface/models.py
msgid "favicon"
msgstr "favicon"
#: admin_interface/models.py:120
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
@@ -129,78 +147,178 @@ msgstr ""
"(rosso: #E74C3C, arancione: #E67E22, giallo: #F1C40F, verde: #2ECC71, blu: "
"#3498DB)"
#: admin_interface/models.py:125
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "visibile nell'header (marker e nome)"
#: admin_interface/models.py:128
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "visibile nella favicon (marker)"
#: admin_interface/models.py:134
#: admin_interface/models.py
msgid "Default Select"
msgstr ""
#: admin_interface/models.py
msgid "Minimal Select"
msgstr ""
#: admin_interface/models.py
msgid "control"
msgstr ""
#: admin_interface/models.py
msgid "code"
msgstr "codice"
#: admin_interface/models.py:141
#: admin_interface/models.py
msgid "display"
msgstr "visualizzazione"
#: admin_interface/models.py:148 admin_interface/models.py:173
#: admin_interface/models.py:214 admin_interface/models.py:233
#: admin_interface/models.py:259
#: admin_interface/models.py
msgid "background color"
msgstr "colore di sfondo"
#: admin_interface/models.py:154 admin_interface/models.py:179
#: admin_interface/models.py:226 admin_interface/models.py:245
#: admin_interface/models.py:249
#: admin_interface/models.py
msgid "text color"
msgstr "colore del testo"
#: admin_interface/models.py:160 admin_interface/models.py:185
#: admin_interface/models.py:201
#: admin_interface/models.py
msgid "link color"
msgstr "colore dei link"
#: admin_interface/models.py:166 admin_interface/models.py:191
#: admin_interface/models.py:207
#: admin_interface/models.py
msgid "link hover color"
msgstr "colore dei link in hover"
#: admin_interface/models.py:194 admin_interface/models.py:279
#: admin_interface/models.py
#, fuzzy
#| msgid "background color"
msgid "background selected color"
msgstr "colore di sfondo"
#: admin_interface/models.py
#, fuzzy
#| msgid "link color"
msgid "link selected color"
msgstr "colore dei link"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "bordi arrotondati"
#: admin_interface/models.py:220 admin_interface/models.py:239
#: admin_interface/models.py
msgid "link active color"
msgstr "colore dei link attivi"
#: admin_interface/models.py
msgid "background hover color"
msgstr "colore di sfondo in hover"
#: admin_interface/models.py:276
#: admin_interface/models.py
msgid "background opacity"
msgstr "opacità dello sfondo"
#: admin_interface/models.py:282
#: admin_interface/models.py
msgid "close button visible"
msgstr "pulsante chiudi visibile"
#: admin_interface/models.py:286
#: admin_interface/models.py
msgid "highlight active"
msgstr ""
#: admin_interface/models.py
msgid "use dropdown"
msgstr "usa dropdown"
#: admin_interface/models.py:298
#: admin_interface/models.py
msgid "sticky position"
msgstr ""
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr "links di rimozione rapida dei filtri attivi in alto nella sidebar"
#: admin_interface/models.py
msgid "foldable apps"
msgstr ""
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr ""
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "sticky submit"
msgstr ""
#: admin_interface/models.py
msgid "sticky pagination"
msgstr ""
#: admin_interface/models.py
msgid "Theme"
msgstr "Tema"
#: admin_interface/models.py:299
#: admin_interface/models.py
msgid "Themes"
msgstr "Temi"
#: admin_interface/templates/admin/filter.html:13
#: admin_interface/templates/admin_interface/dropdown_filter.html:4
#: admin_interface/templates/admin/change_list.html
#, fuzzy
#| msgid "List Filter"
msgid "Filter"
msgstr "Filtro listato"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr "Cancella tutti i filtri"
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr "Modifica"
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr "Visualizza"
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr "Visualizza sul sito"
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr "Eliminare?"
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr " Per %(filter_title)s "
#: admin_interface/templates/admin/popup_response.html:3
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Chiusura popup..."
Binary file not shown.
+176 -58
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-admin-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-04 09:19+0000\n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: 2022-02-04 19:13-0500\n"
"Last-Translator: Kamil Paduszyński <kpaduszy@gmail.com>\n"
"Language-Team: Polish <LL@li.org>\n"
@@ -19,188 +19,306 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin_interface/admin.py:21
#: admin_interface/admin.py
msgid "Environment"
msgstr "Środowisko"
#: admin_interface/admin.py:30
#: admin_interface/admin.py
msgid "Language chooser"
msgstr "Wybór wersji językowej"
#: admin_interface/admin.py:37
#: admin_interface/admin.py
msgid "Logo"
msgstr "Logo"
#: admin_interface/admin.py:45
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Ikonka"
#: admin_interface/admin.py:49
#: admin_interface/admin.py
msgid "Title"
msgstr "Tytuł"
#: admin_interface/admin.py:57
#: admin_interface/admin.py
msgid "Header"
msgstr "Nagłówek"
#: admin_interface/admin.py:66
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Pasek nawigacyjny / nagłówki modułów"
#: admin_interface/admin.py:76
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Zwykłe linki"
#: admin_interface/admin.py:83
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Przyciski zapisywania"
#: admin_interface/admin.py:91
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Przyciski usuwania"
#: admin_interface/admin.py:99
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr ""
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "Okno dialogowe"
#: admin_interface/admin.py:109
#: admin_interface/admin.py
msgid "Form Controls"
msgstr ""
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Filtry"
#: admin_interface/admin.py:113
#: admin_interface/admin.py
msgid "Change Form"
msgstr ""
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Ostatnie działania"
#: admin_interface/apps.py:11
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Wygląd panelu administracyjnego"
#: admin_interface/models.py:72 admin_interface/models.py:116
#: admin_interface/models.py:135
#: admin_interface/models.py
msgid "name"
msgstr "nazwa"
#: admin_interface/models.py:75 admin_interface/models.py:132
#: admin_interface/models.py:253
#: admin_interface/models.py
msgid "active"
msgstr "aktywny"
#: admin_interface/models.py:79
#: admin_interface/templates/admin/base_site.html:6
#: admin_interface/templates/admin/base_site.html:60
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Administracja Django"
#: admin_interface/models.py:81
#: admin_interface/models.py
msgid "title"
msgstr "tytuł"
#: admin_interface/models.py:87 admin_interface/models.py:102
#: admin_interface/models.py:122
#: admin_interface/models.py
msgid "color"
msgstr "kolor"
#: admin_interface/models.py:90 admin_interface/models.py:105
#: admin_interface/models.py:289
#: admin_interface/models.py
msgid "visible"
msgstr "widoczny"
#: admin_interface/models.py:95
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Puste ustawia domyślne logo Django"
#: admin_interface/models.py:96
#: admin_interface/models.py
msgid "logo"
msgstr "logo"
#: admin_interface/models.py:110
#: admin_interface/models.py
msgid "max width"
msgstr ""
#: admin_interface/models.py
msgid "max height"
msgstr ""
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr "(Format pliku: .ico, .png, .gif; wymiary: 16 x 16 lub 32 x 32 px)."
#: admin_interface/models.py:111
#: admin_interface/models.py
msgid "favicon"
msgstr "ikonka"
#: admin_interface/models.py:120
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
msgstr ""
"(czerwony: #E74C3C, pomarańczowy: #E67E22, żółty: #F1C40F, zielony: #2ECC71, niebieski: "
"#3498DB)"
"(czerwony: #E74C3C, pomarańczowy: #E67E22, żółty: #F1C40F, zielony: #2ECC71, "
"niebieski: #3498DB)"
#: admin_interface/models.py:125
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "widoczne w nagłówku (znacznik i nazwa)"
#: admin_interface/models.py:128
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "widoczne przy ikonce (znacznik)"
#: admin_interface/models.py:134
#: admin_interface/models.py
msgid "Default Select"
msgstr ""
#: admin_interface/models.py
msgid "Minimal Select"
msgstr ""
#: admin_interface/models.py
msgid "control"
msgstr ""
#: admin_interface/models.py
msgid "code"
msgstr "kod"
#: admin_interface/models.py:141
#: admin_interface/models.py
msgid "display"
msgstr "wyświetlaj"
#: admin_interface/models.py:148 admin_interface/models.py:173
#: admin_interface/models.py:214 admin_interface/models.py:233
#: admin_interface/models.py:259
#: admin_interface/models.py
msgid "background color"
msgstr "kolor tła"
#: admin_interface/models.py:154 admin_interface/models.py:179
#: admin_interface/models.py:226 admin_interface/models.py:245
#: admin_interface/models.py:249
#: admin_interface/models.py
msgid "text color"
msgstr "kolor tekstu"
#: admin_interface/models.py:160 admin_interface/models.py:185
#: admin_interface/models.py:201
#: admin_interface/models.py
msgid "link color"
msgstr "kolor linku"
#: admin_interface/models.py:166 admin_interface/models.py:191
#: admin_interface/models.py:207
#: admin_interface/models.py
msgid "link hover color"
msgstr "kolor wskazywanego linku"
#: admin_interface/models.py:194 admin_interface/models.py:279
#: admin_interface/models.py
#, fuzzy
#| msgid "background color"
msgid "background selected color"
msgstr "kolor tła"
#: admin_interface/models.py
#, fuzzy
#| msgid "link color"
msgid "link selected color"
msgstr "kolor linku"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "zaokrąglenie narożników"
#: admin_interface/models.py:220 admin_interface/models.py:239
#: admin_interface/models.py
msgid "link active color"
msgstr "kolor aktywny linku"
#: admin_interface/models.py
msgid "background hover color"
msgstr "kolor tła wskazywanego przycisku"
#: admin_interface/models.py:276
#: admin_interface/models.py
msgid "background opacity"
msgstr "przeźroczystość tła"
#: admin_interface/models.py:282
#: admin_interface/models.py
msgid "close button visible"
msgstr "pokaż przycisk zamykania"
#: admin_interface/models.py:286
#: admin_interface/models.py
msgid "highlight active"
msgstr ""
#: admin_interface/models.py
msgid "use dropdown"
msgstr "zastosuj listy rozwijane"
#: admin_interface/models.py:298
#: admin_interface/models.py
msgid "sticky position"
msgstr ""
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr ""
#: admin_interface/models.py
msgid "foldable apps"
msgstr ""
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr ""
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "sticky submit"
msgstr ""
#: admin_interface/models.py
msgid "sticky pagination"
msgstr ""
#: admin_interface/models.py
msgid "Theme"
msgstr "Schemat"
#: admin_interface/models.py:299
#: admin_interface/models.py
msgid "Themes"
msgstr "Schematy"
#: admin_interface/templates/admin/filter.html:13
#: admin_interface/templates/admin_interface/dropdown_filter.html:4
#: admin_interface/templates/admin/change_list.html
#, fuzzy
#| msgid "List Filter"
msgid "Filter"
msgstr "Filtry"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr ""
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr " po %(filter_title)s "
#: admin_interface/templates/admin/popup_response.html:3
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Zamykanie..."
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-28 10:01-0300\n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,120 +18,127 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: admin.py:21
#: admin_interface/admin.py
msgid "Environment"
msgstr "Ambiente"
#: admin.py:30
#: admin_interface/admin.py
msgid "Language chooser"
msgstr "Seletor de idioma"
#: admin.py:37
#: admin_interface/admin.py
msgid "Logo"
msgstr "Logo"
#: admin.py:47
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Favicon"
#: admin.py:51
#: admin_interface/admin.py
msgid "Title"
msgstr "Título"
#: admin.py:59
#: admin_interface/admin.py
msgid "Header"
msgstr "Cabeçalho"
#: admin.py:68
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Cabeçalhos de módulo"
#: admin.py:80
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Links Genéricos"
#: admin.py:87
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Botões Salvar"
#: admin.py:95
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Botões Deletar"
#: admin.py:103
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr "Barra de Navegação"
#: admin.py:109
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "Modal Relacionado"
#: admin.py:119
#: admin_interface/admin.py
msgid "Form Controls"
msgstr "Controles de Formulário"
#: admin.py:126
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Filtro de lista"
#: admin.py:133
#: admin_interface/admin.py
msgid "Change Form"
msgstr ""
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Ações recentes"
#: apps.py:12
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Interface do administrador"
#: models.py:73 models.py:129 models.py:148
#: admin_interface/models.py
msgid "name"
msgstr "nome"
#: models.py:76 models.py:145 models.py:274
#: admin_interface/models.py
msgid "active"
msgstr "ativo"
#: models.py:80 templates/admin/base_site.html:6
#: templates/admin/base_site.html:78
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Administração do Django"
#: models.py:82
#: admin_interface/models.py
msgid "title"
msgstr "título"
#: models.py:88 models.py:105 models.py:135
#: admin_interface/models.py
msgid "color"
msgstr "cor"
#: models.py:91 models.py:116 models.py:318
#: admin_interface/models.py
msgid "visible"
msgstr "visível"
#: models.py:98
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Deixe em branco para usar o logotipo padrão do Django"
#: models.py:99
#: admin_interface/models.py
msgid "logo"
msgstr "logo"
#: models.py:109
#: admin_interface/models.py
msgid "max width"
msgstr "largura máxima"
#: models.py:113
#: admin_interface/models.py
msgid "max height"
msgstr "altura máxima"
#: models.py:123
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr "(.ico|.png|.gif - 16x16|32x32 px)"
#: models.py:124
#: admin_interface/models.py
msgid "favicon"
msgstr "favicon"
#: models.py:133
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
@@ -139,96 +146,176 @@ msgstr ""
"(vermelho: #E74C3C, laranja: #E67E22, amarelo: #F1C40F, verde: #2ECC71, "
"azul: #3498DB)"
#: models.py:138
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "visível no cabeçalho (marcador e nome)"
#: models.py:141
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "visível no favicon (marcador)"
#: models.py:147
#: admin_interface/models.py
msgid "Default Select"
msgstr ""
#: admin_interface/models.py
msgid "Minimal Select"
msgstr ""
#: admin_interface/models.py
#, fuzzy
#| msgid "Form Controls"
msgid "control"
msgstr "Controles de Formulário"
#: admin_interface/models.py
msgid "code"
msgstr "código"
#: models.py:154
#: admin_interface/models.py
msgid "display"
msgstr "exibição"
#: models.py:161 models.py:186 models.py:239 models.py:258 models.py:280
#: admin_interface/models.py
msgid "background color"
msgstr "cor de fundo"
#: models.py:167 models.py:198 models.py:251 models.py:270
#: admin_interface/models.py
msgid "text color"
msgstr "cor do texto"
#: models.py:173 models.py:204 models.py:226
#: admin_interface/models.py
msgid "link color"
msgstr "cor do link"
#: models.py:179 models.py:216 models.py:232
#: admin_interface/models.py
msgid "link hover color"
msgstr "cor de foco do link"
#: models.py:192
#: admin_interface/models.py
msgid "background selected color"
msgstr "cor de fundo selecionada"
#: models.py:210
#: admin_interface/models.py
msgid "link selected color"
msgstr "link cor selecionada"
#: models.py:219 models.py:300
#: admin_interface/models.py
msgid "rounded corners"
msgstr "cantos arredondados"
#: models.py:245 models.py:264
#: admin_interface/models.py
msgid "link active color"
msgstr "cor de ativação do link"
#: admin_interface/models.py
msgid "background hover color"
msgstr "cor de fundo do foco"
#: models.py:297
#: admin_interface/models.py
msgid "background opacity"
msgstr "opacidade de fundo"
#: models.py:303
#: admin_interface/models.py
msgid "close button visible"
msgstr "botão fechar visível"
#: models.py:307
#: admin_interface/models.py
msgid "highlight active"
msgstr ""
#: admin_interface/models.py
msgid "use dropdown"
msgstr "usar menu suspenso"
#: models.py:310
#: admin_interface/models.py
msgid "sticky position"
msgstr "posição sticky"
#: models.py:314
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr ""
#: admin_interface/models.py
msgid "foldable apps"
msgstr "aplicativos dobráveis"
#: models.py:322
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr ""
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "sticky submit"
msgstr "envio fixo"
#: models.py:325
#: admin_interface/models.py
msgid "sticky pagination"
msgstr "paginação fixa"
#: models.py:334
#: admin_interface/models.py
msgid "Theme"
msgstr "Tema"
#: models.py:335
#: admin_interface/models.py
msgid "Themes"
msgstr "Temas"
#: templates/admin/filter.html:13
#: templates/admin_interface/dropdown_filter.html:4
#: admin_interface/templates/admin/change_list.html
#, fuzzy
#| msgid "List Filter"
msgid "Filter"
msgstr "Filtro de lista"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr ""
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr " por %(filter_title)s "
#: templates/admin/popup_response.html:3
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Pop-up fechando..."
Binary file not shown.
@@ -0,0 +1,320 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-23 16:28-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
"(n%100>=11 && n%100<=14)? 2 : 3);\n"
#: admin_interface/admin.py
msgid "Environment"
msgstr "Окружение"
#: admin_interface/admin.py
msgid "Language chooser"
msgstr "Вид выбора языка"
#: admin_interface/admin.py
msgid "Logo"
msgstr "Логотип"
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Иконка адресной строки"
#: admin_interface/admin.py
msgid "Title"
msgstr "Заголовок"
#: admin_interface/admin.py
msgid "Header"
msgstr "Шапка"
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Шапки модулей"
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Общие ссылки"
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Кнопки сохранения"
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Кнопки удаления"
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr "Строка навигации"
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "Модаль для связанных объектов"
#: admin_interface/admin.py
msgid "Form Controls"
msgstr "Управление формами"
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Вид списка фильтров"
#: admin_interface/admin.py
msgid "Change Form"
msgstr "Вид формы изменения"
#: admin_interface/admin.py
msgid "Inlines"
msgstr "Вид вставок"
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Недавние действия"
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Интерфейс администрирования"
#: admin_interface/models.py
msgid "name"
msgstr "название"
#: admin_interface/models.py
msgid "active"
msgstr "активный"
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Администрирование Django"
#: admin_interface/models.py
msgid "title"
msgstr "заголовок"
#: admin_interface/models.py
msgid "color"
msgstr "цвет"
#: admin_interface/models.py
msgid "visible"
msgstr "видимый"
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Оставьте пустым, чтобы по умолчанию использовать логотип Django"
#: admin_interface/models.py
msgid "logo"
msgstr "логотип"
#: admin_interface/models.py
msgid "max width"
msgstr "максимальная ширина"
#: admin_interface/models.py
msgid "max height"
msgstr "максимальная высота"
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr ""
#: admin_interface/models.py
msgid "favicon"
msgstr "иконка в адресной строке"
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
msgstr ""
"(красный: #E74C3C, оранжевый: #E67E22, желтый: #F1C40F, зеленый: #2ECC71, "
"синий: #3498DB"
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "видимый в шапке (метка и название)"
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "видимый в иконке адресной строки (метка)"
#: admin_interface/models.py
msgid "Default Select"
msgstr "Выбор по умолчанию"
#: admin_interface/models.py
msgid "Minimal Select"
msgstr "Минимальный выбор"
#: admin_interface/models.py
msgid "control"
msgstr "контроль"
#: admin_interface/models.py
msgid "code"
msgstr "код"
#: admin_interface/models.py
msgid "display"
msgstr "отображение"
#: admin_interface/models.py
msgid "background color"
msgstr "цвет заднего фона"
#: admin_interface/models.py
msgid "text color"
msgstr "цвет текста"
#: admin_interface/models.py
msgid "link color"
msgstr "цвет ссылки"
#: admin_interface/models.py
msgid "link hover color"
msgstr "цвет ссылки при наведении"
#: admin_interface/models.py
msgid "background selected color"
msgstr "цвет заднего фона выбранного объекта"
#: admin_interface/models.py
msgid "link selected color"
msgstr "цвет ссылки выбранного объекта"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "закругленные края"
#: admin_interface/models.py
msgid "link active color"
msgstr "цвет активной ссылки"
#: admin_interface/models.py
msgid "background hover color"
msgstr "цвет заднего фона при наведении"
#: admin_interface/models.py
msgid "background opacity"
msgstr "прозрачность заднего фона"
#: admin_interface/models.py
msgid "close button visible"
msgstr "видимость кнопки закрытия"
#: admin_interface/models.py
msgid "highlight active"
msgstr "подсвечивать активное"
#: admin_interface/models.py
msgid "use dropdown"
msgstr "использовать выпадающий список"
#: admin_interface/models.py
msgid "sticky position"
msgstr "устойчивое положение"
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr "быстро удалять ссылки для активных фильтров сверху боковой панели"
#: admin_interface/models.py
msgid "foldable apps"
msgstr "складные приложения"
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr "набор полей в виде вкладок"
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr "вставки как вкладки"
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr "разборные уложенные вставки"
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr "сворачивающиеся уложенные вкладки свернуты"
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr "сворачивающиеся табличные вставки"
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr "сворачивающиеся табличные вставки свернуты"
#: admin_interface/models.py
msgid "sticky submit"
msgstr "устойчивая отправка"
#: admin_interface/models.py
msgid "sticky pagination"
msgstr "устойчивая разбивка"
#: admin_interface/models.py
msgid "Theme"
msgstr "Тема"
#: admin_interface/models.py
msgid "Themes"
msgstr "Темы"
#: admin_interface/templates/admin/change_list.html
msgid "Filter"
msgstr "Фильтр"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr "Очистить все фильтры"
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr "Изменить"
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr "Посмотреть"
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr "Посмотреть на сайте"
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr "Удалить?"
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, fuzzy, python-format
#| msgid " By %(filter_title)s "
msgid " By %(filter_title)s "
msgstr " По %(filter_title)ы "
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Закрытие всплывающего окна..."
Binary file not shown.
+179 -61
View File
@@ -8,201 +8,319 @@ msgid ""
msgstr ""
"Project-Id-Version: django-admin-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-24 06:07+0300\n"
"POT-Creation-Date: 2023-05-10 18:20-0500\n"
"PO-Revision-Date: 2020-01-29 04:53+0300\n"
"Last-Translator: Ishak Okutan <ishak.oktn@gmail.com>\n"
"Language-Team: \n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.2.4\n"
#: admin_interface/admin.py:21
#: admin_interface/admin.py
msgid "Environment"
msgstr "Ortam"
#: admin_interface/admin.py:30
#: admin_interface/admin.py
msgid "Language chooser"
msgstr "Dil seçimi"
#: admin_interface/admin.py:37
#: admin_interface/admin.py
msgid "Logo"
msgstr "Logo"
#: admin_interface/admin.py:45
#: admin_interface/admin.py
msgid "Favicon"
msgstr "Favicon"
#: admin_interface/admin.py:49
#: admin_interface/admin.py
msgid "Title"
msgstr "Başlık"
#: admin_interface/admin.py:57
#: admin_interface/admin.py
msgid "Header"
msgstr "Üst Kısım"
#: admin_interface/admin.py:66
#: admin_interface/admin.py
msgid "Breadcrumbs / Module headers"
msgstr "Link alanı / Modül başlıkları"
#: admin_interface/admin.py:76
#: admin_interface/admin.py
msgid "Generic Links"
msgstr "Genel Bağlantılar"
#: admin_interface/admin.py:83
#: admin_interface/admin.py
msgid "Save Buttons"
msgstr "Kaydet Butonları"
#: admin_interface/admin.py:91
#: admin_interface/admin.py
msgid "Delete Buttons"
msgstr "Kaldır Butonları"
#: admin_interface/admin.py:99
#: admin_interface/admin.py
msgid "Navigation Bar"
msgstr ""
#: admin_interface/admin.py
msgid "Related Modal"
msgstr "İlgili Modal"
#: admin_interface/admin.py:109
#: admin_interface/admin.py
msgid "Form Controls"
msgstr ""
#: admin_interface/admin.py
msgid "List Filter"
msgstr "Liste Filtresi"
#: admin_interface/admin.py:113
#: admin_interface/admin.py
msgid "Change Form"
msgstr ""
#: admin_interface/admin.py
msgid "Inlines"
msgstr ""
#: admin_interface/admin.py
msgid "Recent Actions"
msgstr "Son İşlemler"
#: admin_interface/apps.py:11
#: admin_interface/apps.py
msgid "Admin Interface"
msgstr "Yönetici Arayüzü"
#: admin_interface/models.py:72 admin_interface/models.py:116
#: admin_interface/models.py:135
#: admin_interface/models.py
msgid "name"
msgstr "adı"
#: admin_interface/models.py:75 admin_interface/models.py:132
#: admin_interface/models.py:253
#: admin_interface/models.py
msgid "active"
msgstr "aktif"
#: admin_interface/models.py:79
#: admin_interface/templates/admin/base_site.html:6
#: admin_interface/templates/admin/base_site.html:60
#: admin_interface/models.py admin_interface/templates/admin/base_site.html
msgid "Django administration"
msgstr "Django yönetimi"
#: admin_interface/models.py:81
#: admin_interface/models.py
msgid "title"
msgstr "başlık"
#: admin_interface/models.py:87 admin_interface/models.py:102
#: admin_interface/models.py:122
#: admin_interface/models.py
msgid "color"
msgstr "renk"
#: admin_interface/models.py:90 admin_interface/models.py:105
#: admin_interface/models.py:289
#: admin_interface/models.py
msgid "visible"
msgstr "göster"
#: admin_interface/models.py:95
#: admin_interface/models.py
msgid "Leave blank to use the default Django logo"
msgstr "Varsayılan Django logosunu kullanmak için boş bırakın"
#: admin_interface/models.py:96
#: admin_interface/models.py
msgid "logo"
msgstr "logo"
#: admin_interface/models.py:110
#: admin_interface/models.py
msgid "max width"
msgstr ""
#: admin_interface/models.py
msgid "max height"
msgstr ""
#: admin_interface/models.py
msgid "(.ico|.png|.gif - 16x16|32x32 px)"
msgstr ""
"(favicon simgesi, png veya (GIF 16x16) veya (32x32) piksel "
"boyutlarında olmalıdır)"
"(favicon simgesi, png veya (GIF 16x16) veya (32x32) piksel boyutlarında "
"olmalıdır)"
#: admin_interface/models.py:111
#: admin_interface/models.py
msgid "favicon"
msgstr "favicon"
#: admin_interface/models.py:120
#: admin_interface/models.py
msgid ""
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: "
"#3498DB)"
msgstr ""
"(kırmızı: # E74C3C, turuncu: # E67E22, sarı: # F1C40F, yeşil: # "
"2ECC71, mavi: # 3498DB)"
"(kırmızı: # E74C3C, turuncu: # E67E22, sarı: # F1C40F, yeşil: # 2ECC71, "
"mavi: # 3498DB)"
#: admin_interface/models.py:125
#: admin_interface/models.py
msgid "visible in header (marker and name)"
msgstr "üst kısım da görünsün (yuvarlak işaret ve ad)"
#: admin_interface/models.py:128
#: admin_interface/models.py
msgid "visible in favicon (marker)"
msgstr "faviconda görünsün (yuvarlak işaret)"
#: admin_interface/models.py:134
#: admin_interface/models.py
msgid "Default Select"
msgstr ""
#: admin_interface/models.py
msgid "Minimal Select"
msgstr ""
#: admin_interface/models.py
msgid "control"
msgstr ""
#: admin_interface/models.py
msgid "code"
msgstr "kod"
#: admin_interface/models.py:141
#: admin_interface/models.py
msgid "display"
msgstr "görüntüle"
#: admin_interface/models.py:148 admin_interface/models.py:173
#: admin_interface/models.py:214 admin_interface/models.py:233
#: admin_interface/models.py:259
#: admin_interface/models.py
msgid "background color"
msgstr "arka plan rengi"
#: admin_interface/models.py:154 admin_interface/models.py:179
#: admin_interface/models.py:226 admin_interface/models.py:245
#: admin_interface/models.py:249
#: admin_interface/models.py
msgid "text color"
msgstr "metin rengi"
#: admin_interface/models.py:160 admin_interface/models.py:185
#: admin_interface/models.py:201
#: admin_interface/models.py
msgid "link color"
msgstr "bağlantı rengi"
#: admin_interface/models.py:166 admin_interface/models.py:191
#: admin_interface/models.py:207
#: admin_interface/models.py
msgid "link hover color"
msgstr "bağlantı üzerine gelindiğindeki rengi"
#: admin_interface/models.py:194 admin_interface/models.py:279
#: admin_interface/models.py
#, fuzzy
#| msgid "background color"
msgid "background selected color"
msgstr "arka plan rengi"
#: admin_interface/models.py
#, fuzzy
#| msgid "link color"
msgid "link selected color"
msgstr "bağlantı rengi"
#: admin_interface/models.py
msgid "rounded corners"
msgstr "köşeleri ovalleştir"
#: admin_interface/models.py:220 admin_interface/models.py:239
#: admin_interface/models.py
msgid "link active color"
msgstr "bağlantı aktif gelindiğindeki rengi"
#: admin_interface/models.py
msgid "background hover color"
msgstr "arka planın üzerine gelindiğindeki renk"
#: admin_interface/models.py:276
#: admin_interface/models.py
msgid "background opacity"
msgstr "arka plan şeffaflığı"
#: admin_interface/models.py:282
#: admin_interface/models.py
msgid "close button visible"
msgstr "kapat düğmesi görünsün"
#: admin_interface/models.py:286
#: admin_interface/models.py
msgid "highlight active"
msgstr ""
#: admin_interface/models.py
msgid "use dropdown"
msgstr "açılır listeyi kullan"
#: admin_interface/models.py:298
#: admin_interface/models.py
msgid "sticky position"
msgstr ""
#: admin_interface/models.py
msgid "quick remove links for active filters at top of sidebar"
msgstr ""
#: admin_interface/models.py
msgid "foldable apps"
msgstr ""
#: admin_interface/models.py
msgid "fieldsets as tabs"
msgstr ""
#: admin_interface/models.py
msgid "inlines as tabs"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible stacked inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines"
msgstr ""
#: admin_interface/models.py
msgid "collapsible tabular inlines collapsed"
msgstr ""
#: admin_interface/models.py
msgid "sticky submit"
msgstr ""
#: admin_interface/models.py
msgid "sticky pagination"
msgstr ""
#: admin_interface/models.py
msgid "Theme"
msgstr "Tema"
#: admin_interface/models.py:299
#: admin_interface/models.py
msgid "Themes"
msgstr "Temalar"
#: admin_interface/templates/admin/filter.html:13
#: admin_interface/templates/admin_interface/dropdown_filter.html:4
#: admin_interface/templates/admin/change_list.html
#, fuzzy
#| msgid "List Filter"
msgid "Filter"
msgstr "Liste Filtresi"
#. Translators: don't translate this, the django catalog already contains it
#: admin_interface/templates/admin/change_list.html
msgid "Clear all filters"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Change"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_stacked.html
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "View on site"
msgstr ""
#: admin_interface/templates/admin/edit_inline/headerless_tabular.html
msgid "Delete?"
msgstr ""
#: admin_interface/templates/admin/filter.html
#: admin_interface/templates/admin_interface/dropdown_filter.html
#, python-format
msgid " By %(filter_title)s "
msgstr " %(filter_title)s tarafından "
#: admin_interface/templates/admin/popup_response.html:3
#: admin_interface/templates/admin/popup_response.html
msgid "Popup closing..."
msgstr "Popup kapanıyor..."
+10
View File
@@ -0,0 +1,10 @@
__author__ = "Fabio Caccamo"
__copyright__ = "Copyright (c) 2016-present Fabio Caccamo"
__description__ = (
"django's default admin interface with superpowers - "
"customizable themes, popup windows replaced by modals and many other features."
)
__email__ = "fabio.caccamo@gmail.com"
__license__ = "MIT"
__title__ = "django-admin-interface"
__version__ = "0.28.6"
+96 -67
View File
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import colorfield.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = []
operations = [
@@ -24,202 +18,237 @@ class Migration(migrations.Migration):
primary_key=True,
),
),
("name", models.CharField(default=b"Django", max_length=50)),
("active", models.BooleanField(default=True)),
(
"name",
models.CharField(
default="Django",
max_length=50,
),
),
(
"active",
models.BooleanField(
default=True,
),
),
(
"title",
models.CharField(
default=b"Django administration", max_length=50, blank=True
default="Django administration",
max_length=50,
blank=True,
),
),
(
"title_visible",
models.BooleanField(default=True, verbose_name=b"visible"),
models.BooleanField(
default=True,
verbose_name="visible",
),
),
(
"logo",
models.FileField(upload_to=b"admin-interface/logo/", blank=True),
models.FileField(
upload_to="admin-interface/logo/",
blank=True,
),
),
(
"logo_visible",
models.BooleanField(default=True, verbose_name=b"visible"),
models.BooleanField(
default=True,
verbose_name="visible",
),
),
(
"css_header_background_color",
colorfield.fields.ColorField(
default=b"#0C4B33",
help_text=b"#0C4B33",
default="#0C4B33",
help_text="#0C4B33",
max_length=10,
verbose_name=b"background color",
verbose_name="background color",
blank=True,
),
),
(
"css_header_title_color",
colorfield.fields.ColorField(
default=b"#F5DD5D",
help_text=b"#F5DD5D",
default="#F5DD5D",
help_text="#F5DD5D",
max_length=10,
verbose_name=b"title color",
verbose_name="title color",
blank=True,
),
),
(
"css_header_text_color",
colorfield.fields.ColorField(
default=b"#44B78B",
help_text=b"#44B78B",
default="#44B78B",
help_text="#44B78B",
max_length=10,
verbose_name=b"text color",
verbose_name="text color",
blank=True,
),
),
(
"css_header_link_color",
colorfield.fields.ColorField(
default=b"#FFFFFF",
help_text=b"#FFFFFF",
default="#FFFFFF",
help_text="#FFFFFF",
max_length=10,
verbose_name=b"link color",
verbose_name="link color",
blank=True,
),
),
(
"css_header_link_hover_color",
colorfield.fields.ColorField(
default=b"#C9F0DD",
help_text=b"#C9F0DD",
default="#C9F0DD",
help_text="#C9F0DD",
max_length=10,
verbose_name=b"link hover color",
verbose_name="link hover color",
blank=True,
),
),
(
"css_module_background_color",
colorfield.fields.ColorField(
default=b"#44B78B",
help_text=b"#44B78B",
default="#44B78B",
help_text="#44B78B",
max_length=10,
verbose_name=b"background color",
verbose_name="background color",
blank=True,
),
),
(
"css_module_text_color",
colorfield.fields.ColorField(
default=b"#FFFFFF",
help_text=b"#FFFFFF",
default="#FFFFFF",
help_text="#FFFFFF",
max_length=10,
verbose_name=b"text color",
verbose_name="text color",
blank=True,
),
),
(
"css_module_link_color",
colorfield.fields.ColorField(
default=b"#FFFFFF",
help_text=b"#FFFFFF",
default="#FFFFFF",
help_text="#FFFFFF",
max_length=10,
verbose_name=b"link color",
verbose_name="link color",
blank=True,
),
),
(
"css_module_link_hover_color",
colorfield.fields.ColorField(
default=b"#C9F0DD",
help_text=b"#C9F0DD",
default="#C9F0DD",
help_text="#C9F0DD",
max_length=10,
verbose_name=b"link hover color",
verbose_name="link hover color",
blank=True,
),
),
(
"css_module_rounded_corners",
models.BooleanField(default=True, verbose_name=b"rounded corners"),
models.BooleanField(
default=True,
verbose_name="rounded corners",
),
),
(
"css_generic_link_color",
colorfield.fields.ColorField(
default=b"#0C3C26",
help_text=b"#0C3C26",
default="#0C3C26",
help_text="#0C3C26",
max_length=10,
verbose_name=b"link color",
verbose_name="link color",
blank=True,
),
),
(
"css_generic_link_hover_color",
colorfield.fields.ColorField(
default=b"#156641",
help_text=b"#156641",
default="#156641",
help_text="#156641",
max_length=10,
verbose_name=b"link hover color",
verbose_name="link hover color",
blank=True,
),
),
(
"css_save_button_background_color",
colorfield.fields.ColorField(
default=b"#0C4B33",
help_text=b"#0C4B33",
default="#0C4B33",
help_text="#0C4B33",
max_length=10,
verbose_name=b"background color",
verbose_name="background color",
blank=True,
),
),
(
"css_save_button_background_hover_color",
colorfield.fields.ColorField(
default=b"#0C3C26",
help_text=b"#0C3C26",
default="#0C3C26",
help_text="#0C3C26",
max_length=10,
verbose_name=b"background hover color",
verbose_name="background hover color",
blank=True,
),
),
(
"css_save_button_text_color",
colorfield.fields.ColorField(
default=b"#FFFFFF",
help_text=b"#FFFFFF",
default="#FFFFFF",
help_text="#FFFFFF",
max_length=10,
verbose_name=b"text color",
verbose_name="text color",
blank=True,
),
),
(
"css_delete_button_background_color",
colorfield.fields.ColorField(
default=b"#BA2121",
help_text=b"#BA2121",
default="#BA2121",
help_text="#BA2121",
max_length=10,
verbose_name=b"background color",
verbose_name="background color",
blank=True,
),
),
(
"css_delete_button_background_hover_color",
colorfield.fields.ColorField(
default=b"#A41515",
help_text=b"#A41515",
default="#A41515",
help_text="#A41515",
max_length=10,
verbose_name=b"background hover color",
verbose_name="background hover color",
blank=True,
),
),
(
"css_delete_button_text_color",
colorfield.fields.ColorField(
default=b"#FFFFFF",
help_text=b"#FFFFFF",
default="#FFFFFF",
help_text="#FFFFFF",
max_length=10,
verbose_name=b"text color",
verbose_name="text color",
blank=True,
),
),
("css", models.TextField(blank=True)),
("list_filter_dropdown", models.BooleanField(default=False)),
(
"css",
models.TextField(
blank=True,
),
),
(
"list_filter_dropdown",
models.BooleanField(
default=False,
),
),
],
options={
"verbose_name": "Theme",
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
import colorfield.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0001_initial"),
]
@@ -17,22 +11,28 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="list_filter_dropdown",
field=models.BooleanField(default=False, verbose_name=b"use dropdown"),
field=models.BooleanField(
default=False,
verbose_name="use dropdown",
),
),
migrations.AddField(
model_name="theme",
name="related_modal_active",
field=models.BooleanField(default=True, verbose_name=b"active"),
field=models.BooleanField(
default=True,
verbose_name="active",
),
),
migrations.AddField(
model_name="theme",
name="related_modal_background_color",
field=colorfield.fields.ColorField(
blank=True,
default=b"#000000",
help_text=b"#000000",
default="#000000",
help_text="#000000",
max_length=10,
verbose_name=b"background color",
verbose_name="background color",
),
),
migrations.AddField(
@@ -40,24 +40,27 @@ class Migration(migrations.Migration):
name="related_modal_background_opacity",
field=models.FloatField(
choices=[
(0.1, b"10%"),
(0.2, b"20%"),
(0.3, b"30%"),
(0.4, b"40%"),
(0.5, b"50%"),
(0.6, b"60%"),
(0.7, b"70%"),
(0.8, b"80%"),
(0.9, b"90%"),
(0.1, "10%"),
(0.2, "20%"),
(0.3, "30%"),
(0.4, "40%"),
(0.5, "50%"),
(0.6, "60%"),
(0.7, "70%"),
(0.8, "80%"),
(0.9, "90%"),
],
default=0.2,
help_text=b"20%",
verbose_name=b"background opacity",
help_text="20%",
verbose_name="background opacity",
),
),
migrations.AddField(
model_name="theme",
name="related_modal_rounded_corners",
field=models.BooleanField(default=True, verbose_name=b"rounded corners"),
field=models.BooleanField(
default=True,
verbose_name="rounded corners",
),
),
]
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import colorfield.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0002_add_related_modal"),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0003_add_logo_color"),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0004_rename_title_color"),
]
@@ -15,6 +10,9 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="theme",
name="recent_actions_visible",
field=models.BooleanField(default=True, verbose_name="visible"),
field=models.BooleanField(
default=True,
verbose_name="visible",
),
),
]
+31 -14
View File
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import colorfield.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0005_add_recent_actions_visible"),
]
@@ -149,7 +143,10 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="css_module_rounded_corners",
field=models.BooleanField(default=True, verbose_name="rounded corners"),
field=models.BooleanField(
default=True,
verbose_name="rounded corners",
),
),
migrations.AlterField(
model_name="theme",
@@ -198,22 +195,34 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="list_filter_dropdown",
field=models.BooleanField(default=False, verbose_name="use dropdown"),
field=models.BooleanField(
default=False,
verbose_name="use dropdown",
),
),
migrations.AlterField(
model_name="theme",
name="logo_visible",
field=models.BooleanField(default=True, verbose_name="visible"),
field=models.BooleanField(
default=True,
verbose_name="visible",
),
),
migrations.AlterField(
model_name="theme",
name="name",
field=models.CharField(default="Django", max_length=50),
field=models.CharField(
default="Django",
max_length=50,
),
),
migrations.AlterField(
model_name="theme",
name="related_modal_active",
field=models.BooleanField(default=True, verbose_name="active"),
field=models.BooleanField(
default=True,
verbose_name="active",
),
),
migrations.AlterField(
model_name="theme",
@@ -249,13 +258,18 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="related_modal_rounded_corners",
field=models.BooleanField(default=True, verbose_name="rounded corners"),
field=models.BooleanField(
default=True,
verbose_name="rounded corners",
),
),
migrations.AlterField(
model_name="theme",
name="title",
field=models.CharField(
blank=True, default="Django administration", max_length=50
blank=True,
default="Django administration",
max_length=50,
),
),
migrations.AlterField(
@@ -272,6 +286,9 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="title_visible",
field=models.BooleanField(default=True, verbose_name="visible"),
field=models.BooleanField(
default=True,
verbose_name="visible",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0006_bytes_to_str"),
]
@@ -1,19 +1,15 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0007_add_favicon"),
]
operations = [
migrations.RemoveField(
model_name="theme", name="related_modal_background_opacity"
model_name="theme",
name="related_modal_background_opacity",
),
migrations.AddField(
model_name="theme",
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0008_change_related_modal_background_opacity_type"),
]
@@ -30,6 +25,9 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="theme",
name="env_visible",
field=models.BooleanField(default=True, verbose_name="visible"),
field=models.BooleanField(
default=True,
verbose_name="visible",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0009_add_enviroment"),
]
@@ -15,12 +10,18 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="active",
field=models.BooleanField(default=True, verbose_name="active"),
field=models.BooleanField(
default=True,
verbose_name="active",
),
),
migrations.AlterField(
model_name="theme",
name="css",
field=models.TextField(blank=True, verbose_name="text color"),
field=models.TextField(
blank=True,
verbose_name="text color",
),
),
migrations.AlterField(
model_name="theme",
@@ -51,7 +52,9 @@ class Migration(migrations.Migration):
model_name="theme",
name="name",
field=models.CharField(
default="Django", max_length=50, verbose_name="name"
default="Django",
max_length=50,
verbose_name="name",
),
),
migrations.AlterField(
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import colorfield.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0010_add_localization"),
]
@@ -22,7 +16,11 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="env_name",
field=models.CharField(blank=True, max_length=50, verbose_name="name"),
field=models.CharField(
blank=True,
max_length=50,
verbose_name="name",
),
),
migrations.AddField(
model_name="theme",
@@ -30,7 +28,10 @@ class Migration(migrations.Migration):
field=colorfield.fields.ColorField(
blank=True,
default="#E74C3C",
help_text="(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: #3498DB)",
help_text=(
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, "
"green: #2ECC71, blue: #3498DB)"
),
max_length=10,
verbose_name="color",
),
@@ -44,14 +45,16 @@ class Migration(migrations.Migration):
model_name="theme",
name="env_visible_in_header",
field=models.BooleanField(
default=True, verbose_name="visible in header (marker and name)"
default=True,
verbose_name="visible in header (marker and name)",
),
),
migrations.AddField(
model_name="theme",
name="env_visible_in_favicon",
field=models.BooleanField(
default=True, verbose_name="visible in favicon (marker)"
default=True,
verbose_name="visible in favicon (marker)",
),
),
]
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import colorfield.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0011_add_environment_options"),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0012_update_verbose_names"),
]
@@ -16,7 +11,8 @@ class Migration(migrations.Migration):
model_name="theme",
name="related_modal_close_button_visible",
field=models.BooleanField(
default=True, verbose_name="close button visible"
default=True,
verbose_name="close button visible",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0013_add_related_modal_close_button"),
]
@@ -16,7 +11,10 @@ class Migration(migrations.Migration):
model_name="theme",
name="name",
field=models.CharField(
default="Django", max_length=50, unique=True, verbose_name="name"
default="Django",
max_length=50,
unique=True,
verbose_name="name",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0014_name_unique"),
]
@@ -15,6 +10,9 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="theme",
name="language_chooser_active",
field=models.BooleanField(default=True, verbose_name="active"),
field=models.BooleanField(
default=True,
verbose_name="active",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0015_add_language_chooser_active"),
]
@@ -16,7 +11,10 @@ class Migration(migrations.Migration):
model_name="theme",
name="language_chooser_display",
field=models.CharField(
choices=[("code", "code"), ("name", "name")],
choices=[
("code", "code"),
("name", "name"),
],
default="code",
max_length=10,
verbose_name="display",
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0016_add_language_chooser_display"),
]
@@ -15,6 +10,9 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name="theme",
name="list_filter_dropdown",
field=models.BooleanField(default=True, verbose_name="use dropdown"),
field=models.BooleanField(
default=True,
verbose_name="use dropdown",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0017_change_list_filter_dropdown"),
]
@@ -15,6 +10,9 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="theme",
name="list_filter_sticky",
field=models.BooleanField(default=True, verbose_name="sticky position"),
field=models.BooleanField(
default=True,
verbose_name="sticky position",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0018_theme_list_filter_sticky"),
]
@@ -15,11 +10,17 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="theme",
name="form_pagination_sticky",
field=models.BooleanField(default=False, verbose_name="sticky pagination"),
field=models.BooleanField(
default=False,
verbose_name="sticky pagination",
),
),
migrations.AddField(
model_name="theme",
name="form_submit_sticky",
field=models.BooleanField(default=False, verbose_name="sticky submit"),
field=models.BooleanField(
default=False,
verbose_name="sticky submit",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import colorfield.fields
from django.db import migrations
from django.db.models import F
import colorfield.fields
def default_link_selected(apps, schema_editor):
Theme = apps.get_model("admin_interface", "Theme")
@@ -17,7 +12,6 @@ def default_link_selected(apps, schema_editor):
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0019_add_form_sticky"),
]
@@ -45,5 +39,5 @@ class Migration(migrations.Migration):
verbose_name="link selected color",
),
),
migrations.RunPython(default_link_selected,migrations.RunPython.noop),
migrations.RunPython(default_link_selected),
]
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from admin_interface.compat import FileExtensionValidator
from django.core.validators import FileExtensionValidator
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0020_module_selected_colors"),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0021_file_extension_validator"),
]
@@ -16,14 +11,18 @@ class Migration(migrations.Migration):
model_name="theme",
name="logo_max_height",
field=models.PositiveSmallIntegerField(
blank=True, default=100, verbose_name="max height"
blank=True,
default=100,
verbose_name="max height",
),
),
migrations.AddField(
model_name="theme",
name="logo_max_width",
field=models.PositiveSmallIntegerField(
blank=True, default=400, verbose_name="max width"
blank=True,
default=400,
verbose_name="max width",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0022_add_logo_max_width_and_height"),
]
@@ -15,6 +10,9 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name="theme",
name="foldable_apps",
field=models.BooleanField(default=True, verbose_name="foldable apps"),
field=models.BooleanField(
default=True,
verbose_name="foldable apps",
),
),
]
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0023_theme_foldable_apps"),
]
@@ -0,0 +1,23 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0024_remove_theme_css"),
]
operations = [
migrations.AddField(
model_name="theme",
name="language_chooser_control",
field=models.CharField(
choices=[
("default-select", "Default Select"),
("minimal-select", "Minimal Select"),
],
default="default-select",
max_length=20,
verbose_name="control",
),
),
]
@@ -0,0 +1,18 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0025_theme_language_chooser_control"),
]
operations = [
migrations.AddField(
model_name="theme",
name="list_filter_highlight",
field=models.BooleanField(
default=True,
verbose_name="highlight active",
),
),
]
@@ -0,0 +1,18 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0026_theme_list_filter_highlight"),
]
operations = [
migrations.AddField(
model_name="theme",
name="list_filter_removal_links",
field=models.BooleanField(
default=False,
verbose_name="quick remove links for active filters at top of sidebar",
),
),
]
@@ -0,0 +1,26 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0027_theme_list_filter_removal_links"),
]
operations = [
migrations.AddField(
model_name="theme",
name="show_fieldsets_as_tabs",
field=models.BooleanField(
default=False,
verbose_name="fieldsets as tabs",
),
),
migrations.AddField(
model_name="theme",
name="show_inlines_as_tabs",
field=models.BooleanField(
default=False,
verbose_name="inlines as tabs",
),
),
]
@@ -0,0 +1,24 @@
import colorfield.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0028_theme_show_fieldsets_as_tabs_and_more"),
]
operations = [
migrations.AddField(
model_name="theme",
name="css_generic_link_active_color",
field=colorfield.fields.ColorField(
blank=True,
default="#29B864",
help_text="#29B864",
image_field=None,
max_length=10,
samples=None,
verbose_name="link active color",
),
),
]
@@ -0,0 +1,42 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0029_theme_css_generic_link_active_color"),
]
operations = [
migrations.AddField(
model_name="theme",
name="collapsible_stacked_inlines",
field=models.BooleanField(
default=False,
verbose_name="collapsible stacked inlines",
),
),
migrations.AddField(
model_name="theme",
name="collapsible_stacked_inlines_collapsed",
field=models.BooleanField(
default=True,
verbose_name="collapsible stacked inlines collapsed",
),
),
migrations.AddField(
model_name="theme",
name="collapsible_tabular_inlines",
field=models.BooleanField(
default=False,
verbose_name="collapsible tabular inlines",
),
),
migrations.AddField(
model_name="theme",
name="collapsible_tabular_inlines_collapsed",
field=models.BooleanField(
default=True,
verbose_name="collapsible tabular inlines collapsed",
),
),
]
@@ -8,7 +8,7 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0024_remove_theme_css"),
("admin_interface", "0030_theme_default"),
]
operations = [
@@ -8,7 +8,7 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("admin_interface", "0025_add_demo_option"),
("admin_interface", "0031_add_demo_option"),
]
operations = [
@@ -9,7 +9,7 @@ class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('admin_interface', '0026_add_user_option'),
('admin_interface', '0032_add_user_option'),
]
operations = [
@@ -6,7 +6,7 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('admin_interface', '0027_usertheme_m2m'),
('admin_interface', '0033_usertheme_m2m'),
]
operations = [
@@ -19,7 +19,7 @@ def reverse(apps, schema_editor):
class Migration(migrations.Migration):
dependencies = [
('admin_interface', '0028_alter_theme_demo'),
('admin_interface', '0034_alter_theme_demo'),
]
operations = [
@@ -6,7 +6,7 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('admin_interface', '0029_auto_20221025_1559'),
('admin_interface', '0035_auto_20221025_1559'),
]
operations = [
+155 -114
View File
@@ -1,20 +1,16 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import inspect
from colorfield.fields import ColorField
from django.core.validators import FileExtensionValidator
from django.db import models
from django.db.models.signals import post_delete, post_save, pre_save
from six import python_2_unicode_compatible
from django.dispatch import receiver
from django.utils.encoding import force_str
from django.utils.translation import gettext_lazy as _
from admin_interface.cache import del_cached_active_theme
from admin_interface.compat import FileExtensionValidator, force_str
from admin_interface.compat import gettext_lazy as _
from .cache import del_cached_active_theme
@python_2_unicode_compatible
class UserTheme(models.Model):
class Meta:
verbose_name = 'Users theme'
@@ -25,49 +21,19 @@ class UserTheme(models.Model):
theme = models.ForeignKey('Theme', on_delete=models.CASCADE)
@python_2_unicode_compatible
class Theme(models.Model):
@staticmethod
def post_migrate_handler(**kwargs):
del_cached_active_theme()
Theme.get_active_theme()
@staticmethod
def post_delete_handler(**kwargs):
del_cached_active_theme()
Theme.get_active_theme()
# @staticmethod
# def post_save_handler(instance, **kwargs):
# del_cached_active_theme()
# if instance.active:
# Theme.objects.exclude(pk=instance.pk).update(active=False)
# Theme.get_active_theme()
# @staticmethod
# def pre_save_handler(instance, **kwargs):
# if instance.pk is None:
# try:
# obj = Theme.objects.get(name=instance.name)
# if obj:
# instance.pk = obj.pk
# except Theme.DoesNotExist:
# pass
@staticmethod
def get_active_theme():
objs_manager = Theme.objects
class ThemeQuerySet(models.QuerySet):
def get_active(self):
user_theme_manager = UserTheme.objects
objs_active_qs = objs_manager.filter(active=True)
objs_active_qs = self.filter(active=True)
objs_active_ls = list(objs_active_qs)
objs_active_count = len(objs_active_ls)
if objs_active_count == 0:
obj = objs_manager.all().first()
obj = self.all().first()
if obj:
obj.set_active()
# else:
# obj = objs_manager.create()
# obj = self.create()
elif objs_active_count == 1:
obj = objs_active_ls[0]
@@ -94,13 +60,21 @@ class Theme(models.Model):
return obj
class Theme(models.Model):
name = models.CharField(
unique=True, max_length=50, default="Django", verbose_name=_("name")
unique=True,
max_length=50,
default="Django",
verbose_name=_("name"),
)
active = models.BooleanField(
default=True,
verbose_name=_("active"),
)
active = models.BooleanField(default=True, verbose_name=_("active"))
demo = models.BooleanField(default=False, verbose_name=_("is demo"))
default = models.BooleanField(default=False, verbose_name="default")
users = models.ManyToManyField('auth.User', through=UserTheme)
@@ -119,7 +93,9 @@ class Theme(models.Model):
verbose_name=_("color"),
)
title_visible = models.BooleanField(
default=True, verbose_name=_("visible"))
default=True,
verbose_name=_("visible"),
)
logo = models.FileField(
upload_to="admin-interface/logo/",
@@ -140,12 +116,19 @@ class Theme(models.Model):
verbose_name=_("color"),
)
logo_max_width = models.PositiveSmallIntegerField(
blank=True, default=400, verbose_name=_("max width")
blank=True,
default=400,
verbose_name=_("max width"),
)
logo_max_height = models.PositiveSmallIntegerField(
blank=True, default=100, verbose_name=_("max height")
blank=True,
default=100,
verbose_name=_("max height"),
)
logo_visible = models.BooleanField(
default=True,
verbose_name=_("visible"),
)
logo_visible = models.BooleanField(default=True, verbose_name=_("visible"))
favicon = models.FileField(
upload_to="admin-interface/favicon/",
@@ -160,35 +143,46 @@ class Theme(models.Model):
)
env_name = models.CharField(
blank=True, max_length=50, verbose_name=_("name"))
blank=True,
max_length=50,
verbose_name=_("name"),
)
env_color = ColorField(
blank=True,
default="#E74C3C",
help_text=_(
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: #3498DB)"
"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, "
"green: #2ECC71, blue: #3498DB)"
),
max_length=10,
verbose_name=_("color"),
)
env_visible_in_header = models.BooleanField(
default=True, verbose_name=_("visible in header (marker and name)")
default=True,
verbose_name=_("visible in header (marker and name)"),
)
env_visible_in_favicon = models.BooleanField(
default=True, verbose_name=_("visible in favicon (marker)")
default=True,
verbose_name=_("visible in favicon (marker)"),
)
language_chooser_active = models.BooleanField(
default=True, verbose_name=_("active")
default=True,
verbose_name=_("active"),
)
language_chooser_control_choices = (
("default-select", _("Default Select")),
("minimal-select", _("Minimal Select")),
)
language_chooser_control = models.CharField(
max_length=20,
choices=language_chooser_control_choices,
default="default-select",
verbose_name=_("control"),
)
language_chooser_display_choices = (
(
"code",
_("code"),
),
(
"name",
_("name"),
),
("code", _("code")),
("name", _("name")),
)
language_chooser_display = models.CharField(
max_length=10,
@@ -269,7 +263,8 @@ class Theme(models.Model):
verbose_name=_("link hover color"),
)
css_module_rounded_corners = models.BooleanField(
default=True, verbose_name=_("rounded corners")
default=True,
verbose_name=_("rounded corners"),
)
css_generic_link_color = ColorField(
@@ -286,6 +281,13 @@ class Theme(models.Model):
max_length=10,
verbose_name=_("link hover color"),
)
css_generic_link_active_color = ColorField(
blank=True,
default="#29B864",
help_text="#29B864",
max_length=10,
verbose_name=_("link active color"),
)
css_save_button_background_color = ColorField(
blank=True,
@@ -332,7 +334,9 @@ class Theme(models.Model):
)
related_modal_active = models.BooleanField(
default=True, verbose_name=_("active"))
default=True,
verbose_name=_("active"),
)
related_modal_background_color = ColorField(
blank=True,
default="#000000",
@@ -341,42 +345,15 @@ class Theme(models.Model):
verbose_name=_("background color"),
)
related_modal_background_opacity_choices = (
(
"0.1",
"10%",
),
(
"0.2",
"20%",
),
(
"0.3",
"30%",
),
(
"0.4",
"40%",
),
(
"0.5",
"50%",
),
(
"0.6",
"60%",
),
(
"0.7",
"70%",
),
(
"0.8",
"80%",
),
(
"0.9",
"90%",
),
("0.1", "10%"),
("0.2", "20%"),
("0.3", "30%"),
("0.4", "40%"),
("0.5", "50%"),
("0.6", "60%"),
("0.7", "70%"),
("0.8", "80%"),
("0.9", "90%"),
)
related_modal_background_opacity = models.CharField(
max_length=5,
@@ -386,33 +363,79 @@ class Theme(models.Model):
verbose_name=_("background opacity"),
)
related_modal_rounded_corners = models.BooleanField(
default=True, verbose_name=_("rounded corners")
default=True,
verbose_name=_("rounded corners"),
)
related_modal_close_button_visible = models.BooleanField(
default=True, verbose_name=_("close button visible")
default=True,
verbose_name=_("close button visible"),
)
list_filter_highlight = models.BooleanField(
default=True,
verbose_name=_("highlight active"),
)
list_filter_dropdown = models.BooleanField(
default=True, verbose_name=_("use dropdown")
default=True,
verbose_name=_("use dropdown"),
)
list_filter_sticky = models.BooleanField(
default=True, verbose_name=_("sticky position")
default=True,
verbose_name=_("sticky position"),
)
list_filter_removal_links = models.BooleanField(
default=False,
verbose_name=_("quick remove links for active filters at top of sidebar"),
)
foldable_apps = models.BooleanField(
default=True, verbose_name=_("foldable apps"))
default=True,
verbose_name=_("foldable apps"),
)
show_fieldsets_as_tabs = models.BooleanField(
default=False,
verbose_name=_("fieldsets as tabs"),
)
show_inlines_as_tabs = models.BooleanField(
default=False,
verbose_name=_("inlines as tabs"),
)
collapsible_stacked_inlines = models.BooleanField(
default=False,
verbose_name=_("collapsible stacked inlines"),
)
collapsible_stacked_inlines_collapsed = models.BooleanField(
default=True,
verbose_name=_("collapsible stacked inlines collapsed"),
)
collapsible_tabular_inlines = models.BooleanField(
default=False,
verbose_name=_("collapsible tabular inlines"),
)
collapsible_tabular_inlines_collapsed = models.BooleanField(
default=True,
verbose_name=_("collapsible tabular inlines collapsed"),
)
recent_actions_visible = models.BooleanField(
default=True, verbose_name=_("visible")
default=True,
verbose_name=_("visible"),
)
form_submit_sticky = models.BooleanField(
default=False, verbose_name=_("sticky submit")
default=False,
verbose_name=_("sticky submit"),
)
form_pagination_sticky = models.BooleanField(
default=False, verbose_name=_("sticky pagination")
default=False,
verbose_name=_("sticky pagination"),
)
objects = ThemeQuerySet.as_manager()
def set_active(self):
self.active = True
self.save()
@@ -428,7 +451,6 @@ class Theme(models.Model):
class Meta:
app_label = "admin_interface"
verbose_name = _("Theme")
verbose_name_plural = _("Themes")
@@ -436,6 +458,25 @@ class Theme(models.Model):
return force_str(self.name)
post_delete.connect(Theme.post_delete_handler, sender=Theme)
# post_save.connect(Theme.post_save_handler, sender=Theme)
# pre_save.connect(Theme.pre_save_handler, sender=Theme)
@receiver(post_delete, sender=Theme)
def post_delete_handler(sender, instance, **kwargs):
del_cached_active_theme()
Theme.objects.get_active()
# @receiver(post_save, sender=Theme)
# def post_save_handler(sender, instance, **kwargs):
# del_cached_active_theme()
# if instance.active:
# Theme.objects.exclude(pk=instance.pk).update(active=False)
# Theme.objects.get_active()
# @receiver(pre_save, sender=Theme)
# def pre_save_handler(sender, instance, **kwargs):
# if instance.pk is None:
# try:
# obj = Theme.objects.get(name=instance.name)
# instance.pk = obj.pk
# except Theme.DoesNotExist:
# pass
-4
View File
@@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
import django
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
@@ -29,5 +27,3 @@ def check_installed_app(app, max_dj_version=None):
def check_installed_apps():
check_installed_app("colorfield")
check_installed_app("flat", max_dj_version=(1, 9))
check_installed_app("flat_responsive", max_dj_version=(2, 0))
@@ -0,0 +1,49 @@
/*global gettext*/
/* copied from django 4.0.7 */
'use strict';
{
window.addEventListener('load', function() {
// Add anchor tag for Show/Hide link
const fieldsets = document.querySelectorAll('fieldset.collapse');
for (const [i, elem] of fieldsets.entries()) {
// Don't hide if fields in this fieldset have errors
if (elem.querySelectorAll('div.errors, ul.errorlist').length === 0) {
const h2 = elem.querySelector('h2');
const link = document.createElement('a');
link.id = 'fieldsetcollapser' + i;
link.className = 'collapse-toggle';
link.href = '#';
// changed: can opt into starting visible
if (elem.classList.contains('expanded')) {
link.textContent = gettext('Hide');
} else {
link.textContent = gettext('Show');
elem.classList.add('collapsed');
}
h2.appendChild(document.createTextNode(' ('));
h2.appendChild(link);
h2.appendChild(document.createTextNode(')'));
}
}
// Add toggle to hide/show anchor tag
const toggleFunc = function(ev) {
if (ev.target.matches('.collapse-toggle')) {
ev.preventDefault();
ev.stopPropagation();
const fieldset = ev.target.closest('fieldset');
if (fieldset.classList.contains('collapsed')) {
// Show
ev.target.textContent = gettext('Hide');
fieldset.classList.remove('collapsed');
} else {
// Hide
ev.target.textContent = gettext('Show');
fieldset.classList.add('collapsed');
}
}
};
document.querySelectorAll('fieldset.module').forEach(function(el) {
el.addEventListener('click', toggleFunc);
});
});
}
@@ -3,6 +3,7 @@
'use strict';
var windowRef = window;
var windowRefProxy;
var windowName, widgetName;
var openerRef = windowRef.opener;
if (!openerRef) {
@@ -14,13 +15,14 @@
// django < 3.1 compatibility
widgetName = openerRef.id_to_windowname(widgetName);
}
windowRef = {
windowRefProxy = {
name: widgetName,
location: windowRef.location,
close: function() {
openerRef.dismissRelatedObjectModal();
}
};
windowRef = windowRefProxy;
}
// default django popup_response.js
@@ -40,11 +42,7 @@
if (typeof(openerRef.dismissAddRelatedObjectPopup) === 'function') {
openerRef.dismissAddRelatedObjectPopup(windowRef, initData.value, initData.obj);
}
else if (typeof(openerRef.dismissAddAnotherPopup) === 'function') {
// django 1.7 compatibility
openerRef.dismissAddAnotherPopup(windowRef, initData.value, initData.obj);
}
break;
}
})();
})();
@@ -0,0 +1,48 @@
/** global: django */
if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined')
{
(function($) {
$(document).ready(function(){
function collapsibleInline(scope, collapsed) {
var fieldsetCollapsed = collapsed;
var fieldsetEl = $(scope).find('> fieldset.module');
fieldsetEl.addClass('collapse');
var fieldsetHasErrors = (fieldsetEl.children('.errors').length > 0);
if (fieldsetHasErrors === true) {
fieldsetCollapsed = false;
}
if (fieldsetCollapsed === true) {
fieldsetEl.addClass('collapsed');
}
var collapseToggleText = (fieldsetCollapsed ? gettext('Show') : gettext('Hide'));
var collapseToggleHTML = ' (<a class="collapse-toggle" href="#">' + collapseToggleText + '</a>)';
var headerEl = fieldsetEl.find('> h2,> h3');
if (headerEl.find(".collapse-toggle").length === 0) {
// don't add collapse toggle button if already present
headerEl.append(collapseToggleHTML);
}
}
var stackedInlinesOptionSel = '.admin-interface.collapsible-stacked-inlines';
var stackedInlinesSel = stackedInlinesOptionSel + ' .inline-group[data-inline-type="stacked"]';
var stackedInlinesCollapsed = $(stackedInlinesOptionSel).hasClass('collapsible-stacked-inlines-collapsed');
var tabularInlinesOptionSel = '.admin-interface.collapsible-tabular-inlines';
var tabularInlinesSel = tabularInlinesOptionSel + ' .inline-group[data-inline-type="tabular"] .inline-related.tabular';
var tabularInlinesCollapsed = $(stackedInlinesOptionSel).hasClass('collapsible-tabular-inlines-collapsed');
$(stackedInlinesSel).each(function() {
collapsibleInline(this, stackedInlinesCollapsed);
});
$(tabularInlinesSel).each(function() {
collapsibleInline(this, tabularInlinesCollapsed);
});
});
})(django.jQuery);
}
@@ -0,0 +1,515 @@
@media (prefers-color-scheme: dark) {
:root .admin-interface {
--primary: #79aec8;
--secondary: #417690;
--accent: #f5dd5d;
--primary-fg: #fff;
--body-fg: #333;
--body-bg: #fff;
--body-quiet-color: #666;
--body-loud-color: #000;
--header-color: #ffc;
--header-branding-color: var(--accent);
--header-bg: var(--secondary);
--header-link-color: var(--primary-fg);
--breadcrumbs-fg: #c4dce8;
--breadcrumbs-link-fg: var(--body-bg);
--breadcrumbs-bg: var(--primary);
--link-fg: #447e9b;
--link-hover-color: #036;
--link-selected-fg: #5b80b2;
--hairline-color: #e8e8e8;
--border-color: #ccc;
--error-fg: #ba2121;
--message-success-bg: #dfd;
--message-warning-bg: #ffc;
--message-error-bg: #ffefef;
--darkened-bg: #f8f8f8;
--selected-bg: #e4e4e4;
--selected-row: #ffc;
--button-fg: #fff;
--button-bg: var(--primary);
--button-hover-bg: #609ab6;
--default-button-bg: var(--secondary);
--default-button-hover-bg: #205067;
--close-button-bg: #888;
--close-button-hover-bg: #747474;
--delete-button-bg: #ba2121;
--delete-button-hover-bg: #a41515;
--object-tools-fg: var(--button-fg);
--object-tools-bg: var(--close-button-bg);
--object-tools-hover-bg: var(--close-button-hover-bg);
}
}
.admin-interface {
overflow-x: hidden;
}
.admin-interface #header {
background: var(--admin-interface-header-background-color);
color: var(--admin-interface-header-text-color);
}
.admin-interface #header + #main {
border-top: var(--admin-interface-main-border-top);
}
.admin-interface .environment-label {
}
.admin-interface .environment-label::before {
content: "";
display: inline-block;
width: 8px;
height: 8px;
background-color: var(--admin-interface-env-color);
border-radius: 100%;
margin-right: 6px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.admin-interface .environment-label::after {
content: " - ";
}
@media (max-width: 1024px) {
.admin-interface .environment-label::after {
content: "";
}
}
.admin-interface .language-chooser {
display: inline-block;
position: absolute;
top: 15px;
right: 15px;
z-index: 10;
}
@media (min-width: 768px) {
.admin-interface .language-chooser {
right: 30px;
}
}
@media (min-width: 1024px) {
.admin-interface .language-chooser {
position: static;
float: right;
margin-left: 20px;
}
}
.admin-interface .language-chooser-hidden-form {
display: none;
}
.admin-interface .language-chooser-select-form {
display: inline-block;
}
.admin-interface #branding h1,
.admin-interface.login #header h1,
.admin-interface.login #header h1 a {
color: var(--admin-interface-title-color);
}
.admin-interface #branding h1 a {
color: inherit;
}
.admin-interface #branding h1 .logo.default {
background-color: transparent;
background-repeat: no-repeat;
background-position: center center;
background-size: 104px 36px;
background-image: var(--admin-interface-logo-default-background-image);
}
.admin-interface #branding h1 img.logo,
.admin-interface.login #header #branding h1 img.logo {
max-width: var(--admin-interface-logo-max-width);
max-height: var(--admin-interface-logo-max-height);
}
.admin-interface #header #user-tools a,
.admin-interface #header #user-tools #logout-form button {
color: var(--admin-interface-header-link-color);
}
.admin-interface #header #user-tools a:hover,
.admin-interface #header #user-tools a:active,
.admin-interface #header #user-tools #logout-form button:hover,
.admin-interface #header #user-tools #logout-form button:active {
color: var(--admin-interface-header-link-hover-color);
border-bottom-color: rgba(255, 255, 255, 0.5);
}
.admin-interface #header #user-tools button.theme-toggle svg {
color: transparent;
fill: var(--admin-interface-header-link-color);
}
.admin-interface #header #user-tools button.theme-toggle:hover svg,
.admin-interface #header #user-tools button.theme-toggle:active svg {
color: transparent;
fill: var(--admin-interface-header-link-hover-color);
}
.admin-interface #nav-sidebar .current-app .section:link,
.admin-interface #nav-sidebar .current-app .section:visited {
color: var(--admin-interface-module-link-selected-color);
font-weight: normal;
}
.admin-interface #nav-sidebar .current-app .section:focus,
.admin-interface #nav-sidebar .current-app .section:hover {
color: var(--admin-interface-module-link-hover-color);
}
.admin-interface #nav-sidebar .current-model {
background: var(--admin-interface-module-background-selected-color);
}
.admin-interface #changelist table tbody tr.selected {
background-color: var(--admin-interface-module-background-selected-color);
}
.admin-interface .module h2,
.admin-interface .module caption,
.admin-interface .module.filtered h2 {
background: var(--admin-interface-module-background-color);
color: var(--admin-interface-module-text-color);
}
.admin-interface .module a.section:link,
.admin-interface .module a.section:visited {
color: var(--admin-interface-module-link-color);
}
.admin-interface .module a.section:active,
.admin-interface .module a.section:hover {
color: var(--admin-interface-module-link-hover-color);
}
.admin-interface div.breadcrumbs {
background: var(--admin-interface-module-background-color);
color: var(--admin-interface-module-text-color);
}
.admin-interface div.breadcrumbs a {
color: var(--admin-interface-module-link-color);
}
.admin-interface div.breadcrumbs a:active,
.admin-interface div.breadcrumbs a:focus,
.admin-interface div.breadcrumbs a:hover {
color: var(--admin-interface-module-link-hover-color);
}
.admin-interface fieldset.collapse a.collapse-toggle,
.admin-interface fieldset.collapse.collapsed a.collapse-toggle,
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle,
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle {
color: var(--admin-interface-module-link-color);
}
.admin-interface fieldset.collapse a.collapse-toggle:hover,
.admin-interface fieldset.collapse a.collapse-toggle:active,
.admin-interface fieldset.collapse.collapsed a.collapse-toggle:hover,
.admin-interface fieldset.collapse.collapsed a.collapse-toggle:active,
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle:hover,
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle:active,
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle:hover,
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle:active {
color: var(--admin-interface-module-link-hover-color);
}
.admin-interface .inline-group h2 {
background: var(--admin-interface-module-background-color);
color: var(--admin-interface-module-text-color);
}
.admin-interface .selector .selector-chosen h2 {
border-color: var(--admin-interface-module-background-color);
background: var(--admin-interface-module-background-color);
color: var(--admin-interface-module-text-color);
}
.admin-interface .selector .selector-available h2,
.admin-interface .selector .selector-chosen h2 {
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.admin-interface .selector a.selector-chooseall:focus,
.admin-interface .selector a.selector-chooseall:hover,
.admin-interface .selector a.selector-clearall:focus,
.admin-interface .selector a.selector-clearall:hover {
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface a:link,
.admin-interface a:visited {
color: var(--admin-interface-generic-link-color);
}
.admin-interface a:hover {
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface thead th a,
.admin-interface thead th a:link,
.admin-interface thead th a:visited,
.admin-interface thead th a:focus,
.admin-interface thead th a:hover {
color: #666666;
}
.admin-interface .button,
.admin-interface input[type=submit],
.admin-interface input[type=button],
.admin-interface .submit-row input,
.admin-interface a.button {
background: var(--admin-interface-save-button-background-color);
color: var(--admin-interface-save-button-text-color);
}
.admin-interface .button:active,
.admin-interface .button:focus,
.admin-interface .button:hover,
.admin-interface input[type=submit]:active,
.admin-interface input[type=submit]:focus,
.admin-interface input[type=submit]:hover,
.admin-interface input[type=button]:active,
.admin-interface input[type=button]:focus,
.admin-interface input[type=button]:hover {
background: var(--admin-interface-save-button-background-hover-color);
color: var(--admin-interface-save-button-text-color);
outline: none;
}
.admin-interface .button.default,
.admin-interface input[type=submit].default,
.admin-interface .submit-row input.default {
background: var(--admin-interface-save-button-background-color);
color: var(--admin-interface-save-button-text-color);
outline: none;
}
.admin-interface .button.default:active,
.admin-interface .button.default:focus,
.admin-interface .button.default:hover,
.admin-interface input[type=submit].default:active,
.admin-interface input[type=submit].default:focus,
.admin-interface input[type=submit].default:hover,
.admin-interface.delete-confirmation form .cancel-link:hover {
background: var(--admin-interface-save-button-background-hover-color);
color: var(--admin-interface-save-button-text-color);
outline: none;
}
.admin-interface .submit-row a.deletelink:link,
.admin-interface .submit-row a.deletelink:visited,
.admin-interface.delete-confirmation form input[type="submit"] {
background: var(--admin-interface-delete-button-background-color);
color: var(--admin-interface-delete-button-text-color);
}
.admin-interface .submit-row a.deletelink:hover,
.admin-interface.delete-confirmation form input[type="submit"]:hover {
background: var(--admin-interface-delete-button-background-hover-color);
color: var(--admin-interface-delete-button-text-color);
}
.admin-interface .paginator a,
.admin-interface .paginator a:link,
.admin-interface .paginator a:visited,
.admin-interface .paginator .this-page {
border-radius: var(--admin-interface-module-border-radius);
}
.admin-interface .paginator a,
.admin-interface .paginator a:link,
.admin-interface .paginator a:visited {
background-color: #FFFFFF;
color: var(--admin-interface-generic-link-color);
}
.admin-interface .paginator a:hover,
.admin-interface .paginator a:active {
background-color: #F8F8F8;
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface .paginator .this-page {
background-color: var(--admin-interface-module-background-color);
color: var(--admin-interface-module-link-color);
}
.admin-interface .paginator a.showall,
.admin-interface .paginator a.showall:link,
.admin-interface .paginator a.showall:visited {
color: var(--admin-interface-generic-link-color);
}
.admin-interface .paginator a.showall:hover,
.admin-interface .paginator a.showall:active {
color: var(--admin-interface-generic-link-hover-color);
}
/* list-filter sticky */
@media (min-width: 768px) {
.admin-interface.list-filter-sticky .module.filtered #changelist-filter {
position: sticky;
top: 30px;
float: right;
z-index: 30;
display: flex;
flex-direction: column;
overflow-y: auto;
scrollbar-width: thin;
height: 100%;
max-height: calc(100vh - 60px);
}
.admin-interface.list-filter-sticky.sticky-pagination .module.filtered #changelist-filter {
max-height: calc(100vh - 125px);
}
/* feature not available for django < 3.1.2 */
.admin-interface.list-filter-sticky .module.filtered #toolbar + #changelist-filter {
position: absolute;
top: 0px;
z-index: 30;
max-height: calc(100vh - 105px);
}
.admin-interface.list-filter-sticky.sticky-pagination .module.filtered #toolbar + #changelist-filter {
max-height: calc(100vh - 170px);
}
}
.admin-interface .module.filtered #changelist-filter {
border-radius: var(--admin-interface-module-border-radius);
}
.admin-interface .module.filtered #changelist-filter h3#changelist-filter-clear {
margin-bottom: 0;
}
.admin-interface .module.filtered #changelist-filter .changelist-filter-clear a {
font-size: 13px;
margin: .3em 0;
padding: 0 15px;
}
.admin-interface .module.filtered #changelist-filter .changelist-filter-clear a:focus,
.admin-interface .module.filtered #changelist-filter .changelist-filter-clear a:hover,
.admin-interface .module.filtered #changelist-filter #changelist-filter-clear a:focus,
.admin-interface .module.filtered #changelist-filter #changelist-filter-clear a:hover {
color: #666;
text-decoration: none;
}
.admin-interface .module.filtered #changelist-filter .changelist-filter-clear a span {
font-weight: bold;
}
.admin-interface .module.filtered #changelist-filter li a:focus,
.admin-interface .module.filtered #changelist-filter li a:hover {
color: #666;
text-decoration: none;
}
.admin-interface.list-filter-highlight .module.filtered #changelist-filter h3.active {
font-weight: bold;
}
.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected {
color: var(--admin-interface-module-text-color);
background: var(--admin-interface-module-background-color);
margin-left: -10px;
padding-left: 5px;
margin-right: -10px;
border-left: 5px solid var(--admin-interface-module-background-color);
border-right: 5px solid var(--admin-interface-module-background-color);
border-radius: var(--admin-interface-module-border-radius);
}
.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a,
.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:link,
.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:visited,
.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:focus,
.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:hover {
background: inherit;
color: inherit;
}
.admin-interface .module.filtered #changelist-filter li.selected a,
.admin-interface .module.filtered #changelist-filter li.selected a:link,
.admin-interface .module.filtered #changelist-filter li.selected a:visited,
.admin-interface .module.filtered #changelist-filter li.selected a:focus,
.admin-interface .module.filtered #changelist-filter li.selected a:hover {
color: var(--admin-interface-generic-link-hover-color);
}
/* begin fix issue #11 - Inline border bottom should not be rounded */
.admin-interface .module h2,
.admin-interface.dashboard .module caption,
.admin-interface #nav-sidebar .module th,
.admin-interface #nav-sidebar .module caption,
.admin-interface .module.filtered h2 {
border-radius: var(--admin-interface-module-border-radius);
}
.admin-interface .inline-group h2 {
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.admin-interface .module.collapse.collapsed h2 {
/* fix collapsed inlines rounded bottom borders */
border-bottom-left-radius: var(--admin-interface-module-border-radius);
border-bottom-right-radius: var(--admin-interface-module-border-radius);
}
/* end fix */
.admin-interface #content-related {
border-radius: var(--admin-interface-module-border-radius);
}
.admin-interface .select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {
background-color: var(--admin-interface-module-background-color);
color: var(--admin-interface-module-text-color);
}
.admin-interface #toggle-nav-sidebar {
border-top-right-radius: var(--admin-interface-module-border-radius);
border-bottom-right-radius: var(--admin-interface-module-border-radius);
color: var(--admin-interface-generic-link-color);
}
.admin-interface #toggle-nav-sidebar:focus,
.admin-interface #toggle-nav-sidebar:hover,
.admin-interface #toggle-nav-sidebar:active {
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface .calendar td.selected a,
.admin-interface .calendar td a:active,
.admin-interface .calendar td a:focus,
.admin-interface .calendar td a:hover,
.admin-interface .timelist a:active,
.admin-interface .timelist a:focus,
.admin-interface .timelist a:hover {
background: var(--admin-interface-module-background-color);
}
.admin-interface .calendarbox .calendarnav-previous,
.admin-interface .calendarbox .calendarnav-next {
transition: none;
filter: invert(100%);
}
@@ -0,0 +1,34 @@
/* fix form submit buttons alignemnt and ordering */
@media (min-width: 768px) {
.admin-interface .submit-row {
flex-direction: row-reverse;
}
.admin-interface .submit-row input[name="_save"] {
order: 1;
}
.admin-interface .submit-row input[name="_continue"] {
order: 2;
}
.admin-interface .submit-row input[name="_addanother"] {
order: 3;
}
.admin-interface .submit-row a.deletelink {
order: 4;
margin-left: 0;
margin-right: auto;
}
}
/* endfix */
/* fix help-text horizontal alignment when using show-fieldsets-as-tabs / show-inlines-as-tabs options - #317 */
.admin-interface.show-fieldsets-as-tabs fieldset > .form-row .help,
.admin-interface.show-inlines-as-tabs .inline-related > fieldset .help {
margin-left: 0;
padding-left: 0;
}
.admin-interface.show-fieldsets-as-tabs fieldset > .form-row div:has(.related-widget-wrapper .selector) + .help,
.admin-interface.show-inlines-as-tabs .inline-related > fieldset div:has(.related-widget-wrapper .selector) + .help {
display: flex;
width: 100%;
}
/* endfix */
@@ -0,0 +1,43 @@
@media (min-width: 1024px) {
.admin-interface #changelist .actions .button,
.admin-interface #changelist .actions .action-counter {
margin-left: 8px;
}
}
.admin-interface #changelist-form .results {
scrollbar-width: thin;
}
/* fix searchbar overriden padding */
.admin-interface #changelist #changelist-search #searchbar {
padding: 2px 5px 3px 5px;
}
@media (min-width: 1024px) {
.admin-interface #changelist #changelist-search #searchbar,
.admin-interface #changelist #changelist-search input[type="submit"],
.admin-interface #changelist #changelist-search .quiet {
margin-left: 8px;
}
.admin-interface #changelist #changelist-search label img {
vertical-align: text-top;
margin-right: 0px;
}
}
@media (max-width: 1024px) {
.admin-interface #changelist #toolbar {
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
/* fixed changelist search size when there are search results and .quiet is visible */
.admin-interface #changelist-search label img {
margin-top: 2px;
}
.admin-interface #changelist-search .quiet {
margin: 0 0 0 10px;
align-self: center;
flex-basis: content;
}
}
@@ -0,0 +1,14 @@
.admin-interface fieldset.collapse {
border: 1px solid transparent;
}
.admin-interface fieldset.collapse.collapsed a.collapse-toggle,
.admin-interface fieldset.collapse a.collapse-toggle,
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle,
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle {
font-weight: normal;
text-transform: lowercase;
font-size: 12px;
text-decoration: underline;
padding: 0 1px;
}
@@ -0,0 +1,52 @@
.admin-interface .file-thumbnail > a {
display: inline-block;
}
.admin-interface .aligned p.file-upload {
display: table;
margin-left: 0;
}
.admin-interface form .form-row p.file-upload > a {
margin-right: 20px;
}
.admin-interface form .form-row p.file-upload .clearable-file-input {
display: inline-block;
}
.admin-interface form .form-row p.file-upload .clearable-file-input label {
padding-bottom: 0px;
margin-left: 5px;
}
.admin-interface form .form-row p.file-upload > input[type="file"] {
margin-top: 0px;
}
@media (max-width:767px){
.admin-interface form .form-row p.file-upload {
width: 100%;
}
.admin-interface form .form-row p.file-upload > a {
margin-right: 0px;
display: block;
white-space: pre-wrap;
word-break: break-word;
}
.admin-interface form .form-row p.file-upload .clearable-file-input {
display: block;
margin-top: 10px;
margin-left: 0;
margin-bottom: -10px;
}
.admin-interface form .form-row p.file-upload > input[type="file"] {
display: block;
width: auto;
padding: 0px;
}
}
@@ -0,0 +1,50 @@
.admin-interface #header {
height: auto;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
}
@media (max-width:1024px) {
.admin-interface #header {
align-items: start;
}
}
.admin-interface #branding h1 img.logo {
margin-top: 10px;
margin-bottom: 10px;
margin-right: 15px;
display: inline-block !important; /* override inline display:none; */
}
.admin-interface #branding h1 span {
display: inline-block;
}
.admin-interface #branding h1 img.logo+span {
white-space: nowrap;
}
.admin-interface #user-tools {
margin-top: 10px;
margin-bottom: 10px;
white-space: nowrap;
align-self: flex-start;
}
.admin-interface #user-tools br {
display: none;
}
@media (max-width: 768px) {
.admin-interface #user-tools br {
display: block;
}
}
/* hide theme toggle button until dark theme will be supported */
.admin-interface #user-tools button.theme-toggle {
display: none;
}
@@ -0,0 +1,105 @@
/* begin fix help text icon on newline */
.admin-interface .inline-group thead th {
white-space:nowrap;
}
.admin-interface .inline-group thead th img {
vertical-align: -2px;
margin-left: 5px;
}
.admin-interface .inline-group .inlinechangelink {
margin-left: 10px;
}
.admin-interface .inline-group .inline-related.tabular .inlinechangelink {
background-size: contain;
}
/* end fix */
/* begin fix restrict tabular-inline horizontal-scroll to inline-group instead of whole page */
.admin-interface .inline-group[data-inline-type="tabular"] {
overflow-x: auto;
}
/* end fix */
/* begin fix stacked-inline margin-bottom in responsive small viewport */
.admin-interface .inline-group[data-inline-type="stacked"] .module {
margin-bottom: 0px;
}
/* end fix */
/* begin fix tabular inlines horizontal scroll */
.admin-interface .inline-related.tabular {
overflow-x: scroll;
overflow-y: hidden;
}
.admin-interface .inline-related.tabular fieldset.module {
display: contents;
width: 100%;
white-space: nowrap;
position: relative;
}
.admin-interface .inline-related.tabular fieldset.module h2 {
position: sticky;
left: 0;
}
.admin-interface .inline-related.tabular fieldset.module table {
scrollbar-width: thin;
}
.admin-interface .inline-related.tabular fieldset.module table tbody tr {
position: relative;
}
/* end fix */
.admin-interface .inline-related h3 {
padding: 6px 10px;
}
/* begin fix issue #12 - Inlines bad delete buttons alignement */
.admin-interface .inline-group .tabular thead th:last-child:not([class]):not([style]) {
text-align: right;
}
.admin-interface .inline-group .tabular tr td {
vertical-align: top;
}
.admin-interface .inline-group .tabular tr td.delete {
text-align: right;
padding-right: 15px;
vertical-align: top;
}
.admin-interface .inline-group .tabular tr td input[type="checkbox"] {
margin: 7px 0px;
}
.admin-interface .inline-group .tabular tr td.delete a.inline-deletelink {
margin-top: 4px;
overflow: hidden;
text-indent: 9999px;
}
/* end fix */
/* begin fix remove button at the end od dynamically added inline rows */
.admin-interface .inline-group .tabular tr td:not(.delete) * + div:has(> a.inline-deletelink) {
display: inline-block;
margin-bottom: -3px;
margin-left: 10px;
}
/* end fix */
/* begin fix issue #13 - Datetime widget broken in long inlines */
.admin-interface .inline-group .inline-related p.datetime {
white-space: nowrap;
}
/* end fix */
/* begin fix inline horizontal scroll caused by checkbox-row */
@media (max-width:767px){
.admin-interface form .form-row > div.checkbox-row {
width: 100%;
}
}
/* end fix */
@@ -13,27 +13,127 @@ backward compatibility:
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
position: absolute;
left: -99999999px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.ui-helper-clearfix {
display: inline-block;
}
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
.ui-state-disabled { cursor: default !important; }
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
* html .ui-helper-clearfix {
height: 1%;
}
.ui-helper-clearfix {
display: block;
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter: Alpha(Opacity=0);
}
.ui-state-disabled {
cursor: default !important;
}
.ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}
/* http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/base/jquery.ui.tabs.css */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active, .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-widget-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-tabs {
position: relative;
padding: .2em;
zoom: 1;
}
/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav {
margin: 0;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
list-style: none;
float: left;
position: relative;
top: 1px;
margin: 0 .2em 1px 0;
border-bottom: 0 !important;
padding: 0;
white-space: nowrap;
}
.ui-tabs .ui-tabs-nav li a {
float: left;
padding: .5em 1em;
text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active, .ui-tabs .ui-tabs-nav li.ui-tabs-selected {
margin-bottom: 0;
padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a {
cursor: text;
}
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a {
cursor: pointer;
}
/* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel {
display: block;
border-width: 0;
padding: 1em 1.4em;
background: none;
}
.ui-tabs .ui-tabs-hide {
position: absolute;
display: none;
@@ -55,12 +155,15 @@ backward compatibility:
padding: 10px 0 0 10px;
border-bottom: none;
}
.admin-interface .ui-tabs .ui-tabs-nav li {
margin: 0 0 0 -1px;
}
.admin-interface .ui-tabs .ui-tabs-nav li.required {
font-weight: bold;
}
.admin-interface .ui-tabs .ui-tabs-nav li a {
border: 1px solid #eeeeee;
background-color: #f8f8f8;
@@ -86,7 +189,7 @@ backward compatibility:
margin-bottom: -1px;
font-weight: bold;
background-color: #FFFFFF;
color: {{ theme.css_module_background_color }};
color: var(--admin-interface-module-background-color);
border-bottom: 1px solid #FFFFFF;
}
@@ -107,7 +210,7 @@ backward compatibility:
}
.admin-interface .inline-group .tabular tr td {
vertical-align: bottom;
vertical-align: top;
}
.admin-interface .inline-group .tabular tr.has_original td.original,
@@ -0,0 +1,72 @@
.admin-interface .language-chooser {
display: inline-block;
position: absolute;
top: 15px;
right: 15px;
z-index: 10;
}
@media (min-width: 768px) {
.admin-interface .language-chooser {
right: 30px;
}
}
@media (min-width: 1024px) {
.admin-interface .language-chooser {
position: static;
margin-left: 20px;
}
}
.admin-interface .language-chooser .language-chooser-hidden-form {
display: none;
}
.admin-interface .language-chooser .language-chooser-select-form {
display: inline-block;
position: relative;
z-index: 0;
}
.admin-interface .language-chooser select {
width: auto;
min-width: auto;
}
.admin-interface .language-chooser.minimal .language-chooser-select-form::after {
content: "";
position: absolute;
right: 2px;
top: 50%;
border: solid var(--admin-interface-header-text-color);
border-width: 0px 0px 1px 1px;
display: inline-block;
padding: 2px;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
pointer-events: none;
margin-top: -4px;
}
.admin-interface .language-chooser.minimal .language-chooser-select-form:hover select {
border-bottom: 1px solid transparent;
color: var(--admin-interface-header-link-hover-color);
}
.admin-interface .language-chooser.minimal select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: transparent;
border: none;
border-bottom: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 0;
color: var(--admin-interface-header-link-color);
cursor: pointer;
font-weight: inherit;
font-size: inherit;
height: auto;
margin: 0;
padding: 0 15px 0 0;
}
@@ -0,0 +1,27 @@
/*
list-filter-dropdown
*/
.admin-interface #changelist-filter .list-filter-dropdown {
margin-top: 15px;
margin-bottom: 15px;
}
.admin-interface #changelist-filter h2 + .list-filter-dropdown,
.admin-interface #changelist-filter .list-filter-dropdown + .list-filter-dropdown {
margin-top: 5px;
}
.admin-interface #changelist-filter .list-filter-dropdown h3 {
margin-top: 0 !important;
}
.admin-interface #changelist-filter .list-filter-dropdown select {
background-color: #FFFFFF;
width: calc(100% - 30px);
margin-right: 15px;
}
.admin-interface.list-filter-highlight #changelist-filter .list-filter-dropdown h3.active + div select {
font-weight: bold;
}
@@ -0,0 +1,28 @@
.admin-interface .module.filtered h2 {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.admin-interface .module.filtered #changelist-filter {
min-width: 240px;
}
@media (max-width: 1024px) {
.admin-interface .module.filtered #changelist-filter {
min-width: 200px;
}
}
.admin-interface .module.filtered #changelist-filter h2 {
font-size: 11px;
padding: 10px 15px;
}
.admin-interface .module.filtered #changelist-filter h2 + h3 {
margin-top: 0px;
}
.admin-interface .module.filtered #changelist-filter h3 {
margin-top: 12px;
margin-bottom: 12px;
}
@@ -0,0 +1,65 @@
.admin-interface.login #container {
width: 100%;
max-width: 360px;
margin: 15px auto;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.admin-interface.login #content {
padding: 15px 30px 30px 30px;
}
@media (min-width:768px){
.admin-interface.login #container {
margin: 90px auto;
}
}
.admin-interface.login #header {
min-height: auto;
padding: 10px 30px;
line-height: 30px;
align-items: center;
justify-content: flex-start;
}
.admin-interface.login #header #branding h1 {
margin-right:0;
}
.admin-interface.login #header #branding h1 img.logo {
margin-right: 0;
}
.admin-interface.login #header #branding h1 img.logo+span {
display: block;
}
.admin-interface.login #login-form {
display: flex;
flex-direction: column;
}
.admin-interface.login .submit-row {
float: left;
width: 100%;
margin-top: 20px;
padding-top: 0;
padding-left: 0;
text-align: right;
}
.admin-interface.login .submit-row label {
display: none;
}
.admin-interface.login .submit-row input[type="submit"] {
width: 100%;
text-transform: uppercase;
}
.admin-interface.login #footer {
display: none;
}
@@ -0,0 +1,12 @@
/* begin fix lateral padding to align text with field labels */
.admin-interface .module h2,
.admin-interface.dashboard .module caption,
.admin-interface.dashboard .module th,
.admin-interface .module.filtered h2,
.admin-interface .inline-group h2,
.admin-interface #nav-sidebar .module caption,
.admin-interface #nav-sidebar .module th {
padding-left: 10px;
padding-right: 10px;
}
/* end fix */
@@ -0,0 +1,78 @@
/* fix nav-sidebar (added in django 3.1.0) */
.admin-interface #toggle-nav-sidebar {
top: 10px;
left: 0;
z-index: 20;
flex: 0 0 30px;
width: 30px;
height: 45px;
margin-top: 10px;
margin-right: -30px;
background-color: #FFFFFF;
font-size: 16px;
border: 1px solid #eaeaea;
border-left: none;
outline: none;
-webkit-box-shadow: 4px 4px 8px -4px #DBDBDB;
-moz-box-shadow: 4px 4px 8px -4px #DBDBDB;
box-shadow: 4px 4px 8px -4px #DBDBDB;
/*transition: left .3s;*/
}
.admin-interface .toggle-nav-sidebar::before {
margin-top: -2px;
}
.admin-interface .main > #nav-sidebar + .content,
.admin-interface .main.shifted > #nav-sidebar + .content {
max-width: 100%;
}
/* hide nav-sidebar below 1280px to prevent horizontal overflow issues */
@media (max-width:1279px) {
.admin-interface #nav-sidebar,
.admin-interface #toggle-nav-sidebar {
display: none;
}
}
.admin-interface #nav-sidebar {
flex: 0 0 360px;
left: -360px;
margin-left: -360px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
padding: 40px 40px 40px 40px;
border-top: none;
border-bottom: none;
border-left: none;
scrollbar-width: thin;
/*transition: left .3s, margin-left .3s;*/
}
.admin-interface #nav-filter {
background-color: transparent;
border-radius: 4px;
height: 30px;
margin: 0 0 30px 0;
padding: 5px 6px;
outline-width: initial;
}
@media (min-width:1280px) {
.admin-interface #main.shifted > #toggle-nav-sidebar {
left: 359px;
}
.admin-interface #main.shifted > #nav-sidebar {
left: 0px;
margin-left: 0;
}
.admin-interface #main:not(.shifted) > .content {
max-width: 100%;
}
.admin-interface.change-list:not(.popup) #main.shifted > #nav-sidebar + .content,
.admin-interface.change-form:not(.popup) #main.shifted > #nav-sidebar + .content {
max-width: calc(100% - 360px);
}
}
@@ -0,0 +1,10 @@
/* top-right buttons color on hover -> just a lighten grey */
.admin-interface .object-tools a {
color: #FFFFFF;
}
.admin-interface .object-tools a:focus,
.admin-interface .object-tools a:hover,
.admin-interface .object-tools li:focus a,
.admin-interface .object-tools li:hover a {
background-color: #AAAAAA;
}
@@ -0,0 +1,33 @@
.admin-interface #changelist .paginator {
margin-top: -1px; /* merge 2 borders into 1 */
line-height: 1.5em;
padding-top: 12px;
padding-bottom: 12px;
}
.admin-interface .paginator a,
.admin-interface .paginator a:link,
.admin-interface .paginator a:visited,
.admin-interface .paginator .this-page {
padding: 7px 12px;
}
.admin-interface .paginator a,
.admin-interface .paginator .this-page {
margin-left: 0px;
}
.admin-interface .paginator .this-page,
.admin-interface .paginator a.end {
margin-right: 25px;
}
.admin-interface .paginator .this-page + a:not(.showall) {
margin-left: -25px;
}
body.admin-interface .paginator a.showall,
body.admin-interface .paginator a.showall:link,
body.admin-interface .paginator a.showall:visited {
margin-left: 20px;
}
@@ -0,0 +1,10 @@
.admin-interface.dashboard #content {
width: auto;
max-width: 600px;
margin-right: 0;
margin-left: 0;
}
.admin-interface.dashboard #content #recent-actions-module {
display: none;
}
@@ -16,7 +16,7 @@
white-space: nowrap;
text-overflow: ellipsis;
border-radius: 0;
border-top: 1px solid #EEEEEE;
border-top: 1px solid #EEEEEE !important;
border-bottom: none;
margin: 0;
}
@@ -92,4 +92,4 @@
.admin-interface.sticky-submit.change-form:not(.popup) #main.shifted > #nav-sidebar + .content .submit-row:last-of-type {
width: calc(100% - 359px);
}
}
}
@@ -0,0 +1,67 @@
.admin-interface .tabbed-changeform-tabs {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: thin;
padding-bottom: 15px;
}
@-moz-document url-prefix() {
.admin-interface .tabbed-changeform-tabs {
padding-bottom: 13px;
}
}
.admin-interface .tabbed-changeform-tabs .tabbed-changeform-tablink {
appearance: none;
-webkit-appearance: none;
border: 1px solid transparent;
border-bottom: 1px solid var(--border-color);
border-radius: var(--admin-interface-module-border-radius);
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
flex-shrink: 0;
flex-grow: 0;
cursor: pointer;
padding: 10px 15px;
margin: 0;
background-color: var(--admin-interface-module-header-text-color);
color: var(--admin-interface-generic-link-color);
font-size: 13px;
font-weight: bold;
outline: none !important;
}
.admin-interface .tabbed-changeform-tabs .tabbed-changeform-tablink + .tabbed-changeform-tablink {
margin-left: -1px;
}
.admin-interface .tabbed-changeform-tabs .tabbed-changeform-tablink:hover {
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface .tabbed-changeform-tabs .tabbed-changeform-tablink:focus {
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface .tabbed-changeform-tabs .tabbed-changeform-tablink.active {
border: 1px solid var(--border-color);
border-bottom: 1px solid transparent;
color: var(--admin-interface-generic-link-active-color);
}
.admin-interface .tabbed-changeform-tabs-remaining-space {
flex: 1;
border-bottom: 1px solid var(--border-color);
}
.admin-interface .tabbed-changeform-tabcontent {
display: none;
padding: 1em 0;
}
.admin-interface .tabbed-changeform-tabcontent.active {
display: block;
}
@@ -123,4 +123,4 @@ https://github.com/Ikimea/ckeditor-light-theme
.admin-interface .tabular .cke_contents {
height: 90px !important;
}
}
}
@@ -0,0 +1,7 @@
/* Fix left/right scrolling broken with django-import-export #165 */
.admin-interface table.import-preview {
display: block;
width: 100%;
max-width: 100%;
overflow: auto;
}
@@ -4,26 +4,24 @@ https://github.com/jmrivas86/django-json-widget
*/
.admin-interface div.jsoneditor {
border: 1px solid {{ theme.css_module_background_color }};
{% if theme.css_module_rounded_corners %}
border-radius: 4px;
overflow: hidden;
{% endif %}
border: 1px solid var(--admin-interface-module-background-color);
border-radius: var(--admin-interface-jsoneditor-border-radius);
overflow: var(--admin-interface-jsoneditor-overflow);
}
.admin-interface div.jsoneditor-menu {
background-color: {{ theme.css_module_background_color }};
border-bottom: 1px solid {{ theme.css_module_background_color }};
background-color: var(--admin-interface-module-background-color);
border-bottom: 1px solid var(--admin-interface-module-background-color);
}
.admin-interface div.jsoneditor-menu a.jsoneditor-poweredBy {
color: {{ theme.css_module_link_color }};
color: var(--admin-interface-module-link-color);
}
.admin-interface div.jsoneditor-contextmenu ul li button.jsoneditor-selected,
.admin-interface div.jsoneditor-contextmenu ul li button.jsoneditor-selected:focus,
.admin-interface div.jsoneditor-contextmenu ul li button.jsoneditor-selected:hover {
background-color: {{ theme.css_module_background_selected_color }};
background-color: var(--admin-interface-module-background-selected-color);
color: #000000;
font-weight: bold;
}
@@ -0,0 +1,25 @@
.admin-interface #changelist-filter .admindatefilter {
border-bottom: 1px solid var(--hairline-color);
}
.admin-interface #changelist-filter .admindatefilter .button,
.admin-interface #changelist-filter .admindatefilter .submit-row input,
.admin-interface #changelist-filter .admindatefilter a.button,
.admin-interface #changelist-filter .admindatefilter input[type="submit"],
.admin-interface #changelist-filter .admindatefilter input[type="button"],
.admin-interface #changelist-filter .admindatefilter input[type="reset"] {
background: var(--admin-interface-module-background-color);
color: var(--admin-interface-module-link-color);
padding: 6px 10px;
font-size: 12px;
margin-right: 4px;
}
.admin-interface #changelist-filter .admindatefilter .button:hover,
.admin-interface #changelist-filter .admindatefilter .submit-row input:hover,
.admin-interface #changelist-filter .admindatefilter a.button:hover,
.admin-interface #changelist-filter .admindatefilter input[type="submit"]:hover,
.admin-interface #changelist-filter .admindatefilter input[type="button"]:hover,
.admin-interface #changelist-filter .admindatefilter input[type="reset"]:hover {
color: var(--admin-interface-module-link-hover-color);
}
@@ -0,0 +1,220 @@
/*
django-streamfield support
https://github.com/raagin/django-streamfield/
*/
.admin-interface .form-row.field-stream {
margin: 0;
padding: 0;
border-bottom: none;
}
.admin-interface .form-row.field-stream label[for=id_stream] {
display: none;
}
.admin-interface .streamfield_app {
clear: both;
width: 100%;
}
.admin-interface .streamfield_app .stream-help-text {
margin-bottom: 15px;
display: flex;
flex-direction: column;
clear: both;
}
.admin-interface .streamfield_app .stream-help-text .stream-help-text__title {
align-self: flex-end;
user-select: none;
padding: 8px;
padding-right: 0;
color: var(--admin-interface-generic-link-color);
}
.admin-interface .streamfield_app .stream-help-text .stream-help-text__title:hover {
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface .streamfield_app .stream-help-text .stream-help-text__content {
background: var(--admin-interface-module-background-selected-color);
border-radius: var(--admin-interface-module-border-radius);
border: 1px solid rgba(0,0,0,0.1);
padding: 15px;
}
.admin-interface .streamfield_app .stream-help-text .stream-help-text__content > ul {
margin: 0;
padding: 0;
}
.admin-interface .streamfield_app .collapse-handlers .collapse-handler {
user-select: none;
padding: 8px;
padding-right: 0;
margin: 0 0 5px 0;
color: var(--admin-interface-generic-link-color);
text-decoration: none;
}
.admin-interface .streamfield_app .collapse-handlers .collapse-handler:hover {
color: var(--admin-interface-generic-link-hover-color);
text-decoration: underline;
}
.admin-interface .streamfield_app .stream-model-block {
position: relative;
box-shadow: none;
border: 1px solid rgba(0,0,0,0.1);
border-radius: var(--admin-interface-module-border-radius);
overflow: hidden;
}
.admin-interface .streamfield_app .stream-model-block,
.admin-interface .streamfield_app .streamfield-models.collapsed .stream-model-block {
margin-bottom: 10px;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin: 0;
padding: 10px 10px 10px 20px;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block__model_title {
white-space: nowrap;
flex-shrink: 0;
margin-right: 20px;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title span {
font-size: 18px;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle {
position: static;
right: 0;
top: 0;
color: var(--admin-interface-generic-link-color);
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle:hover {
color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle {
display: flex;
justify-content: center;
align-items: center;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle .block-move,
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle .block-delete {
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
font-weight: normal;
background: none;
flex-shrink: 0;
color: inherit;
font-size: 16px;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle .block-move {
cursor: move; /* fallback if grab cursor is unsupported */
cursor: grab;
cursor: -moz-grab;
cursor: -webkit-grab;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle .block-move:before {
content: "↕";
display: block;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__title .streamblock__block-handle .block-delete:before {
content: "×";
display: block;
font-size: 18px;
}
.admin-interface .streamfield_app .stream-model-block .streamblock__block__subtitle {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
flex-shrink: 1;
margin-right: 10px;
}
.admin-interface .streamfield_app .block-fields > div {
margin-bottom: 15px;
}
.admin-interface .streamfield_app .stream-model-block .stream-model-block__content {
background-color: #f8f8f8;
padding: 20px;
}
.admin-interface .streamfield_app .stream-model-block .stream-model-block__content.no-subblocks.abstract-block {
display: none;
}
.admin-interface .streamfield_app .stream-model-block .add_here {
display: none !important;
}
.admin-interface .streamfield_app .stream-insert-new-block {
margin-bottom: 20px;
}
.admin-interface .streamfield_app .stream-insert-new-block .add-new-block-button {
color: var(--admin-interface-generic-link-color);
text-decoration: none;
}
.admin-interface .streamfield_app .stream-insert-new-block .add-new-block-button:hover {
color: var(--admin-interface-generic-link-hover-color);
text-decoration: underline;
}
.admin-interface .streamfield_app .stream-insert-new-block ul {
display: block;
width: 100%;
margin: 10px 0 0 0;
padding: 0;
user-select: none;
}
.admin-interface .streamfield_app .stream-insert-new-block ul li {
display: inline-block;
font-size: 12px;
margin: 0;
padding: 0;
}
.admin-interface .streamfield_app .stream-btn {
font-weight: normal;
text-decoration: none;
background-color: var(--admin-interface-generic-link-color);
padding: 6px 12px;
border-radius: 4px;
}
.admin-interface .streamfield_app .stream-btn:hover {
text-decoration: none;
background-color: var(--admin-interface-generic-link-hover-color);
}
.admin-interface .streamfield_app .stream-insert-new-block ul li .stream-btn {
margin-top: 5px;
margin-left: 5px;
}
@@ -1,3 +1,3 @@
.admin-interface textarea.tinymce ~ p.help {
margin-top:5px !important;
}
}
@@ -0,0 +1,153 @@
/* fix generic flex container */
.admin-interface .flex-container {
width: 100%;
}
/* end-fix */
/* fix flex container for boolean fields */
.admin-interface .flex-container.checkbox-row {
align-items: center;
}
.admin-interface .flex-container.checkbox-row label.vCheckboxLabel {
margin-top: 0 !important;
padding-left: 5px !important;
padding-bottom: 0;
}
/* end-fix */
/* fix flex container for related-lookup (raw_id_fields) */
.admin-interface .flex-container:has(.vForeignKeyRawIdAdminField) {
align-items: center;
}
.admin-interface .flex-container:has(.vForeignKeyRawIdAdminField) .related-lookup {
margin-left: 12px;
}
.admin-interface .flex-container:has(.vForeignKeyRawIdAdminField) .related-lookup + * {
margin-left: 8px;
}
/* end-fix */
/* fix flex container input fields height inheritance */
.admin-interface .flex-container label + input[type="text"],
.admin-interface .flex-container label + input[type="password"],
.admin-interface .flex-container label + input[type="email"],
.admin-interface .flex-container label + input[type="url"],
.admin-interface .flex-container label + input[type="number"],
.admin-interface .flex-container label + input[type="tel"] {
height: 1.375em;
}
/* end-fix */
/* fixed time widget header border radius */
.admin-interface .clockbox.module h2 {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
/* end-fix */
/* fixed related widget and select2 */
/* begin fix issue #10 - Related widget broken in long tabular inline */
.admin-interface .related-widget-wrapper {
display: flex;
flex-wrap: nowrap;
white-space: nowrap;
height: fit-content;
}
/* end fix */
/* fix related widget links icons size and vertical alignment */
.admin-interface .related-widget-wrapper .related-widget-wrapper-link {
display: flex;
align-items: center;
margin-bottom: 4px;
}
.admin-interface .related-widget-wrapper .related-widget-wrapper-link img {
width: 16px;
height: 16px;
}
/* end fix */
/* fix related widget links add button position on many-to-many selector */
.admin-interface .related-widget-wrapper .related-widget-wrapper-link:has(+ .selector) {
order: 2;
align-self: flex-start;
margin-top: 8px;
}
/* end fix */
/* fix related widget links margin from select2 (autocomplete_fields) */
.admin-interface .related-widget-wrapper .select2-container + .related-widget-wrapper-link {
margin-left: 12px !important;
}
/* end fix */
/* improve responsive selector */
/* fix [stacked, not-stacked] equalize horizontal and vertical select padding for selector */
.admin-interface .selector .selector-available select,
.admin-interface .selector .selector-chosen select {
padding: 7px 10px;
display: block;
}
/* fix [stacked, not-stacked] select options text overflow */
.admin-interface .selector .selector-available select option,
.admin-interface .selector .selector-chosen select option {
overflow: hidden;
text-overflow: ellipsis;
}
/* fix [not-stacked] equalize selectors height by adding the height of the .selector-available filter-bar */
.admin-interface .selector:not(.stacked) .selector-chosen select {
height: calc(46px + 17.2em) !important;
}
@media (max-width: 767px) {
/* fixed responsive widgets */
.admin-interface .aligned.collapsed .form-row {
display: none;
}
.admin-interface .aligned .form-row > div {
display: flex;
width: 100%;
max-width: 100vw;
flex-direction: column;
align-items: flex-start;
}
.admin-interface .aligned .form-row .help {
margin-left: 0;
}
.admin-interface .aligned .form-row .checkbox-row label {
margin: 10px 0 0 0;
padding: 0;
}
.admin-interface .aligned .form-row input[type="file"],
.admin-interface .aligned .form-row input[type="text"],
.admin-interface .aligned .form-row input[type="email"] {
width: 100%;
}
/* fix textarea horizontal scroll on Firefox */
.admin-interface .aligned .form-row textarea {
width: 100% !important;
flex: 0 1 auto;
}
.admin-interface .aligned .form-row .datetime input[type="text"] {
width: 50%;
}
.admin-interface .aligned .form-row span + .file-upload {
margin-top: 10px;
}
.admin-interface .aligned .form-row .file-upload input[type="file"] {
margin-top: 5px;
}
}
@@ -31,7 +31,7 @@
right: 0;
z-index: 10;
width: auto;
height: 100%;
height: calc(100% - 3px);
content: "";
font-size: 16px;
font-weight: lighter;
@@ -1507,7 +1507,7 @@
}
},
// Get element postion relative to viewport
// Get element position relative to viewport
_getOffset: function(isLarge) {
var el;
if(isLarge) {
@@ -1808,7 +1808,7 @@
_mfpTrigger('LazyLoad', item);
if(item.type === 'image') {
item.img = $('<img class="mfp-img" />').on('load.mfploader', function() {
item.img = $('<img class="mfp-img">').on('load.mfploader', function() {
item.hasSize = true;
}).on('error.mfploader', function() {
item.hasSize = true;
@@ -1864,4 +1864,4 @@
/*>>retina*/
_checkInstance();
}));
}));
@@ -3,15 +3,15 @@ related modal + magnific popup customization
https://github.com/dimsemenov/Magnific-Popup
*/
.admin-interface .related-modal.mfp-bg {
background-color: {{ theme.related_modal_background_color }};
opacity: {{ theme.related_modal_background_opacity }};
background-color: var(--admin-interface-related-modal-background-color);
opacity: var(--admin-interface-related-modal-background-opacity);
}
.admin-interface .related-modal .mfp-content {
height: 100%;
-webkit-box-shadow: 0px 5px 30px 0px rgba(0,0,0,0.2);
-moz-box-shadow: 0px 5px 30px 0px rgba(0,0,0,0.2);
box-shadow: 0px 5px 30px 0px rgba(0,0,0,0.2);
-webkit-box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.2);
box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.2);
}
.admin-interface .related-modal .mfp-container {
@@ -22,20 +22,22 @@ https://github.com/dimsemenov/Magnific-Popup
padding: 40px 80px 40px 80px;
}
@media (max-width:640px){
@media (max-width: 640px) {
.admin-interface .related-modal .mfp-container {
padding: 80px 20px 80px 20px;
}
.admin-interface .related-modal__nested .mfp-container {
padding: 40px 40px 40px 40px;
}
}
@media (max-height:640px){
@media (max-height: 640px) {
.admin-interface .related-modal .mfp-container {
padding-top: 20px;
padding-bottom: 20px;
}
.admin-interface .related-modal__nested .mfp-container {
padding: 40px 40px 40px 40px;
}
@@ -48,9 +50,7 @@ https://github.com/dimsemenov/Magnific-Popup
position: relative;
z-index: 100;
overflow: hidden;
{% if theme.related_modal_rounded_corners %}
border-radius: 4px;
{% endif %}
border-radius: var(--admin-interface-related-modal-border-radius);
}
.admin-interface .related-modal #related-modal-iframe {
@@ -72,9 +72,7 @@ https://github.com/dimsemenov/Magnific-Popup
height: 40px;
opacity: 1.0;
color: rgba(0, 0, 0, 0.4);
{% if not theme.related_modal_close_button_visible %}
display: none;
{% endif %}
display: var(--admin-interface-related-modal-close-button-display);
}
.admin-interface .related-modal .mfp-close:hover,
@@ -70,7 +70,7 @@ if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined')
}
}
// fix for django 1.7
// fix for django 1.7 TODO remove
if (iframeSrc.indexOf('_popup=1') === -1) {
if (iframeSrc.indexOf('?') === -1) {
iframeSrc += '?_popup=1';
@@ -125,26 +125,22 @@ if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined')
var data = {
lookup:(lookup === true ? true : false)
};
// remove potential existing click event listener
var el = $(selector);
el.removeAttr('onclick');
el.unbind('click');
el.click(data, presentRelatedObjectModal);
// listen the event on document for handling it on elements will be added to the DOM later
$(document).on('click', selector, data, presentRelatedObjectModal);
}
// assign functions to global variables
window.presentRelatedObjectModal = presentRelatedObjectModal;
window.presentRelatedObjectModalOnClickOn = presentRelatedObjectModalOnClickOn;
// django 1.7 compatibility
// $('a.add-another').removeAttr('onclick').click({ lookup:false }, presentRelatedObjectModal);
presentRelatedObjectModalOnClickOn('a.add-another');
// django 1.8 and above
// $('a.related-widget-wrapper-link').click({ lookup:false }, presentRelatedObjectModal);
presentRelatedObjectModalOnClickOn('a.related-widget-wrapper-link');
// raw_id_fields support
// $('a.related-lookup').unbind('click').click({ lookup:true }, presentRelatedObjectModal);
presentRelatedObjectModalOnClickOn('a.related-lookup', true);
// django-dynamic-raw-id support - #61
@@ -153,6 +149,22 @@ if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined')
// show_change_link=True support
presentRelatedObjectModalOnClickOn('a.inlinechangelink');
// any link with _popup=1 parameter support
presentRelatedObjectModalOnClickOn('a[href*="_popup=1"]');
// django-streamfield support
// https://github.com/raagin/django-streamfield/
presentRelatedObjectModalOnClickOn('.streamfield_app a.stream-btn[href*="_popup=1"]');
// Vanilla js for catching the click during capture phase for anticipating Vue.js listener.
document.addEventListener('click', function(event) {
// console.log('click intercepted before Vue.');
if (event.target.matches('.streamfield_app a.stream-btn[href*="_popup=1"]')) {
event.stopImmediatePropagation();
event.preventDefault();
$(event.target).trigger('click');
}
}, { capture: true });
});
})(django.jQuery);

Some files were not shown because too many files have changed in this diff Show More