django-smartbase-admin 2.0.3__tar.gz → 2.0.5__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.3 → django_smartbase_admin-2.0.5}/PKG-INFO +1 -1
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/pyproject.toml +1 -1
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/admin/admin_base.py +30 -3
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/tests/test_delegate_to_action.py +170 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/admin_base_view.py +14 -10
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/admin_view.py +6 -1
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/configuration.py +27 -4
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/const.py +1 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/fake_inline.py +24 -19
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/schema.py +5 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/views.py +90 -3
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/main.js +1 -1
- django_smartbase_admin-2.0.5/src/django_smartbase_admin/static/sb_admin/dist/main_style.css +1 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_components.css +1 -1
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_inlines.css +12 -5
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/main.js +8 -4
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/text_tags.js +30 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/change_form.html +3 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/translations-detail.html +3 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/inlines/stacked_inline.html +1 -1
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/inlines/table_inline.html +6 -1
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/tailwind_whitelist.html +1 -1
- django_smartbase_admin-2.0.5/src/django_smartbase_admin/tests/test_view_on_site.py +270 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/translations_view.py +1 -0
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/static/sb_admin/dist/main_style.css +0 -1
- django_smartbase_admin-2.0.3/src/django_smartbase_admin/tests/test_view_on_site.py +0 -123
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/LICENSE.md +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/README.md +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/actions/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/actions/admin_action_list.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/actions/advanced_filters.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/admin/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/admin/site.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/admin/widgets.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/apps.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/apps.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/manager.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/mcp.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/migrations/0001_initial.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/migrations/0002_adminauditlog_source.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/models.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/sb_admin.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/tests/test_action_processing.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/tests/test_audit_integration.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/tests/test_audit_permissions.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/tests/test_diff.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/tests/test_modal_media.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/utils/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/utils/diff.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/utils/serialization.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/audit/views.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/checks.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/compilemessages.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/actions.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/admin_entrypoint_view.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/dashboard.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/dynamic_forms.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/field.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/field_formatter.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/filter_widgets.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/global_filter_form.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/inline_pagination.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/menu_item.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/modal_view.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/engine/request.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/integration/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/integration/django_cms.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/cs/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/cs/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/de/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/de/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/en/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/en/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/hr/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/hr/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/hu/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/hu/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/it/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/it/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/pl/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/pl/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/ro/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/ro/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/sk/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/sk/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/locale/sl/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/makemessages.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/actions.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/apps.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/bridge.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/dashboard_blueprint.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/field_schema.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/form_encoding.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/html_sanitize.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/inlines.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/instructions.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/mcp.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/middleware.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/oauth/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/oauth/urls.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/oauth/validators.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/oauth/views.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/resolvers.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/service.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/_common.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_actions.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_aggregate.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_cors_middleware.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_create_object.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_fake_inlines.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_fetch_action_form.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_fetch_add_form.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_fetch_detail.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_fetch_filter_preset.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_filter_validation.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_inline_data.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_invoke_integration.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_list_admins.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_oauth_redirect_loopback.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_permissions.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_smoke.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_update_detail.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/tests/test_widget_encoding.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/mcp/urls.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/migrations/0001_initial.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/migrations/0002_auto_20230402_2316.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/migrations/0003_auto_20230402_2328.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/migrations/0004_alter_sbadminlistviewconfiguration_action_and_more.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/migrations/0005_sbadminuserconfiguration.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/migrations/0006_alter_sbadminuserconfiguration_color_scheme.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/models.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/monkeypatch/admin_readonly_field_monkeypatch.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/monkeypatch/fake_inline_monkeypatch.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/plugins/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/plugins/base.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/plugins/nested.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/plugins/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/plugins/tests/test_nested.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/querysets.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/configuration.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/data.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/request_cache.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/thread_local.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/translations.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/url_params_codec.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/services/xlsx_export.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/postcss.config.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/tailwind.config.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/colors.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/screens.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/spacing.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/typography.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/webpack.analyze.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/webpack.common.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/webpack.dev.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/build/webpack.prod.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/css/ckeditor/ckeditor_content_dark.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/css/codemirror/codemirror.min.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/css/codemirror/dracula.min.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/css/coloris/coloris.min.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/css/querybuilder/query-builder.default.min.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/calendar.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/calendar.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/calendar_style.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/calendar_style.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/chart.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/chart.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/confirmation_modal.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/main.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/main_style.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/modal_view.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/sbadmin_formset.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/sbadmin_formset.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/table.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/table.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/translations.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget_style.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget_style.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/fancytree/jquery.fancytree-all-deps.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/android-chrome-192x192.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/android-chrome-512x512.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/apple-touch-icon.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/browserconfig.xml +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/favicon-16x16.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/favicon-32x32.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/favicon.ico +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-144x144.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-150x150.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-310x150.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-310x310.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-70x70.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/safari-pinned-tab.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/favicon/site.webmanifest +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/fonts/Inter-Ext.woff2 +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/fonts/Inter.woff2 +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/blank.gif +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-csv.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-doc.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-docx.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-other.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-pdf.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-ppt.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-xls.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-xlsx.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-zip.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ad.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ae.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/af.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ag.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ai.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/al.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/am.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/an.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ao.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ar.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/at.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/au.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/aw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ax.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/az.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ba.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bb.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bd.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/be.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bf.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bh.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bi.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bj.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bo.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/br.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bs.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bt.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/by.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/bz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ca.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/caf.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cas.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cd.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ceu.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cf.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ch.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ci.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cl.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cna.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/co.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/coc.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cs.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/csa.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cu.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cv.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cy.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/cz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/de-at.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/de-ch.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/de.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/dj.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/dk.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/dm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/do.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/dz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ec.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ee.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/eg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/el.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/en.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/er.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/es.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/et.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/eu.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/fi.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/fj.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/fk.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/fm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/fr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ga.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gb.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gd.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ge.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gh.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gi.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gq.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gt.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/gy.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/hk.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/hn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/hr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ht.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/hu.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/id.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ie.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/il.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/im.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/in.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/iq.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ir.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/is.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/it.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/je.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/jm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/jo.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/jp.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ke.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/kg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/kh.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/km.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/kn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/kp.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/kr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/kw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ky.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/kz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/la.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/lb.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/lc.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/li.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/lk.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/lr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ls.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/lt.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/lu.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/lv.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ly.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ma.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mc.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/md.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/me.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mk.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ml.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mo.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ms.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mt.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mu.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mv.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mx.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/my.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/mz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/na.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ne.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ng.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ni.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/nl.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/no.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/np.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/nz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/om.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pa.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pe.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pf.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ph.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pk.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pl.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pt.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/pw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/py.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/qa.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ro.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/rs.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ru.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/rw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sa.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sb.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sc.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sd.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/se.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sh.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/si.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sk.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sl.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/so.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/st.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sv.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sy.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/sz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tc.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/td.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/th.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tj.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tl.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/to.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tr.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tt.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/tz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ua.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ug.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/us.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/uy.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/uz.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/vc.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ve.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/vg.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/vn.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/vu.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ws.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ww.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/ye.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/za.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/zm.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/flags/zw.png +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/login.jpg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/login.webp +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/logo.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/logo_light.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/images/sk.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/code.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/codemirror/codemirror.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/codemirror/django.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/codemirror/overlay.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/coloris/coloris.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/fullcalendar.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/htmx.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/jquery-3.7.1.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/jquery.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/lazysizes.bgset.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/lazysizes.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/ls.unveilhooks.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/prices.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/querybuilder/jQuery.extendext.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/querybuilder/query-builder.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/remove-me.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/sbadmin_prepopulated_fields_init.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/js/tabulator.min.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Accept-email.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Ad-product.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-mode-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-picture.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-three.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Aiming.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-both.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-center.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-left.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-right.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/All-application.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Alphabetical-sorting-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Alphabetical-sorting.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-menu.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-down.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-left.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-right.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-up.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/At-sign.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Attention.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Back-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Background-color.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bank-card-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bank-card.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bolt-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bookmark.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bookmarked.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Box.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Calendar.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Camera.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Caution-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Caution.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-line.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-pie-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-pie.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chat-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chat.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-correct.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-small.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-search.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-small.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Code.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Color-card.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Column.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Comment-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Corner-up-left.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Corner-up-right.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Cut.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Cylinder.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Delete-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Delete.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Desktop-screen.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-down.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-left.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-right.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-up.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down-c.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down-small.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-three-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-three.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Drag.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Edit-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Edit.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Electric-drill.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Emoji.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Euro-outlined.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Excel-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Excel-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Expand-left.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Expand-right.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Export.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Eyedropper.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Facebook.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Figma-component.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Filter.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Find.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Fire-extinguisher.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Frame-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Gas.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Go-ahead.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Go-on.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Graphic-design.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Hamburger-button.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Handle.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Headset-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Health.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Heart-rate.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Help.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/History.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Home.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Id-card-h.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Import-and-export.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Import.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Indent-left.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Indent-right.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Info.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Infusion.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Iphone.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-c.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small-down.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small-up.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lightning-fill.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lightning.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Like.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-checkbox.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-numbers.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Loading.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lock.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Login.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Logout.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lung.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Magic-wand.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Magic.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail-download.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail-open.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Medical-box.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Medication-time.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Message-emoji.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Message-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Minus-the-top.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Minus.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Moon-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Moon.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-three.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Notification.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Paperclip.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Parallel-gateway.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/People-top-card.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Percentage.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pesticide.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Phone-call.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Phone-telephone.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Picture-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pin-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pin.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Plus.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-close-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-close.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-open.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Printer-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Printer.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Protect-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pull.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pure-natural.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pushpin.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Reduce-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Reply.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Return.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-c.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small-down.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small-up.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Row.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Save.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Search.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Send-email.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Send.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-config.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shop.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping-bag.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping-cart-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-apple.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-discord.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-facebook.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-google.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-instagram.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-linkedin.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-mailchimp.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-messenger.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-paypal.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-pinterest.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-play-store.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-shopify.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-spotify.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-tiktok.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-twitch.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-vimeo.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-whatsapp.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-windows.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-x-twitter.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-youtube.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-alt.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-amount-down.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-amount-up.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-three.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2-half-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Success.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-1.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Switch.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Table-report-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Table-report.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tag-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tag.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-bold.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-italic.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-underline.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-down-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-down.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-up-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-up.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Time.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tips-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/To-top.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Transfer-data.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Translate.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Translation.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Triangle-round-rectangle.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Truck.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Undo.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Unlock.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up-c.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up-small.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Upload-one.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Upload.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/User-business.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/User-placeholder.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Video-two.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/View-grid-list.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Watchdog-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Watchdog.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Write.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Writing-fluently-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Writting-flueantly-filled.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Youtube.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Zoom-in.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Zoom-out.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_base.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_choices.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_colors.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_datepicker.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_filer.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_nouislider.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_tabulator.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_tailwind_base.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/_utilities.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/calendar.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_button.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_input.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_json-editor.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_modal.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_nav-tabs.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_query-builder.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_table.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_toggle.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/components/_tooltip.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/style.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/css/tree_widget.css +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/autocomplete.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/calendar.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/chart.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/choices.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/confirmation_modal.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/datepicker.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/inline_paginator.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/modal_view.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/multiselect.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/radio.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/range.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/sanitize.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/sb_ajax_params_tabulator_modifier.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/sbadmin_formset.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/sidebar.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/sorting.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/static_autocomplete.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/base_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/column_display_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/data_edit_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/data_tree_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/full_text_search_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/header_tabs_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/movable_columns_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/selection_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/sticky_header_and_footer_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/table_params_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/views_module.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/tabulator_layouts/fit_data_fill_available_space.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/translations.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/tree_widget.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/url_params_codec.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/static/sb_admin/src/js/utils.js +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/change_password.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/dashboard.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/delete_confirmation.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/delete_selected_confirmation.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/includes/delete_impact_panel.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/list.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/media.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/object_history.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/partials/action_link.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/partials/open_modal_attrs.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/partials/selected_rows_actions.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_change_view_v1.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_v1.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_v2.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/partials/translations_status_row.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/translations-language-choice.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/translations-list.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/translations.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/actions/tree_list.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/audit/affected.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/audit/changes.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/audit/related_changes.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/audit/summary.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/auth/user/add_form.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/login.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/login_base.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/logout.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/password_change_done.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/password_change_form.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_complete.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_confirm.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_done.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_email.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_form.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/blank_base.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/components/buttons.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/components/columns.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/components/filters.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/components/filters_v2.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/components/inputs.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/config/view.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/dashboard/calendar_widget.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/dashboard/chart_aggregate_sub_widget.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/dashboard/chart_widget.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/dashboard/includes/list_widget_actions.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/dashboard/includes/list_widget_filters.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/dashboard/list_widget.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/dashboard/widget_base.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/autocomplete_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/boolean_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/choice_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/date_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/multiple_choice_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/number_range_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/radio_choice_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/string_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/tree_select_filter.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/autocomplete_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/choice_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/multiple_choice_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/number_range_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/string_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/tree_select_filter.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/fonts.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/attrs.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/change_form_title.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/components.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/confirmation.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/detail_view_tabs_hash_init.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/dynamic_region.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset_header.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset_layout.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/form_error_alert.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/inline_fieldset.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/inline_fieldset_fields.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/loading.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/loading_absolute.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/notifications.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/readonly_boolean_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/readonly_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/includes/table_inline_delete_button.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/inlines/table_inline_paginated.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/integrations/cms/page_list.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/integrations/cms/translations_status_row.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/filer_change_form.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/folder_list.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/image_change_form.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/image_detail_panel.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/navigation.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_base.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_close.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_error.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_info.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_success.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_warning.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal_confirmation.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal_content.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/sb_admin_base.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/sb_admin_base_no_sidebar.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/sb_admin_js_trans.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/sprites/sb_admin.svg +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/submit_line.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/array.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/attributes.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/attrs.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/autocomplete.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_dropdown.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_group.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_option.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/choice_search.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/ckeditor.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/clearable_file_input.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/code.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/color_field.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/date.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/datetime.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/email.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/file.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/filer_file.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/hidden.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/html_read_only.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/field_label.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/help_text.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/input_affix.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/related_item_buttons.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/simple_field_label.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/input.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/input_option.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/json_editor.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/multiple_hidden.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/multiwidget.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/number.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/pageselectwidget.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/password.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/radio.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/radio_dropdown.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/radio_option.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/read_only_password_hash.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/select.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/select_date.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/select_option.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/splitdatetime.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/splithiddendatetime.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/text.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/text_tags.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/textarea.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/time.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/toggle.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_base.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_select.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_select_inline.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/widgets/url.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templates/sb_admin/wizard/wizard_step.html +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templatetags/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templatetags/base.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templatetags/sb_admin_tags.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/templatetags/sb_paginated_inline.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_autocomplete_forward_create.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_checks.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_copyable_widget.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_dashboard.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_dynamic_forms.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_generic_relation_parent.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_inline_pagination.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_inline_table_field_rendering.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_request_cache.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/tests/test_url_params_codec.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/urls.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/utils.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/__init__.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/dashboard_view.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/global_filter_view.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/media_view.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/sbadmin_wizard_step.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/sbadmin_wizard_view.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/user_config_view.py +0 -0
- {django_smartbase_admin-2.0.3 → django_smartbase_admin-2.0.5}/src/django_smartbase_admin/views/view_on_site_redirect_view.py +0 -0
|
@@ -31,7 +31,12 @@ from django.forms.models import (
|
|
|
31
31
|
ModelFormMetaclass,
|
|
32
32
|
modelform_factory,
|
|
33
33
|
)
|
|
34
|
-
from django.http import
|
|
34
|
+
from django.http import (
|
|
35
|
+
HttpResponse,
|
|
36
|
+
HttpResponseBadRequest,
|
|
37
|
+
HttpResponseNotAllowed,
|
|
38
|
+
HttpResponseRedirect,
|
|
39
|
+
)
|
|
35
40
|
from django.template.loader import render_to_string
|
|
36
41
|
from django.template.response import TemplateResponse
|
|
37
42
|
from django.urls import reverse, NoReverseMatch, resolve
|
|
@@ -824,6 +829,11 @@ class SBAdminTranslationStatusMixin:
|
|
|
824
829
|
translations_view_id, obj.id
|
|
825
830
|
)
|
|
826
831
|
)
|
|
832
|
+
request = SBAdminThreadLocalService.get_request()
|
|
833
|
+
if request is not None:
|
|
834
|
+
translations_edit_url = SBAdminViewService.url_with_current_back_url(
|
|
835
|
+
request, translations_edit_url
|
|
836
|
+
)
|
|
827
837
|
result = f"<a href='{translations_edit_url}' class='btn btn-small absolute top-24 right-24'>{_('Edit')}</a>"
|
|
828
838
|
languages = SBAdminTranslationsService.get_all_languages()
|
|
829
839
|
translations = (
|
|
@@ -1258,15 +1268,32 @@ class SBAdmin(
|
|
|
1258
1268
|
trigger_client_event(response, TABLE_RELOAD_DATA_EVENT_NAME, {})
|
|
1259
1269
|
return response
|
|
1260
1270
|
|
|
1271
|
+
def _apply_back_url(self, request, response):
|
|
1272
|
+
"""On a terminal Save, redirect to ``back_url`` instead of the default
|
|
1273
|
+
changelist. Only applies to a redirect response with ``_save`` in POST."""
|
|
1274
|
+
if not isinstance(response, HttpResponseRedirect):
|
|
1275
|
+
return response
|
|
1276
|
+
if "_save" not in request.POST:
|
|
1277
|
+
return response
|
|
1278
|
+
default_url = response.url
|
|
1279
|
+
target = SBAdminViewService.resolve_back_url(
|
|
1280
|
+
request, default_url, current_path=request.path
|
|
1281
|
+
)
|
|
1282
|
+
if target != default_url:
|
|
1283
|
+
return HttpResponseRedirect(target)
|
|
1284
|
+
return response
|
|
1285
|
+
|
|
1261
1286
|
def response_add(self, request, obj, post_url_continue=None):
|
|
1262
1287
|
if is_modal(request):
|
|
1263
1288
|
return self.get_modal_save_response(request, obj)
|
|
1264
|
-
return
|
|
1289
|
+
return self._apply_back_url(
|
|
1290
|
+
request, super().response_add(request, obj, post_url_continue)
|
|
1291
|
+
)
|
|
1265
1292
|
|
|
1266
1293
|
def response_change(self, request, obj):
|
|
1267
1294
|
if is_modal(request):
|
|
1268
1295
|
return self.get_modal_save_response(request, obj)
|
|
1269
|
-
return super().response_change(request, obj)
|
|
1296
|
+
return self._apply_back_url(request, super().response_change(request, obj))
|
|
1270
1297
|
|
|
1271
1298
|
@classmethod
|
|
1272
1299
|
def set_generic_relation_from_parent(cls, request, obj):
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
from unittest.mock import MagicMock, patch
|
|
4
4
|
|
|
5
|
+
from django.contrib.auth.models import Group
|
|
5
6
|
from django.core.exceptions import PermissionDenied
|
|
6
7
|
from django.http import Http404, HttpResponse
|
|
7
8
|
from django.test import RequestFactory, TestCase
|
|
8
9
|
|
|
9
10
|
from django_smartbase_admin.engine.actions import SBAdminCustomAction, sbadmin_action
|
|
11
|
+
from django_smartbase_admin.engine.admin_base_view import SBAdminBaseListView
|
|
10
12
|
from django_smartbase_admin.engine.admin_view import SBAdminView
|
|
13
|
+
from django_smartbase_admin.engine.const import Action
|
|
11
14
|
from django_smartbase_admin.engine.configuration import SBAdminRoleConfiguration
|
|
12
15
|
from django_smartbase_admin.services.views import SBAdminViewService
|
|
13
16
|
|
|
@@ -131,6 +134,37 @@ class TestDelegateToAction(TestCase):
|
|
|
131
134
|
action_arg = view.has_permission_for_action.call_args.args[1]
|
|
132
135
|
self.assertEqual(action_arg.permission, "delete")
|
|
133
136
|
|
|
137
|
+
@patch(PATCH_FROM_REQUEST)
|
|
138
|
+
def test_bulk_delete_url_dispatch_requires_delete_permission(
|
|
139
|
+
self, mock_from_request
|
|
140
|
+
):
|
|
141
|
+
def action_bulk_delete(request, modifier, object_id):
|
|
142
|
+
return HttpResponse("ok")
|
|
143
|
+
|
|
144
|
+
action_bulk_delete._is_sbadmin_action = True
|
|
145
|
+
action_bulk_delete._sbadmin_action_attrs = getattr(
|
|
146
|
+
SBAdminBaseListView.action_bulk_delete, "_sbadmin_action_attrs"
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
view = MagicMock()
|
|
150
|
+
view.action_bulk_delete = action_bulk_delete
|
|
151
|
+
view.has_permission_for_action.return_value = True
|
|
152
|
+
view.init_view_dynamic = MagicMock()
|
|
153
|
+
|
|
154
|
+
rd = _make_request_data(Action.BULK_DELETE.value)
|
|
155
|
+
rd.selected_view = view
|
|
156
|
+
mock_from_request.return_value = rd
|
|
157
|
+
|
|
158
|
+
SBAdminViewService.delegate_to_action(
|
|
159
|
+
self.factory.get("/"),
|
|
160
|
+
view="v",
|
|
161
|
+
action=Action.BULK_DELETE.value,
|
|
162
|
+
modifier="template",
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
action_arg = view.has_permission_for_action.call_args.args[1]
|
|
166
|
+
self.assertEqual(action_arg.permission, "delete")
|
|
167
|
+
|
|
134
168
|
@patch(PATCH_FROM_REQUEST)
|
|
135
169
|
def test_object_id_is_passed_to_method_action_for_template_modifier(
|
|
136
170
|
self, mock_from_request
|
|
@@ -190,6 +224,142 @@ class TestDefaultActionPermission(TestCase):
|
|
|
190
224
|
self.assertEqual(has_perm.call_args.args[-1], "change")
|
|
191
225
|
|
|
192
226
|
|
|
227
|
+
class MCPReadonlyRoleConfiguration(SBAdminRoleConfiguration):
|
|
228
|
+
mcp_readonly = True
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
class MCPReadonlyOverrideRoleConfiguration(MCPReadonlyRoleConfiguration):
|
|
232
|
+
def has_permission(
|
|
233
|
+
self, request, request_data, view, model=None, obj=None, permission=None
|
|
234
|
+
):
|
|
235
|
+
return True
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
class LegacyRoleConfiguration:
|
|
239
|
+
def has_permission(
|
|
240
|
+
self, request, request_data, view, model=None, obj=None, permission=None
|
|
241
|
+
):
|
|
242
|
+
return True
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
class TestMCPReadonlyPermissions(TestCase):
|
|
246
|
+
def _request(self, *, is_mcp=True, is_superuser=False, has_perm=True):
|
|
247
|
+
request = RequestFactory().get("/")
|
|
248
|
+
request.is_mcp = is_mcp
|
|
249
|
+
request.user = MagicMock(is_superuser=is_superuser, is_staff=True)
|
|
250
|
+
request.user.has_perm.return_value = has_perm
|
|
251
|
+
return request
|
|
252
|
+
|
|
253
|
+
def test_mcp_readonly_blocks_model_writes_only_for_mcp_requests(self):
|
|
254
|
+
config = MCPReadonlyRoleConfiguration()
|
|
255
|
+
view = MagicMock()
|
|
256
|
+
|
|
257
|
+
mcp_request = self._request(is_mcp=True)
|
|
258
|
+
self.assertTrue(
|
|
259
|
+
config.has_permission(mcp_request, MagicMock(), view, Group, None, "view")
|
|
260
|
+
)
|
|
261
|
+
self.assertFalse(
|
|
262
|
+
config.has_permission(mcp_request, MagicMock(), view, Group, None, "add")
|
|
263
|
+
)
|
|
264
|
+
self.assertFalse(
|
|
265
|
+
config.has_permission(mcp_request, MagicMock(), view, Group, None, "change")
|
|
266
|
+
)
|
|
267
|
+
self.assertFalse(
|
|
268
|
+
config.has_permission(mcp_request, MagicMock(), view, Group, None, "delete")
|
|
269
|
+
)
|
|
270
|
+
|
|
271
|
+
browser_request = self._request(is_mcp=False)
|
|
272
|
+
self.assertTrue(
|
|
273
|
+
config.has_permission(
|
|
274
|
+
browser_request, MagicMock(), view, Group, None, "change"
|
|
275
|
+
)
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
def test_mcp_readonly_blocks_mutating_actions_but_allows_view_actions(self):
|
|
279
|
+
config = MCPReadonlyRoleConfiguration()
|
|
280
|
+
request = self._request()
|
|
281
|
+
view = MagicMock()
|
|
282
|
+
|
|
283
|
+
mutate_action = SBAdminCustomAction.__new__(SBAdminCustomAction)
|
|
284
|
+
mutate_action.action_id = "mutate"
|
|
285
|
+
mutate_action.permission = None
|
|
286
|
+
|
|
287
|
+
view_action = SBAdminCustomAction.__new__(SBAdminCustomAction)
|
|
288
|
+
view_action.action_id = "inspect"
|
|
289
|
+
view_action.permission = "view"
|
|
290
|
+
|
|
291
|
+
delete_action = SBAdminCustomAction.__new__(SBAdminCustomAction)
|
|
292
|
+
delete_action.action_id = Action.BULK_DELETE.value
|
|
293
|
+
delete_action.permission = "delete"
|
|
294
|
+
|
|
295
|
+
self.assertFalse(
|
|
296
|
+
config.has_action_permission(
|
|
297
|
+
request, MagicMock(), view, Group, None, mutate_action
|
|
298
|
+
)
|
|
299
|
+
)
|
|
300
|
+
self.assertFalse(
|
|
301
|
+
config.has_action_permission(
|
|
302
|
+
request, MagicMock(), view, Group, None, delete_action
|
|
303
|
+
)
|
|
304
|
+
)
|
|
305
|
+
self.assertTrue(
|
|
306
|
+
config.has_action_permission(
|
|
307
|
+
request, MagicMock(), view, Group, None, view_action
|
|
308
|
+
)
|
|
309
|
+
)
|
|
310
|
+
view.has_delete_permission.assert_not_called()
|
|
311
|
+
|
|
312
|
+
def test_mcp_readonly_does_not_block_superusers(self):
|
|
313
|
+
config = MCPReadonlyRoleConfiguration()
|
|
314
|
+
request = self._request(is_superuser=True)
|
|
315
|
+
|
|
316
|
+
self.assertTrue(
|
|
317
|
+
config.has_permission(
|
|
318
|
+
request, MagicMock(), MagicMock(), Group, None, "change"
|
|
319
|
+
)
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
def test_service_gate_applies_before_custom_has_permission_override(self):
|
|
323
|
+
request = self._request()
|
|
324
|
+
request.request_data = MagicMock()
|
|
325
|
+
request.request_data.configuration = MCPReadonlyOverrideRoleConfiguration()
|
|
326
|
+
|
|
327
|
+
self.assertFalse(
|
|
328
|
+
SBAdminViewService.has_permission(
|
|
329
|
+
request, view=MagicMock(), model=Group, permission="change"
|
|
330
|
+
)
|
|
331
|
+
)
|
|
332
|
+
self.assertTrue(
|
|
333
|
+
SBAdminViewService.has_permission(
|
|
334
|
+
request, view=MagicMock(), model=Group, permission="view"
|
|
335
|
+
)
|
|
336
|
+
)
|
|
337
|
+
|
|
338
|
+
def test_service_gate_allows_legacy_configuration_without_mcp_helper(self):
|
|
339
|
+
request = self._request()
|
|
340
|
+
request.request_data = MagicMock()
|
|
341
|
+
request.request_data.configuration = LegacyRoleConfiguration()
|
|
342
|
+
|
|
343
|
+
self.assertTrue(
|
|
344
|
+
SBAdminViewService.has_permission(
|
|
345
|
+
request, view=MagicMock(), model=Group, permission="change"
|
|
346
|
+
)
|
|
347
|
+
)
|
|
348
|
+
|
|
349
|
+
def test_default_bulk_delete_action_declares_delete_permission(self):
|
|
350
|
+
view = SBAdminBaseListView.__new__(SBAdminBaseListView)
|
|
351
|
+
view.model = Group
|
|
352
|
+
view.sbadmin_list_selection_actions = None
|
|
353
|
+
|
|
354
|
+
action = next(
|
|
355
|
+
action
|
|
356
|
+
for action in view.get_sbadmin_list_selection_actions(MagicMock())
|
|
357
|
+
if action.action_id == Action.BULK_DELETE.value
|
|
358
|
+
)
|
|
359
|
+
|
|
360
|
+
self.assertEqual(action.permission, "delete")
|
|
361
|
+
|
|
362
|
+
|
|
193
363
|
class TestSbadminActionDecorator(TestCase):
|
|
194
364
|
def test_bare_decorator(self):
|
|
195
365
|
@sbadmin_action
|
|
@@ -108,9 +108,6 @@ class SBAdminBaseView(object):
|
|
|
108
108
|
return self.has_permission(request, obj, "delete")
|
|
109
109
|
|
|
110
110
|
def has_permission_for_action(self, request, action: SBAdminCustomAction) -> bool:
|
|
111
|
-
if getattr(action, "action_id", None) == Action.BULK_DELETE.value:
|
|
112
|
-
if not self.has_delete_permission(request):
|
|
113
|
-
return False
|
|
114
111
|
return self.has_permission(
|
|
115
112
|
request=request,
|
|
116
113
|
obj=None,
|
|
@@ -550,14 +547,19 @@ class SBAdminBaseView(object):
|
|
|
550
547
|
def get_change_view_context(
|
|
551
548
|
self, request: HttpRequest, object_id: str | int | None
|
|
552
549
|
) -> dict[str, Any]:
|
|
553
|
-
"""Default change-form context: Back → model changelist.
|
|
550
|
+
"""Default change-form context: Back → ``back_url`` or model changelist.
|
|
551
|
+
ModelAdmin only."""
|
|
552
|
+
default_back = reverse(
|
|
553
|
+
"sb_admin:{}_{}_changelist".format(
|
|
554
|
+
self.opts.app_label, self.opts.model_name
|
|
555
|
+
)
|
|
556
|
+
)
|
|
557
|
+
back_url = SBAdminViewService.resolve_back_url(
|
|
558
|
+
request, default_back, current_path=request.path
|
|
559
|
+
)
|
|
554
560
|
return {
|
|
555
561
|
"show_back_button": True,
|
|
556
|
-
"back_url":
|
|
557
|
-
"sb_admin:{}_{}_changelist".format(
|
|
558
|
-
self.opts.app_label, self.opts.model_name
|
|
559
|
-
)
|
|
560
|
-
),
|
|
562
|
+
"back_url": back_url,
|
|
561
563
|
}
|
|
562
564
|
|
|
563
565
|
def get_global_context(
|
|
@@ -986,6 +988,7 @@ class SBAdminBaseListView(SBAdminBaseView):
|
|
|
986
988
|
title=_("History"),
|
|
987
989
|
url=url,
|
|
988
990
|
no_params=True,
|
|
991
|
+
permission="view",
|
|
989
992
|
),
|
|
990
993
|
]
|
|
991
994
|
except Exception:
|
|
@@ -1023,6 +1026,7 @@ class SBAdminBaseListView(SBAdminBaseView):
|
|
|
1023
1026
|
view=self,
|
|
1024
1027
|
action_id=Action.BULK_DELETE.value,
|
|
1025
1028
|
css_class="btn-destructive",
|
|
1029
|
+
permission="delete",
|
|
1026
1030
|
),
|
|
1027
1031
|
]
|
|
1028
1032
|
return self.sbadmin_list_selection_actions
|
|
@@ -1075,7 +1079,7 @@ class SBAdminBaseListView(SBAdminBaseView):
|
|
|
1075
1079
|
data = action.get_xlsx_data(request)
|
|
1076
1080
|
return SBAdminXLSXExportService.create_workbook_http_respone(*data)
|
|
1077
1081
|
|
|
1078
|
-
@sbadmin_action
|
|
1082
|
+
@sbadmin_action(permission="delete")
|
|
1079
1083
|
def action_bulk_delete(self, request, modifier, object_id=None):
|
|
1080
1084
|
action = self.sbadmin_list_action_class(self, request)
|
|
1081
1085
|
if (
|
|
@@ -13,6 +13,7 @@ from django_smartbase_admin.engine.const import (
|
|
|
13
13
|
DEFAULT_PAGE_SIZE,
|
|
14
14
|
)
|
|
15
15
|
from django_smartbase_admin.services.configuration import SBAdminConfigurationService
|
|
16
|
+
from django_smartbase_admin.services.views import SBAdminViewService
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
class SBAdminView(SBAdminBaseQuerysetMixin, SBAdminBaseView):
|
|
@@ -108,9 +109,12 @@ class SBAdminView(SBAdminBaseQuerysetMixin, SBAdminBaseView):
|
|
|
108
109
|
return f"{url}{f'?{changelist_filters}' if changelist_filters else ''}"
|
|
109
110
|
|
|
110
111
|
def get_back_url(self, request):
|
|
111
|
-
|
|
112
|
+
default_url = self.add_preserved_filters(
|
|
112
113
|
request, self.get_action_url(Action.LIST.value)
|
|
113
114
|
)
|
|
115
|
+
return SBAdminViewService.resolve_back_url(
|
|
116
|
+
request, default_url, current_path=request.path
|
|
117
|
+
)
|
|
114
118
|
|
|
115
119
|
def get_detail_change_response(self, request, msg_dict):
|
|
116
120
|
if "_continue" in request.POST:
|
|
@@ -123,6 +127,7 @@ class SBAdminView(SBAdminBaseQuerysetMixin, SBAdminBaseView):
|
|
|
123
127
|
)
|
|
124
128
|
messages.success(request, msg)
|
|
125
129
|
redirect_url = self.keep_preserved_filters(request, request.path)
|
|
130
|
+
redirect_url = SBAdminViewService.keep_back_url(request, redirect_url)
|
|
126
131
|
return HttpResponseRedirect(redirect_url)
|
|
127
132
|
if "_save" in request.POST:
|
|
128
133
|
msg = format_html(
|
|
@@ -7,7 +7,6 @@ from django_smartbase_admin.engine.actions import SBAdminCustomAction
|
|
|
7
7
|
from django_smartbase_admin.engine.const import (
|
|
8
8
|
GLOBAL_FILTER_DATA_KEY,
|
|
9
9
|
FilterVersions,
|
|
10
|
-
Action,
|
|
11
10
|
)
|
|
12
11
|
from django_smartbase_admin.models import (
|
|
13
12
|
ColorScheme,
|
|
@@ -194,6 +193,7 @@ class SBAdminRoleConfiguration(metaclass=Singleton):
|
|
|
194
193
|
plugins: list = []
|
|
195
194
|
default_list_sticky_header_and_footer = True
|
|
196
195
|
enable_url_compression = True
|
|
196
|
+
mcp_readonly = False
|
|
197
197
|
|
|
198
198
|
def __init__(
|
|
199
199
|
self,
|
|
@@ -208,6 +208,7 @@ class SBAdminRoleConfiguration(metaclass=Singleton):
|
|
|
208
208
|
plugins=None,
|
|
209
209
|
default_list_sticky_header_and_footer=None,
|
|
210
210
|
enable_url_compression=None,
|
|
211
|
+
mcp_readonly=None,
|
|
211
212
|
) -> None:
|
|
212
213
|
super().__init__()
|
|
213
214
|
self.default_view = default_view or self.default_view or []
|
|
@@ -232,6 +233,9 @@ class SBAdminRoleConfiguration(metaclass=Singleton):
|
|
|
232
233
|
if enable_url_compression is not None
|
|
233
234
|
else self.enable_url_compression
|
|
234
235
|
)
|
|
236
|
+
self.mcp_readonly = (
|
|
237
|
+
mcp_readonly if mcp_readonly is not None else self.mcp_readonly
|
|
238
|
+
)
|
|
235
239
|
|
|
236
240
|
def init_registered_views(self):
|
|
237
241
|
registered_views = []
|
|
@@ -340,19 +344,38 @@ class SBAdminRoleConfiguration(metaclass=Singleton):
|
|
|
340
344
|
):
|
|
341
345
|
return qs
|
|
342
346
|
|
|
347
|
+
def get_action_permission(self, action):
|
|
348
|
+
return getattr(action, "permission", None) or "change"
|
|
349
|
+
|
|
343
350
|
def has_action_permission(self, request, request_data, view, model, obj, action):
|
|
344
351
|
if model:
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
352
|
+
permission = self.get_action_permission(action)
|
|
353
|
+
if self.is_mcp_readonly_request(request) and permission != "view":
|
|
354
|
+
return False
|
|
348
355
|
return self.has_permission(
|
|
349
356
|
request, request_data, view, model, obj, permission
|
|
350
357
|
)
|
|
351
358
|
return request.user.is_staff
|
|
352
359
|
|
|
360
|
+
def is_mcp_readonly_request(self, request):
|
|
361
|
+
return (
|
|
362
|
+
self.mcp_readonly
|
|
363
|
+
and getattr(request, "is_mcp", False)
|
|
364
|
+
and not request.user.is_superuser
|
|
365
|
+
)
|
|
366
|
+
|
|
367
|
+
def is_mcp_readonly_permission(self, request, permission):
|
|
368
|
+
if not self.is_mcp_readonly_request(request):
|
|
369
|
+
return False
|
|
370
|
+
if isinstance(permission, SBAdminCustomAction):
|
|
371
|
+
return self.get_action_permission(permission) != "view"
|
|
372
|
+
return permission in ("add", "change", "delete")
|
|
373
|
+
|
|
353
374
|
def has_permission(
|
|
354
375
|
self, request, request_data, view, model=None, obj=None, permission=None
|
|
355
376
|
):
|
|
377
|
+
if self.is_mcp_readonly_permission(request, permission):
|
|
378
|
+
return False
|
|
356
379
|
if isinstance(permission, SBAdminCustomAction):
|
|
357
380
|
return self.has_action_permission(
|
|
358
381
|
request, request_data, view, model, obj, permission
|
|
@@ -77,6 +77,7 @@ OVERRIDE_CONTENT_OF_NOTIFICATION = "override_notification_content"
|
|
|
77
77
|
# JSON key carrying rendered Django-messages HTML on list-action responses;
|
|
78
78
|
# read by ``SBAdminTable._handleAjaxNotifications`` in ``table.js``.
|
|
79
79
|
SB_ADMIN_AJAX_NOTIFICATIONS_KEY = "sb_admin_notifications"
|
|
80
|
+
SB_ADMIN_BACK_URL = "back_url"
|
|
80
81
|
FIELDSET_HIDE_HEADER_CLASS = "hide-header"
|
|
81
82
|
FIELDSET_PLAIN_CLASS = "sbadmin-fieldset-plain"
|
|
82
83
|
ROW_CLASS_FIELD = "get_sbadmin_row_class"
|
|
@@ -74,27 +74,32 @@ class SBAdminFakeInlineMixin:
|
|
|
74
74
|
f"{self.__class__.__name__}"
|
|
75
75
|
f"{self.parent_model._meta.object_name}"
|
|
76
76
|
)
|
|
77
|
+
proxy_app_label = self.parent_model._meta.app_label
|
|
77
78
|
try:
|
|
78
|
-
fake_model_class = apps.get_model(
|
|
79
|
+
fake_model_class = apps.get_model(proxy_app_label, model_name)
|
|
79
80
|
except LookupError:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
"
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
81
|
+
existing = apps.all_models.get(proxy_app_label, {}).get(model_name.lower())
|
|
82
|
+
if existing is not None:
|
|
83
|
+
fake_model_class = existing
|
|
84
|
+
else:
|
|
85
|
+
fake_model_class = type(
|
|
86
|
+
model_name,
|
|
87
|
+
(self.model,),
|
|
88
|
+
{
|
|
89
|
+
"__module__": self.__module__,
|
|
90
|
+
"Meta": type(
|
|
91
|
+
"Meta",
|
|
92
|
+
(),
|
|
93
|
+
{
|
|
94
|
+
"proxy": True,
|
|
95
|
+
"verbose_name": self.model._meta.verbose_name,
|
|
96
|
+
"verbose_name_plural": self.model._meta.verbose_name_plural,
|
|
97
|
+
},
|
|
98
|
+
),
|
|
99
|
+
},
|
|
100
|
+
)
|
|
101
|
+
fake_model_class.original_model = self.model
|
|
102
|
+
fake_model_class._meta.pk.name = self.model._meta.pk.name
|
|
98
103
|
self.original_model = self.model
|
|
99
104
|
self.model = fake_model_class
|
|
100
105
|
|
|
@@ -13,6 +13,7 @@ from __future__ import annotations
|
|
|
13
13
|
import logging
|
|
14
14
|
|
|
15
15
|
from django.conf import settings
|
|
16
|
+
from django.core.exceptions import ImproperlyConfigured
|
|
16
17
|
|
|
17
18
|
from django_smartbase_admin.engine.const import ROW_CLASS_FIELD
|
|
18
19
|
from django_smartbase_admin.engine.fake_inline import is_fake_inline_batch_safe
|
|
@@ -320,6 +321,10 @@ def _detail_field_entries(admin, request) -> list[str]:
|
|
|
320
321
|
names = list(
|
|
321
322
|
SBAdminMCPDetailService.get_detail_fields(admin, request, None) or []
|
|
322
323
|
)
|
|
324
|
+
except ImproperlyConfigured:
|
|
325
|
+
# List-only admin with no detail page — no fieldsets by design.
|
|
326
|
+
# Mirrors how get_form autocomplete registration treats this case.
|
|
327
|
+
return []
|
|
323
328
|
except Exception:
|
|
324
329
|
logger.warning(
|
|
325
330
|
"MCP schema: get_detail_fields failed for %s",
|
|
@@ -2,12 +2,14 @@ import json
|
|
|
2
2
|
import pickle
|
|
3
3
|
import urllib
|
|
4
4
|
from typing import Any, TYPE_CHECKING
|
|
5
|
+
from urllib.parse import urlencode, urlsplit, urlunsplit, parse_qsl
|
|
5
6
|
|
|
6
7
|
from django.core.exceptions import PermissionDenied
|
|
7
8
|
from django.db.models import Q, FilteredRelation, F
|
|
8
|
-
from django.http import Http404
|
|
9
|
+
from django.http import Http404, HttpRequest
|
|
9
10
|
from django.shortcuts import redirect
|
|
10
|
-
from django.urls import reverse
|
|
11
|
+
from django.urls import reverse, resolve, Resolver404, get_script_prefix
|
|
12
|
+
from django.utils.http import url_has_allowed_host_and_scheme
|
|
11
13
|
|
|
12
14
|
from django_smartbase_admin.engine.const import (
|
|
13
15
|
BASE_PARAMS_NAME,
|
|
@@ -16,6 +18,7 @@ from django_smartbase_admin.engine.const import (
|
|
|
16
18
|
ADVANCED_FILTER_DATA_NAME,
|
|
17
19
|
TABLE_PARAMS_SELECTED_FILTER_TYPE,
|
|
18
20
|
TABLE_TAB_ADVANCED_FITLERS,
|
|
21
|
+
SB_ADMIN_BACK_URL,
|
|
19
22
|
)
|
|
20
23
|
from django_smartbase_admin.engine.actions import SBAdminCustomAction
|
|
21
24
|
from django_smartbase_admin.engine.request import SBAdminViewRequestData
|
|
@@ -211,7 +214,16 @@ class SBAdminViewService(object):
|
|
|
211
214
|
|
|
212
215
|
@classmethod
|
|
213
216
|
def has_permission(cls, request, view=None, model=None, obj=None, permission=None):
|
|
214
|
-
|
|
217
|
+
configuration = request.request_data.configuration
|
|
218
|
+
is_mcp_readonly_permission = getattr(
|
|
219
|
+
configuration, "is_mcp_readonly_permission", None
|
|
220
|
+
)
|
|
221
|
+
if (
|
|
222
|
+
callable(is_mcp_readonly_permission)
|
|
223
|
+
and is_mcp_readonly_permission(request, permission) is True
|
|
224
|
+
):
|
|
225
|
+
return False
|
|
226
|
+
return configuration.has_permission(
|
|
215
227
|
request, request.request_data, view, model, obj, permission
|
|
216
228
|
)
|
|
217
229
|
|
|
@@ -334,3 +346,78 @@ class SBAdminViewService(object):
|
|
|
334
346
|
f"{annotate_name}__{model_field.name}"
|
|
335
347
|
)
|
|
336
348
|
return {**lang_annotates, **field_annotates}
|
|
349
|
+
|
|
350
|
+
@classmethod
|
|
351
|
+
def _get_back_url_param(cls, request: HttpRequest) -> str | None:
|
|
352
|
+
if request.method == "POST":
|
|
353
|
+
value = request.POST.get(SB_ADMIN_BACK_URL)
|
|
354
|
+
if value:
|
|
355
|
+
return value
|
|
356
|
+
return request.GET.get(SB_ADMIN_BACK_URL) or None
|
|
357
|
+
|
|
358
|
+
@classmethod
|
|
359
|
+
def validate_back_url(
|
|
360
|
+
cls, request: HttpRequest, url: str | None, *, current_path: str | None = None
|
|
361
|
+
) -> bool:
|
|
362
|
+
"""A ``back_url`` is valid only if it is a same-host SBAdmin URL.
|
|
363
|
+
|
|
364
|
+
Guards against open redirects (external host / scheme) and self-loops.
|
|
365
|
+
"""
|
|
366
|
+
if not url:
|
|
367
|
+
return False
|
|
368
|
+
if not url_has_allowed_host_and_scheme(
|
|
369
|
+
url, allowed_hosts={request.get_host()}, require_https=request.is_secure()
|
|
370
|
+
):
|
|
371
|
+
return False
|
|
372
|
+
path = urlsplit(url).path
|
|
373
|
+
if current_path and path == current_path:
|
|
374
|
+
return False
|
|
375
|
+
script_prefix = get_script_prefix()
|
|
376
|
+
resolve_path = path
|
|
377
|
+
if script_prefix != "/" and resolve_path.startswith(script_prefix):
|
|
378
|
+
resolve_path = "/" + resolve_path[len(script_prefix) :]
|
|
379
|
+
try:
|
|
380
|
+
match = resolve(resolve_path)
|
|
381
|
+
except Resolver404:
|
|
382
|
+
return False
|
|
383
|
+
return match.namespace == "sb_admin"
|
|
384
|
+
|
|
385
|
+
@classmethod
|
|
386
|
+
def resolve_back_url(
|
|
387
|
+
cls,
|
|
388
|
+
request: HttpRequest,
|
|
389
|
+
default_url: str,
|
|
390
|
+
*,
|
|
391
|
+
current_path: str | None = None,
|
|
392
|
+
) -> str:
|
|
393
|
+
"""Best back URL, in priority order: ``POST[back_url]`` (hidden field),
|
|
394
|
+
``GET[back_url]`` (query param), then ``default_url``."""
|
|
395
|
+
candidate = cls._get_back_url_param(request)
|
|
396
|
+
if cls.validate_back_url(request, candidate, current_path=current_path):
|
|
397
|
+
return candidate
|
|
398
|
+
return default_url
|
|
399
|
+
|
|
400
|
+
@classmethod
|
|
401
|
+
def append_back_url(cls, target_url: str, back_url: str | None) -> str:
|
|
402
|
+
"""Add/replace ``back_url`` on ``target_url`` preserving other params."""
|
|
403
|
+
if not back_url:
|
|
404
|
+
return target_url
|
|
405
|
+
parts = urlsplit(target_url)
|
|
406
|
+
query = [
|
|
407
|
+
(key, value)
|
|
408
|
+
for key, value in parse_qsl(parts.query, keep_blank_values=True)
|
|
409
|
+
if key != SB_ADMIN_BACK_URL
|
|
410
|
+
]
|
|
411
|
+
query.append((SB_ADMIN_BACK_URL, back_url))
|
|
412
|
+
return urlunsplit(parts._replace(query=urlencode(query)))
|
|
413
|
+
|
|
414
|
+
@classmethod
|
|
415
|
+
def url_with_current_back_url(cls, request: HttpRequest, target_url: str) -> str:
|
|
416
|
+
"""Point an outgoing link at ``target_url`` with a ``back_url`` back to
|
|
417
|
+
the current page (so Save/Back on the target returns here)."""
|
|
418
|
+
return cls.append_back_url(target_url, request.get_full_path())
|
|
419
|
+
|
|
420
|
+
@classmethod
|
|
421
|
+
def keep_back_url(cls, request: HttpRequest, url: str) -> str:
|
|
422
|
+
"""Carry the request's existing ``back_url`` onto ``url`` (redirects)."""
|
|
423
|
+
return cls.append_back_url(url, cls._get_back_url_param(request))
|