django-pfx 1.7.6.dev27__tar.gz → 1.7.6.dev29__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.dev27 → django_pfx-1.7.6.dev29}/PKG-INFO +1 -1
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/django_pfx.egg-info/PKG-INFO +1 -1
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/django_pfx.egg-info/scm_version.json +2 -2
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/test.py +10 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +8 -8
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/abstract_pfx_base_user.py +3 -1
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/shortcuts.py +2 -1
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/__init__.py +4 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_auth_api.py +4 -4
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_emails_q_mailjet_email_backend.py +2 -2
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_emails_send_email_message.py +7 -7
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_emails_test_tools.py +4 -1
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/tests/test_auth_api.py +2 -2
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/tests/test_auth_api.py +2 -3
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/tests/test_auth_api.py +4 -4
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/.gitignore +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/.gitlab-ci.yml +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/.pre-commit-config.yaml +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/LICENSE +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/MANIFEST.in +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/README.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/django_pfx.egg-info/SOURCES.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/django_pfx.egg-info/requires.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/django_pfx.egg-info/scm_file_list.json +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/django_pfx.egg-info/top_level.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/Makefile +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/conf.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/index.rst +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/api.views.rst +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/authentication.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/decorator.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/generate_openapi.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/getting_started.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/internationalisation.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/model.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/pfx_views.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/profiling.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/settings.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/testing.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/doc/source/user_jobs.md +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/img/pfx.png +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/img/pfx.svg +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/make_messages +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/manage.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/apps.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/email_backend/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/email_backend/memory_email_backend.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/email_backend/q_mailjet_email_backend.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/exceptions.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/mailjet/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/mailjet/mailjet.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/mailjet/message_result.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/0002_alter_email_headers.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/0003_alter_email_options.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/0004_alter_email_mail_from.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/0005_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/0006_alter_email_attachments.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/models/email.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/providers/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/providers/email_django_q_executor.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/shortcuts.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/tasks.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/templates/emails/base_template.html +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/templates/emails/base_template.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/templates/emails/base_template_subject.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/views/email_rest_view.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/apps.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/decorator/rest.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/default_settings.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/exceptions.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/fields/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/fields/decimal_field.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/fields/media_field.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/fields/minutes_duration_field.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/fields/rich_text_field.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/http/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/http/json_response.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/management/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/management/commands/profile.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/mfa/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/mfa/authenticator.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/mfa/base.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/mfa/email.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/mfa/legacy.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/mfa/sms.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/middleware/locale.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/middleware/profiling.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/middleware/request_too_big_middleware.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/middleware/ws_cookie_authentication_middleware.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0003_delete_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0004_alter_loginban_failed_counter_and_more.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0005_mfadevice_mfadevice_mfa_device_unique_backend.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0006_alter_pfxuser_managers.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0007_alter_pfxuser_options.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/0008_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/operations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/operations/permissions.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/attachment_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/login_ban.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/mfa_device.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/mfa_user_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/ordered_model_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/pfx_user.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/serializers/json.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/settings.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/sms/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/sms/backends/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/sms/backends/base.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/sms/backends/console.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/sms/backends/memory.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/storage/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/storage/exceptions.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/storage/local_storage.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/test.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/version_check.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/fields.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/filters_views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/locale_views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/media_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/mfa_authentication_views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/views/rest_views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/xml_test_runner.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/apps.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/migrations/0002_alter_userjob_options_alter_userjob_auto_queued_and_more.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/migrations/0003_clean_scheduled_tasks.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/migrations/0004_userjob_summary_url.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/migrations/0005_swappable_user_job.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/migrations/0006_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/models/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/models/user_job.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/models/user_job_attachment.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/providers/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/providers/user_job_django_q_executor.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/providers/user_job_websocket_channel_provider.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/tasks.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/views/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/views/user_job_attachment_view.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/views/user_job_view.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/userjobs/views/user_websocket_consumer.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pyproject.toml +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/requirements.txt +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/serve-doc +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/setup.cfg +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/setup.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/apps.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/channel_group_send_calls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/mfa_urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/models.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/settings/common.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/basic_api_errors.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/basic_api_test.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/mfa_test_utils.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_api_doc.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_api_doc_search.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_body_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_cache.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_client.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_emails_email_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_emails_email_model.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_choices.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_date.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_decimal.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_help_text.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_minutes_duration.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_one2many.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_rich_text.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_fields_time.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_filters.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_locale_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_mfa_legacy.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_mfa_login_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_mfa_setup_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_perm_tests.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_permissions.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_perms_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_post_migrate_groups_update.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_profiling_middleware.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_settings.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_shortcuts.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_test_runner.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_timezone_middleware.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_tools.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_user_job_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_user_job_messages.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_user_job_model.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_user_queryset.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_user_websocket.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_version_check.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_view_decorators.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_view_fields.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_ws_cookie_middleware.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/settings/common.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_base_user/views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/models.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/settings/common.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user/views.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/migrations/0002_lowercase_verbose_names.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/models.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/providers.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/scope.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/settings/common.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/tests/test_user_job.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_custom_user_job/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/migrations/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/models.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/settings/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/settings/ci.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/settings/common.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/settings/dev.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/settings/dev_default.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/tests/__init__.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/tests/test_api.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/urls.py +0 -0
- {django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/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.dev29
|
|
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.dev29
|
|
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,3 +1,5 @@
|
|
|
1
|
+
from email.utils import formataddr
|
|
2
|
+
|
|
1
3
|
from django.conf import settings
|
|
2
4
|
from django.utils.module_loading import import_string
|
|
3
5
|
|
|
@@ -33,6 +35,14 @@ class EmailTestMixin:
|
|
|
33
35
|
"""The addresses of the ``To`` of ``email``, without the names."""
|
|
34
36
|
return [r['Email'] for r in email.mail_to]
|
|
35
37
|
|
|
38
|
+
@classmethod
|
|
39
|
+
def email_to_rfc(cls, email):
|
|
40
|
+
"""The addresses of the ``To`` of ``email``, with the names."""
|
|
41
|
+
return [
|
|
42
|
+
formataddr((r['Name'], r['Email'])) if r.get('Name')
|
|
43
|
+
else r['Email']
|
|
44
|
+
for r in email.mail_to]
|
|
45
|
+
|
|
36
46
|
@classmethod
|
|
37
47
|
def get_email_html(cls, email):
|
|
38
48
|
if not email.html_part:
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/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-
|
|
10
|
+
"POT-Creation-Date: 2026-10-05 17:02+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2021-06-22 23:31+0200\n"
|
|
12
12
|
"Last-Translator: \n"
|
|
13
13
|
"Language-Team: \n"
|
|
@@ -66,11 +66,11 @@ msgstr ""
|
|
|
66
66
|
msgid "Your {site_name} verification code: {otp_code}"
|
|
67
67
|
msgstr "Votre code pour {site_name} : {otp_code}"
|
|
68
68
|
|
|
69
|
-
#: models/abstract_pfx_base_user.py:
|
|
69
|
+
#: models/abstract_pfx_base_user.py:91
|
|
70
70
|
msgid "User"
|
|
71
71
|
msgstr "Utilisateur"
|
|
72
72
|
|
|
73
|
-
#: models/abstract_pfx_base_user.py:
|
|
73
|
+
#: models/abstract_pfx_base_user.py:92
|
|
74
74
|
msgid "Users"
|
|
75
75
|
msgstr "Utilisateurs"
|
|
76
76
|
|
|
@@ -180,27 +180,27 @@ msgstr "séquence"
|
|
|
180
180
|
msgid "%(model_name)s with this %(field_labels)s already exists."
|
|
181
181
|
msgstr "%(model_name)s avec ce/cette %(field_labels)s existe déjà."
|
|
182
182
|
|
|
183
|
-
#: shortcuts.py:
|
|
183
|
+
#: shortcuts.py:53
|
|
184
184
|
#, python-brace-format
|
|
185
185
|
msgid "{key} must be an integer number."
|
|
186
186
|
msgstr "{key} doit être un nombre entier."
|
|
187
187
|
|
|
188
|
-
#: shortcuts.py:
|
|
188
|
+
#: shortcuts.py:69
|
|
189
189
|
#, python-brace-format
|
|
190
190
|
msgid "{key} must be a number."
|
|
191
191
|
msgstr "{key} doit être un nombre."
|
|
192
192
|
|
|
193
|
-
#: shortcuts.py:
|
|
193
|
+
#: shortcuts.py:85
|
|
194
194
|
#, python-brace-format
|
|
195
195
|
msgid "{key} must be a decimal number."
|
|
196
196
|
msgstr "{key} doit être un nombre décimal."
|
|
197
197
|
|
|
198
|
-
#: shortcuts.py:
|
|
198
|
+
#: shortcuts.py:101
|
|
199
199
|
#, python-brace-format
|
|
200
200
|
msgid "{key} must be a date."
|
|
201
201
|
msgstr "{key} doit être une date."
|
|
202
202
|
|
|
203
|
-
#: shortcuts.py:
|
|
203
|
+
#: shortcuts.py:122
|
|
204
204
|
#, python-brace-format
|
|
205
205
|
msgid "{key} must be “true”, “false”, “1”, “0” or empty."
|
|
206
206
|
msgstr "{key} doit être « true », « false », « 1 », « 0 » ou vide"
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/models/abstract_pfx_base_user.py
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from email.utils import formataddr
|
|
2
|
+
|
|
1
3
|
from django.contrib.auth.models import (
|
|
2
4
|
AbstractBaseUser,
|
|
3
5
|
AbstractUser,
|
|
@@ -37,7 +39,7 @@ class AbstractPFXBaseUser(PFXModelMixin, AbstractBaseUser):
|
|
|
37
39
|
def get_email_rfc(self):
|
|
38
40
|
name = self.get_email_name()
|
|
39
41
|
email = getattr(self, self.get_email_field_name())
|
|
40
|
-
return
|
|
42
|
+
return formataddr((name, email))
|
|
41
43
|
|
|
42
44
|
def auth_json_repr(self, **kw):
|
|
43
45
|
res = self.json_repr(
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import logging
|
|
3
3
|
from datetime import date
|
|
4
4
|
from decimal import Decimal as D
|
|
5
|
+
from email.utils import formataddr
|
|
5
6
|
from pathlib import Path
|
|
6
7
|
|
|
7
8
|
from django.core.exceptions import ObjectDoesNotExist
|
|
@@ -183,5 +184,5 @@ def default_mail_from():
|
|
|
183
184
|
def default_mail_from_rfc():
|
|
184
185
|
name, email = default_mail_from()
|
|
185
186
|
if name:
|
|
186
|
-
return
|
|
187
|
+
return formataddr((name, email))
|
|
187
188
|
return email
|
|
@@ -10,6 +10,10 @@ from .test_emails_email_api import TestEmailsEmailApi
|
|
|
10
10
|
from .test_emails_email_model import TestEmailsEmailModel
|
|
11
11
|
from .test_emails_q_mailjet_email_backend import TestEmailsQMailjetEmailBackend
|
|
12
12
|
from .test_emails_send_email_message import TestEmailsSendEmailMessage
|
|
13
|
+
from .test_emails_test_tools import (
|
|
14
|
+
TestEmailTestMixinWithLocmem,
|
|
15
|
+
TestMemoryEmailBackend,
|
|
16
|
+
)
|
|
13
17
|
from .test_fields_choices import TestFieldsChoices
|
|
14
18
|
from .test_fields_date import TestFieldsDate
|
|
15
19
|
from .test_fields_decimal import TestFieldsDecimal
|
|
@@ -758,8 +758,8 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
758
758
|
|
|
759
759
|
# Must send a welcome email
|
|
760
760
|
email = mail.outbox[0]
|
|
761
|
-
self.assertEqual(email.from_email, '
|
|
762
|
-
self.assertEqual(email.to, ['
|
|
761
|
+
self.assertEqual(email.from_email, 'PFX <pfx@example.com>')
|
|
762
|
+
self.assertEqual(email.to, ['Isaac Asimov <isaac.asimov@bu.edu>'])
|
|
763
763
|
self.assertEqual(email.subject, f'Welcome on {settings.PFX_SITE_NAME}')
|
|
764
764
|
|
|
765
765
|
self.client.logout()
|
|
@@ -817,9 +817,9 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
817
817
|
# Must send a reset password email
|
|
818
818
|
self.assertEqual(len(mail.outbox), 1)
|
|
819
819
|
email = mail.outbox[0]
|
|
820
|
-
self.assertEqual(email.from_email, '
|
|
820
|
+
self.assertEqual(email.from_email, 'PFX <pfx@example.com>')
|
|
821
821
|
self.assertEqual(email.to, [
|
|
822
|
-
'
|
|
822
|
+
'John Ronald Reuel Tolkien <jrr.tolkien@oxford.com>'])
|
|
823
823
|
self.assertEqual(
|
|
824
824
|
email.subject, f'Password reset on {settings.PFX_SITE_NAME}')
|
|
825
825
|
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_emails_q_mailjet_email_backend.py
RENAMED
|
@@ -32,8 +32,8 @@ class TestEmailsQMailjetEmailBackend(TestAssertMixin, TestCase):
|
|
|
32
32
|
send_mail(
|
|
33
33
|
'This is a test email',
|
|
34
34
|
'This is the mail content.',
|
|
35
|
-
'
|
|
36
|
-
['
|
|
35
|
+
'Fred <from@example.com>',
|
|
36
|
+
['AL <to@example.com>'],
|
|
37
37
|
fail_silently=False)
|
|
38
38
|
mail = Email.objects.get(subject='This is a test email')
|
|
39
39
|
self.assertEqual(mail.text_part, 'This is the mail content.')
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests/tests/test_emails_send_email_message.py
RENAMED
|
@@ -62,29 +62,29 @@ class TestEmailsSendEmailMessage(TestAssertMixin, TestCase):
|
|
|
62
62
|
'base_template',
|
|
63
63
|
data={'subject': "Test message"})
|
|
64
64
|
m = mail.outbox[0]
|
|
65
|
-
self.assertEqual(m.to[0], '
|
|
65
|
+
self.assertEqual(m.to[0], 'Test User 2 <test2@example.org>')
|
|
66
66
|
|
|
67
67
|
send_email_message(
|
|
68
68
|
SimpleNamespace(
|
|
69
|
-
get_email_rfc=lambda: '
|
|
69
|
+
get_email_rfc=lambda: 'Test 2 <test2@example.org>'),
|
|
70
70
|
'base_template',
|
|
71
71
|
data={'subject': "Test message"})
|
|
72
72
|
m = mail.outbox[1]
|
|
73
|
-
self.assertEqual(m.to[0], '
|
|
73
|
+
self.assertEqual(m.to[0], 'Test 2 <test2@example.org>')
|
|
74
74
|
|
|
75
75
|
send_email_message(
|
|
76
|
-
SimpleNamespace(email_rfc='
|
|
76
|
+
SimpleNamespace(email_rfc='Test 1 <test1@example.org>'),
|
|
77
77
|
'base_template',
|
|
78
78
|
data={'subject': "Test message"})
|
|
79
79
|
m = mail.outbox[2]
|
|
80
|
-
self.assertEqual(m.to[0], '
|
|
80
|
+
self.assertEqual(m.to[0], 'Test 1 <test1@example.org>')
|
|
81
81
|
|
|
82
82
|
send_email_message(
|
|
83
|
-
SimpleNamespace(email_rfc=lambda: '
|
|
83
|
+
SimpleNamespace(email_rfc=lambda: 'Test 1 <test1@example.org>'),
|
|
84
84
|
'base_template',
|
|
85
85
|
data={'subject': "Test message"})
|
|
86
86
|
m = mail.outbox[3]
|
|
87
|
-
self.assertEqual(m.to[0], '
|
|
87
|
+
self.assertEqual(m.to[0], 'Test 1 <test1@example.org>')
|
|
88
88
|
|
|
89
89
|
send_email_message(
|
|
90
90
|
SimpleNamespace(email='test3@example.org'),
|
|
@@ -30,7 +30,7 @@ class TestMemoryEmailBackend(EmailTestMixin, TestCase):
|
|
|
30
30
|
def test_outbox_helpers(self):
|
|
31
31
|
send_mail(
|
|
32
32
|
'First', 'Content', 'from@example.com',
|
|
33
|
-
['
|
|
33
|
+
['Jean Dupont <jean@example.com>', 'paul@example.com'])
|
|
34
34
|
message = EmailMultiAlternatives(
|
|
35
35
|
'Second', 'Text', 'from@example.com', ['marie@example.com'])
|
|
36
36
|
message.attach_alternative('<p>HTML</p>', 'text/html')
|
|
@@ -41,6 +41,9 @@ class TestMemoryEmailBackend(EmailTestMixin, TestCase):
|
|
|
41
41
|
[first.subject, second.subject], ['First', 'Second'])
|
|
42
42
|
self.assertEqual(
|
|
43
43
|
self.email_to(first), ['jean@example.com', 'paul@example.com'])
|
|
44
|
+
self.assertEqual(
|
|
45
|
+
self.email_to_rfc(first),
|
|
46
|
+
['Jean Dupont <jean@example.com>', 'paul@example.com'])
|
|
44
47
|
self.assertEqual(self.get_email_html(second), '<p>HTML</p>')
|
|
45
48
|
with self.assertRaises(AssertionError):
|
|
46
49
|
self.get_email_html(first)
|
|
@@ -159,9 +159,9 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
159
159
|
# Must send a reset password email
|
|
160
160
|
self.assertEqual(len(mail.outbox), 1)
|
|
161
161
|
email = mail.outbox[0]
|
|
162
|
-
self.assertEqual(email.from_email, '
|
|
162
|
+
self.assertEqual(email.from_email, 'PFX <pfx@example.com>')
|
|
163
163
|
self.assertEqual(email.to, [
|
|
164
|
-
'
|
|
164
|
+
'John Ronald Reuel Tolkien <jrr.tolkien@oxford.com>'])
|
|
165
165
|
self.assertEqual(
|
|
166
166
|
email.subject, f'Password reset on {settings.PFX_SITE_NAME}')
|
|
167
167
|
|
|
@@ -6,7 +6,6 @@ from datetime import timedelta as td
|
|
|
6
6
|
from django.conf import settings
|
|
7
7
|
from django.contrib.auth.hashers import make_password
|
|
8
8
|
from django.core import mail
|
|
9
|
-
# from django.core import mail
|
|
10
9
|
from django.test import TransactionTestCase, override_settings
|
|
11
10
|
from django.utils import timezone as tz
|
|
12
11
|
|
|
@@ -136,7 +135,7 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
136
135
|
# Must send a reset password email
|
|
137
136
|
self.assertEqual(len(mail.outbox), 1)
|
|
138
137
|
email = mail.outbox[0]
|
|
139
|
-
self.assertEqual(email.from_email, '
|
|
138
|
+
self.assertEqual(email.from_email, 'PFX <pfx@example.com>')
|
|
140
139
|
self.assertEqual(email.to, ['"jrr.tolkien" <jrr.tolkien@oxford.com>'])
|
|
141
140
|
self.assertEqual(
|
|
142
141
|
email.subject, f'Password reset on {settings.PFX_SITE_NAME}')
|
|
@@ -175,7 +174,7 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
175
174
|
# Must send a reset password email
|
|
176
175
|
self.assertEqual(len(mail.outbox), 1)
|
|
177
176
|
email = mail.outbox[0]
|
|
178
|
-
self.assertEqual(email.from_email, '
|
|
177
|
+
self.assertEqual(email.from_email, 'PFX <pfx@example.com>')
|
|
179
178
|
self.assertEqual(email.to, ['"jrr.tolkien" <jrr.tolkien@oxford.com>'])
|
|
180
179
|
self.assertEqual(
|
|
181
180
|
email.subject, f'Password reset on {settings.PFX_SITE_NAME}')
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/tests_user_email_login/tests/test_auth_api.py
RENAMED
|
@@ -136,8 +136,8 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
136
136
|
# Must send a reset password email
|
|
137
137
|
self.assertEqual(len(mail.outbox), 1)
|
|
138
138
|
email = mail.outbox[0]
|
|
139
|
-
self.assertEqual(email.from_email, '
|
|
140
|
-
self.assertEqual(email.to, ['
|
|
139
|
+
self.assertEqual(email.from_email, 'PFX <pfx@example.com>')
|
|
140
|
+
self.assertEqual(email.to, ['JRR Tolkien <jrr.tolkien@oxford.com>'])
|
|
141
141
|
self.assertEqual(
|
|
142
142
|
email.subject, f'Password reset on {settings.PFX_SITE_NAME}')
|
|
143
143
|
|
|
@@ -175,8 +175,8 @@ class AuthAPITest(TestAssertMixin, TransactionTestCase):
|
|
|
175
175
|
# Must send a reset password email
|
|
176
176
|
self.assertEqual(len(mail.outbox), 1)
|
|
177
177
|
email = mail.outbox[0]
|
|
178
|
-
self.assertEqual(email.from_email, '
|
|
179
|
-
self.assertEqual(email.to, ['
|
|
178
|
+
self.assertEqual(email.from_email, 'PFX <pfx@example.com>')
|
|
179
|
+
self.assertEqual(email.to, ['JRR Tolkien <jrr.tolkien@oxford.com>'])
|
|
180
180
|
self.assertEqual(
|
|
181
181
|
email.subject, f'Password reset on {settings.PFX_SITE_NAME}')
|
|
182
182
|
|
|
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.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/email_backend/memory_email_backend.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/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.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/migrations/0002_alter_email_headers.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/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.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/providers/email_django_q_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/emails/templates/emails/base_template.html
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/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
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/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.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/management/commands/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/management/commands/makeapidoc.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/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.dev27 → django_pfx-1.7.6.dev29}/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.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/operations/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.6.dev27 → django_pfx-1.7.6.dev29}/pfx/pfxcore/migrations/operations/permissions.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
|