django-pfx 1.7.6.dev39__tar.gz → 1.7.6.dev41__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.dev39 → django_pfx-1.7.6.dev41}/PKG-INFO +1 -1
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/django_pfx.egg-info/PKG-INFO +1 -1
- django_pfx-1.7.6.dev41/django_pfx.egg-info/scm_version.json +8 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/middleware/ws_cookie_authentication_middleware.py +1 -5
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_user_websocket.py +41 -0
- django_pfx-1.7.6.dev39/django_pfx.egg-info/scm_version.json +0 -8
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/.gitignore +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/.gitlab-ci.yml +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/.pre-commit-config.yaml +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/LICENSE +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/MANIFEST.in +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/README.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/django_pfx.egg-info/SOURCES.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/django_pfx.egg-info/requires.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/django_pfx.egg-info/scm_file_list.json +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/django_pfx.egg-info/top_level.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/Makefile +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/conf.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/index.rst +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/api.views.rst +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/authentication.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/decorator.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/generate_openapi.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/getting_started.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/internationalisation.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/model.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/pfx_views.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/profiling.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/settings.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/testing.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/doc/source/user_jobs.md +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/img/pfx.png +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/img/pfx.svg +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/make_messages +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/manage.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/apps.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/email_backend/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/email_backend/memory_email_backend.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/email_backend/q_mailjet_email_backend.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/exceptions.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/mailjet/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/mailjet/mailjet.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/mailjet/message_result.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/0002_alter_email_headers.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/0003_alter_email_options.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/0004_alter_email_mail_from.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/0005_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/0006_alter_email_attachments.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/models/email.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/providers/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/providers/email_django_q_executor.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/shortcuts.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/tasks.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/templates/emails/base_template.html +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/templates/emails/base_template.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/templates/emails/base_template_subject.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/test.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/views/email_rest_view.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/apps.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/decorator/rest.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/default_settings.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/exceptions.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/fields/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/fields/decimal_field.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/fields/media_field.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/fields/minutes_duration_field.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/fields/rich_text_field.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/http/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/http/json_response.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/management/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/management/commands/profile.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/mfa/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/mfa/authenticator.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/mfa/base.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/mfa/email.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/mfa/legacy.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/mfa/sms.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/middleware/locale.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/middleware/profiling.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/middleware/request_too_big_middleware.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0003_delete_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0004_alter_loginban_failed_counter_and_more.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0005_mfadevice_mfadevice_mfa_device_unique_backend.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0006_alter_pfxuser_managers.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0007_alter_pfxuser_options.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/0008_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/operations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/operations/permissions.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/attachment_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/login_ban.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/mfa_device.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/mfa_user_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/ordered_model_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/pfx_user.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/serializers/json.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/settings.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/shortcuts.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/sms/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/sms/backends/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/sms/backends/base.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/sms/backends/console.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/sms/backends/memory.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/storage/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/storage/exceptions.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/storage/local_storage.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/test.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/version_check.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/fields.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/filters_views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/locale_views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/media_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/mfa_authentication_views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/rest_views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/xml_test_runner.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/apps.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/0002_alter_userjob_options_alter_userjob_auto_queued_and_more.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/0003_clean_scheduled_tasks.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/0004_userjob_summary_url.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/0005_swappable_user_job.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/0006_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/models/user_job.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/models/user_job_attachment.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/providers/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/providers/user_job_django_q_executor.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/providers/user_job_websocket_channel_provider.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/tasks.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/views/user_job_attachment_view.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/views/user_job_view.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/views/user_websocket_consumer.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pyproject.toml +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/requirements.txt +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/serve-doc +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/setup.cfg +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/setup.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/apps.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/channel_group_send_calls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/mfa_urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/models.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/settings/common.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/basic_api_errors.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/basic_api_test.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/mfa_test_utils.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/parallel_scenarios.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_api_doc.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_api_doc_search.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_body_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_cache.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_client.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_emails_email_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_emails_email_model.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_emails_q_mailjet_email_backend.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_emails_send_email_message.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_emails_test_tools.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_choices.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_date.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_decimal.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_help_text.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_minutes_duration.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_one2many.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_rich_text.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_fields_time.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_filters.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_locale_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_mfa_legacy.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_mfa_login_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_mfa_setup_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_perm_tests.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_permissions.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_perms_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_post_migrate_groups_update.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_profiling_middleware.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_settings.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_shortcuts.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_table_file_helpers.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_test_runner.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_timezone_middleware.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_tools.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_user_job_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_user_job_messages.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_user_job_model.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_user_queryset.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_version_check.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_view_decorators.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_view_fields.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/tests/test_ws_cookie_middleware.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests/views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/settings/common.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_base_user/views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/models.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/settings/common.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user/views.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/migrations/0002_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/models.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/providers.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/scope.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/settings/common.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/tests/test_user_job.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_custom_user_job/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/models.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/settings/common.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/tests_user_email_login/urls.py +0 -0
- {django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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.dev41
|
|
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.dev41
|
|
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,4 +1,3 @@
|
|
|
1
|
-
import logging
|
|
2
1
|
|
|
3
2
|
from django.contrib.auth.models import AnonymousUser
|
|
4
3
|
from django.core.exceptions import ImproperlyConfigured
|
|
@@ -6,8 +5,6 @@ from django.http import parse_cookie
|
|
|
6
5
|
|
|
7
6
|
from pfx.pfxcore.middleware.authentication import JWTTokenDecodeMixin
|
|
8
7
|
|
|
9
|
-
logger = logging.getLogger(__name__)
|
|
10
|
-
|
|
11
8
|
try:
|
|
12
9
|
from channels.db import database_sync_to_async
|
|
13
10
|
from channels.middleware import BaseMiddleware
|
|
@@ -51,8 +48,7 @@ class WSCookieAuthenticationMiddleware(JWTTokenDecodeMixin, BaseMiddleware):
|
|
|
51
48
|
try:
|
|
52
49
|
user, __, __ = await database_sync_to_async(
|
|
53
50
|
self.decode_jwt)(key)
|
|
54
|
-
except Exception
|
|
55
|
-
logger.exception(e, exc_info=True)
|
|
51
|
+
except Exception:
|
|
56
52
|
user = AnonymousUser()
|
|
57
53
|
else:
|
|
58
54
|
user = AnonymousUser()
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import logging
|
|
3
|
+
from unittest.mock import patch
|
|
3
4
|
|
|
4
5
|
from django.test import TransactionTestCase
|
|
5
6
|
|
|
@@ -77,3 +78,43 @@ class TestUserWebsocket(TestAssertMixin, TransactionTestCase):
|
|
|
77
78
|
|
|
78
79
|
self.assertFalse(connected)
|
|
79
80
|
self.assertEqual(sub_protocol, 4001)
|
|
81
|
+
|
|
82
|
+
async def test_stale_cookie_is_anonymous_without_error(self):
|
|
83
|
+
"""A cookie whose user is gone (deleted, or a database restored
|
|
84
|
+
under a browser still holding it) is an expected case: the
|
|
85
|
+
connection is refused as anonymous, with no ERROR logged. The
|
|
86
|
+
HTTP middlewares already behaved so; this one logged the whole
|
|
87
|
+
stack trace on each connection."""
|
|
88
|
+
client = await self.async_setup()
|
|
89
|
+
headers = [(
|
|
90
|
+
b'cookie',
|
|
91
|
+
client.cookies.output(header='', sep='; ').encode())]
|
|
92
|
+
await sync_to_async(User.objects.filter(username='user').delete)()
|
|
93
|
+
|
|
94
|
+
communicator = self.get_websocket_communicator(headers)
|
|
95
|
+
with self.assertNoLogs('pfx', logging.WARNING):
|
|
96
|
+
connected, sub_protocol = await communicator.connect()
|
|
97
|
+
|
|
98
|
+
self.assertFalse(connected)
|
|
99
|
+
self.assertEqual(sub_protocol, 4001)
|
|
100
|
+
|
|
101
|
+
async def test_unexpected_error_is_still_logged(self):
|
|
102
|
+
"""The middleware no longer logs itself: an unexpected failure
|
|
103
|
+
stays visible through `decode_jwt`, which logs it as an
|
|
104
|
+
exception before raising."""
|
|
105
|
+
client = await self.async_setup()
|
|
106
|
+
headers = [(
|
|
107
|
+
b'cookie',
|
|
108
|
+
client.cookies.output(header='', sep='; ').encode())]
|
|
109
|
+
|
|
110
|
+
communicator = self.get_websocket_communicator(headers)
|
|
111
|
+
with patch.object(
|
|
112
|
+
WSCookieAuthenticationMiddleware, 'get_cached_user',
|
|
113
|
+
side_effect=RuntimeError('boom')):
|
|
114
|
+
with self.assertLogs(
|
|
115
|
+
'pfx.pfxcore.middleware.authentication',
|
|
116
|
+
logging.ERROR):
|
|
117
|
+
connected, sub_protocol = await communicator.connect()
|
|
118
|
+
|
|
119
|
+
self.assertFalse(connected)
|
|
120
|
+
self.assertEqual(sub_protocol, 4001)
|
|
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.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/email_backend/memory_email_backend.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/migrations/0002_alter_email_headers.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/providers/email_django_q_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/emails/templates/emails/base_template.html
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/management/commands/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/management/commands/makeapidoc.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/operations/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/migrations/operations/permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/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.dev39 → django_pfx-1.7.6.dev41}/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
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/media_rest_view_mixin.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/mfa_authentication_views.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/ordered_rest_view_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/date_format.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_count.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_items.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_order.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/list_search.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/media_redirect.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/meta_fields.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/meta_filters.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/meta_orders.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_limit.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_offset.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_page.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_page_size.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/pfxcore/views/parameters/subset_page_subset.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.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/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.dev39 → django_pfx-1.7.6.dev41}/pfx/userjobs/migrations/0005_swappable_user_job.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|