.gitignore
.gitlab-ci.yml
.pre-commit-config.yaml
LICENSE
MANIFEST.in
README.md
make_messages
manage.py
pyproject.toml
requirements.txt
serve-doc
setup.cfg
setup.py
django_pfx.egg-info/PKG-INFO
django_pfx.egg-info/SOURCES.txt
django_pfx.egg-info/dependency_links.txt
django_pfx.egg-info/requires.txt
django_pfx.egg-info/top_level.txt
doc/Makefile
doc/conf.py
doc/index.rst
doc/source/api.views.rst
doc/source/authentication.md
doc/source/decorator.md
doc/source/generate_openapi.md
doc/source/getting_started.md
doc/source/internationalisation.md
doc/source/model.md
doc/source/pfx_views.md
doc/source/profiling.md
doc/source/settings.md
doc/source/testing.md
img/pfx.png
img/pfx.svg
pfx/__init__.py
pfx/emails/__init__.py
pfx/emails/apps.py
pfx/emails/exceptions.py
pfx/emails/shortcuts.py
pfx/emails/tasks.py
pfx/emails/urls.py
pfx/emails/email_backend/__init__.py
pfx/emails/email_backend/q_mailjet_email_backend.py
pfx/emails/mailjet/__init__.py
pfx/emails/mailjet/mailjet.py
pfx/emails/mailjet/message_result.py
pfx/emails/migrations/0001_initial.py
pfx/emails/migrations/0002_alter_email_headers.py
pfx/emails/migrations/0003_alter_email_options.py
pfx/emails/migrations/__init__.py
pfx/emails/models/__init__.py
pfx/emails/models/email.py
pfx/emails/providers/__init__.py
pfx/emails/providers/email_django_q_executor.py
pfx/emails/templates/emails/base_template.html
pfx/emails/templates/emails/base_template.txt
pfx/emails/templates/emails/base_template_subject.txt
pfx/emails/views/__init__.py
pfx/emails/views/email_rest_view.py
pfx/pfxcore/__init__.py
pfx/pfxcore/apps.py
pfx/pfxcore/default_settings.py
pfx/pfxcore/exceptions.py
pfx/pfxcore/settings.py
pfx/pfxcore/shortcuts.py
pfx/pfxcore/test.py
pfx/pfxcore/urls.py
pfx/pfxcore/apidoc/__init__.py
pfx/pfxcore/apidoc/parameters.py
pfx/pfxcore/apidoc/schema.py
pfx/pfxcore/apidoc/tags.py
pfx/pfxcore/decorator/__init__.py
pfx/pfxcore/decorator/rest.py
pfx/pfxcore/fields/__init__.py
pfx/pfxcore/fields/decimal_field.py
pfx/pfxcore/fields/media_field.py
pfx/pfxcore/fields/minutes_duration_field.py
pfx/pfxcore/fields/rich_text_field.py
pfx/pfxcore/http/__init__.py
pfx/pfxcore/http/json_response.py
pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo
pfx/pfxcore/locale/fr/LC_MESSAGES/django.po
pfx/pfxcore/management/__init__.py
pfx/pfxcore/management/commands/__init__.py
pfx/pfxcore/management/commands/makeapidoc.py
pfx/pfxcore/management/commands/profile.py
pfx/pfxcore/middleware/__init__.py
pfx/pfxcore/middleware/authentication.py
pfx/pfxcore/middleware/locale.py
pfx/pfxcore/middleware/profiling.py
pfx/pfxcore/middleware/request_too_big_middleware.py
pfx/pfxcore/middleware/ws_cookie_authentication_middleware.py
pfx/pfxcore/migrations/0001_initial.py
pfx/pfxcore/migrations/0002_pfxpermissionsuser.py
pfx/pfxcore/migrations/0003_delete_pfxpermissionsuser.py
pfx/pfxcore/migrations/0004_alter_loginban_failed_counter_and_more.py
pfx/pfxcore/migrations/__init__.py
pfx/pfxcore/migrations/operations/__init__.py
pfx/pfxcore/migrations/operations/permissions.py
pfx/pfxcore/models/__init__.py
pfx/pfxcore/models/abstract_pfx_base_user.py
pfx/pfxcore/models/attachment_mixin.py
pfx/pfxcore/models/cache_mixins.py
pfx/pfxcore/models/login_ban.py
pfx/pfxcore/models/mfa_user_mixin.py
pfx/pfxcore/models/not_null_fields.py
pfx/pfxcore/models/ordered_model_mixin.py
pfx/pfxcore/models/pfx_models.py
pfx/pfxcore/models/pfx_user.py
pfx/pfxcore/models/user_filtered_queryset_mixin.py
pfx/pfxcore/serializers/__init__.py
pfx/pfxcore/serializers/json.py
pfx/pfxcore/sms/__init__.py
pfx/pfxcore/sms/backends/__init__.py
pfx/pfxcore/sms/backends/base.py
pfx/pfxcore/sms/backends/console.py
pfx/pfxcore/storage/__init__.py
pfx/pfxcore/storage/exceptions.py
pfx/pfxcore/storage/local_storage.py
pfx/pfxcore/storage/s3_storage.py
pfx/pfxcore/templates/registration/otp_code_email.txt
pfx/pfxcore/templates/registration/otp_code_subject.txt
pfx/pfxcore/templates/registration/password_reset_email.txt
pfx/pfxcore/templates/registration/password_reset_subject.txt
pfx/pfxcore/templates/registration/welcome_email.txt
pfx/pfxcore/templates/registration/welcome_subject.txt
pfx/pfxcore/views/__init__.py
pfx/pfxcore/views/authentication_views.py
pfx/pfxcore/views/fields.py
pfx/pfxcore/views/filters_views.py
pfx/pfxcore/views/locale_views.py
pfx/pfxcore/views/media_rest_view_mixin.py
pfx/pfxcore/views/ordered_rest_view_mixin.py
pfx/pfxcore/views/rest_views.py
pfx/pfxcore/views/parameters/__init__.py
pfx/pfxcore/views/parameters/date_format.py
pfx/pfxcore/views/parameters/groups.py
pfx/pfxcore/views/parameters/list_count.py
pfx/pfxcore/views/parameters/list_items.py
pfx/pfxcore/views/parameters/list_mode.py
pfx/pfxcore/views/parameters/list_order.py
pfx/pfxcore/views/parameters/list_search.py
pfx/pfxcore/views/parameters/media_redirect.py
pfx/pfxcore/views/parameters/meta_fields.py
pfx/pfxcore/views/parameters/meta_filters.py
pfx/pfxcore/views/parameters/meta_orders.py
pfx/pfxcore/views/parameters/subset.py
pfx/pfxcore/views/parameters/subset_limit.py
pfx/pfxcore/views/parameters/subset_offset.py
pfx/pfxcore/views/parameters/subset_page.py
pfx/pfxcore/views/parameters/subset_page_size.py
pfx/pfxcore/views/parameters/subset_page_subset.py
pfx/settings/__init__.py
pfx/settings/dev.py
pfx/userjobs/__init__.py
pfx/userjobs/apps.py
pfx/userjobs/tasks.py
pfx/userjobs/urls.py
pfx/userjobs/locale/fr/LC_MESSAGES/django.mo
pfx/userjobs/locale/fr/LC_MESSAGES/django.po
pfx/userjobs/migrations/0001_initial.py
pfx/userjobs/migrations/0002_alter_userjob_options_alter_userjob_auto_queued_and_more.py
pfx/userjobs/migrations/__init__.py
pfx/userjobs/models/__init__.py
pfx/userjobs/models/user_job.py
pfx/userjobs/models/user_job_attachment.py
pfx/userjobs/providers/__init__.py
pfx/userjobs/providers/user_job_django_q_executor.py
pfx/userjobs/providers/user_job_websocket_channel_provider.py
pfx/userjobs/views/__init__.py
pfx/userjobs/views/user_job_attachment_view.py
pfx/userjobs/views/user_job_view.py
pfx/userjobs/views/user_websocket_consumer.py
tests/__init__.py
tests/apps.py
tests/channel_group_send_calls.py
tests/models.py
tests/urls.py
tests/views.py
tests/locale/fr/LC_MESSAGES/django.po
tests/migrations/0001_initial.py
tests/migrations/0002_alter_book_cover.py
tests/migrations/0003_book_local_file.py
tests/migrations/0004_mfausermixin_fields.py
tests/migrations/0005_mfausermixin_fields_fix.py
tests/migrations/0006_rename_otp_enabled_user_mfa_authenticator_enabled_and_more.py
tests/migrations/0007_attachment.py
tests/migrations/__init__.py
tests/settings/__init__.py
tests/settings/ci.py
tests/settings/common.py
tests/settings/dev.py
tests/settings/dev_custom_example.py
tests/settings/dev_default.py
tests/tests/__init__.py
tests/tests/basic_api_errors.py
tests/tests/basic_api_test.py
tests/tests/test_api_doc.py
tests/tests/test_api_doc_search.py
tests/tests/test_auth_api.py
tests/tests/test_body_mixin.py
tests/tests/test_cache.py
tests/tests/test_client.py
tests/tests/test_emails_email_api.py
tests/tests/test_emails_email_model.py
tests/tests/test_emails_q_mailjet_email_backend.py
tests/tests/test_emails_send_email_message.py
tests/tests/test_fields_choices.py
tests/tests/test_fields_date.py
tests/tests/test_fields_decimal.py
tests/tests/test_fields_minutes_duration.py
tests/tests/test_fields_one2many.py
tests/tests/test_fields_rich_text.py
tests/tests/test_fields_time.py
tests/tests/test_filters.py
tests/tests/test_locale_api.py
tests/tests/test_ordered_rest_view_mixin.py
tests/tests/test_perm_tests.py
tests/tests/test_permissions.py
tests/tests/test_perms_api.py
tests/tests/test_post_migrate_groups_update.py
tests/tests/test_profiling_middleware.py
tests/tests/test_settings.py
tests/tests/test_shortcuts.py
tests/tests/test_timezone_middleware.py
tests/tests/test_tools.py
tests/tests/test_user_job_api.py
tests/tests/test_user_job_messages.py
tests/tests/test_user_job_model.py
tests/tests/test_user_queryset.py
tests/tests/test_user_websocket.py
tests/tests/test_view_decorators.py
tests/tests/test_view_fields.py
tests_base_user/__init__.py
tests_base_user/urls.py
tests_base_user/views.py
tests_base_user/migrations/0001_initial.py
tests_base_user/migrations/__init__.py
tests_base_user/settings/__init__.py
tests_base_user/settings/ci.py
tests_base_user/settings/common.py
tests_base_user/settings/dev.py
tests_base_user/settings/dev_custom_example.py
tests_base_user/settings/dev_default.py
tests_base_user/tests/__init__.py
tests_base_user/tests/test_api.py
tests_base_user/tests/test_auth_api.py
tests_custom_user/__init__.py
tests_custom_user/models.py
tests_custom_user/urls.py
tests_custom_user/views.py
tests_custom_user/migrations/0001_initial.py
tests_custom_user/migrations/__init__.py
tests_custom_user/settings/__init__.py
tests_custom_user/settings/ci.py
tests_custom_user/settings/common.py
tests_custom_user/settings/dev.py
tests_custom_user/settings/dev_custom_example.py
tests_custom_user/settings/dev_default.py
tests_custom_user/tests/__init__.py
tests_custom_user/tests/test_api.py
tests_custom_user/tests/test_auth_api.py