django-pfx 1.7.6.dev19__tar.gz → 1.7.6.dev21__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_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/PKG-INFO +1 -1
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/django_pfx.egg-info/PKG-INFO +1 -1
- django_pfx-1.7.6.dev21/django_pfx.egg-info/scm_version.json +8 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/default_settings.py +9 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +3 -3
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/media_rest_view_mixin.py +8 -1
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/basic_api_test.py +34 -4
- django_pfx-1.7.6.dev19/django_pfx.egg-info/scm_version.json +0 -8
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/.gitignore +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/.gitlab-ci.yml +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/.pre-commit-config.yaml +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/LICENSE +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/MANIFEST.in +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/README.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/django_pfx.egg-info/SOURCES.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/django_pfx.egg-info/requires.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/django_pfx.egg-info/scm_file_list.json +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/django_pfx.egg-info/top_level.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/Makefile +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/conf.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/index.rst +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/api.views.rst +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/authentication.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/decorator.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/generate_openapi.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/getting_started.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/internationalisation.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/model.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/pfx_views.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/profiling.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/settings.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/testing.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/doc/source/user_jobs.md +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/img/pfx.png +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/img/pfx.svg +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/make_messages +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/manage.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/apps.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/email_backend/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/email_backend/q_mailjet_email_backend.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/exceptions.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/mailjet/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/mailjet/mailjet.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/mailjet/message_result.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/0002_alter_email_headers.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/0003_alter_email_options.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/0004_alter_email_mail_from.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/0005_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/models/email.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/providers/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/providers/email_django_q_executor.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/shortcuts.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/tasks.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/templates/emails/base_template.html +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/templates/emails/base_template.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/templates/emails/base_template_subject.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/views/email_rest_view.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/apps.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/decorator/rest.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/exceptions.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/fields/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/fields/decimal_field.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/fields/media_field.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/fields/minutes_duration_field.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/fields/rich_text_field.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/http/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/http/json_response.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/management/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/management/commands/profile.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/mfa/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/mfa/authenticator.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/mfa/base.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/mfa/email.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/mfa/legacy.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/mfa/sms.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/middleware/locale.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/middleware/profiling.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/middleware/request_too_big_middleware.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/middleware/ws_cookie_authentication_middleware.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0003_delete_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0004_alter_loginban_failed_counter_and_more.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0005_mfadevice_mfadevice_mfa_device_unique_backend.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0006_alter_pfxuser_managers.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0007_alter_pfxuser_options.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0008_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/operations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/operations/permissions.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/attachment_mixin.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/login_ban.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/mfa_device.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/mfa_user_mixin.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/ordered_model_mixin.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/pfx_user.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/serializers/json.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/settings.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/shortcuts.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/sms/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/sms/backends/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/sms/backends/base.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/sms/backends/console.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/storage/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/storage/exceptions.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/storage/local_storage.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/test.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/version_check.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/fields.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/filters_views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/locale_views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/mfa_authentication_views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/rest_views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/apps.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/migrations/0002_alter_userjob_options_alter_userjob_auto_queued_and_more.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/migrations/0003_clean_scheduled_tasks.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/migrations/0004_userjob_summary_url.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/migrations/0005_swappable_user_job.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/migrations/0006_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/models/user_job.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/models/user_job_attachment.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/providers/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/providers/user_job_django_q_executor.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/providers/user_job_websocket_channel_provider.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/tasks.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/views/user_job_attachment_view.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/views/user_job_view.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/userjobs/views/user_websocket_consumer.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pyproject.toml +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/requirements.txt +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/serve-doc +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/setup.cfg +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/setup.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/apps.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/channel_group_send_calls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/mfa_urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/models.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/settings/common.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/basic_api_errors.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/mfa_test_utils.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_api_doc.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_api_doc_search.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_body_mixin.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_cache.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_client.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_emails_email_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_emails_email_model.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_emails_q_mailjet_email_backend.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_emails_send_email_message.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_choices.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_date.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_decimal.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_help_text.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_minutes_duration.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_one2many.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_rich_text.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_fields_time.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_filters.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_locale_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_mfa_legacy.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_mfa_login_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_mfa_setup_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_perm_tests.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_permissions.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_perms_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_post_migrate_groups_update.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_profiling_middleware.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_settings.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_shortcuts.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_timezone_middleware.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_tools.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_user_job_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_user_job_messages.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_user_job_model.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_user_queryset.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_user_websocket.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_version_check.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_view_decorators.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_view_fields.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/tests/test_ws_cookie_middleware.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests/views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/settings/common.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_base_user/views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/models.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/settings/common.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user/views.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/migrations/0002_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/models.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/providers.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/scope.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/settings/common.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/tests/test_user_job.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_custom_user_job/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/models.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/settings/common.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/urls.py +0 -0
- {django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/tests_user_email_login/views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-pfx
|
|
3
|
-
Version: 1.7.6.
|
|
3
|
+
Version: 1.7.6.dev21
|
|
4
4
|
Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
|
|
5
5
|
Author: Hervé Martinet
|
|
6
6
|
Author-email: herve.martinet@gmail.com
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-pfx
|
|
3
|
-
Version: 1.7.6.
|
|
3
|
+
Version: 1.7.6.dev21
|
|
4
4
|
Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
|
|
5
5
|
Author: Hervé Martinet
|
|
6
6
|
Author-email: herve.martinet@gmail.com
|
|
@@ -35,6 +35,15 @@ STORAGE_S3_AWS_GET_URL_EXPIRE = None
|
|
|
35
35
|
|
|
36
36
|
STORAGE_LOCAL_ROOT = None
|
|
37
37
|
STORAGE_LOCAL_X_ACCEL_REDIRECT = False
|
|
38
|
+
# Served from the application domain, so a type the browser renders as a
|
|
39
|
+
# document (text/html, image/svg+xml, …) would run its scripts there.
|
|
40
|
+
STORAGE_INLINE_CONTENT_TYPES = [
|
|
41
|
+
'application/pdf',
|
|
42
|
+
'image/gif',
|
|
43
|
+
'image/jpeg',
|
|
44
|
+
'image/png',
|
|
45
|
+
'image/webp',
|
|
46
|
+
]
|
|
38
47
|
|
|
39
48
|
PFX_TEST_MODE = False
|
|
40
49
|
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po
RENAMED
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: \n"
|
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
|
10
|
-
"POT-Creation-Date: 2026-
|
|
10
|
+
"POT-Creation-Date: 2026-10-01 06:30+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2021-06-22 23:31+0200\n"
|
|
12
12
|
"Last-Translator: \n"
|
|
13
13
|
"Language-Team: \n"
|
|
@@ -22,7 +22,7 @@ msgstr ""
|
|
|
22
22
|
msgid "An internal server error occured."
|
|
23
23
|
msgstr "Une erreur interne du serveur est survenue."
|
|
24
24
|
|
|
25
|
-
#: default_settings.py:
|
|
25
|
+
#: default_settings.py:65
|
|
26
26
|
msgid "A system error occurred. Our support team has been notified."
|
|
27
27
|
msgstr ""
|
|
28
28
|
"Une erreur système s’est produite. Notre équipe d’assistance en a été "
|
|
@@ -328,7 +328,7 @@ msgstr ""
|
|
|
328
328
|
msgid "Invalid value for {filter} filter"
|
|
329
329
|
msgstr "Valeur invalide pour le filtre {filter}"
|
|
330
330
|
|
|
331
|
-
#: views/media_rest_view_mixin.py:
|
|
331
|
+
#: views/media_rest_view_mixin.py:43 views/media_rest_view_mixin.py:133
|
|
332
332
|
msgid "Unexpected storage error"
|
|
333
333
|
msgstr "Erreur de stockage inattendue"
|
|
334
334
|
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/media_rest_view_mixin.py
RENAMED
|
@@ -29,6 +29,11 @@ def get_medial_field(model, field):
|
|
|
29
29
|
return model_field
|
|
30
30
|
|
|
31
31
|
|
|
32
|
+
def is_inline_content_type(content_type):
|
|
33
|
+
mime = (content_type or '').split(';')[0].strip().lower()
|
|
34
|
+
return mime in settings.STORAGE_INLINE_CONTENT_TYPES
|
|
35
|
+
|
|
36
|
+
|
|
32
37
|
def get_media_field_response(obj, field, request):
|
|
33
38
|
mediaField = get_medial_field(obj, field)
|
|
34
39
|
try:
|
|
@@ -40,7 +45,9 @@ def get_media_field_response(obj, field, request):
|
|
|
40
45
|
if mediaField.storage.direct:
|
|
41
46
|
attr = getattr(obj, field)
|
|
42
47
|
filename = attr.get('name')
|
|
43
|
-
inline =
|
|
48
|
+
inline = (
|
|
49
|
+
get_bool(request.GET, "inline") and
|
|
50
|
+
is_inline_content_type(attr.get('content-type')))
|
|
44
51
|
if settings.STORAGE_LOCAL_X_ACCEL_REDIRECT:
|
|
45
52
|
response = HttpResponse()
|
|
46
53
|
response["Content-Disposition"] = content_disposition_header(
|
|
@@ -855,20 +855,20 @@ class BasicAPITest(TestAssertMixin, TestCase):
|
|
|
855
855
|
(`=?utf-8?q?…?=`), which browsers cannot read, so "inline" was
|
|
856
856
|
lost. The ";" would also have cut the unquoted name short.
|
|
857
857
|
FileResponse is checked too, as both paths must agree.
|
|
858
|
+
A PDF, so that "inline" is honoured.
|
|
858
859
|
"""
|
|
859
860
|
response = self.client.post('/api/books', dict(
|
|
860
861
|
name="Test Book",
|
|
861
862
|
author=self.author1.pk,
|
|
862
863
|
pub_date='2000-01-01',
|
|
863
864
|
local_file=dict(
|
|
864
|
-
name='Crédit; école[…].
|
|
865
|
-
base64='data:
|
|
866
|
-
'base64,VGVzdCBjb250ZW50')))
|
|
865
|
+
name='Crédit; école[…].pdf',
|
|
866
|
+
base64='data:application/pdf;base64,VGVzdCBjb250ZW50')))
|
|
867
867
|
self.assertRC(response, 200)
|
|
868
868
|
url = f"/api/books/{self.get_val(response, 'pk')}/local_file"
|
|
869
869
|
name = (
|
|
870
870
|
"filename*=utf-8''"
|
|
871
|
-
"Cr%C3%A9dit%3B%20%C3%A9cole%5B%E2%80%A6%5D.
|
|
871
|
+
"Cr%C3%A9dit%3B%20%C3%A9cole%5B%E2%80%A6%5D.pdf")
|
|
872
872
|
|
|
873
873
|
for x_accel in (True, False):
|
|
874
874
|
with override_settings(STORAGE_LOCAL_X_ACCEL_REDIRECT=x_accel):
|
|
@@ -882,6 +882,36 @@ class BasicAPITest(TestAssertMixin, TestCase):
|
|
|
882
882
|
self.assertEqual(
|
|
883
883
|
response['Content-Disposition'], f"inline; {name}")
|
|
884
884
|
|
|
885
|
+
def test_get_file_inline_unsafe_type(self):
|
|
886
|
+
"""A file the browser would render as a page is never inline.
|
|
887
|
+
|
|
888
|
+
Served from the application domain, an HTML or SVG file opened
|
|
889
|
+
with "?inline=true" would run its scripts with the session of
|
|
890
|
+
whoever follows the link. The type is guessed from the name at
|
|
891
|
+
upload, so the name alone decides; both serving paths are checked.
|
|
892
|
+
"""
|
|
893
|
+
for filename, inline in (
|
|
894
|
+
('page.html', False), ('image.svg', False),
|
|
895
|
+
('note.txt', False), ('photo.png', True)):
|
|
896
|
+
response = self.client.post('/api/books', dict(
|
|
897
|
+
name=f"Book {filename}",
|
|
898
|
+
author=self.author1.pk,
|
|
899
|
+
pub_date='2000-01-01',
|
|
900
|
+
local_file=dict(
|
|
901
|
+
name=filename,
|
|
902
|
+
base64='data:text/html;base64,'
|
|
903
|
+
'PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==')))
|
|
904
|
+
self.assertRC(response, 200)
|
|
905
|
+
url = f"/api/books/{self.get_val(response, 'pk')}/local_file"
|
|
906
|
+
for x_accel in (True, False):
|
|
907
|
+
with self.subTest(filename=filename, x_accel=x_accel), \
|
|
908
|
+
override_settings(
|
|
909
|
+
STORAGE_LOCAL_X_ACCEL_REDIRECT=x_accel):
|
|
910
|
+
response = self.client.get(f"{url}?inline=true")
|
|
911
|
+
self.assertRC(response, 200)
|
|
912
|
+
self.assertTrue(response['Content-Disposition'].startswith(
|
|
913
|
+
'inline;' if inline else 'attachment;'))
|
|
914
|
+
|
|
885
915
|
def test_create_null_values(self):
|
|
886
916
|
response = self.client.post(
|
|
887
917
|
'/api/books', dict(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/locale/fr/LC_MESSAGES/django.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/0002_alter_email_headers.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/migrations/0003_alter_email_options.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/providers/email_django_q_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/templates/emails/base_template.html
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/emails/templates/emails/base_template.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/fields/minutes_duration_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/management/commands/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/management/commands/makeapidoc.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/management/commands/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/operations/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/migrations/operations/permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/abstract_pfx_base_user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/models/user_filtered_queryset_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/mfa_authentication_views.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/ordered_rest_view_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/date_format.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_count.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_items.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_order.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/list_search.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/media_redirect.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/meta_fields.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/meta_filters.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/meta_orders.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_limit.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_offset.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_page.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_page_size.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev19 → django_pfx-1.7.6.dev21}/pfx/pfxcore/views/parameters/subset_page_subset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|