mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-12 10:38:16 -06:00
raise a warning in the UI when translation is disabled
This commit is contained in:
parent
dadef1b32c
commit
c519817054
@ -23,7 +23,7 @@ PREFERENCES = {
|
|||||||
),
|
),
|
||||||
description=_('Enable dynamic UI navigation'),
|
description=_('Enable dynamic UI navigation'),
|
||||||
default=False,
|
default=False,
|
||||||
experimental=True
|
warning=_('Experimental feature')
|
||||||
),
|
),
|
||||||
'locale.language': UserPreference(
|
'locale.language': UserPreference(
|
||||||
label=_('Language'),
|
label=_('Language'),
|
||||||
@ -31,7 +31,12 @@ PREFERENCES = {
|
|||||||
('', _('Auto')),
|
('', _('Auto')),
|
||||||
*settings.LANGUAGES,
|
*settings.LANGUAGES,
|
||||||
),
|
),
|
||||||
description=_('Forces UI translation to the specified language.')
|
description=_('Forces UI translation to the specified language.'),
|
||||||
|
warning=(
|
||||||
|
f"Translation is globally disabled inside configuration.py"
|
||||||
|
if not settings.ENABLE_TRANSLATION
|
||||||
|
else ''
|
||||||
|
)
|
||||||
),
|
),
|
||||||
'pagination.per_page': UserPreference(
|
'pagination.per_page': UserPreference(
|
||||||
label=_('Page length'),
|
label=_('Page length'),
|
||||||
|
@ -92,6 +92,7 @@ DEVELOPER = getattr(configuration, 'DEVELOPER', False)
|
|||||||
DJANGO_ADMIN_ENABLED = getattr(configuration, 'DJANGO_ADMIN_ENABLED', False)
|
DJANGO_ADMIN_ENABLED = getattr(configuration, 'DJANGO_ADMIN_ENABLED', False)
|
||||||
DOCS_ROOT = getattr(configuration, 'DOCS_ROOT', os.path.join(os.path.dirname(BASE_DIR), 'docs'))
|
DOCS_ROOT = getattr(configuration, 'DOCS_ROOT', os.path.join(os.path.dirname(BASE_DIR), 'docs'))
|
||||||
EMAIL = getattr(configuration, 'EMAIL', {})
|
EMAIL = getattr(configuration, 'EMAIL', {})
|
||||||
|
ENABLE_TRANSLATION = getattr(configuration, 'ENABLE_TRANSLATION', True)
|
||||||
EVENTS_PIPELINE = getattr(configuration, 'EVENTS_PIPELINE', (
|
EVENTS_PIPELINE = getattr(configuration, 'EVENTS_PIPELINE', (
|
||||||
'extras.events.process_event_queue',
|
'extras.events.process_event_queue',
|
||||||
))
|
))
|
||||||
@ -156,7 +157,6 @@ SESSION_FILE_PATH = getattr(configuration, 'SESSION_FILE_PATH', None)
|
|||||||
STORAGE_BACKEND = getattr(configuration, 'STORAGE_BACKEND', None)
|
STORAGE_BACKEND = getattr(configuration, 'STORAGE_BACKEND', None)
|
||||||
STORAGE_CONFIG = getattr(configuration, 'STORAGE_CONFIG', {})
|
STORAGE_CONFIG = getattr(configuration, 'STORAGE_CONFIG', {})
|
||||||
TIME_ZONE = getattr(configuration, 'TIME_ZONE', 'UTC')
|
TIME_ZONE = getattr(configuration, 'TIME_ZONE', 'UTC')
|
||||||
USE_I18N = getattr(configuration, 'ENABLE_TRANSLATION', True)
|
|
||||||
|
|
||||||
# Load any dynamic configuration parameters which have been hard-coded in the configuration file
|
# Load any dynamic configuration parameters which have been hard-coded in the configuration file
|
||||||
for param in CONFIG_PARAMS:
|
for param in CONFIG_PARAMS:
|
||||||
@ -446,6 +446,8 @@ LOGIN_REDIRECT_URL = f'/{BASE_PATH}'
|
|||||||
# Use timezone-aware datetime objects
|
# Use timezone-aware datetime objects
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
USE_I18N = ENABLE_TRANSLATION
|
||||||
|
|
||||||
# WSGI
|
# WSGI
|
||||||
WSGI_APPLICATION = 'netbox.wsgi.application'
|
WSGI_APPLICATION = 'netbox.wsgi.application'
|
||||||
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
|
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
|
||||||
|
@ -40,11 +40,8 @@ class UserConfigFormMetaclass(forms.models.ModelFormMetaclass):
|
|||||||
help_text = f'<code>{field_name}</code>'
|
help_text = f'<code>{field_name}</code>'
|
||||||
if preference.description:
|
if preference.description:
|
||||||
help_text = f'{preference.description}<br />{help_text}'
|
help_text = f'{preference.description}<br />{help_text}'
|
||||||
if preference.experimental:
|
if warning := preference.warning:
|
||||||
help_text = (
|
help_text = f'<span class="text-danger"><i class="mdi mdi-alert"></i> {warning}</span><br />{help_text}'
|
||||||
f'<span class="text-danger"><i class="mdi mdi-alert"></i> Experimental feature</span><br />'
|
|
||||||
f'{help_text}'
|
|
||||||
)
|
|
||||||
field_kwargs = {
|
field_kwargs = {
|
||||||
'label': preference.label,
|
'label': preference.label,
|
||||||
'choices': preference.choices,
|
'choices': preference.choices,
|
||||||
|
@ -2,10 +2,10 @@ class UserPreference:
|
|||||||
"""
|
"""
|
||||||
Represents a configurable user preference.
|
Represents a configurable user preference.
|
||||||
"""
|
"""
|
||||||
def __init__(self, label, choices, default=None, description='', coerce=lambda x: x, experimental=False):
|
def __init__(self, label, choices, default=None, description='', coerce=lambda x: x, warning=''):
|
||||||
self.label = label
|
self.label = label
|
||||||
self.choices = choices
|
self.choices = choices
|
||||||
self.default = default if default is not None else choices[0]
|
self.default = default if default is not None else choices[0]
|
||||||
self.description = description
|
self.description = description
|
||||||
self.coerce = coerce
|
self.coerce = coerce
|
||||||
self.experimental = experimental
|
self.warning = warning
|
||||||
|
Loading…
Reference in New Issue
Block a user