django-smartbase-admin 2.0.0__tar.gz → 2.0.2__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.0 → django_smartbase_admin-2.0.2}/PKG-INFO +1 -1
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/pyproject.toml +1 -1
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/tests/test_action_processing.py +19 -2
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/dynamic_forms.py +22 -1
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/dashboard_blueprint.html +21 -3
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/mcp.py +14 -11
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/middleware.py +11 -11
- django_smartbase_admin-2.0.2/src/django_smartbase_admin/mcp/oauth/validators.py +34 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/oauth/views.py +13 -0
- django_smartbase_admin-2.0.2/src/django_smartbase_admin/mcp/tests/test_cors_middleware.py +56 -0
- django_smartbase_admin-2.0.2/src/django_smartbase_admin/mcp/tests/test_oauth_redirect_loopback.py +79 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/plugins/nested.py +164 -104
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/plugins/tests/test_nested.py +98 -19
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/main.js +1 -1
- django_smartbase_admin-2.0.2/src/django_smartbase_admin/static/sb_admin/dist/main_style.css +1 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_components.css +4 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/main.js +6 -10
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/inline_fieldset.html +1 -1
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_dashboard.py +13 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_dynamic_forms.py +50 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/dashboard_view.py +3 -0
- django_smartbase_admin-2.0.0/src/django_smartbase_admin/static/sb_admin/dist/main_style.css +0 -1
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/LICENSE.md +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/README.md +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/actions/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/actions/admin_action_list.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/actions/advanced_filters.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/admin/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/admin/admin_base.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/admin/site.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/admin/widgets.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/apps.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/apps.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/manager.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/mcp.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/migrations/0001_initial.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/migrations/0002_adminauditlog_source.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/models.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/sb_admin.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/tests/test_audit_integration.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/tests/test_audit_permissions.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/tests/test_delegate_to_action.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/tests/test_diff.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/tests/test_modal_media.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/utils/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/utils/diff.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/utils/serialization.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/audit/views.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/checks.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/compilemessages.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/actions.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/admin_base_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/admin_entrypoint_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/admin_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/configuration.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/const.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/dashboard.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/fake_inline.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/field.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/field_formatter.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/filter_widgets.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/global_filter_form.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/inline_pagination.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/menu_item.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/modal_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/engine/request.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/integration/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/integration/django_cms.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/cs/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/cs/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/de/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/de/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/en/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/en/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/hr/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/hr/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/hu/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/hu/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/it/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/it/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/pl/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/pl/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/ro/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/ro/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/sk/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/sk/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/sl/LC_MESSAGES/django.mo +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/locale/sl/LC_MESSAGES/django.po +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/makemessages.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/actions.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/apps.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/bridge.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/field_schema.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/form_encoding.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/html_sanitize.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/inlines.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/instructions.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/oauth/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/oauth/urls.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/resolvers.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/schema.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/service.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/_common.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_actions.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_aggregate.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_create_object.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_fake_inlines.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_fetch_action_form.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_fetch_add_form.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_fetch_detail.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_fetch_filter_preset.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_filter_validation.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_inline_data.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_invoke_integration.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_list_admins.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_permissions.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_smoke.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_update_detail.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/tests/test_widget_encoding.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/urls.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/migrations/0001_initial.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/migrations/0002_auto_20230402_2316.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/migrations/0003_auto_20230402_2328.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/migrations/0004_alter_sbadminlistviewconfiguration_action_and_more.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/migrations/0005_sbadminuserconfiguration.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/migrations/0006_alter_sbadminuserconfiguration_color_scheme.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/migrations/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/models.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/monkeypatch/admin_readonly_field_monkeypatch.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/monkeypatch/fake_inline_monkeypatch.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/plugins/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/plugins/base.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/plugins/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/querysets.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/configuration.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/data.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/thread_local.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/translations.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/url_params_codec.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/views.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/services/xlsx_export.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/postcss.config.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/tailwind.config.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/colors.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/screens.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/spacing.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/tailwind_config_partials/typography.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/webpack.analyze.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/webpack.common.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/webpack.dev.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/build/webpack.prod.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/css/ckeditor/ckeditor_content_dark.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/css/codemirror/codemirror.min.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/css/codemirror/dracula.min.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/css/coloris/coloris.min.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/css/querybuilder/query-builder.default.min.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/calendar.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/calendar.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/calendar_style.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/calendar_style.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/chart.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/chart.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/confirmation_modal.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/main.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/main_style.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/modal_view.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/sbadmin_formset.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/sbadmin_formset.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/table.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/table.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/translations.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget.js.LICENSE.txt +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget_style.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/dist/tree_widget_style.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/fancytree/jquery.fancytree-all-deps.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/android-chrome-192x192.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/android-chrome-512x512.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/apple-touch-icon.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/browserconfig.xml +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/favicon-16x16.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/favicon-32x32.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/favicon.ico +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-144x144.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-150x150.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-310x150.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-310x310.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/mstile-70x70.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/safari-pinned-tab.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/favicon/site.webmanifest +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/fonts/Inter-Ext.woff2 +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/fonts/Inter.woff2 +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/blank.gif +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-csv.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-doc.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-docx.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-other.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-pdf.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-ppt.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-xls.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-xlsx.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/file_types/file-zip.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ad.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ae.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/af.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ag.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ai.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/al.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/am.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/an.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ao.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ar.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/at.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/au.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/aw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ax.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/az.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ba.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bb.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bd.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/be.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bf.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bh.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bi.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bj.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bo.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/br.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bs.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bt.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/by.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/bz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ca.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/caf.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cas.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cd.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ceu.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cf.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ch.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ci.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cl.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cna.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/co.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/coc.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cs.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/csa.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cu.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cv.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cy.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/cz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/de-at.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/de-ch.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/de.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/dj.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/dk.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/dm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/do.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/dz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ec.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ee.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/eg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/el.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/en.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/er.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/es.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/et.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/eu.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/fi.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/fj.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/fk.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/fm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/fr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ga.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gb.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gd.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ge.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gh.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gi.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gq.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gt.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/gy.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/hk.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/hn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/hr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ht.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/hu.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/id.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ie.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/il.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/im.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/in.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/iq.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ir.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/is.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/it.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/je.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/jm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/jo.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/jp.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ke.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/kg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/kh.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/km.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/kn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/kp.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/kr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/kw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ky.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/kz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/la.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/lb.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/lc.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/li.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/lk.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/lr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ls.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/lt.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/lu.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/lv.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ly.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ma.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mc.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/md.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/me.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mk.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ml.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mo.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ms.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mt.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mu.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mv.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mx.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/my.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/mz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/na.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ne.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ng.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ni.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/nl.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/no.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/np.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/nz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/om.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pa.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pe.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pf.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ph.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pk.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pl.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pt.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/pw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/py.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/qa.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ro.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/rs.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ru.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/rw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sa.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sb.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sc.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sd.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/se.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sh.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/si.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sk.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sl.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/so.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/st.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sv.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sy.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/sz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tc.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/td.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/th.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tj.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tl.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/to.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tr.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tt.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/tz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ua.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ug.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/us.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/uy.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/uz.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/vc.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ve.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/vg.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/vn.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/vu.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ws.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ww.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/ye.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/za.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/zm.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/flags/zw.png +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/login.jpg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/login.webp +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/logo.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/logo_light.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/images/sk.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/code.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/codemirror/codemirror.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/codemirror/django.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/codemirror/overlay.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/coloris/coloris.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/fullcalendar.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/htmx.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/jquery-3.7.1.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/jquery.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/lazysizes.bgset.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/lazysizes.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/ls.unveilhooks.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/prices.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/querybuilder/jQuery.extendext.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/querybuilder/query-builder.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/remove-me.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/sbadmin_prepopulated_fields_init.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/js/tabulator.min.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Accept-email.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Ad-product.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-mode-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-picture.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Add-three.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Aiming.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-both.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-center.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-left.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Align-text-right.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/All-application.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Alphabetical-sorting-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Alphabetical-sorting.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-menu.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Application.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-down.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-left.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-right.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Arrow-circle-up.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/At-sign.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Attention.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Back-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Background-color.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bank-card-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bank-card.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bolt-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bookmark.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Bookmarked.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Box.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Calendar.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Camera.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Caution-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Caution.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-line.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-pie-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chart-pie.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chat-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Chat.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-correct.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check-small.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Check.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-search.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close-small.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Close.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Code.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Color-card.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Column.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Comment-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Corner-up-left.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Corner-up-right.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Cut.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Cylinder.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Delete-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Delete.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Desktop-screen.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-down.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-left.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-right.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Double-up.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down-c.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down-small.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Down.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-three-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download-three.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Download.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Drag.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Edit-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Edit.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Electric-drill.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Emoji.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Euro-outlined.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Excel-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Excel-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Expand-left.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Expand-right.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Export.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Eyedropper.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Facebook.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Figma-component.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Filter.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Find.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Fire-extinguisher.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Frame-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Gas.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Go-ahead.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Go-on.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Graphic-design.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Hamburger-button.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Handle.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Headset-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Health.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Heart-rate.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Help.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/History.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Home.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Id-card-h.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Import-and-export.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Import.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Indent-left.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Indent-right.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Info.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Infusion.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Iphone.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-c.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small-down.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small-up.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left-small.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Left.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lightning-fill.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lightning.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Like.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Link.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-checkbox.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-numbers.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/List-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Loading.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lock.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Login.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Logout.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Lung.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Magic-wand.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Magic.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail-download.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail-open.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Mail.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Medical-box.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Medication-time.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Message-emoji.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Message-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Minus-the-top.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Minus.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Moon-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Moon.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-three.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/More.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Notification.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Paperclip.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Parallel-gateway.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/People-top-card.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Percentage.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pesticide.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Phone-call.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Phone-telephone.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Picture-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pin-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pin.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Plus.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-close-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-close.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Preview-open.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Printer-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Printer.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Protect-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pull.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pure-natural.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Pushpin.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Reduce-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh-one-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Refresh.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Reply.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Return.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-c.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small-down.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small-up.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right-small.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Right.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Row.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Save.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Search.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Send-email.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Send.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-config.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Setting-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shop.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping-bag.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping-cart-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Shopping.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-apple.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-discord.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-facebook.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-google.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-instagram.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-linkedin.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-mailchimp.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-messenger.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-paypal.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-pinterest.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-play-store.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-shopify.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-spotify.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-tiktok.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-twitch.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-vimeo.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-whatsapp.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-windows.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-x-twitter.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Social-youtube.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-alt.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-amount-down.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-amount-up.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort-three.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sort.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2-half-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star-2.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Star.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Success.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-1.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Sun-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Switch.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Table-report-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Table-report.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tag-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tag.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-bold.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-italic.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Text-underline.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-down-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-down.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-up-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Thumbs-up.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Time.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Tips-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/To-top.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Transfer-data.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Translate.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Translation.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Triangle-round-rectangle.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Truck.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Undo.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Unlock.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up-c.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up-small.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Up.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Upload-one.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Upload.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/User-business.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/User-placeholder.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Video-two.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/View-grid-list.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Watchdog-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Watchdog.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Write.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Writing-fluently-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Writting-flueantly-filled.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Youtube.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Zoom-in.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/sprites/sb_admin/Zoom-out.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_base.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_choices.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_colors.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_datepicker.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_filer.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_inlines.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_nouislider.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_tabulator.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_tailwind_base.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/_utilities.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/calendar.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_button.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_input.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_json-editor.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_modal.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_nav-tabs.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_query-builder.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_table.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_toggle.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/components/_tooltip.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/style.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/css/tree_widget.css +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/autocomplete.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/calendar.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/chart.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/choices.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/confirmation_modal.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/datepicker.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/inline_paginator.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/modal_view.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/multiselect.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/radio.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/range.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/sanitize.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/sb_ajax_params_tabulator_modifier.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/sbadmin_formset.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/sidebar.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/sorting.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/static_autocomplete.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/base_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/column_display_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/data_edit_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/data_tree_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/full_text_search_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/header_tabs_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/movable_columns_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/selection_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/sticky_header_and_footer_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/table_params_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/table_modules/views_module.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/tabulator_layouts/fit_data_fill_available_space.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/text_tags.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/translations.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/tree_widget.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/url_params_codec.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/static/sb_admin/src/js/utils.js +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/change_form.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/change_password.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/dashboard.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/delete_confirmation.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/delete_selected_confirmation.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/includes/delete_impact_panel.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/list.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/media.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/object_history.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/partials/action_link.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/partials/open_modal_attrs.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/partials/selected_rows_actions.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_change_view_v1.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_v1.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/partials/tabulator_header_v2.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/partials/translations_status_row.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/translations-detail.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/translations-language-choice.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/translations-list.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/translations.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/actions/tree_list.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/audit/affected.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/audit/changes.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/audit/related_changes.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/audit/summary.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/auth/user/add_form.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/login.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/login_base.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/logout.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/password_change_done.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/password_change_form.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_complete.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_confirm.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_done.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_email.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/authentification/password_reset_form.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/blank_base.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/components/buttons.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/components/columns.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/components/filters.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/components/filters_v2.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/components/inputs.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/config/view.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/dashboard/calendar_widget.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/dashboard/chart_aggregate_sub_widget.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/dashboard/chart_widget.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/dashboard/includes/list_widget_actions.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/dashboard/includes/list_widget_filters.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/dashboard/list_widget.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/dashboard/widget_base.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/autocomplete_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/boolean_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/choice_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/date_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/multiple_choice_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/number_range_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/radio_choice_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/string_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/tree_select_filter.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/autocomplete_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/choice_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/multiple_choice_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/number_range_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/string_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/filter_widgets/tree_select_filter.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/fonts.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/attrs.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/change_form_title.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/components.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/confirmation.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/detail_view_tabs_hash_init.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/dynamic_region.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset_header.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/fieldset_layout.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/form_error_alert.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/inline_fieldset_fields.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/loading.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/loading_absolute.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/notifications.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/readonly_boolean_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/readonly_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/includes/table_inline_delete_button.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/inlines/stacked_inline.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/inlines/table_inline.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/inlines/table_inline_paginated.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/integrations/cms/page_list.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/integrations/cms/translations_status_row.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/filer_change_form.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/folder_list.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/image_change_form.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/integrations/filer/image_detail_panel.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/navigation.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_base.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_close.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_error.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_info.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_success.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/messages/alert_warning.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal_confirmation.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/partials/modal/modal_content.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/sb_admin_base.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/sb_admin_base_no_sidebar.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/sb_admin_js_trans.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/sprites/sb_admin.svg +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/submit_line.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/tailwind_whitelist.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/array.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/attributes.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/attrs.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/autocomplete.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_dropdown.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_group.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/checkbox_option.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/choice_search.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/ckeditor.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/clearable_file_input.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/code.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/color_field.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/date.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/datetime.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/email.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/file.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/filer_file.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/hidden.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/html_read_only.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/field_label.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/help_text.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/input_affix.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/related_item_buttons.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/includes/simple_field_label.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/input.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/input_option.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/json_editor.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/multiple_hidden.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/multiwidget.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/number.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/pageselectwidget.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/password.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/radio.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/radio_dropdown.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/radio_option.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/read_only_password_hash.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/select.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/select_date.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/select_option.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/splitdatetime.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/splithiddendatetime.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/text.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/text_tags.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/textarea.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/time.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/toggle.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_base.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_select.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/tree_select_inline.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/widgets/url.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templates/sb_admin/wizard/wizard_step.html +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templatetags/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templatetags/base.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templatetags/sb_admin_tags.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/templatetags/sb_paginated_inline.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_autocomplete_forward_create.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_checks.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_generic_relation_parent.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_inline_pagination.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_inline_table_field_rendering.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_url_params_codec.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/tests/test_view_on_site.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/urls.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/utils.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/__init__.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/global_filter_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/media_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/sbadmin_wizard_step.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/sbadmin_wizard_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/translations_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/user_config_view.py +0 -0
- {django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/views/view_on_site_redirect_view.py +0 -0
|
@@ -129,11 +129,25 @@ class RowList:
|
|
|
129
129
|
self.rows = rows
|
|
130
130
|
|
|
131
131
|
def filter(self, *args, **kwargs):
|
|
132
|
-
|
|
132
|
+
rows = self.rows
|
|
133
|
+
for key, value in kwargs.items():
|
|
134
|
+
if key.endswith("__in"):
|
|
135
|
+
field_name = key.removesuffix("__in")
|
|
136
|
+
allowed = set(value)
|
|
137
|
+
rows = [row for row in rows if row.get(field_name) in allowed]
|
|
138
|
+
else:
|
|
139
|
+
rows = [row for row in rows if row.get(key) == value]
|
|
140
|
+
return RowList(rows)
|
|
133
141
|
|
|
134
142
|
def order_by(self, *args):
|
|
135
143
|
return self
|
|
136
144
|
|
|
145
|
+
def none(self):
|
|
146
|
+
return RowList([])
|
|
147
|
+
|
|
148
|
+
def union(self, other, all=False):
|
|
149
|
+
return RowList([*self.rows, *other.rows])
|
|
150
|
+
|
|
137
151
|
def __iter__(self):
|
|
138
152
|
return iter(self.rows)
|
|
139
153
|
|
|
@@ -380,7 +394,10 @@ class RowActionIntegrationTests(TestCase):
|
|
|
380
394
|
|
|
381
395
|
with patch(
|
|
382
396
|
"django_smartbase_admin.plugins.nested.resolve_nested",
|
|
383
|
-
return_value={
|
|
397
|
+
return_value={
|
|
398
|
+
"parent_field": "parent",
|
|
399
|
+
"only_show_filtered_children": False,
|
|
400
|
+
},
|
|
384
401
|
):
|
|
385
402
|
result = TabulatorNestedPlugin.modify_final_data(
|
|
386
403
|
action,
|
|
@@ -15,6 +15,25 @@ SBADMIN_DYNAMIC_REGION_PARAM = "sbadmin_dynamic_region"
|
|
|
15
15
|
SBADMIN_DYNAMIC_REGION_PREFIX_PARAM = "sbadmin_dynamic_region_prefix"
|
|
16
16
|
SBADMIN_DYNAMIC_REGION_ACTION = "sbadmin_dynamic_region"
|
|
17
17
|
SBADMIN_DYNAMIC_REGION_ADD_MODIFIER = "add"
|
|
18
|
+
_FORMSET_PREFIX_PLACEHOLDER = "__prefix__"
|
|
19
|
+
_FORMSET_PREFIX_PLACEHOLDER_TOKEN = "\x00"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _dynamic_region_wrapper_id_from_parts(value: str) -> str:
|
|
23
|
+
"""Build a wrapper id from joined prefix/region parts.
|
|
24
|
+
|
|
25
|
+
Django formset empty forms keep ``__prefix__`` in the prefix so
|
|
26
|
+
``sbadmin_formset.js`` can substitute the row index. Slugify collapses
|
|
27
|
+
that token; underscore-to-hyphen replacement turns it into ``---prefix---``.
|
|
28
|
+
"""
|
|
29
|
+
if _FORMSET_PREFIX_PLACEHOLDER in value:
|
|
30
|
+
protected = value.replace(
|
|
31
|
+
_FORMSET_PREFIX_PLACEHOLDER, _FORMSET_PREFIX_PLACEHOLDER_TOKEN
|
|
32
|
+
)
|
|
33
|
+
return protected.replace("_", "-").replace(
|
|
34
|
+
_FORMSET_PREFIX_PLACEHOLDER_TOKEN, _FORMSET_PREFIX_PLACEHOLDER
|
|
35
|
+
)
|
|
36
|
+
return slugify(value).replace("_", "-")
|
|
18
37
|
|
|
19
38
|
|
|
20
39
|
def field_names_from_layout(layout: Iterable[Any]) -> tuple[str, ...]:
|
|
@@ -141,7 +160,7 @@ class SBDynamicRegion:
|
|
|
141
160
|
if prefix:
|
|
142
161
|
pieces.append(str(prefix))
|
|
143
162
|
pieces.append(self.name)
|
|
144
|
-
return
|
|
163
|
+
return _dynamic_region_wrapper_id_from_parts("-".join(pieces))
|
|
145
164
|
|
|
146
165
|
def resolve(
|
|
147
166
|
self, form: forms.Form, request: HttpRequest | None = None
|
|
@@ -535,6 +554,7 @@ class SBAdminDynamicFormMixin:
|
|
|
535
554
|
collapsible = bool(fieldset_data.get("collapsible", False))
|
|
536
555
|
default_collapsed = bool(fieldset_data.get("default_collapsed", False))
|
|
537
556
|
hide_if_empty = bool(fieldset_data.get("hide_if_empty", False))
|
|
557
|
+
skip_header = bool(fieldset_data.get("skip_header", False))
|
|
538
558
|
fieldset_layout = self.get_fieldset_layout(fieldset, fieldset_data, request)
|
|
539
559
|
fieldset_empty = (
|
|
540
560
|
hide_if_empty
|
|
@@ -551,6 +571,7 @@ class SBAdminDynamicFormMixin:
|
|
|
551
571
|
"actions": self.get_fieldset_actions(fieldset, fieldset_data, request),
|
|
552
572
|
"hide_if_empty": hide_if_empty,
|
|
553
573
|
"empty": fieldset_empty,
|
|
574
|
+
"skip_header": skip_header,
|
|
554
575
|
}
|
|
555
576
|
|
|
556
577
|
def get_fieldset_layout(
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<title>SBAdmin Dashboard</title>
|
|
7
7
|
<!-- Blueprint for a local dashboard on this admin's live data (MCP resource dashboard://blueprint). -->
|
|
8
|
-
<!-- Build any view below — metrics, tables, charts.
|
|
8
|
+
<!-- Build any view below — metrics, tables, charts. The OAuth client self-registers on first connect; scope + MCP path are filled in on read. -->
|
|
9
9
|
<!-- Serve on a spare port, e.g. python -m http.server 8010. -->
|
|
10
10
|
|
|
11
11
|
<style>
|
|
@@ -35,12 +35,17 @@
|
|
|
35
35
|
/* ============================ CONFIG ============================ */
|
|
36
36
|
const CONFIG = {
|
|
37
37
|
issuer: location.origin, // this server when served same-origin; else set explicitly
|
|
38
|
-
clientId:
|
|
38
|
+
clientId: null, // auto-registered (DCR) on first connect, then cached per-issuer
|
|
39
39
|
redirectUri: location.origin + location.pathname,
|
|
40
40
|
scope: "__MCP_SCOPE__", // scope this server exposes (filled in on resource read)
|
|
41
41
|
mcpUrl: location.origin + "/__MCP_PATH__", // MCP endpoint (path filled in); set host if off-origin
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
+
// Cache the registered client per issuer, so the same page pointed at a
|
|
45
|
+
// different admin doesn't reuse a client_id that admin never issued.
|
|
46
|
+
const CLIENT_KEY = "sbadmin_client_id:" + CONFIG.issuer;
|
|
47
|
+
CONFIG.clientId = localStorage.getItem(CLIENT_KEY);
|
|
48
|
+
|
|
44
49
|
/* ===================== OAuth 2.1 + PKCE (auth) ===================== */
|
|
45
50
|
const b64url = (buf) => btoa(String.fromCharCode(...new Uint8Array(buf)))
|
|
46
51
|
.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
@@ -52,11 +57,24 @@ let TOKEN = sessionStorage.getItem("sbadmin_token") || null;
|
|
|
52
57
|
async function discover() {
|
|
53
58
|
const r = await fetch(CONFIG.issuer + "/.well-known/oauth-authorization-server");
|
|
54
59
|
if (!r.ok) throw new Error("OAuth discovery failed");
|
|
55
|
-
return r.json(); // -> { authorization_endpoint, token_endpoint, ... }
|
|
60
|
+
return r.json(); // -> { authorization_endpoint, token_endpoint, registration_endpoint, ... }
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
async function ensureClient(meta) {
|
|
64
|
+
if (CONFIG.clientId) return; // cached from a previous connect
|
|
65
|
+
const r = await fetch(meta.registration_endpoint, {
|
|
66
|
+
method: "POST",
|
|
67
|
+
headers: { "Content-Type": "application/json" },
|
|
68
|
+
body: JSON.stringify({ client_name: "SBAdmin dashboard", redirect_uris: [CONFIG.redirectUri] }),
|
|
69
|
+
});
|
|
70
|
+
if (!r.ok) throw new Error("client registration failed: " + r.status);
|
|
71
|
+
CONFIG.clientId = (await r.json()).client_id;
|
|
72
|
+
localStorage.setItem(CLIENT_KEY, CONFIG.clientId); // reuse, don't re-register each load
|
|
56
73
|
}
|
|
57
74
|
|
|
58
75
|
async function login() {
|
|
59
76
|
const meta = await discover();
|
|
77
|
+
await ensureClient(meta); // self-register on first connect (DCR)
|
|
60
78
|
const verifier = rand();
|
|
61
79
|
const state = rand();
|
|
62
80
|
sessionStorage.setItem("pkce_verifier", verifier);
|
{django_smartbase_admin-2.0.0 → django_smartbase_admin-2.0.2}/src/django_smartbase_admin/mcp/mcp.py
RENAMED
|
@@ -1387,21 +1387,24 @@ class SBAdminTools(MCPToolset):
|
|
|
1387
1387
|
"display whatever you need: metrics, tables, charts/graphs, any custom "
|
|
1388
1388
|
"view. It logs in via OAuth 2.1 (auth code + PKCE) to this "
|
|
1389
1389
|
"server and calls the MCP tools through an api(tool, args) helper. "
|
|
1390
|
-
"SETUP: (1) save the content as an .html file; (2)
|
|
1391
|
-
"
|
|
1392
|
-
"
|
|
1393
|
-
"
|
|
1394
|
-
"
|
|
1395
|
-
"
|
|
1396
|
-
"
|
|
1397
|
-
"8010; (4) build the "
|
|
1390
|
+
"SETUP: (1) save the content as an .html file; (2) serve it over http, "
|
|
1391
|
+
"NOT file:// (Origin 'null' is always CORS-blocked) — locally on a "
|
|
1392
|
+
"spare, non-default port so it doesn't clash with the admin/other dev "
|
|
1393
|
+
"servers, e.g. python -m http.server 8010; (3) open it and Connect — "
|
|
1394
|
+
"the OAuth client self-registers via DCR on first connect (a public "
|
|
1395
|
+
"PKCE id cached in localStorage; nothing to paste), and CONFIG.scope + "
|
|
1396
|
+
"the MCP path are prefilled; (4) build the "
|
|
1398
1397
|
"view: call MCP tool(s) via api() (discover views/fields via "
|
|
1399
1398
|
"list_admins) and render the results any way you like — cards, tables, "
|
|
1400
1399
|
"charts, free-form layout (the example cards are just one option; add a "
|
|
1401
1400
|
"chart library for graphs). Same-origin as the admin needs no CORS; "
|
|
1402
|
-
"off-origin
|
|
1403
|
-
"CONFIG.issuer/mcpUrl at this server and
|
|
1404
|
-
"
|
|
1401
|
+
"off-origin (incl. a local http://localhost page against an https "
|
|
1402
|
+
"admin), point CONFIG.issuer/mcpUrl at this server and have the "
|
|
1403
|
+
"operator add the page's origin to SBADMIN_MCP_ALLOWED_ORIGINS with "
|
|
1404
|
+
"SBAdminMCPCorsMiddleware enabled. Plain http on localhost is fine — "
|
|
1405
|
+
"loopback is a secure context (PKCE works), the self-registered "
|
|
1406
|
+
"redirect_uri is loopback so http is accepted, and the admin traffic is "
|
|
1407
|
+
"still https."
|
|
1405
1408
|
),
|
|
1406
1409
|
mime_type="text/html",
|
|
1407
1410
|
)
|
|
@@ -7,9 +7,15 @@ cross-origin POST to ``/mcp/`` and send an OAuth preflight to
|
|
|
7
7
|
``Access-Control-Allow-Origin`` + matching ``-Methods`` / ``-Headers``,
|
|
8
8
|
the browser blocks every request before it reaches Django.
|
|
9
9
|
|
|
10
|
-
This middleware adds the required headers on the MCP endpoint
|
|
11
|
-
OAuth discovery /
|
|
12
|
-
|
|
10
|
+
This middleware adds the required headers on the MCP endpoint and the
|
|
11
|
+
OAuth discovery / token / registration paths, gated by an explicit
|
|
12
|
+
origin allowlist set via ``SBADMIN_MCP_ALLOWED_ORIGINS``.
|
|
13
|
+
|
|
14
|
+
No credentials are advertised: the MCP flow authenticates with a
|
|
15
|
+
``Bearer`` token and the OAuth flow is public-client + PKCE, so no
|
|
16
|
+
cross-origin request needs cookies. That is what makes adding a
|
|
17
|
+
``http://localhost:<port>`` dashboard origin safe — an allowed local
|
|
18
|
+
page still can't ride the user's admin session.
|
|
13
19
|
|
|
14
20
|
Default allowlist covers Claude (``https://claude.ai``) and Cursor
|
|
15
21
|
(``https://cursor.com``) so their install flows work out of the box.
|
|
@@ -35,9 +41,6 @@ DEFAULT_ALLOWED_ORIGINS: tuple[str, ...] = (
|
|
|
35
41
|
"https://cursor.com",
|
|
36
42
|
)
|
|
37
43
|
|
|
38
|
-
# Paths the middleware decorates. Kept inline rather than reverse()'d
|
|
39
|
-
# because middleware runs on every request — a startup-time URL resolver
|
|
40
|
-
# walk would just trade configuration for an import-order hazard.
|
|
41
44
|
_MCP_PATH_PREFIXES: tuple[str, ...] = (
|
|
42
45
|
"/mcp",
|
|
43
46
|
"/.well-known/oauth-authorization-server",
|
|
@@ -46,8 +49,6 @@ _MCP_PATH_PREFIXES: tuple[str, ...] = (
|
|
|
46
49
|
"/o/",
|
|
47
50
|
)
|
|
48
51
|
|
|
49
|
-
# Headers MCP clients legitimately send. ``MCP-Protocol-Version`` and
|
|
50
|
-
# ``MCP-Session-Id`` are part of the streamable HTTP transport spec.
|
|
51
52
|
_ALLOWED_REQUEST_HEADERS = (
|
|
52
53
|
"Authorization, Content-Type, MCP-Protocol-Version, MCP-Session-Id"
|
|
53
54
|
)
|
|
@@ -63,13 +64,12 @@ def _allowed_origins() -> frozenset[str]:
|
|
|
63
64
|
)
|
|
64
65
|
|
|
65
66
|
|
|
66
|
-
def
|
|
67
|
+
def _path_needs_cors(path: str) -> bool:
|
|
67
68
|
return any(path.startswith(prefix) for prefix in _MCP_PATH_PREFIXES)
|
|
68
69
|
|
|
69
70
|
|
|
70
71
|
def _apply_cors_headers(response: HttpResponse, origin: str) -> None:
|
|
71
72
|
response["Access-Control-Allow-Origin"] = origin
|
|
72
|
-
response["Access-Control-Allow-Credentials"] = "true"
|
|
73
73
|
response["Access-Control-Allow-Methods"] = _ALLOWED_METHODS
|
|
74
74
|
response["Access-Control-Allow-Headers"] = _ALLOWED_REQUEST_HEADERS
|
|
75
75
|
response["Access-Control-Expose-Headers"] = _EXPOSED_RESPONSE_HEADERS
|
|
@@ -84,7 +84,7 @@ class SBAdminMCPCorsMiddleware:
|
|
|
84
84
|
self.get_response = get_response
|
|
85
85
|
|
|
86
86
|
def __call__(self, request):
|
|
87
|
-
if not
|
|
87
|
+
if not _path_needs_cors(request.path):
|
|
88
88
|
return self.get_response(request)
|
|
89
89
|
|
|
90
90
|
origin = request.META.get("HTTP_ORIGIN", "")
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""Minimal DOT validator for the SBAdmin MCP OAuth server.
|
|
2
|
+
|
|
3
|
+
``OAUTH2_PROVIDER["ALLOWED_REDIRECT_URI_SCHEMES"]`` is a global, host-blind
|
|
4
|
+
scheme list. Allowing ``"http"`` so a local (``http://localhost``) dashboard
|
|
5
|
+
can register a redirect URI would otherwise permit an http redirect to *any*
|
|
6
|
+
host. This validator narrows http to loopback hosts (RFC 8252 §7.3); https and
|
|
7
|
+
native custom schemes (``cursor://``, ``claude://``) are unaffected.
|
|
8
|
+
|
|
9
|
+
Wire it in as ``OAUTH2_PROVIDER["OAUTH2_VALIDATOR_CLASS"]``, or subclass it if
|
|
10
|
+
the deployment needs further customization.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
15
|
+
from urllib.parse import urlsplit
|
|
16
|
+
|
|
17
|
+
from oauth2_provider.oauth2_validators import OAuth2Validator
|
|
18
|
+
|
|
19
|
+
LOOPBACK_HOSTS = frozenset({"localhost", "127.0.0.1", "::1"})
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def is_non_loopback_http(redirect_uri: str) -> bool:
|
|
23
|
+
"""True for an ``http://`` URI whose host is not a loopback literal."""
|
|
24
|
+
parts = urlsplit(redirect_uri)
|
|
25
|
+
return parts.scheme == "http" and parts.hostname not in LOOPBACK_HOSTS
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class SBAdminMCPOAuth2Validator(OAuth2Validator):
|
|
29
|
+
def validate_redirect_uri(self, client_id, redirect_uri, request, *args, **kwargs):
|
|
30
|
+
if is_non_loopback_http(redirect_uri):
|
|
31
|
+
return False
|
|
32
|
+
return super().validate_redirect_uri(
|
|
33
|
+
client_id, redirect_uri, request, *args, **kwargs
|
|
34
|
+
)
|
|
@@ -28,6 +28,8 @@ from django.views.decorators.csrf import csrf_exempt
|
|
|
28
28
|
from django.views.decorators.http import require_GET, require_POST
|
|
29
29
|
from oauth2_provider.models import get_application_model
|
|
30
30
|
|
|
31
|
+
from django_smartbase_admin.mcp.oauth.validators import is_non_loopback_http
|
|
32
|
+
|
|
31
33
|
# Single scope granting full read-write access to the SBAdmin MCP tools.
|
|
32
34
|
# Tool-level authorization is the staff gate plus Django model permissions;
|
|
33
35
|
# the scope is not split read/write, so it must not imply read-only.
|
|
@@ -95,6 +97,17 @@ def register(request: HttpRequest) -> JsonResponse:
|
|
|
95
97
|
},
|
|
96
98
|
status=400,
|
|
97
99
|
)
|
|
100
|
+
# http is accepted only for loopback (RFC 8252 §7.3); reject here so a
|
|
101
|
+
# non-loopback http URI can't be registered, matching the authorize-time
|
|
102
|
+
# check in SBAdminMCPOAuth2Validator.
|
|
103
|
+
if any(is_non_loopback_http(uri) for uri in redirect_uris):
|
|
104
|
+
return JsonResponse(
|
|
105
|
+
{
|
|
106
|
+
"error": "invalid_redirect_uri",
|
|
107
|
+
"error_description": "http redirect URIs are allowed only for loopback hosts",
|
|
108
|
+
},
|
|
109
|
+
status=400,
|
|
110
|
+
)
|
|
98
111
|
|
|
99
112
|
Application = get_application_model()
|
|
100
113
|
app = Application(
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"""CORS middleware: which origins/paths get headers, and the no-credentials default.
|
|
2
|
+
|
|
3
|
+
The dashboard + browser MCP clients authenticate with a Bearer token and a
|
|
4
|
+
public-client PKCE OAuth flow, so no cross-origin request needs cookies. The
|
|
5
|
+
middleware must therefore not advertise credentials by default, and must keep
|
|
6
|
+
the cookie-authed (navigation-only) authorize endpoint off the CORS surface.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from django.http import HttpResponse
|
|
12
|
+
from django.test import RequestFactory, SimpleTestCase, override_settings
|
|
13
|
+
|
|
14
|
+
from django_smartbase_admin.mcp.middleware import SBAdminMCPCorsMiddleware
|
|
15
|
+
|
|
16
|
+
ORIGIN = "http://localhost:8010"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@override_settings(SBADMIN_MCP_ALLOWED_ORIGINS=[ORIGIN])
|
|
20
|
+
class CorsMiddlewareTests(SimpleTestCase):
|
|
21
|
+
def _send(self, path, *, origin=ORIGIN, method="post", preflight=False):
|
|
22
|
+
rf = RequestFactory()
|
|
23
|
+
extra = {"HTTP_ORIGIN": origin} if origin else {}
|
|
24
|
+
if preflight:
|
|
25
|
+
extra["HTTP_ACCESS_CONTROL_REQUEST_METHOD"] = "POST"
|
|
26
|
+
request = rf.options(path, **extra)
|
|
27
|
+
else:
|
|
28
|
+
request = getattr(rf, method)(path, **extra)
|
|
29
|
+
middleware = SBAdminMCPCorsMiddleware(lambda r: HttpResponse("ok"))
|
|
30
|
+
return middleware(request)
|
|
31
|
+
|
|
32
|
+
def test_allowed_origin_gets_cors_without_credentials_by_default(self):
|
|
33
|
+
resp = self._send("/mcp/")
|
|
34
|
+
self.assertEqual(resp["Access-Control-Allow-Origin"], ORIGIN)
|
|
35
|
+
self.assertNotIn("Access-Control-Allow-Credentials", resp)
|
|
36
|
+
self.assertIn("Origin", resp["Vary"])
|
|
37
|
+
|
|
38
|
+
pre = self._send("/mcp/", preflight=True)
|
|
39
|
+
self.assertEqual(pre.status_code, 204)
|
|
40
|
+
self.assertEqual(pre["Access-Control-Allow-Origin"], ORIGIN)
|
|
41
|
+
self.assertNotIn("Access-Control-Allow-Credentials", pre)
|
|
42
|
+
|
|
43
|
+
def test_mcp_and_oauth_paths_are_decorated(self):
|
|
44
|
+
for path in ("/mcp/", "/o/token/", "/.well-known/oauth-authorization-server"):
|
|
45
|
+
self.assertEqual(
|
|
46
|
+
self._send(path, method="get")["Access-Control-Allow-Origin"], ORIGIN
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
def test_disallowed_origin_and_unrelated_paths_get_no_cors(self):
|
|
50
|
+
self.assertNotIn(
|
|
51
|
+
"Access-Control-Allow-Origin",
|
|
52
|
+
self._send("/mcp/", origin="http://evil.example"),
|
|
53
|
+
)
|
|
54
|
+
self.assertNotIn(
|
|
55
|
+
"Access-Control-Allow-Origin", self._send("/admin/", method="get")
|
|
56
|
+
)
|
django_smartbase_admin-2.0.2/src/django_smartbase_admin/mcp/tests/test_oauth_redirect_loopback.py
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"""Loopback-only http redirect URIs — the validator gate and the DCR endpoint.
|
|
2
|
+
|
|
3
|
+
``ALLOWED_REDIRECT_URI_SCHEMES`` must keep "http" so a local dashboard can
|
|
4
|
+
register a loopback redirect, but http to any other host must be refused. Both
|
|
5
|
+
the authorize-time validator and the registration endpoint enforce that.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import json
|
|
11
|
+
from types import SimpleNamespace
|
|
12
|
+
from unittest.mock import patch
|
|
13
|
+
|
|
14
|
+
from django.test import RequestFactory, TestCase
|
|
15
|
+
from oauth2_provider.oauth2_validators import OAuth2Validator
|
|
16
|
+
|
|
17
|
+
from django_smartbase_admin.mcp.oauth.validators import (
|
|
18
|
+
SBAdminMCPOAuth2Validator,
|
|
19
|
+
is_non_loopback_http,
|
|
20
|
+
)
|
|
21
|
+
from django_smartbase_admin.mcp.oauth.views import register
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class LoopbackRedirectTests(TestCase):
|
|
25
|
+
def test_is_non_loopback_http_truth_table(self):
|
|
26
|
+
for uri in (
|
|
27
|
+
"http://evil.example/cb",
|
|
28
|
+
"http://192.168.0.5:8010/",
|
|
29
|
+
"http://example.com/",
|
|
30
|
+
):
|
|
31
|
+
self.assertTrue(is_non_loopback_http(uri), uri)
|
|
32
|
+
for uri in (
|
|
33
|
+
"http://localhost:8010/",
|
|
34
|
+
"http://127.0.0.1/cb",
|
|
35
|
+
"http://[::1]:8010/",
|
|
36
|
+
"https://anything.example/cb",
|
|
37
|
+
"cursor://callback",
|
|
38
|
+
):
|
|
39
|
+
self.assertFalse(is_non_loopback_http(uri), uri)
|
|
40
|
+
|
|
41
|
+
def test_validator_rejects_non_loopback_http_only(self):
|
|
42
|
+
validator = SBAdminMCPOAuth2Validator()
|
|
43
|
+
with patch.object(
|
|
44
|
+
OAuth2Validator, "validate_redirect_uri", return_value=True
|
|
45
|
+
) as parent:
|
|
46
|
+
self.assertFalse(
|
|
47
|
+
validator.validate_redirect_uri(
|
|
48
|
+
"c", "http://evil.example/cb", SimpleNamespace()
|
|
49
|
+
)
|
|
50
|
+
)
|
|
51
|
+
parent.assert_not_called()
|
|
52
|
+
with patch.object(
|
|
53
|
+
OAuth2Validator, "validate_redirect_uri", return_value=True
|
|
54
|
+
) as parent:
|
|
55
|
+
self.assertTrue(
|
|
56
|
+
validator.validate_redirect_uri(
|
|
57
|
+
"c", "http://localhost:8010/", SimpleNamespace()
|
|
58
|
+
)
|
|
59
|
+
)
|
|
60
|
+
parent.assert_called_once()
|
|
61
|
+
|
|
62
|
+
def test_dcr_register_enforces_loopback_for_http(self):
|
|
63
|
+
rf = RequestFactory()
|
|
64
|
+
|
|
65
|
+
def _register(uris):
|
|
66
|
+
request = rf.post(
|
|
67
|
+
"/oauth/register",
|
|
68
|
+
data=json.dumps({"redirect_uris": uris}),
|
|
69
|
+
content_type="application/json",
|
|
70
|
+
)
|
|
71
|
+
return register(request)
|
|
72
|
+
|
|
73
|
+
bad = _register(["http://evil.example/cb"])
|
|
74
|
+
self.assertEqual(bad.status_code, 400)
|
|
75
|
+
self.assertEqual(json.loads(bad.content)["error"], "invalid_redirect_uri")
|
|
76
|
+
|
|
77
|
+
ok = _register(["http://localhost:8010/"])
|
|
78
|
+
self.assertEqual(ok.status_code, 201)
|
|
79
|
+
self.assertIn("client_id", json.loads(ok.content))
|