{% extends 'dlux/base.html' %} {% load static %} {% load dlux_tags %} {% block title %}{{ DLUX_STRINGS.options_title }}{% endblock %} {% block extra_head %} {% include "dlux/forms/assets_head.html" %} {% endblock %} {% block content %}

{{ DLUX_STRINGS.options_title }}

{% if show_system_diagnostics or user.is_superuser %}

{{ DLUX_STRINGS.admin_panel_title|default:'Admin panel' }}

{% if user.is_superuser %}
{{ DLUX_STRINGS.control_link_title|default:'Control Panel' }}
{% endif %}

{{ DLUX_STRINGS.admin_panel_desc|default:'System status, updates, backups, and configuration.' }}

{% if show_system_diagnostics %}
{{ DLUX_STRINGS.system_info }}
{{ DLUX_STRINGS.storage }}
{{ disk_used }}GB / {{ disk_total }}GB
{{ DLUX_STRINGS.server_time }} {{ server_time_backend_display }}
{{ DLUX_STRINGS.python_version }} {{ python_version }}
{{ DLUX_STRINGS.django_version }} {{ django_version }}
{% if composer_version %}
{{ DLUX_STRINGS.composer_deployer_version }} {{ composer_version }}
{% endif %} {% if composer_agent_version %}
{{ DLUX_STRINGS.composer_agent_version }} {{ composer_agent_version }}
{% endif %}
{{ DLUX_STRINGS.admin_panel_more_details|default:'More system details' }}
{% if decrypter_version %} {% endif %} {% if drf_service %} {% endif %} {% if api_service %} {% endif %} {% if db_service %} {% endif %} {% if cache_service %} {% endif %} {% if email_service %} {% endif %} {% if celery_service %} {% endif %}
{{ DLUX_STRINGS.os_info }}: {{ os_info }}
{{ DLUX_STRINGS.decrypter_version }}: {{ decrypter_version }}
{{ DLUX_STRINGS.drf_version }}: {{ drf_service.version }}
{{ DLUX_STRINGS.api_status }}:
{{ api_service.label }}
{% if api_service.url %} {% endif %} {% if api_service.note %}
{{ api_service.note }}
{% endif %}
{{ DLUX_STRINGS.database }}:
{{ db_service.detail }} {{ db_service.label }}
{% if db_service.note %}
{{ db_service.note }}
{% endif %}
{{ DLUX_STRINGS.cache }}:
{{ cache_service.detail }} {{ cache_service.label }}
{% if cache_service.note %}
{{ cache_service.note }}
{% endif %}
{{ DLUX_STRINGS.email_label|default:"Email" }}:
{% if email_service.detail %} {{ email_service.detail }} {% endif %}
{{ email_service.note }}
{{ DLUX_STRINGS.tasks }}:
{% if celery_service.detail %} {{ celery_service.detail }} {% endif %} {{ celery_service.label }}
{{ celery_service.note }}
{{ DLUX_STRINGS.dlux_update_title|default:'Application updates' }}
{% if can_manage_dlux_updates %} {% else %} {% endif %} DjangoLux v{{ dlux_update_state.active_version|default:version }} {% if can_manage_dlux_updates %} {% endif %}
{% if can_manage_dlux_updates %} {% endif %} {{ DLUX_STRINGS.dlux_update_application|default:'Application' }} {% if dlux_update_state.baked_version %} {{ DLUX_STRINGS.dlux_update_baked_label|default:'baked dlux' }} v{{ dlux_update_state.baked_version }} {% endif %}
{{ dlux_update_state.latest_reason }} {{ DLUX_STRINGS.dlux_update_last_check|default:'Last check' }}: · {{ DLUX_STRINGS.dlux_update_image_label|default:'image' }}
{{ DLUX_STRINGS.dlux_update_skipped_label|default:'Skipped versions' }}:
{% if not dlux_update_state.enabled %}
{% if dlux_update_state.unavailable_reason %}{{ dlux_update_state.unavailable_reason }}{% else %}{{ DLUX_STRINGS.dlux_update_disabled|default:'Inline updates are not enabled for this deployment.' }}{% endif %}
{% endif %}
{% endif %} {% if user.is_superuser %}
{{ DLUX_STRINGS.sysbackup_title }}
{% with summary=system_backup_summary %}
{{ DLUX_STRINGS.sysbackup_last_backup }} {% if summary.latest_completed_backup and summary.latest_completed_backup.completed_at %} {{ summary.latest_completed_backup.completed_at|date:'Y-m-d H:i' }} {% elif summary.latest_backup %} {{ summary.latest_backup.created_at|date:'Y-m-d H:i' }} {% else %} {{ DLUX_STRINGS.sysbackup_never }} {% endif %}
{% endwith %} {{ DLUX_STRINGS.sysbackup_open }}
{% endif %}
{% if user.is_superuser %}
{{ DLUX_STRINGS.system_settings_label }}

