django-smartbase-admin 2.0.1__tar.gz → 2.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/PKG-INFO +1 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/pyproject.toml +1 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/actions/admin_action_list.py +86 -23
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/admin/widgets.py +245 -39
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/tests/test_action_processing.py +19 -2
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/dynamic_forms.py +22 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/modal_view.py +45 -32
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/mcp.py +22 -6
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/mcp/oauth/validators.py +66 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_aggregate.py +95 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_oauth_redirect_loopback.py +40 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/plugins/nested.py +164 -104
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/plugins/tests/test_nested.py +98 -19
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/configuration.py +9 -1
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/services/request_cache.py +51 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/main.js +1 -1
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/static/sb_admin/dist/main_style.css +1 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/sbadmin_formset.js +1 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/table.js +1 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_components.css +4 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_input.css +14 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/autocomplete.js +1 -7
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/choices.js +12 -2
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/main.js +64 -10
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/sbadmin_formset.js +15 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js +7 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/autocomplete_field.html +2 -2
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/autocomplete_field.html +1 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/inline_fieldset.html +1 -1
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/autocomplete.html +1 -11
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/choice_search.html +2 -1
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/templates/sb_admin/widgets/includes/input_affix.html +31 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/wizard/wizard_step.html +1 -1
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/tests/test_autocomplete_forward_create.py +189 -0
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/tests/test_copyable_widget.py +99 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_dynamic_forms.py +83 -2
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/tests/test_request_cache.py +98 -0
- django_smartbase_admin-2.0.1/src/django_smartbase_admin/mcp/oauth/validators.py +0 -34
- django_smartbase_admin-2.0.1/src/django_smartbase_admin/static/sb_admin/dist/main_style.css +0 -1
- django_smartbase_admin-2.0.1/src/django_smartbase_admin/templates/sb_admin/widgets/includes/input_affix.html +0 -19
- django_smartbase_admin-2.0.1/src/django_smartbase_admin/tests/test_autocomplete_forward_create.py +0 -69
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/LICENSE.md +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/README.md +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/actions/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/actions/advanced_filters.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/admin/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/admin/admin_base.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/admin/site.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/apps.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/apps.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/manager.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/mcp.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/migrations/0001_initial.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/migrations/0002_adminauditlog_source.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/models.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/sb_admin.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/tests/test_audit_integration.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/tests/test_audit_permissions.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/tests/test_delegate_to_action.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/tests/test_diff.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/tests/test_modal_media.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/utils/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/utils/diff.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/utils/serialization.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/audit/views.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/checks.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/compilemessages.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/actions.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/admin_base_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/admin_entrypoint_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/admin_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/configuration.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/const.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/dashboard.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/fake_inline.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/field.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/field_formatter.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/filter_widgets.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/global_filter_form.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/inline_pagination.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/menu_item.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/engine/request.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/integration/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/integration/django_cms.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/cs/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/cs/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/de/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/de/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/en/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/en/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/hr/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/hr/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/hu/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/hu/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/it/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/it/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/pl/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/pl/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/ro/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/ro/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/sk/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/sk/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/locale/sl/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/makemessages.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/actions.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/apps.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/bridge.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/dashboard_blueprint.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/field_schema.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/form_encoding.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/html_sanitize.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/inlines.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/instructions.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/middleware.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/oauth/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/oauth/urls.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/oauth/views.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/resolvers.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/schema.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/service.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/_common.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_actions.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_cors_middleware.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_create_object.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_fake_inlines.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_fetch_action_form.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_fetch_add_form.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_fetch_detail.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_fetch_filter_preset.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_filter_validation.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_inline_data.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_invoke_integration.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_list_admins.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_permissions.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_smoke.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_update_detail.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/tests/test_widget_encoding.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/mcp/urls.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/migrations/0001_initial.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/migrations/0002_auto_20230402_2316.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/migrations/0003_auto_20230402_2328.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/migrations/0004_alter_sbadminlistviewconfiguration_action_and_more.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/migrations/0005_sbadminuserconfiguration.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/migrations/0006_alter_sbadminuserconfiguration_color_scheme.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/models.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/monkeypatch/admin_readonly_field_monkeypatch.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/monkeypatch/fake_inline_monkeypatch.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/plugins/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/plugins/base.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/plugins/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/querysets.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/data.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/thread_local.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/translations.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/url_params_codec.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/views.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/services/xlsx_export.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/postcss.config.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/tailwind.config.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/colors.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/screens.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/spacing.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/typography.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/webpack.analyze.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/webpack.common.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/webpack.dev.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/build/webpack.prod.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/css/ckeditor/ckeditor_content_dark.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/css/codemirror/codemirror.min.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/css/codemirror/dracula.min.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/css/coloris/coloris.min.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/css/querybuilder/query-builder.default.min.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/calendar.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/calendar.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/calendar_style.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/calendar_style.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/chart.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/chart.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/confirmation_modal.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/main.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/main_style.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/modal_view.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/sbadmin_formset.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/table.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/translations.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget_style.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget_style.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/fancytree/jquery.fancytree-all-deps.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/android-chrome-192x192.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/android-chrome-512x512.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/apple-touch-icon.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/browserconfig.xml +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/favicon-16x16.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/favicon-32x32.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/favicon.ico +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-144x144.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-150x150.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-310x150.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-310x310.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-70x70.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/safari-pinned-tab.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/favicon/site.webmanifest +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/fonts/Inter-Ext.woff2 +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/fonts/Inter.woff2 +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/blank.gif +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-csv.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-doc.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-docx.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-other.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-pdf.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-ppt.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-xls.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-xlsx.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-zip.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ad.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ae.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/af.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ag.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ai.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/al.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/am.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/an.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ao.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ar.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/at.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/au.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/aw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ax.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/az.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ba.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bb.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bd.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/be.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bf.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bh.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bi.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bj.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bo.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/br.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bs.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bt.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/by.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/bz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ca.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/caf.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cas.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cd.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ceu.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cf.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ch.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ci.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cl.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cna.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/co.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/coc.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cs.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/csa.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cu.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cv.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cy.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/cz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/de-at.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/de-ch.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/de.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/dj.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/dk.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/dm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/do.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/dz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ec.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ee.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/eg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/el.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/en.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/er.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/es.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/et.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/eu.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/fi.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/fj.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/fk.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/fm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/fr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ga.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gb.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gd.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ge.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gh.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gi.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gq.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gt.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/gy.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/hk.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/hn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/hr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ht.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/hu.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/id.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ie.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/il.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/im.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/in.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/iq.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ir.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/is.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/it.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/je.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/jm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/jo.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/jp.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ke.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/kg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/kh.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/km.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/kn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/kp.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/kr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/kw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ky.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/kz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/la.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/lb.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/lc.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/li.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/lk.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/lr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ls.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/lt.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/lu.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/lv.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ly.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ma.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mc.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/md.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/me.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mk.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ml.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mo.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ms.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mt.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mu.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mv.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mx.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/my.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/mz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/na.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ne.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ng.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ni.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/nl.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/no.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/np.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/nz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/om.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pa.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pe.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pf.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ph.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pk.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pl.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pt.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/pw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/py.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/qa.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ro.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/rs.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ru.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/rw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sa.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sb.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sc.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sd.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/se.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sh.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/si.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sk.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sl.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/so.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/st.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sv.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sy.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/sz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tc.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/td.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/th.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tj.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tl.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/to.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tr.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tt.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/tz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ua.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ug.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/us.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/uy.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/uz.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/vc.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ve.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/vg.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/vn.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/vu.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ws.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ww.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/ye.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/za.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/zm.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/flags/zw.png +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/login.jpg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/login.webp +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/logo.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/logo_light.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/images/sk.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/code.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/codemirror/codemirror.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/codemirror/django.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/codemirror/overlay.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/coloris/coloris.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/fullcalendar.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/htmx.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/jquery-3.7.1.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/jquery.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/lazysizes.bgset.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/lazysizes.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/ls.unveilhooks.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/prices.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/querybuilder/jQuery.extendext.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/querybuilder/query-builder.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/remove-me.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/sbadmin_prepopulated_fields_init.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/js/tabulator.min.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Accept-email.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Ad-product.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-mode-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-picture.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-three.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Aiming.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-both.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-center.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-left.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-right.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/All-application.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Alphabetical-sorting-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Alphabetical-sorting.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-menu.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-down.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-left.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-right.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-up.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/At-sign.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Attention.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Back-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Background-color.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bank-card-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bank-card.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bolt-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bookmark.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bookmarked.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Box.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Calendar.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Camera.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Caution-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Caution.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-line.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-pie-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-pie.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chat-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chat.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-correct.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-small.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-search.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-small.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Code.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Color-card.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Column.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Comment-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Corner-up-left.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Corner-up-right.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Cut.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Cylinder.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Delete-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Delete.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Desktop-screen.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-down.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-left.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-right.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-up.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down-c.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down-small.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-three-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-three.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Drag.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Edit-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Edit.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Electric-drill.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Emoji.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Euro-outlined.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Excel-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Excel-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Expand-left.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Expand-right.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Export.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Eyedropper.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Facebook.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Figma-component.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Filter.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Find.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Fire-extinguisher.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Frame-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Gas.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Go-ahead.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Go-on.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Graphic-design.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Hamburger-button.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Handle.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Headset-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Health.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Heart-rate.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Help.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/History.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Home.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Id-card-h.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Import-and-export.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Import.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Indent-left.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Indent-right.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Info.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Infusion.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Iphone.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-c.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small-down.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small-up.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lightning-fill.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lightning.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Like.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-checkbox.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-numbers.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Loading.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lock.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Login.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Logout.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lung.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Magic-wand.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Magic.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail-download.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail-open.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Medical-box.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Medication-time.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Message-emoji.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Message-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Minus-the-top.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Minus.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Moon-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Moon.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-three.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Notification.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Paperclip.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Parallel-gateway.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/People-top-card.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Percentage.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pesticide.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Phone-call.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Phone-telephone.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Picture-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pin-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pin.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Plus.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-close-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-close.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-open.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Printer-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Printer.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Protect-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pull.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pure-natural.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pushpin.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Reduce-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Reply.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Return.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-c.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small-down.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small-up.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Row.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Save.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Search.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Send-email.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Send.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-config.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shop.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping-bag.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping-cart-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-apple.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-discord.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-facebook.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-google.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-instagram.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-linkedin.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-mailchimp.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-messenger.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-paypal.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-pinterest.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-play-store.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-shopify.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-spotify.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-tiktok.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-twitch.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-vimeo.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-whatsapp.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-windows.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-x-twitter.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-youtube.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-alt.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-amount-down.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-amount-up.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-three.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2-half-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Success.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-1.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Switch.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Table-report-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Table-report.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tag-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tag.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-bold.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-italic.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-underline.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-down-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-down.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-up-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-up.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Time.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tips-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/To-top.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Transfer-data.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Translate.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Translation.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Triangle-round-rectangle.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Truck.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Undo.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Unlock.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up-c.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up-small.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Upload-one.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Upload.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/User-business.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/User-placeholder.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Video-two.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/View-grid-list.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Watchdog-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Watchdog.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Write.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Writing-fluently-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Writting-flueantly-filled.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Youtube.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Zoom-in.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Zoom-out.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_base.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_choices.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_colors.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_datepicker.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_filer.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_inlines.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_nouislider.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_tabulator.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_tailwind_base.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/_utilities.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/calendar.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_button.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_json-editor.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_modal.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_nav-tabs.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_query-builder.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_table.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_toggle.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/components/_tooltip.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/style.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/css/tree_widget.css +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/calendar.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/chart.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/confirmation_modal.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/datepicker.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/inline_paginator.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/modal_view.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/multiselect.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/radio.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/range.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/sanitize.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/sb_ajax_params_tabulator_modifier.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/sidebar.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/sorting.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/static_autocomplete.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/base_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/column_display_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/data_edit_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/data_tree_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/full_text_search_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/header_tabs_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/movable_columns_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/selection_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/sticky_header_and_footer_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/table_params_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/views_module.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/tabulator_layouts/fit_data_fill_available_space.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/text_tags.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/translations.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/tree_widget.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/url_params_codec.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/static/sb_admin/src/js/utils.js +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/change_form.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/change_password.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/dashboard.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/delete_confirmation.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/delete_selected_confirmation.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/includes/delete_impact_panel.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/list.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/media.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/object_history.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/partials/action_link.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/partials/open_modal_attrs.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/partials/selected_rows_actions.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_change_view_v1.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_v1.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_v2.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/partials/translations_status_row.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/translations-detail.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/translations-language-choice.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/translations-list.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/translations.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/actions/tree_list.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/audit/affected.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/audit/changes.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/audit/related_changes.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/audit/summary.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/auth/user/add_form.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/login.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/login_base.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/logout.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/password_change_done.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/password_change_form.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_complete.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_confirm.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_done.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_email.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_form.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/blank_base.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/components/buttons.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/components/columns.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/components/filters.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/components/filters_v2.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/components/inputs.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/config/view.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/dashboard/calendar_widget.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/dashboard/chart_aggregate_sub_widget.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/dashboard/chart_widget.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/dashboard/includes/list_widget_actions.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/dashboard/includes/list_widget_filters.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/dashboard/list_widget.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/dashboard/widget_base.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/boolean_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/choice_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/date_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/multiple_choice_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/number_range_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/radio_choice_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/string_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/tree_select_filter.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/choice_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/multiple_choice_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/number_range_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/string_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/tree_select_filter.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/fonts.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/attrs.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/change_form_title.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/components.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/confirmation.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/detail_view_tabs_hash_init.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/dynamic_region.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset_header.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset_layout.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/form_error_alert.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/inline_fieldset_fields.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/loading.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/loading_absolute.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/notifications.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/readonly_boolean_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/readonly_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/includes/table_inline_delete_button.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/inlines/stacked_inline.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/inlines/table_inline.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/inlines/table_inline_paginated.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/integrations/cms/page_list.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/integrations/cms/translations_status_row.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/filer_change_form.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/folder_list.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/image_change_form.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/image_detail_panel.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/navigation.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_base.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_close.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_error.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_info.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_success.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_warning.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal_confirmation.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal_content.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/sb_admin_base.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/sb_admin_base_no_sidebar.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/sb_admin_js_trans.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/sprites/sb_admin.svg +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/submit_line.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/tailwind_whitelist.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/array.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/attributes.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/attrs.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_dropdown.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_group.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_option.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/ckeditor.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/clearable_file_input.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/code.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/color_field.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/date.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/datetime.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/email.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/file.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/filer_file.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/hidden.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/html_read_only.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/field_label.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/help_text.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/related_item_buttons.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/simple_field_label.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/input.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/input_option.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/json_editor.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/multiple_hidden.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/multiwidget.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/number.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/pageselectwidget.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/password.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/radio.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/radio_dropdown.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/radio_option.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/read_only_password_hash.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/select.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/select_date.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/select_option.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/splitdatetime.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/splithiddendatetime.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/text.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/text_tags.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/textarea.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/time.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/toggle.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_base.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_select.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_select_inline.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templates/sb_admin/widgets/url.html +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templatetags/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templatetags/base.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templatetags/sb_admin_tags.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/templatetags/sb_paginated_inline.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_checks.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_dashboard.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_generic_relation_parent.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_inline_pagination.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_inline_table_field_rendering.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_url_params_codec.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/tests/test_view_on_site.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/urls.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/utils.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/__init__.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/dashboard_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/global_filter_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/media_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/sbadmin_wizard_step.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/sbadmin_wizard_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/translations_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/user_config_view.py +0 -0
- {django_smartbase_admin-2.0.1 → django_smartbase_admin-2.0.3}/src/django_smartbase_admin/views/view_on_site_redirect_view.py +0 -0
|
@@ -5,7 +5,7 @@ from typing import Any, TYPE_CHECKING
|
|
|
5
5
|
|
|
6
6
|
from django.contrib.admin.utils import lookup_spawns_duplicates
|
|
7
7
|
from django.core.exceptions import FieldError
|
|
8
|
-
from django.db.models import Avg, Count, Field, Max, Min, Q, Sum
|
|
8
|
+
from django.db.models import Avg, Count, Field, Max, Min, Q, Sum, Value
|
|
9
9
|
from django.utils import timezone
|
|
10
10
|
from django.utils.html import escape
|
|
11
11
|
from django.utils.safestring import SafeString
|
|
@@ -783,14 +783,49 @@ class SBAdminListAction(SBAdminAction):
|
|
|
783
783
|
)
|
|
784
784
|
return specs
|
|
785
785
|
|
|
786
|
-
def
|
|
787
|
-
"""
|
|
786
|
+
def validate_group_by(self, group_by, field_map=None) -> list:
|
|
787
|
+
"""Resolve ``group_by`` names to declared SBAdminFields to GROUP BY on.
|
|
788
788
|
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
789
|
+
A multi-valued (relation) field is rejected — grouping on it fans
|
|
790
|
+
the rows out. ``None`` / ``[]`` → no grouping; raises ``ValueError``
|
|
791
|
+
/ ``LookupError`` on a bad entry.
|
|
792
|
+
"""
|
|
793
|
+
if not group_by:
|
|
794
|
+
return []
|
|
795
|
+
if not isinstance(group_by, list):
|
|
796
|
+
raise ValueError("group_by must be a list of declared field names.")
|
|
797
|
+
if field_map is None:
|
|
798
|
+
field_map = self.view.get_field_map(self.threadsafe_request)
|
|
799
|
+
|
|
800
|
+
fields = []
|
|
801
|
+
for name in group_by:
|
|
802
|
+
sbfield = field_map.get(name)
|
|
803
|
+
if sbfield is None:
|
|
804
|
+
raise LookupError(
|
|
805
|
+
f"Unknown field {name!r}; declared fields: {sorted(field_map)}."
|
|
806
|
+
)
|
|
807
|
+
if sbfield.is_multivalued():
|
|
808
|
+
raise ValueError(f"Cannot group by multi-valued field {name!r}.")
|
|
809
|
+
fields.append(sbfield)
|
|
810
|
+
return fields
|
|
811
|
+
|
|
812
|
+
def get_aggregates(self, aggregate, field_map=None, group_by=None):
|
|
813
|
+
"""Compute ``aggregate`` totals over the filtered set.
|
|
814
|
+
|
|
815
|
+
Reuses the list's filtered, annotated queryset and runs a single
|
|
816
|
+
``values(*group).annotate(**aggs)``. No ``group_by`` collapses to
|
|
817
|
+
one constant group (``Value(1)``), so the scalar rollup is just the
|
|
818
|
+
degenerate case of the same query.
|
|
819
|
+
|
|
820
|
+
Without ``group_by`` returns a scalar ``{alias: value}`` dict; with
|
|
821
|
+
``group_by`` returns a list of ``{**group_fields, **aliases}`` rows,
|
|
822
|
+
ordered by the group columns. Each metric runs in its own query and
|
|
823
|
+
is merged by group key, so a metric that traverses a to-many
|
|
824
|
+
relation (a multi-valued ``count``, or an annotated field that
|
|
825
|
+
aggregates a related set) can never fan-out-inflate a sibling.
|
|
792
826
|
"""
|
|
793
827
|
specs = self.validate_aggregate(aggregate, field_map=field_map)
|
|
828
|
+
group_fields = self.validate_group_by(group_by, field_map=field_map)
|
|
794
829
|
# Full base so every aggregable field's annotation is present.
|
|
795
830
|
queryset = self.get_data_queryset()
|
|
796
831
|
pk_name = self.get_pk_field().name
|
|
@@ -812,6 +847,23 @@ class SBAdminListAction(SBAdminAction):
|
|
|
812
847
|
if field.supporting_annotates:
|
|
813
848
|
extra.update(field.supporting_annotates)
|
|
814
849
|
extra[field.field] = field.annotate
|
|
850
|
+
|
|
851
|
+
# Resolve group targets the same way; a computed (annotated) group
|
|
852
|
+
# column needs its expression present before ``.values()``.
|
|
853
|
+
group_targets: list[str] = []
|
|
854
|
+
for field in group_fields:
|
|
855
|
+
target = (
|
|
856
|
+
field.model_field.name if field.model_field is not None else field.field
|
|
857
|
+
)
|
|
858
|
+
group_targets.append(target)
|
|
859
|
+
if (
|
|
860
|
+
field.model_field is None
|
|
861
|
+
and target not in queryset.query.annotations
|
|
862
|
+
and field.annotate is not None
|
|
863
|
+
):
|
|
864
|
+
if field.supporting_annotates:
|
|
865
|
+
extra.update(field.supporting_annotates)
|
|
866
|
+
extra[target] = field.annotate
|
|
815
867
|
if extra:
|
|
816
868
|
queryset = queryset.annotate(**extra)
|
|
817
869
|
|
|
@@ -822,23 +874,34 @@ class SBAdminListAction(SBAdminAction):
|
|
|
822
874
|
for plugin in request.request_data.configuration.plugins:
|
|
823
875
|
queryset = plugin.modify_count_queryset(self, request=request, qs=queryset)
|
|
824
876
|
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
# Undetermined-type expressions are only
|
|
835
|
-
# resolves them against the query.
|
|
877
|
+
# GROUP BY: no group_by → a single constant group, so the scalar
|
|
878
|
+
# case falls out of the same path.
|
|
879
|
+
if group_targets:
|
|
880
|
+
base = queryset.values(*group_targets)
|
|
881
|
+
else:
|
|
882
|
+
base = queryset.annotate(_sb_group=Value(1)).values("_sb_group")
|
|
883
|
+
|
|
884
|
+
# One query per metric, merged by group key — a metric that
|
|
885
|
+
# traverses a to-many relation never shares a query with (and so
|
|
886
|
+
# never inflates) another. Undetermined-type expressions are only
|
|
887
|
+
# rejected once Django resolves them against the query.
|
|
888
|
+
merged: dict = {}
|
|
889
|
+
order: list = []
|
|
836
890
|
try:
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
891
|
+
for spec in specs:
|
|
892
|
+
alias = spec["alias"]
|
|
893
|
+
agg = LIST_AGGREGATE_FUNCTIONS[spec["fn"]](spec["target"])
|
|
894
|
+
for row in base.annotate(**{alias: agg}).order_by(*group_targets):
|
|
895
|
+
key = tuple(row[t] for t in group_targets)
|
|
896
|
+
slot = merged.get(key)
|
|
897
|
+
if slot is None:
|
|
898
|
+
slot = {t: row[t] for t in group_targets}
|
|
899
|
+
merged[key] = slot
|
|
900
|
+
order.append(key)
|
|
901
|
+
slot[alias] = row[alias]
|
|
842
902
|
except FieldError as exc:
|
|
843
903
|
raise ValueError(f"Cannot aggregate the requested field(s): {exc}") from exc
|
|
844
|
-
|
|
904
|
+
|
|
905
|
+
if not group_targets:
|
|
906
|
+
return merged[order[0]] if order else {}
|
|
907
|
+
return [merged[key] for key in order]
|
|
@@ -33,8 +33,9 @@ from filer.models import File
|
|
|
33
33
|
|
|
34
34
|
from django_smartbase_admin.admin.site import sb_admin_site
|
|
35
35
|
from django_smartbase_admin.engine.admin_base_view import (
|
|
36
|
-
|
|
36
|
+
SBADMIN_PARENT_INSTANCE_FIELD_NAME_VAR,
|
|
37
37
|
SBADMIN_PARENT_INSTANCE_LABEL_VAR,
|
|
38
|
+
SBADMIN_PARENT_INSTANCE_PK_VAR,
|
|
38
39
|
)
|
|
39
40
|
from django_smartbase_admin.engine.const import (
|
|
40
41
|
ACTION_AUTOCOMPLETE_MODIFIER_SEPARATOR,
|
|
@@ -44,6 +45,10 @@ from django_smartbase_admin.engine.filter_widgets import (
|
|
|
44
45
|
AutocompleteFilterWidget,
|
|
45
46
|
SBAdminTreeWidgetMixin,
|
|
46
47
|
)
|
|
48
|
+
from django_smartbase_admin.services.request_cache import (
|
|
49
|
+
RequestCacheKey,
|
|
50
|
+
cache_on_request,
|
|
51
|
+
)
|
|
47
52
|
from django_smartbase_admin.services.thread_local import SBAdminThreadLocalService
|
|
48
53
|
from django_smartbase_admin.templatetags.sb_admin_tags import (
|
|
49
54
|
SBAdminJSONEncoder,
|
|
@@ -104,7 +109,7 @@ class SBAdminBaseWidget(ContextMixin):
|
|
|
104
109
|
if is_modal(SBAdminThreadLocalService.get_request())
|
|
105
110
|
else ""
|
|
106
111
|
)
|
|
107
|
-
except:
|
|
112
|
+
except Exception:
|
|
108
113
|
pass
|
|
109
114
|
widget_id = f"{modal_prefix}{opts.app_label}_{opts.model_name}_{context['widget']['attrs']['id']}"
|
|
110
115
|
context["widget"]["attrs"]["id"] = widget_id
|
|
@@ -114,40 +119,181 @@ class SBAdminBaseWidget(ContextMixin):
|
|
|
114
119
|
|
|
115
120
|
|
|
116
121
|
class SBAdminInputAffixMixin:
|
|
117
|
-
def __init__(
|
|
122
|
+
def __init__(
|
|
123
|
+
self,
|
|
124
|
+
*args,
|
|
125
|
+
prefix=None,
|
|
126
|
+
suffix=None,
|
|
127
|
+
prefix_icon=None,
|
|
128
|
+
suffix_icon=None,
|
|
129
|
+
prefix_button_attrs=None,
|
|
130
|
+
suffix_button_attrs=None,
|
|
131
|
+
media_js=(),
|
|
132
|
+
**kwargs,
|
|
133
|
+
):
|
|
134
|
+
self.validate_affix_config(
|
|
135
|
+
prefix=prefix,
|
|
136
|
+
suffix=suffix,
|
|
137
|
+
prefix_icon=prefix_icon,
|
|
138
|
+
suffix_icon=suffix_icon,
|
|
139
|
+
)
|
|
118
140
|
self.prefix = prefix
|
|
119
141
|
self.suffix = suffix
|
|
142
|
+
self.prefix_icon = prefix_icon
|
|
143
|
+
self.suffix_icon = suffix_icon
|
|
144
|
+
self.prefix_button_attrs = self.get_affix_button_attrs(
|
|
145
|
+
(prefix_button_attrs or {}) if prefix_icon else None
|
|
146
|
+
)
|
|
147
|
+
self.suffix_button_attrs = self.get_affix_button_attrs(
|
|
148
|
+
(suffix_button_attrs or {}) if suffix_icon else None
|
|
149
|
+
)
|
|
150
|
+
self.media_js = media_js
|
|
120
151
|
super().__init__(*args, **kwargs)
|
|
121
152
|
|
|
153
|
+
def validate_affix_config(
|
|
154
|
+
self,
|
|
155
|
+
*,
|
|
156
|
+
prefix=None,
|
|
157
|
+
suffix=None,
|
|
158
|
+
prefix_icon=None,
|
|
159
|
+
suffix_icon=None,
|
|
160
|
+
):
|
|
161
|
+
if prefix and prefix_icon:
|
|
162
|
+
raise ImproperlyConfigured("Use either prefix or prefix_icon, not both.")
|
|
163
|
+
if suffix and suffix_icon:
|
|
164
|
+
raise ImproperlyConfigured("Use either suffix or suffix_icon, not both.")
|
|
165
|
+
|
|
122
166
|
def get_context(self, name, value, attrs):
|
|
123
167
|
context = super().get_context(name, value, attrs)
|
|
124
168
|
context["widget"]["prefix"] = self.prefix
|
|
125
169
|
context["widget"]["suffix"] = self.suffix
|
|
170
|
+
context["widget"]["prefix_icon"] = self.prefix_icon
|
|
171
|
+
context["widget"]["suffix_icon"] = self.suffix_icon
|
|
172
|
+
context["widget"]["prefix_button_attrs"] = (
|
|
173
|
+
self.get_positioned_affix_button_attrs(
|
|
174
|
+
self.prefix_button_attrs, "input-affix__prefix"
|
|
175
|
+
)
|
|
176
|
+
)
|
|
177
|
+
context["widget"]["suffix_button_attrs"] = (
|
|
178
|
+
self.get_positioned_affix_button_attrs(
|
|
179
|
+
self.suffix_button_attrs, "input-affix__suffix"
|
|
180
|
+
)
|
|
181
|
+
)
|
|
126
182
|
return context
|
|
127
183
|
|
|
128
|
-
def
|
|
184
|
+
def get_affix_button_attrs(self, attrs):
|
|
185
|
+
if attrs is None:
|
|
186
|
+
return None
|
|
187
|
+
attrs = dict(attrs)
|
|
188
|
+
attrs.setdefault("type", "button")
|
|
189
|
+
attrs["class"] = " ".join(
|
|
190
|
+
filter(
|
|
191
|
+
None,
|
|
192
|
+
(
|
|
193
|
+
"input-affix__addon input-affix__button text-dark-900",
|
|
194
|
+
attrs.get("class", ""),
|
|
195
|
+
),
|
|
196
|
+
)
|
|
197
|
+
)
|
|
198
|
+
return attrs
|
|
199
|
+
|
|
200
|
+
def get_positioned_affix_button_attrs(self, attrs, position_class):
|
|
201
|
+
if attrs is None:
|
|
202
|
+
return None
|
|
203
|
+
attrs = dict(attrs)
|
|
204
|
+
attrs["class"] = " ".join(
|
|
205
|
+
filter(None, (attrs.get("class", ""), position_class))
|
|
206
|
+
)
|
|
207
|
+
return attrs
|
|
208
|
+
|
|
209
|
+
def get_attrs_with_affix_classes(
|
|
210
|
+
self,
|
|
211
|
+
attrs,
|
|
212
|
+
prefix=None,
|
|
213
|
+
suffix=None,
|
|
214
|
+
prefix_icon=None,
|
|
215
|
+
suffix_icon=None,
|
|
216
|
+
):
|
|
129
217
|
attrs = dict(attrs or {})
|
|
130
218
|
classes = attrs.get("class", "")
|
|
131
|
-
if prefix:
|
|
219
|
+
if prefix or prefix_icon:
|
|
132
220
|
classes = f"{classes} rounded-l-none".strip()
|
|
133
|
-
if suffix:
|
|
221
|
+
if suffix or suffix_icon:
|
|
134
222
|
classes = f"{classes} rounded-r-none".strip()
|
|
135
223
|
attrs["class"] = classes
|
|
136
224
|
return attrs
|
|
137
225
|
|
|
226
|
+
@property
|
|
227
|
+
def media(self):
|
|
228
|
+
media = super().media
|
|
229
|
+
if self.media_js:
|
|
230
|
+
media += forms.Media(js=self.media_js)
|
|
231
|
+
return media
|
|
232
|
+
|
|
138
233
|
|
|
139
234
|
class SBAdminTextInputWidget(
|
|
140
235
|
SBAdminInputAffixMixin, SBAdminBaseWidget, forms.TextInput
|
|
141
236
|
):
|
|
142
237
|
template_name = "sb_admin/widgets/text.html"
|
|
143
238
|
|
|
144
|
-
def __init__(
|
|
239
|
+
def __init__(
|
|
240
|
+
self,
|
|
241
|
+
form_field=None,
|
|
242
|
+
attrs=None,
|
|
243
|
+
prefix=None,
|
|
244
|
+
suffix=None,
|
|
245
|
+
prefix_icon=None,
|
|
246
|
+
suffix_icon=None,
|
|
247
|
+
prefix_button_attrs=None,
|
|
248
|
+
suffix_button_attrs=None,
|
|
249
|
+
media_js=(),
|
|
250
|
+
):
|
|
145
251
|
attrs = self.get_attrs_with_affix_classes(
|
|
146
252
|
{"class": "input", **(attrs or {})},
|
|
147
253
|
prefix=prefix,
|
|
148
254
|
suffix=suffix,
|
|
255
|
+
prefix_icon=prefix_icon,
|
|
256
|
+
suffix_icon=suffix_icon,
|
|
257
|
+
)
|
|
258
|
+
super().__init__(
|
|
259
|
+
form_field,
|
|
260
|
+
attrs=attrs,
|
|
261
|
+
prefix=prefix,
|
|
262
|
+
suffix=suffix,
|
|
263
|
+
prefix_icon=prefix_icon,
|
|
264
|
+
suffix_icon=suffix_icon,
|
|
265
|
+
prefix_button_attrs=prefix_button_attrs,
|
|
266
|
+
suffix_button_attrs=suffix_button_attrs,
|
|
267
|
+
media_js=media_js,
|
|
268
|
+
)
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
class SBAdminCopyableTextInputWidget(SBAdminTextInputWidget):
|
|
272
|
+
def __init__(
|
|
273
|
+
self,
|
|
274
|
+
form_field=None,
|
|
275
|
+
attrs=None,
|
|
276
|
+
prefix=None,
|
|
277
|
+
suffix=None,
|
|
278
|
+
*,
|
|
279
|
+
copy_label="Copy",
|
|
280
|
+
copied_label="Copied",
|
|
281
|
+
copy_icon="Minus-the-top",
|
|
282
|
+
):
|
|
283
|
+
super().__init__(
|
|
284
|
+
form_field=form_field,
|
|
285
|
+
attrs=attrs,
|
|
286
|
+
prefix=prefix,
|
|
287
|
+
suffix=suffix,
|
|
288
|
+
suffix_icon=copy_icon,
|
|
289
|
+
suffix_button_attrs={
|
|
290
|
+
"title": copy_label,
|
|
291
|
+
"aria-label": copy_label,
|
|
292
|
+
"data-sbadmin-copy-button": True,
|
|
293
|
+
"data-sbadmin-copy-label": copy_label,
|
|
294
|
+
"data-sbadmin-copied-label": copied_label,
|
|
295
|
+
},
|
|
149
296
|
)
|
|
150
|
-
super().__init__(form_field, attrs=attrs, prefix=prefix, suffix=suffix)
|
|
151
297
|
|
|
152
298
|
|
|
153
299
|
class SBAdminTextTagsWidget(SBAdminBaseWidget, forms.TextInput):
|
|
@@ -161,6 +307,7 @@ class SBAdminTextTagsWidget(SBAdminBaseWidget, forms.TextInput):
|
|
|
161
307
|
"class": "input js-sbadmin-text-tags",
|
|
162
308
|
"data-choices-delimiter": delimiter,
|
|
163
309
|
"autocomplete": "off",
|
|
310
|
+
"dir": "ltr",
|
|
164
311
|
**(attrs or {}),
|
|
165
312
|
},
|
|
166
313
|
)
|
|
@@ -180,11 +327,41 @@ class SBAdminTextareaWidget(SBAdminBaseWidget, forms.Textarea):
|
|
|
180
327
|
super().__init__(form_field, attrs={"class": "input", **(attrs or {})})
|
|
181
328
|
|
|
182
329
|
|
|
183
|
-
class SBAdminEmailInputWidget(
|
|
330
|
+
class SBAdminEmailInputWidget(
|
|
331
|
+
SBAdminInputAffixMixin, SBAdminBaseWidget, forms.EmailInput
|
|
332
|
+
):
|
|
184
333
|
template_name = "sb_admin/widgets/email.html"
|
|
185
334
|
|
|
186
|
-
def __init__(
|
|
187
|
-
|
|
335
|
+
def __init__(
|
|
336
|
+
self,
|
|
337
|
+
form_field=None,
|
|
338
|
+
attrs=None,
|
|
339
|
+
prefix=None,
|
|
340
|
+
suffix=None,
|
|
341
|
+
prefix_icon=None,
|
|
342
|
+
suffix_icon=None,
|
|
343
|
+
prefix_button_attrs=None,
|
|
344
|
+
suffix_button_attrs=None,
|
|
345
|
+
media_js=(),
|
|
346
|
+
):
|
|
347
|
+
attrs = self.get_attrs_with_affix_classes(
|
|
348
|
+
{"class": "input", **(attrs or {})},
|
|
349
|
+
prefix=prefix,
|
|
350
|
+
suffix=suffix,
|
|
351
|
+
prefix_icon=prefix_icon,
|
|
352
|
+
suffix_icon=suffix_icon,
|
|
353
|
+
)
|
|
354
|
+
super().__init__(
|
|
355
|
+
form_field,
|
|
356
|
+
attrs=attrs,
|
|
357
|
+
prefix=prefix,
|
|
358
|
+
suffix=suffix,
|
|
359
|
+
prefix_icon=prefix_icon,
|
|
360
|
+
suffix_icon=suffix_icon,
|
|
361
|
+
prefix_button_attrs=prefix_button_attrs,
|
|
362
|
+
suffix_button_attrs=suffix_button_attrs,
|
|
363
|
+
media_js=media_js,
|
|
364
|
+
)
|
|
188
365
|
|
|
189
366
|
|
|
190
367
|
class SBAdminURLFieldWidget(SBAdminBaseWidget, AdminURLFieldWidget):
|
|
@@ -198,13 +375,36 @@ class SBAdminNumberWidget(SBAdminInputAffixMixin, SBAdminBaseWidget, forms.Numbe
|
|
|
198
375
|
class_name = "input"
|
|
199
376
|
template_name = "sb_admin/widgets/number.html"
|
|
200
377
|
|
|
201
|
-
def __init__(
|
|
378
|
+
def __init__(
|
|
379
|
+
self,
|
|
380
|
+
form_field=None,
|
|
381
|
+
attrs=None,
|
|
382
|
+
prefix=None,
|
|
383
|
+
suffix=None,
|
|
384
|
+
prefix_icon=None,
|
|
385
|
+
suffix_icon=None,
|
|
386
|
+
prefix_button_attrs=None,
|
|
387
|
+
suffix_button_attrs=None,
|
|
388
|
+
media_js=(),
|
|
389
|
+
):
|
|
202
390
|
attrs = self.get_attrs_with_affix_classes(
|
|
203
391
|
{"class": self.class_name, **(attrs or {})},
|
|
204
392
|
prefix=prefix,
|
|
205
393
|
suffix=suffix,
|
|
394
|
+
prefix_icon=prefix_icon,
|
|
395
|
+
suffix_icon=suffix_icon,
|
|
396
|
+
)
|
|
397
|
+
super().__init__(
|
|
398
|
+
form_field,
|
|
399
|
+
attrs=attrs,
|
|
400
|
+
prefix=prefix,
|
|
401
|
+
suffix=suffix,
|
|
402
|
+
prefix_icon=prefix_icon,
|
|
403
|
+
suffix_icon=suffix_icon,
|
|
404
|
+
prefix_button_attrs=prefix_button_attrs,
|
|
405
|
+
suffix_button_attrs=suffix_button_attrs,
|
|
406
|
+
media_js=media_js,
|
|
206
407
|
)
|
|
207
|
-
super().__init__(form_field, attrs=attrs, prefix=prefix, suffix=suffix)
|
|
208
408
|
|
|
209
409
|
|
|
210
410
|
class SBAdminCheckboxWidget(SBAdminBaseWidget, forms.CheckboxInput):
|
|
@@ -726,7 +926,6 @@ class SBAdminAutocompleteWidget(
|
|
|
726
926
|
reload_on_save = None
|
|
727
927
|
full_width = False
|
|
728
928
|
REQUEST_CREATED_DATA_KEY = "autocomplete_created_data"
|
|
729
|
-
SELECTED_OPTION_CACHE_KEY = "_sbadmin_autocomplete_selected_options"
|
|
730
929
|
|
|
731
930
|
def __init__(self, form_field=None, *args, **kwargs):
|
|
732
931
|
attrs = kwargs.pop("attrs", None)
|
|
@@ -785,28 +984,20 @@ class SBAdminAutocompleteWidget(
|
|
|
785
984
|
|
|
786
985
|
def get_selected_option_cache_key(self, request):
|
|
787
986
|
formset = getattr(getattr(self, "bound_form", None), "_sbadmin_formset", None)
|
|
788
|
-
|
|
987
|
+
formset_prefix = getattr(formset, "prefix", "") or ""
|
|
988
|
+
return RequestCacheKey.autocomplete_selected_options(
|
|
789
989
|
self.get_id(),
|
|
790
|
-
|
|
990
|
+
formset_prefix,
|
|
791
991
|
# Defensive: value_field changes how submitted values map back to rows.
|
|
792
992
|
self.get_value_field(),
|
|
793
993
|
)
|
|
794
994
|
|
|
795
|
-
def get_selected_option_cache(self, request):
|
|
796
|
-
cache = getattr(request, self.SELECTED_OPTION_CACHE_KEY, None)
|
|
797
|
-
if cache is None:
|
|
798
|
-
cache = {}
|
|
799
|
-
setattr(request, self.SELECTED_OPTION_CACHE_KEY, cache)
|
|
800
|
-
return cache
|
|
801
|
-
|
|
802
995
|
def get_selected_option_items_from_cache(self, request, parsed_value):
|
|
803
996
|
formset = getattr(getattr(self, "bound_form", None), "_sbadmin_formset", None)
|
|
804
997
|
if formset is None:
|
|
805
998
|
return None
|
|
806
999
|
|
|
807
|
-
|
|
808
|
-
cache_key = self.get_selected_option_cache_key(request)
|
|
809
|
-
if cache_key not in cache:
|
|
1000
|
+
def load_items_by_value():
|
|
810
1001
|
values = []
|
|
811
1002
|
value_set = set()
|
|
812
1003
|
for form in formset.forms:
|
|
@@ -831,9 +1022,13 @@ class SBAdminAutocompleteWidget(
|
|
|
831
1022
|
**{f"{self.get_value_field()}__in": values}
|
|
832
1023
|
):
|
|
833
1024
|
items_by_value[str(self.get_value(request, item))] = item
|
|
834
|
-
|
|
1025
|
+
return items_by_value
|
|
835
1026
|
|
|
836
|
-
items_by_value =
|
|
1027
|
+
items_by_value = cache_on_request(
|
|
1028
|
+
self.get_selected_option_cache_key(request),
|
|
1029
|
+
load_items_by_value,
|
|
1030
|
+
request=request,
|
|
1031
|
+
)
|
|
837
1032
|
parsed_values = (
|
|
838
1033
|
parsed_value if isinstance(parsed_value, list) else [parsed_value]
|
|
839
1034
|
)
|
|
@@ -860,23 +1055,15 @@ class SBAdminAutocompleteWidget(
|
|
|
860
1055
|
if not self.is_multiselect():
|
|
861
1056
|
query_suffix = ""
|
|
862
1057
|
self.multiselect = False
|
|
863
|
-
context["widget"]["attrs"]["preselect_field"] = threadsafe_request.GET.get(
|
|
864
|
-
"sbadmin_parent_instance_field"
|
|
865
|
-
)
|
|
866
|
-
context["widget"]["attrs"]["preselect_field_label"] = (
|
|
867
|
-
threadsafe_request.GET.get(SBADMIN_PARENT_INSTANCE_LABEL_VAR)
|
|
868
|
-
)
|
|
869
|
-
context["widget"]["attrs"]["preselect_field_value"] = (
|
|
870
|
-
threadsafe_request.GET.get(SBADMIN_PARENT_INSTANCE_PK_VAR)
|
|
871
|
-
)
|
|
872
1058
|
parsed_value = None
|
|
1059
|
+
selected_options = []
|
|
1060
|
+
has_bound_value = bool(value)
|
|
873
1061
|
if value:
|
|
874
1062
|
parsed_value = self.parse_value_from_input(threadsafe_request, value)
|
|
875
1063
|
is_create = self.parse_is_create_from_input(
|
|
876
1064
|
threadsafe_request,
|
|
877
1065
|
threadsafe_request.request_data.request_post.get(name),
|
|
878
1066
|
)
|
|
879
|
-
selected_options = []
|
|
880
1067
|
if is_create:
|
|
881
1068
|
errors = getattr(self.form, "errors", {})
|
|
882
1069
|
if errors.get(self.field_name):
|
|
@@ -884,6 +1071,8 @@ class SBAdminAutocompleteWidget(
|
|
|
884
1071
|
if parsed_value:
|
|
885
1072
|
if self.is_multiselect() and not isinstance(parsed_value, list):
|
|
886
1073
|
parsed_value = [parsed_value]
|
|
1074
|
+
elif not self.is_multiselect() and isinstance(parsed_value, list):
|
|
1075
|
+
parsed_value = next(iter(parsed_value), None)
|
|
887
1076
|
|
|
888
1077
|
try:
|
|
889
1078
|
items = self.get_selected_option_items_from_cache(
|
|
@@ -900,7 +1089,7 @@ class SBAdminAutocompleteWidget(
|
|
|
900
1089
|
"label": self.get_label(threadsafe_request, item),
|
|
901
1090
|
}
|
|
902
1091
|
)
|
|
903
|
-
except ValueError
|
|
1092
|
+
except ValueError:
|
|
904
1093
|
new_object_id = threadsafe_request.request_data.additional_data.get(
|
|
905
1094
|
self.REQUEST_CREATED_DATA_KEY, {}
|
|
906
1095
|
).get(self.field_name)
|
|
@@ -919,6 +1108,18 @@ class SBAdminAutocompleteWidget(
|
|
|
919
1108
|
),
|
|
920
1109
|
)
|
|
921
1110
|
|
|
1111
|
+
elif self._should_preselect_parent_instance(threadsafe_request):
|
|
1112
|
+
parsed_value = threadsafe_request.GET.get(SBADMIN_PARENT_INSTANCE_PK_VAR)
|
|
1113
|
+
selected_options = [
|
|
1114
|
+
{
|
|
1115
|
+
"value": parsed_value,
|
|
1116
|
+
"label": threadsafe_request.GET.get(
|
|
1117
|
+
SBADMIN_PARENT_INSTANCE_LABEL_VAR, ""
|
|
1118
|
+
),
|
|
1119
|
+
}
|
|
1120
|
+
]
|
|
1121
|
+
|
|
1122
|
+
if has_bound_value or selected_options:
|
|
922
1123
|
context["widget"]["value"] = json.dumps(selected_options)
|
|
923
1124
|
context["widget"]["value_list"] = selected_options
|
|
924
1125
|
|
|
@@ -936,6 +1137,11 @@ class SBAdminAutocompleteWidget(
|
|
|
936
1137
|
|
|
937
1138
|
return context
|
|
938
1139
|
|
|
1140
|
+
def _should_preselect_parent_instance(self, request):
|
|
1141
|
+
parent_field = request.GET.get(SBADMIN_PARENT_INSTANCE_FIELD_NAME_VAR)
|
|
1142
|
+
parent_pk = request.GET.get(SBADMIN_PARENT_INSTANCE_PK_VAR)
|
|
1143
|
+
return parent_field == self.input_id and bool(parent_pk)
|
|
1144
|
+
|
|
939
1145
|
def add_related_buttons_urls(self, parsed_value, request, context):
|
|
940
1146
|
try:
|
|
941
1147
|
if hasattr(sb_admin_site, "get_model_admin"):
|
|
@@ -129,11 +129,25 @@ class RowList:
|
|
|
129
129
|
self.rows = rows
|
|
130
130
|
|
|
131
131
|
def filter(self, *args, **kwargs):
|
|
132
|
-
|
|
132
|
+
rows = self.rows
|
|
133
|
+
for key, value in kwargs.items():
|
|
134
|
+
if key.endswith("__in"):
|
|
135
|
+
field_name = key.removesuffix("__in")
|
|
136
|
+
allowed = set(value)
|
|
137
|
+
rows = [row for row in rows if row.get(field_name) in allowed]
|
|
138
|
+
else:
|
|
139
|
+
rows = [row for row in rows if row.get(key) == value]
|
|
140
|
+
return RowList(rows)
|
|
133
141
|
|
|
134
142
|
def order_by(self, *args):
|
|
135
143
|
return self
|
|
136
144
|
|
|
145
|
+
def none(self):
|
|
146
|
+
return RowList([])
|
|
147
|
+
|
|
148
|
+
def union(self, other, all=False):
|
|
149
|
+
return RowList([*self.rows, *other.rows])
|
|
150
|
+
|
|
137
151
|
def __iter__(self):
|
|
138
152
|
return iter(self.rows)
|
|
139
153
|
|
|
@@ -380,7 +394,10 @@ class RowActionIntegrationTests(TestCase):
|
|
|
380
394
|
|
|
381
395
|
with patch(
|
|
382
396
|
"django_smartbase_admin.plugins.nested.resolve_nested",
|
|
383
|
-
return_value={
|
|
397
|
+
return_value={
|
|
398
|
+
"parent_field": "parent",
|
|
399
|
+
"only_show_filtered_children": False,
|
|
400
|
+
},
|
|
384
401
|
):
|
|
385
402
|
result = TabulatorNestedPlugin.modify_final_data(
|
|
386
403
|
action,
|
|
@@ -15,6 +15,25 @@ SBADMIN_DYNAMIC_REGION_PARAM = "sbadmin_dynamic_region"
|
|
|
15
15
|
SBADMIN_DYNAMIC_REGION_PREFIX_PARAM = "sbadmin_dynamic_region_prefix"
|
|
16
16
|
SBADMIN_DYNAMIC_REGION_ACTION = "sbadmin_dynamic_region"
|
|
17
17
|
SBADMIN_DYNAMIC_REGION_ADD_MODIFIER = "add"
|
|
18
|
+
_FORMSET_PREFIX_PLACEHOLDER = "__prefix__"
|
|
19
|
+
_FORMSET_PREFIX_PLACEHOLDER_TOKEN = "\x00"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _dynamic_region_wrapper_id_from_parts(value: str) -> str:
|
|
23
|
+
"""Build a wrapper id from joined prefix/region parts.
|
|
24
|
+
|
|
25
|
+
Django formset empty forms keep ``__prefix__`` in the prefix so
|
|
26
|
+
``sbadmin_formset.js`` can substitute the row index. Slugify collapses
|
|
27
|
+
that token; underscore-to-hyphen replacement turns it into ``---prefix---``.
|
|
28
|
+
"""
|
|
29
|
+
if _FORMSET_PREFIX_PLACEHOLDER in value:
|
|
30
|
+
protected = value.replace(
|
|
31
|
+
_FORMSET_PREFIX_PLACEHOLDER, _FORMSET_PREFIX_PLACEHOLDER_TOKEN
|
|
32
|
+
)
|
|
33
|
+
return protected.replace("_", "-").replace(
|
|
34
|
+
_FORMSET_PREFIX_PLACEHOLDER_TOKEN, _FORMSET_PREFIX_PLACEHOLDER
|
|
35
|
+
)
|
|
36
|
+
return slugify(value).replace("_", "-")
|
|
18
37
|
|
|
19
38
|
|
|
20
39
|
def field_names_from_layout(layout: Iterable[Any]) -> tuple[str, ...]:
|
|
@@ -141,7 +160,7 @@ class SBDynamicRegion:
|
|
|
141
160
|
if prefix:
|
|
142
161
|
pieces.append(str(prefix))
|
|
143
162
|
pieces.append(self.name)
|
|
144
|
-
return
|
|
163
|
+
return _dynamic_region_wrapper_id_from_parts("-".join(pieces))
|
|
145
164
|
|
|
146
165
|
def resolve(
|
|
147
166
|
self, form: forms.Form, request: HttpRequest | None = None
|
|
@@ -535,6 +554,7 @@ class SBAdminDynamicFormMixin:
|
|
|
535
554
|
collapsible = bool(fieldset_data.get("collapsible", False))
|
|
536
555
|
default_collapsed = bool(fieldset_data.get("default_collapsed", False))
|
|
537
556
|
hide_if_empty = bool(fieldset_data.get("hide_if_empty", False))
|
|
557
|
+
skip_header = bool(fieldset_data.get("skip_header", False))
|
|
538
558
|
fieldset_layout = self.get_fieldset_layout(fieldset, fieldset_data, request)
|
|
539
559
|
fieldset_empty = (
|
|
540
560
|
hide_if_empty
|
|
@@ -551,6 +571,7 @@ class SBAdminDynamicFormMixin:
|
|
|
551
571
|
"actions": self.get_fieldset_actions(fieldset, fieldset_data, request),
|
|
552
572
|
"hide_if_empty": hide_if_empty,
|
|
553
573
|
"empty": fieldset_empty,
|
|
574
|
+
"skip_header": skip_header,
|
|
554
575
|
}
|
|
555
576
|
|
|
556
577
|
def get_fieldset_layout(
|