django-pfx 1.7.2.dev16__tar.gz → 1.7.3.dev4__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.2.dev16 → django_pfx-1.7.3.dev4}/PKG-INFO +1 -1
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/django_pfx.egg-info/PKG-INFO +1 -1
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/django_pfx.egg-info/SOURCES.txt +1 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +3 -3
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/fields.py +10 -3
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/rest_views.py +32 -25
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/__init__.py +1 -0
- django_pfx-1.7.3.dev4/tests/tests/test_fields_time.py +133 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/.gitignore +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/.gitlab-ci.yml +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/.pre-commit-config.yaml +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/LICENSE +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/MANIFEST.in +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/README.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/django_pfx.egg-info/requires.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/django_pfx.egg-info/top_level.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/Makefile +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/conf.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/index.rst +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/api.views.rst +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/authentication.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/decorator.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/generate_openapi.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/getting_started.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/internationalisation.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/model.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/pfx_views.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/profiling.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/settings.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/doc/source/testing.md +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/img/pfx.png +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/img/pfx.svg +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/make_messages +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/manage.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/apps.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/decorator/rest.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/default_settings.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/exceptions.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/fields/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/fields/decimal_field.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/fields/media_field.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/fields/minutes_duration_field.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/fields/rich_text_field.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/http/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/http/json_response.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/management/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/management/commands/profile.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/middleware/locale.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/middleware/profiling.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/0003_delete_pfxpermissionsuser.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/0004_alter_loginban_failed_counter_and_more.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/operations/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/operations/permissions.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/login_ban.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/mfa_user_mixin.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/ordered_model_mixin.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/pfx_user.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/serializers/json.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/settings.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/shortcuts.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/sms/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/sms/backends/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/sms/backends/base.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/sms/backends/console.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/storage/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/storage/exceptions.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/storage/local_storage.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/test.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/urls.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/filters_views.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/locale_views.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/media_rest_view_mixin.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/settings/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/settings/dev.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pyproject.toml +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/requirements.txt +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/serve-doc +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/setup.cfg +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/setup.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/apps.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0002_alter_book_cover.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0003_book_local_file.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0004_mfausermixin_fields.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0005_mfausermixin_fields_fix.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0006_rename_otp_enabled_user_mfa_authenticator_enabled_and_more.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/models.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/settings/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/settings/ci.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/settings/common.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/settings/dev.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/settings/dev_default.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/basic_api_errors.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/basic_api_test.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_api_doc.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_api_doc_search.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_body_mixin.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_cache.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_client.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_fields_choices.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_fields_date.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_fields_decimal.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_fields_minutes_duration.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_fields_one2many.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_fields_rich_text.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_filters.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_locale_api.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_perm_tests.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_permissions.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_perms_api.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_post_migrate_groups_update.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_profiling_middleware.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_settings.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_shortcuts.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_timezone_middleware.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_tools.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_user_queryset.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_view_decorators.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_view_fields.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/urls.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/views.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/settings/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/settings/ci.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/settings/common.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/settings/dev.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/tests/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/tests/test_api.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/urls.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/views.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/migrations/0001_initial.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/migrations/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/models.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/settings/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/settings/ci.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/settings/common.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/settings/dev.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/settings/dev_default.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/tests/__init__.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/tests/test_api.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/urls.py +0 -0
- {django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-pfx
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.3.dev4
|
|
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.
|
|
3
|
+
Version: 1.7.3.dev4
|
|
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
|
|
@@ -159,6 +159,7 @@ tests/tests/test_fields_decimal.py
|
|
|
159
159
|
tests/tests/test_fields_minutes_duration.py
|
|
160
160
|
tests/tests/test_fields_one2many.py
|
|
161
161
|
tests/tests/test_fields_rich_text.py
|
|
162
|
+
tests/tests/test_fields_time.py
|
|
162
163
|
tests/tests/test_filters.py
|
|
163
164
|
tests/tests/test_locale_api.py
|
|
164
165
|
tests/tests/test_ordered_rest_view_mixin.py
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po
RENAMED
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: \n"
|
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
|
10
|
-
"POT-Creation-Date: 2026-
|
|
10
|
+
"POT-Creation-Date: 2026-05-12 10:30+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2021-06-22 23:31+0200\n"
|
|
12
12
|
"Last-Translator: \n"
|
|
13
13
|
"Language-Team: \n"
|
|
@@ -335,7 +335,7 @@ msgstr "Le paramètre object est requis pour move={move}."
|
|
|
335
335
|
msgid "object {pk} does not exists in this move context."
|
|
336
336
|
msgstr "object {pk} n'existe pas dans ce contexte de déplacement."
|
|
337
337
|
|
|
338
|
-
#: views/rest_views.py:228 views/rest_views.py:
|
|
338
|
+
#: views/rest_views.py:228 views/rest_views.py:385
|
|
339
339
|
#, python-brace-format
|
|
340
340
|
msgid "{obj} cannot be deleted because it is referenced by other objects."
|
|
341
341
|
msgstr ""
|
|
@@ -351,7 +351,7 @@ msgstr "{model} {obj} créé."
|
|
|
351
351
|
msgid "{model} {obj} updated."
|
|
352
352
|
msgstr "{model} {obj} modifié."
|
|
353
353
|
|
|
354
|
-
#: views/rest_views.py:
|
|
354
|
+
#: views/rest_views.py:1306
|
|
355
355
|
#, python-brace-format
|
|
356
356
|
msgid "{model} {obj} deleted."
|
|
357
357
|
msgstr "{model} {obj} supprimé."
|
|
@@ -39,6 +39,7 @@ class FieldType:
|
|
|
39
39
|
FloatField = "FloatField"
|
|
40
40
|
DecimalField = "DecimalField"
|
|
41
41
|
DateField = "DateField"
|
|
42
|
+
TimeField = "TimeField"
|
|
42
43
|
DateTimeField = "DateTimeField"
|
|
43
44
|
MinutesDurationField = "MinutesDurationField"
|
|
44
45
|
MediaField = "MediaField"
|
|
@@ -57,6 +58,7 @@ class FieldType:
|
|
|
57
58
|
(models.DecimalField, DecimalField),
|
|
58
59
|
(models.DateTimeField, DateTimeField),
|
|
59
60
|
(models.DateField, DateField),
|
|
61
|
+
(models.TimeField, TimeField),
|
|
60
62
|
(models.TextField, TextField),
|
|
61
63
|
(models.CharField, CharField),
|
|
62
64
|
(models.URLField, CharField),
|
|
@@ -78,6 +80,7 @@ class FieldType:
|
|
|
78
80
|
FloatField: "number",
|
|
79
81
|
DecimalField: "string",
|
|
80
82
|
DateField: "string",
|
|
83
|
+
TimeField: "string",
|
|
81
84
|
DateTimeField: "string",
|
|
82
85
|
MinutesDurationField: "object",
|
|
83
86
|
MediaField: "object",
|
|
@@ -305,9 +308,11 @@ class ViewField:
|
|
|
305
308
|
def to_apidoc(self, request=False):
|
|
306
309
|
res = dict(type=FieldType.to_apidoc(self.field_type))
|
|
307
310
|
if self.field_type == FieldType.DateField:
|
|
308
|
-
res['format'] = 'date'
|
|
311
|
+
res['format'] = 'date' # Official specification name.
|
|
312
|
+
elif self.field_type == FieldType.TimeField:
|
|
313
|
+
res['format'] = 'time' # Custom name, does no exists.
|
|
309
314
|
elif self.field_type == FieldType.DateTimeField:
|
|
310
|
-
res['format'] = 'date-time'
|
|
315
|
+
res['format'] = 'date-time' # Official specification name.
|
|
311
316
|
elif self.field_type == FieldType.ModelObject:
|
|
312
317
|
properties = {}
|
|
313
318
|
if self.related_model:
|
|
@@ -442,7 +447,9 @@ class ViewModelField(ViewField):
|
|
|
442
447
|
value = (value['value']
|
|
443
448
|
if isinstance(value, dict) and 'value' in value
|
|
444
449
|
else value)
|
|
445
|
-
elif self.field_type in (
|
|
450
|
+
elif self.field_type in (
|
|
451
|
+
FieldType.DateField, FieldType.TimeField,
|
|
452
|
+
FieldType.DateTimeField):
|
|
446
453
|
try:
|
|
447
454
|
value = value and field.to_python(value) or None
|
|
448
455
|
except ValidationError as e:
|
|
@@ -368,22 +368,7 @@ class ModelResponseMixin(ModelMixin):
|
|
|
368
368
|
message=f(
|
|
369
369
|
message, model=self.model_name, obj=object))
|
|
370
370
|
|
|
371
|
-
def
|
|
372
|
-
"""Persist an object instance changes and build default response.
|
|
373
|
-
|
|
374
|
-
The default response contains the serialized instance after save and
|
|
375
|
-
a text message.
|
|
376
|
-
|
|
377
|
-
You can use :code:`rel_data` to pass values to set on related fields
|
|
378
|
-
after instance is persisted (to avoid errors if the instance does
|
|
379
|
-
not exists in database).
|
|
380
|
-
|
|
381
|
-
:param obj: The object instance
|
|
382
|
-
:param created: If object instance is created
|
|
383
|
-
:param rel_data: Values to set on related fields
|
|
384
|
-
:returns: The JSON response
|
|
385
|
-
:rtype: :class:`JsonResponse`
|
|
386
|
-
"""
|
|
371
|
+
def _save(self, obj, created=False, rel_data=None):
|
|
387
372
|
with transaction.atomic():
|
|
388
373
|
funcs = self.pre_save(obj, created=created)
|
|
389
374
|
obj.save()
|
|
@@ -412,6 +397,24 @@ class ModelResponseMixin(ModelMixin):
|
|
|
412
397
|
prev = o
|
|
413
398
|
getattr(obj, k).set(v)
|
|
414
399
|
self.post_save(obj, created=created, funcs=funcs)
|
|
400
|
+
|
|
401
|
+
def is_valid(self, obj, created=False, rel_data=None):
|
|
402
|
+
"""Persist an object instance changes and build default response.
|
|
403
|
+
|
|
404
|
+
The default response contains the serialized instance after save and
|
|
405
|
+
a text message.
|
|
406
|
+
|
|
407
|
+
You can use :code:`rel_data` to pass values to set on related fields
|
|
408
|
+
after instance is persisted (to avoid errors if the instance does
|
|
409
|
+
not exists in database).
|
|
410
|
+
|
|
411
|
+
:param obj: The object instance
|
|
412
|
+
:param created: If object instance is created
|
|
413
|
+
:param rel_data: Values to set on related fields
|
|
414
|
+
:returns: The JSON response
|
|
415
|
+
:rtype: :class:`JsonResponse`
|
|
416
|
+
"""
|
|
417
|
+
self._save(obj, created, rel_data)
|
|
415
418
|
obj = self.get_object(pk=obj.pk)
|
|
416
419
|
return self.response(
|
|
417
420
|
obj, **self.is_valid_response_meta(obj, created=created))
|
|
@@ -1229,18 +1232,22 @@ class UpdateRestViewMixin(ModelBodyMixin, ModelResponseMixin):
|
|
|
1229
1232
|
"""
|
|
1230
1233
|
return True
|
|
1231
1234
|
|
|
1235
|
+
def _fill_and_validate(self, obj):
|
|
1236
|
+
data, rel_data = self.get_model_data(
|
|
1237
|
+
obj, self.deserialize_body(), created=False)
|
|
1238
|
+
forbidden = False
|
|
1239
|
+
if not self.object_update_perm(obj, data):
|
|
1240
|
+
forbidden = True
|
|
1241
|
+
self.set_values(obj, **data)
|
|
1242
|
+
self.validate(obj, rel_data=rel_data, created=False)
|
|
1243
|
+
if forbidden:
|
|
1244
|
+
raise ForbiddenError
|
|
1245
|
+
return rel_data
|
|
1246
|
+
|
|
1232
1247
|
def _put(self, id, *args, **kwargs):
|
|
1233
1248
|
try:
|
|
1234
1249
|
obj = self.get_object(pk=id)
|
|
1235
|
-
|
|
1236
|
-
obj, self.deserialize_body(), created=False)
|
|
1237
|
-
forbidden = False
|
|
1238
|
-
if not self.object_update_perm(obj, data):
|
|
1239
|
-
forbidden = True
|
|
1240
|
-
self.set_values(obj, **data)
|
|
1241
|
-
self.validate(obj, rel_data=rel_data, created=False)
|
|
1242
|
-
if forbidden:
|
|
1243
|
-
raise ForbiddenError
|
|
1250
|
+
rel_data = self._fill_and_validate(obj)
|
|
1244
1251
|
return self.is_valid(obj, created=False, rel_data=rel_data)
|
|
1245
1252
|
except ValidationError as e:
|
|
1246
1253
|
return self.is_invalid(obj, errors=e)
|
|
@@ -12,6 +12,7 @@ from .test_fields_decimal import TestFieldsDecimal
|
|
|
12
12
|
from .test_fields_minutes_duration import TestFieldsMinutesDuration
|
|
13
13
|
from .test_fields_one2many import TestFieldsOne2Many
|
|
14
14
|
from .test_fields_rich_text import TestFieldsRichText
|
|
15
|
+
from .test_fields_time import TestFieldsTime
|
|
15
16
|
from .test_filters import FiltersTest
|
|
16
17
|
from .test_locale_api import LocaleAPITest
|
|
17
18
|
from .test_ordered_rest_view_mixin import TestOrderedRestViewMixin
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
from datetime import time
|
|
2
|
+
|
|
3
|
+
from django.db import connection, models
|
|
4
|
+
from django.test import TestCase
|
|
5
|
+
from django.test.utils import override_settings
|
|
6
|
+
from django.urls import include, path
|
|
7
|
+
|
|
8
|
+
from pfx.pfxcore import register_views
|
|
9
|
+
from pfx.pfxcore.decorator import rest_view
|
|
10
|
+
from pfx.pfxcore.models import JSONReprMixin
|
|
11
|
+
from pfx.pfxcore.test import APIClient, TestAssertMixin
|
|
12
|
+
from pfx.pfxcore.views import ModelFilter, RestView
|
|
13
|
+
from tests.views import FakeViewMixin
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class TestTimeModel(JSONReprMixin, models.Model):
|
|
17
|
+
test_time = models.TimeField("Test Time Field", blank=True, null=True)
|
|
18
|
+
|
|
19
|
+
class Meta:
|
|
20
|
+
verbose_name = "TestModel"
|
|
21
|
+
verbose_name_plural = "TestModels"
|
|
22
|
+
ordering = ['pk']
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@rest_view("/test")
|
|
26
|
+
class TestTimeRestView(FakeViewMixin, RestView):
|
|
27
|
+
default_public = True
|
|
28
|
+
model = TestTimeModel
|
|
29
|
+
|
|
30
|
+
filters = [ModelFilter(TestTimeModel, 'test_time')]
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
urlpatterns = [
|
|
34
|
+
path('api/', include(register_views(TestTimeRestView))),
|
|
35
|
+
path('api/', include('pfx.pfxcore.urls'))
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@override_settings(ROOT_URLCONF=__name__)
|
|
40
|
+
class TestFieldsTime(TestAssertMixin, TestCase):
|
|
41
|
+
|
|
42
|
+
def setUp(self):
|
|
43
|
+
self.client = APIClient(default_locale='en')
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def setUpTestData(cls):
|
|
47
|
+
with connection.schema_editor() as schema_editor:
|
|
48
|
+
schema_editor.create_model(TestTimeModel)
|
|
49
|
+
|
|
50
|
+
def test_meta(self):
|
|
51
|
+
res = self.client.get('/api/test/meta')
|
|
52
|
+
self.assertJE(res, 'fields.test_time.type', 'TimeField')
|
|
53
|
+
self.assertJE(res, 'fields.test_time.db_type', 'TimeField')
|
|
54
|
+
self.assertJE(res, 'fields.test_time.name', 'Test Time Field')
|
|
55
|
+
|
|
56
|
+
def test_get(self):
|
|
57
|
+
c1 = TestTimeModel.objects.create(test_time=time(14, 20))
|
|
58
|
+
|
|
59
|
+
res = self.client.get(f'/api/test/{c1.pk}')
|
|
60
|
+
self.assertRC(res, 200)
|
|
61
|
+
self.assertJE(res, 'test_time', '14:20:00')
|
|
62
|
+
|
|
63
|
+
def test_create(self):
|
|
64
|
+
res = self.client.post('/api/test', dict(
|
|
65
|
+
test_time='14:20'))
|
|
66
|
+
self.assertRC(res, 200)
|
|
67
|
+
self.assertJE(res, 'test_time', '14:20:00')
|
|
68
|
+
|
|
69
|
+
def test_create_null(self):
|
|
70
|
+
res = self.client.post('/api/test', dict(
|
|
71
|
+
test_time=None))
|
|
72
|
+
self.assertRC(res, 200)
|
|
73
|
+
self.assertJE(res, 'test_time', None)
|
|
74
|
+
|
|
75
|
+
def test_create_invalid(self):
|
|
76
|
+
res = self.client.post('/api/test', dict(
|
|
77
|
+
test_time='invalid'))
|
|
78
|
+
self.assertRC(res, 422)
|
|
79
|
+
self.assertJE(res, 'test_time', [
|
|
80
|
+
"“invalid” value has an invalid format. "
|
|
81
|
+
"It must be in HH:MM[:ss[.uuuuuu]] format."])
|
|
82
|
+
|
|
83
|
+
def test_update(self):
|
|
84
|
+
c1 = TestTimeModel.objects.create(test_time=time(14, 20))
|
|
85
|
+
|
|
86
|
+
res = self.client.put(f'/api/test/{c1.pk}', dict(
|
|
87
|
+
test_time='15:32'))
|
|
88
|
+
self.assertRC(res, 200)
|
|
89
|
+
self.assertJE(res, 'test_time', '15:32:00')
|
|
90
|
+
|
|
91
|
+
def test_update_null(self):
|
|
92
|
+
c1 = TestTimeModel.objects.create(test_time=time(14, 20))
|
|
93
|
+
|
|
94
|
+
res = self.client.put(f'/api/test/{c1.pk}', dict(
|
|
95
|
+
test_time=None))
|
|
96
|
+
self.assertRC(res, 200)
|
|
97
|
+
self.assertJE(res, 'test_time', None)
|
|
98
|
+
|
|
99
|
+
def test_list_order(self):
|
|
100
|
+
c1 = TestTimeModel.objects.create(test_time=time(14, 20))
|
|
101
|
+
c2 = TestTimeModel.objects.create(test_time=time(14, 21))
|
|
102
|
+
c3 = TestTimeModel.objects.create(test_time=time(22, 1))
|
|
103
|
+
|
|
104
|
+
res = self.client.get('/api/test?order=test_time')
|
|
105
|
+
self.assertRC(res, 200)
|
|
106
|
+
self.assertEqual(
|
|
107
|
+
[self.get_val(c, 'pk') for c in self.get_val(res, 'items')],
|
|
108
|
+
[c1.pk, c2.pk, c3.pk])
|
|
109
|
+
|
|
110
|
+
res = self.client.get('/api/test?order=-test_time')
|
|
111
|
+
self.assertRC(res, 200)
|
|
112
|
+
self.assertEqual(
|
|
113
|
+
[self.get_val(c, 'pk') for c in self.get_val(res, 'items')],
|
|
114
|
+
[c3.pk, c2.pk, c1.pk])
|
|
115
|
+
|
|
116
|
+
def test_list_filter(self):
|
|
117
|
+
TestTimeModel.objects.create(test_time=time(14, 20))
|
|
118
|
+
c2 = TestTimeModel.objects.create(test_time=time(14, 21))
|
|
119
|
+
c3 = TestTimeModel.objects.create(test_time=time(22, 1))
|
|
120
|
+
|
|
121
|
+
res = self.client.get('/api/test', dict(test_time='14:21:00'))
|
|
122
|
+
self.assertRC(res, 200)
|
|
123
|
+
self.assertSize(res, 'items', 1)
|
|
124
|
+
self.assertJE(res, 'items.@0.pk', c2.pk)
|
|
125
|
+
|
|
126
|
+
res = self.client.get('/api/test', dict(test_time='22:01'))
|
|
127
|
+
self.assertRC(res, 200)
|
|
128
|
+
self.assertSize(res, 'items', 1)
|
|
129
|
+
self.assertJE(res, 'items.@0.pk', c3.pk)
|
|
130
|
+
|
|
131
|
+
res = self.client.get('/api/test', dict(test_time='10:01'))
|
|
132
|
+
self.assertRC(res, 200)
|
|
133
|
+
self.assertSize(res, 'items', 0)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/fields/minutes_duration_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/management/commands/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/management/commands/makeapidoc.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.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/operations/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/migrations/operations/permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/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
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/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
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/ordered_rest_view_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/date_format.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/list_search.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/media_redirect.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/meta_fields.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/meta_filters.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/meta_orders.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_limit.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_offset.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_page.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/pfx/pfxcore/views/parameters/subset_page_size.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/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
|
|
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.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0004_mfausermixin_fields.py
RENAMED
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/migrations/0005_mfausermixin_fields_fix.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
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_fields_minutes_duration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_ordered_rest_view_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests/tests/test_post_migrate_groups_update.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
|
{django_pfx-1.7.2.dev16 → django_pfx-1.7.3.dev4}/tests_base_user/settings/dev_custom_example.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.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/migrations/0001_initial.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.2.dev16 → django_pfx-1.7.3.dev4}/tests_custom_user/settings/dev_custom_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|