{{ DLUX_STRINGS.system_settings_desc }}

{% for app_setting in dlux_app_settings %} {% endfor %} {{ DLUX_STRINGS.system_settings_export }}
{% endif %}
{% endif %} {% dlux_option_card slug="accessibility" icon="bi-eye" title=DLUX_STRINGS.accessibility desc=DLUX_STRINGS.accessibility_desc %}
{% enddlux_option_card %} {% if config.profile_config.allow_user_home_url %} {% dlux_option_card slug="landing-page" icon="bi-house-door" title=DLUX_STRINGS.options_landing_page|default:"Landing page" %}

{{ DLUX_STRINGS.options_landing_page_desc|default:"Where you land after signing in. Leave on system default to use the configured home." }}

{% for opt in user_home_url_options %} {% endfor %}
{% enddlux_option_card %} {% endif %} {% if options_theme_card_enabled or language_picker_enabled %} {% if APP_CONFIG.appearance.options_style == 'tabs' or DLUX_THEMES|length > 5 or LANGUAGES|length > 2 %} {% if options_theme_card_enabled %} {% dlux_option_card slug="theme" icon="bi-palette" title=DLUX_STRINGS.themes desc=DLUX_STRINGS.themes_desc %} {% include 'dlux/system/previews/theme.html' with selected_theme=user_preferences.theme|default:APP_CONFIG.default_theme picker_mode='options' %} {% enddlux_option_card %} {% endif %} {% if language_picker_enabled %} {% dlux_option_card slug="language" icon="bi-translate" title=DLUX_STRINGS.language desc=DLUX_STRINGS.language_desc %} {% if LANGUAGES|length > 1 %} {% include 'dlux/system/previews/language.html' with selected_language=CURRENT_LANG picker_mode='options' languages=LANGUAGES %} {% endif %} {% enddlux_option_card %} {% endif %} {% else %}
{% if options_theme_card_enabled %}

{{ DLUX_STRINGS.themes }}

{{ DLUX_STRINGS.themes_desc }}

{% include 'dlux/system/previews/theme.html' with selected_theme=user_preferences.theme|default:APP_CONFIG.default_theme picker_mode='options' %}
{% endif %} {% if options_theme_card_enabled %} {% if language_picker_enabled %}
{% endif %} {% endif %} {% if language_picker_enabled %}

{{ DLUX_STRINGS.language }}

{{ DLUX_STRINGS.language_desc }}

{% if LANGUAGES|length > 1 %} {% include 'dlux/system/previews/language.html' with selected_language=CURRENT_LANG picker_mode='options' languages=LANGUAGES %} {% endif %}
{% endif %}
{% endif %} {% endif %} {% if font_picker_enabled %} {% dlux_option_card slug="typography" icon="bi-fonts" title=DLUX_STRINGS.typography desc=DLUX_STRINGS.typography_desc %} {% include 'dlux/system/previews/font.html' with selected_font=active_font option_fonts=option_fonts %} {% enddlux_option_card %} {% endif %} {% dlux_option_card slug="table-density" icon="bi-table" title=DLUX_STRINGS.table_density|default:"Table Density" desc=DLUX_STRINGS.table_density_desc|default:"Control how much vertical space data tables use while you work." %} {% include 'dlux/system/previews/table_density.html' with selected_density=user_preferences.table_density|default:APP_CONFIG.default_table_density picker_mode='options' density_choices=DLUX_TABLE_DENSITIES DLUX_STRINGS=DLUX_STRINGS %} {% enddlux_option_card %} {% dlux_option_card slug="form-density" icon="bi-textarea-resize" title=DLUX_STRINGS.form_density|default:"Form Density" desc=DLUX_STRINGS.form_density_desc|default:"Control how much vertical space form fields use while you work." %} {% include 'dlux/system/previews/form_density.html' with selected_density=user_preferences.form_density|default:APP_CONFIG.appearance.default_form_density density_choices=DLUX_TABLE_DENSITIES DLUX_STRINGS=DLUX_STRINGS %} {% enddlux_option_card %} {% dlux_option_card slug="modal-size" icon="bi-window" title=DLUX_STRINGS.modal_size|default:"Modal Size" desc=DLUX_STRINGS.modal_size_desc|default:"Control the width of pop-up dialogs while you work." %} {% include 'dlux/system/previews/modal_size.html' with selected_size=user_preferences.modal_size|default:APP_CONFIG.appearance.default_modal_size size_choices=DLUX_MODAL_SIZES DLUX_STRINGS=DLUX_STRINGS %} {% enddlux_option_card %} {% if navbar.enabled and navbar.allow_user_mode_override %} {% dlux_option_card slug="navbar-mode" icon="bi-signpost-split" title=DLUX_STRINGS.navbar_options_title desc=DLUX_STRINGS.navbar_options_desc %} {% include 'dlux/system/previews/navbar_mode.html' with selected_mode=user_preferences.navbar_mode|default:navbar.default_mode DLUX_STRINGS=DLUX_STRINGS %} {% enddlux_option_card %} {% endif %} {% if sidebar_enabled and config.sidebar.allow_user_density %} {% dlux_option_card slug="sidebar-density" icon="bi-layout-sidebar-inset" title=DLUX_STRINGS.sidebar_density|default:"Sidebar Density" desc=DLUX_STRINGS.sidebar_density_desc|default:"Control how much vertical space the sidebar navigation uses while you work." %} {% include 'dlux/system/previews/sidebar_density.html' with selected_density=user_preferences.sidebar_density|default:sidebar_density|default:config.sidebar.density picker_mode='options' density_choices=DLUX_TABLE_DENSITIES DLUX_STRINGS=DLUX_STRINGS %} {% enddlux_option_card %} {% endif %} {% dlux_option_card slug="autofill" icon="bi-magic" title=DLUX_STRINGS.assist_card_title|default:'Assisted entry' desc=DLUX_STRINGS.assist_card_desc|default:'Two independent shortcuts for repetitive data entry. Forms that support them also show these switches inline.' attrs='data-options-deeplink="autofill"' %}
{% enddlux_option_card %} {% if DLUX_SCANLINK_ENABLED %} {% dlux_option_card slug='scanlink' icon='bi-printer' title=DLUX_STRINGS.scanlink_card_title|default:'ScanLink' %}
{% include 'dlux/system/options_card_scanlink.html' %}
{% enddlux_option_card %} {% endif %} {% for card in dlux_option_cards %} {% dlux_option_card slug=card.id icon=card.icon title=card.title %}
{{ card.html|safe }}
{% enddlux_option_card %} {% endfor %}
{% if can_manage_dlux_updates %} {% endif %} {# Force-password-change confirmation now uses the global dluxConfirmPassword #} {# prompt (base.html), driven from the launcher chip's data-* attributes. #} {% if user.is_superuser %}{% include 'dlux/system/data_reset_modal.html' %}{% endif %} {% endblock %} {% block scripts %} {{ block.super }} {% if user.is_superuser %}{% endif %} {% endblock %}