django-pfx 1.7.3.dev37__tar.gz → 1.7.3.dev41__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/PKG-INFO +1 -1
  2. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/django_pfx.egg-info/PKG-INFO +1 -1
  3. django_pfx-1.7.3.dev41/django_pfx.egg-info/scm_version.json +8 -0
  4. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/fields/media_field.py +1 -1
  5. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/locale/fr/LC_MESSAGES/django.po +2 -2
  6. django_pfx-1.7.3.dev41/pfx/userjobs/migrations/0003_clean_scheduled_tasks.py +28 -0
  7. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/models/user_job.py +2 -1
  8. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_user_job_api.py +37 -4
  9. django_pfx-1.7.3.dev37/django_pfx.egg-info/scm_version.json +0 -8
  10. django_pfx-1.7.3.dev37/pfx/userjobs/migrations/0003_clean_scheduled_tasks.py +0 -15
  11. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/.gitignore +0 -0
  12. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/.gitlab-ci.yml +0 -0
  13. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/.pre-commit-config.yaml +0 -0
  14. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/LICENSE +0 -0
  15. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/MANIFEST.in +0 -0
  16. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/README.md +0 -0
  17. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/django_pfx.egg-info/SOURCES.txt +0 -0
  18. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/django_pfx.egg-info/dependency_links.txt +0 -0
  19. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/django_pfx.egg-info/requires.txt +0 -0
  20. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/django_pfx.egg-info/scm_file_list.json +0 -0
  21. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/django_pfx.egg-info/top_level.txt +0 -0
  22. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/Makefile +0 -0
  23. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/conf.py +0 -0
  24. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/index.rst +0 -0
  25. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/api.views.rst +0 -0
  26. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/authentication.md +0 -0
  27. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/decorator.md +0 -0
  28. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/generate_openapi.md +0 -0
  29. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/getting_started.md +0 -0
  30. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/internationalisation.md +0 -0
  31. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/model.md +0 -0
  32. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/pfx_views.md +0 -0
  33. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/profiling.md +0 -0
  34. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/settings.md +0 -0
  35. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/doc/source/testing.md +0 -0
  36. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/img/pfx.png +0 -0
  37. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/img/pfx.svg +0 -0
  38. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/make_messages +0 -0
  39. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/manage.py +0 -0
  40. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/__init__.py +0 -0
  41. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/__init__.py +0 -0
  42. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/apps.py +0 -0
  43. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/email_backend/__init__.py +0 -0
  44. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/email_backend/q_mailjet_email_backend.py +0 -0
  45. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/exceptions.py +0 -0
  46. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/mailjet/__init__.py +0 -0
  47. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/mailjet/mailjet.py +0 -0
  48. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/mailjet/message_result.py +0 -0
  49. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/migrations/0001_initial.py +0 -0
  50. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/migrations/0002_alter_email_headers.py +0 -0
  51. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/migrations/0003_alter_email_options.py +0 -0
  52. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/migrations/__init__.py +0 -0
  53. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/models/__init__.py +0 -0
  54. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/models/email.py +0 -0
  55. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/providers/__init__.py +0 -0
  56. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/providers/email_django_q_executor.py +0 -0
  57. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/shortcuts.py +0 -0
  58. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/tasks.py +0 -0
  59. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/templates/emails/base_template.html +0 -0
  60. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/templates/emails/base_template.txt +0 -0
  61. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/templates/emails/base_template_subject.txt +0 -0
  62. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/urls.py +0 -0
  63. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/views/__init__.py +0 -0
  64. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/emails/views/email_rest_view.py +0 -0
  65. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/__init__.py +0 -0
  66. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/apidoc/__init__.py +0 -0
  67. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/apidoc/parameters.py +0 -0
  68. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/apidoc/schema.py +0 -0
  69. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/apidoc/tags.py +0 -0
  70. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/apps.py +0 -0
  71. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/decorator/__init__.py +0 -0
  72. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/decorator/rest.py +0 -0
  73. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/default_settings.py +0 -0
  74. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/exceptions.py +0 -0
  75. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/fields/__init__.py +0 -0
  76. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/fields/decimal_field.py +0 -0
  77. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/fields/minutes_duration_field.py +0 -0
  78. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/fields/rich_text_field.py +0 -0
  79. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/http/__init__.py +0 -0
  80. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/http/json_response.py +0 -0
  81. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
  82. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +0 -0
  83. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/management/__init__.py +0 -0
  84. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/management/commands/__init__.py +0 -0
  85. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
  86. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/management/commands/profile.py +0 -0
  87. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/mfa/__init__.py +0 -0
  88. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/mfa/authenticator.py +0 -0
  89. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/mfa/base.py +0 -0
  90. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/mfa/email.py +0 -0
  91. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/mfa/legacy.py +0 -0
  92. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/mfa/sms.py +0 -0
  93. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/middleware/__init__.py +0 -0
  94. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/middleware/authentication.py +0 -0
  95. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/middleware/locale.py +0 -0
  96. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/middleware/profiling.py +0 -0
  97. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/middleware/request_too_big_middleware.py +0 -0
  98. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/middleware/ws_cookie_authentication_middleware.py +0 -0
  99. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/0001_initial.py +0 -0
  100. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py +0 -0
  101. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/0003_delete_pfxpermissionsuser.py +0 -0
  102. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/0004_alter_loginban_failed_counter_and_more.py +0 -0
  103. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/0005_mfadevice_mfadevice_mfa_device_unique_backend.py +0 -0
  104. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/__init__.py +0 -0
  105. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/operations/__init__.py +0 -0
  106. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/migrations/operations/permissions.py +0 -0
  107. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/__init__.py +0 -0
  108. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
  109. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/attachment_mixin.py +0 -0
  110. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/cache_mixins.py +0 -0
  111. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/login_ban.py +0 -0
  112. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/mfa_device.py +0 -0
  113. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/mfa_user_mixin.py +0 -0
  114. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/not_null_fields.py +0 -0
  115. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/ordered_model_mixin.py +0 -0
  116. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/pfx_models.py +0 -0
  117. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/pfx_user.py +0 -0
  118. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
  119. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/serializers/__init__.py +0 -0
  120. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/serializers/json.py +0 -0
  121. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/settings.py +0 -0
  122. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/shortcuts.py +0 -0
  123. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/sms/__init__.py +0 -0
  124. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/sms/backends/__init__.py +0 -0
  125. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/sms/backends/base.py +0 -0
  126. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/sms/backends/console.py +0 -0
  127. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/storage/__init__.py +0 -0
  128. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/storage/exceptions.py +0 -0
  129. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/storage/local_storage.py +0 -0
  130. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/storage/s3_storage.py +0 -0
  131. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
  132. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
  133. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
  134. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
  135. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
  136. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
  137. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/test.py +0 -0
  138. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/urls.py +0 -0
  139. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/__init__.py +0 -0
  140. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/authentication_views.py +0 -0
  141. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/fields.py +0 -0
  142. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/filters_views.py +0 -0
  143. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/locale_views.py +0 -0
  144. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/media_rest_view_mixin.py +0 -0
  145. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/mfa_authentication_views.py +0 -0
  146. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/ordered_rest_view_mixin.py +0 -0
  147. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/__init__.py +0 -0
  148. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/date_format.py +0 -0
  149. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/groups.py +0 -0
  150. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/list_count.py +0 -0
  151. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/list_items.py +0 -0
  152. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
  153. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/list_order.py +0 -0
  154. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/list_search.py +0 -0
  155. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
  156. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
  157. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
  158. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
  159. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/subset.py +0 -0
  160. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
  161. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
  162. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
  163. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
  164. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
  165. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/pfxcore/views/rest_views.py +0 -0
  166. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/settings/__init__.py +0 -0
  167. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/settings/dev.py +0 -0
  168. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/__init__.py +0 -0
  169. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/apps.py +0 -0
  170. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/locale/fr/LC_MESSAGES/django.mo +0 -0
  171. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/migrations/0001_initial.py +0 -0
  172. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/migrations/0002_alter_userjob_options_alter_userjob_auto_queued_and_more.py +0 -0
  173. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/migrations/0004_userjob_summary_url.py +0 -0
  174. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/migrations/__init__.py +0 -0
  175. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/models/__init__.py +0 -0
  176. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/models/user_job_attachment.py +0 -0
  177. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/providers/__init__.py +0 -0
  178. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/providers/user_job_django_q_executor.py +0 -0
  179. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/providers/user_job_websocket_channel_provider.py +0 -0
  180. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/tasks.py +0 -0
  181. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/urls.py +0 -0
  182. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/views/__init__.py +0 -0
  183. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/views/user_job_attachment_view.py +0 -0
  184. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/views/user_job_view.py +0 -0
  185. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pfx/userjobs/views/user_websocket_consumer.py +0 -0
  186. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/pyproject.toml +0 -0
  187. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/requirements.txt +0 -0
  188. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/serve-doc +0 -0
  189. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/setup.cfg +0 -0
  190. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/setup.py +0 -0
  191. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/__init__.py +0 -0
  192. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/apps.py +0 -0
  193. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/channel_group_send_calls.py +0 -0
  194. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
  195. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/mfa_urls.py +0 -0
  196. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0001_initial.py +0 -0
  197. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0002_alter_book_cover.py +0 -0
  198. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0003_book_local_file.py +0 -0
  199. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0004_mfausermixin_fields.py +0 -0
  200. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0005_mfausermixin_fields_fix.py +0 -0
  201. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0006_rename_otp_enabled_user_mfa_authenticator_enabled_and_more.py +0 -0
  202. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0007_attachment.py +0 -0
  203. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/0008_remove_user_hotp_count_remove_user_hotp_expiry_and_more.py +0 -0
  204. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/migrations/__init__.py +0 -0
  205. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/models.py +0 -0
  206. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/settings/__init__.py +0 -0
  207. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/settings/ci.py +0 -0
  208. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/settings/common.py +0 -0
  209. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/settings/dev.py +0 -0
  210. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/settings/dev_custom_example.py +0 -0
  211. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/settings/dev_default.py +0 -0
  212. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/__init__.py +0 -0
  213. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/basic_api_errors.py +0 -0
  214. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/basic_api_test.py +0 -0
  215. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/mfa_test_utils.py +0 -0
  216. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_api_doc.py +0 -0
  217. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_api_doc_search.py +0 -0
  218. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_auth_api.py +0 -0
  219. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_body_mixin.py +0 -0
  220. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_cache.py +0 -0
  221. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_client.py +0 -0
  222. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_emails_email_api.py +0 -0
  223. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_emails_email_model.py +0 -0
  224. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_emails_q_mailjet_email_backend.py +0 -0
  225. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_emails_send_email_message.py +0 -0
  226. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_fields_choices.py +0 -0
  227. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_fields_date.py +0 -0
  228. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_fields_decimal.py +0 -0
  229. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_fields_minutes_duration.py +0 -0
  230. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_fields_one2many.py +0 -0
  231. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_fields_rich_text.py +0 -0
  232. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_fields_time.py +0 -0
  233. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_filters.py +0 -0
  234. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_locale_api.py +0 -0
  235. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_mfa_legacy.py +0 -0
  236. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_mfa_login_api.py +0 -0
  237. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_mfa_setup_api.py +0 -0
  238. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_ordered_rest_view_mixin.py +0 -0
  239. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_perm_tests.py +0 -0
  240. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_permissions.py +0 -0
  241. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_perms_api.py +0 -0
  242. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_post_migrate_groups_update.py +0 -0
  243. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_profiling_middleware.py +0 -0
  244. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_settings.py +0 -0
  245. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_shortcuts.py +0 -0
  246. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_timezone_middleware.py +0 -0
  247. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_tools.py +0 -0
  248. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_user_job_messages.py +0 -0
  249. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_user_job_model.py +0 -0
  250. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_user_queryset.py +0 -0
  251. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_user_websocket.py +0 -0
  252. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_view_decorators.py +0 -0
  253. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/tests/test_view_fields.py +0 -0
  254. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/urls.py +0 -0
  255. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests/views.py +0 -0
  256. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/__init__.py +0 -0
  257. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/migrations/0001_initial.py +0 -0
  258. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/migrations/__init__.py +0 -0
  259. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/settings/__init__.py +0 -0
  260. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/settings/ci.py +0 -0
  261. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/settings/common.py +0 -0
  262. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/settings/dev.py +0 -0
  263. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/settings/dev_custom_example.py +0 -0
  264. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/settings/dev_default.py +0 -0
  265. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/tests/__init__.py +0 -0
  266. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/tests/test_api.py +0 -0
  267. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/tests/test_auth_api.py +0 -0
  268. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/urls.py +0 -0
  269. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_base_user/views.py +0 -0
  270. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/__init__.py +0 -0
  271. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/migrations/0001_initial.py +0 -0
  272. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/migrations/__init__.py +0 -0
  273. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/models.py +0 -0
  274. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/settings/__init__.py +0 -0
  275. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/settings/ci.py +0 -0
  276. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/settings/common.py +0 -0
  277. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/settings/dev.py +0 -0
  278. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/settings/dev_custom_example.py +0 -0
  279. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/settings/dev_default.py +0 -0
  280. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/tests/__init__.py +0 -0
  281. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/tests/test_api.py +0 -0
  282. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/tests/test_auth_api.py +0 -0
  283. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/tests_custom_user/urls.py +0 -0
  284. {django_pfx-1.7.3.dev37 → django_pfx-1.7.3.dev41}/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.dev37
3
+ Version: 1.7.3.dev41
4
4
  Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-pfx
3
- Version: 1.7.3.dev37
3
+ Version: 1.7.3.dev41
4
4
  Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.7.2",
3
+ "distance": 41,
4
+ "node": "g5546a817c1462a2ee070ac76715c941a3fb13435",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-07-22"
8
+ }
@@ -93,7 +93,7 @@ class MediaField(models.JSONField):
93
93
  if b64:
94
94
  with urlopen(b64) as response:
95
95
  file = response.read()
96
- setattr(obj, self.name, dict(key=self.get_key(obj, file)))
96
+ setattr(obj, self.name, dict(key=self.get_key(obj, name)))
97
97
  after_save.append(lambda: save_file(obj, file, name))
98
98
  return after_save
99
99
 
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2026-07-15 15:26+0200\n"
10
+ "POT-Creation-Date: 2026-07-15 18:23+0200\n"
11
11
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -125,7 +125,7 @@ msgstr "Tâche utilisateur"
125
125
  msgid "User jobs"
126
126
  msgstr "Tâches utilisateur"
127
127
 
128
- #: models/user_job.py:172
128
+ #: models/user_job.py:173
129
129
  msgid "This operation is already in progress."
130
130
  msgstr "Cette opération est déjà en cours."
131
131
 
@@ -0,0 +1,28 @@
1
+ # Generated by Django 5.2.14 on 2026-06-03 08:39
2
+ # flake8: noqa
3
+ from django.db import migrations
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ('userjobs', '0002_alter_userjob_options_alter_userjob_auto_queued_and_more'),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.RunSQL(
13
+ r"""
14
+ do $$
15
+ begin
16
+ if exists (
17
+ select 1
18
+ from information_schema.tables
19
+ where table_name = 'django_q_schedule'
20
+ ) then
21
+ delete from django_q_schedule
22
+ where func ~ 'pfx\.userjobs\..*';
23
+ end if;
24
+ end $$;
25
+ """,
26
+ reverse_sql=migrations.RunSQL.noop,
27
+ )
28
+ ]
@@ -151,7 +151,8 @@ class UserJob(PFXModelMixin, models.Model):
151
151
  self.message = result and result.get('message')
152
152
  self.stacktrace = result and result.get('stacktrace')
153
153
  self.save(update_fields=[
154
- 'ended_at', 'status', 'summary', 'message', 'stacktrace'])
154
+ 'ended_at', 'status', 'summary', 'summary_url',
155
+ 'message', 'stacktrace'])
155
156
 
156
157
  def failed(self, exception=None, summary=None):
157
158
  if exception:
@@ -19,7 +19,13 @@ logger = logging.getLogger(__name__)
19
19
 
20
20
 
21
21
  def test_job_success(job, text):
22
- return dict(message=f"{text}: I’m successful!")
22
+ return dict(summary=f"{text}: I’m successful!")
23
+
24
+
25
+ def test_job_url(job, text):
26
+ return dict(
27
+ summary=f"{text}: I’m successful!",
28
+ summary_url="/summary")
23
29
 
24
30
 
25
31
  def test_job_file(job, text):
@@ -29,7 +35,7 @@ def test_job_file(job, text):
29
35
  att.file = UserJobAttachment._meta.get_field('file').upload(
30
36
  att, b'File content', "test.txt")
31
37
  att.save()
32
- return dict(message=f"{text}: I’m successful!")
38
+ return dict(summary=f"{text}: I’m successful!")
33
39
 
34
40
 
35
41
  @override_settings(
@@ -273,7 +279,34 @@ class TestUserJobApi(TestAssertMixin, TestCase):
273
279
  self.assertJE(response, 'user.pk', self.user1.pk)
274
280
  self.assertJE(response, 'status.value', 'done')
275
281
  self.assertJE(response, 'read_status', None)
276
- self.assertJE(response, 'message', 'Hello: I’m successful!')
282
+ self.assertJE(response, 'summary', 'Hello: I’m successful!')
283
+ self.assertJE(response, 'summary_url', "")
284
+ self.assertSize(response, 'attachments', 0)
285
+
286
+ def test_get_detail_summary_url(self):
287
+ job = UserJob.objects.create(
288
+ name="Test job 1",
289
+ user=self.user1,
290
+ func=f'{__name__}.test_job_url',
291
+ args=["Hello"],
292
+ timeout=300)
293
+
294
+ self.client.login(username=self.user1.username)
295
+
296
+ response = self.client.get(f'/api/user-jobs/user-jobs/{job.pk}')
297
+ self.assertRC(response, 200)
298
+ # Check technical fields are not sent
299
+ self.assertEqual(self.get_json(response).keys(), {
300
+ 'pk', 'resource_name', 'resource_api', 'name',
301
+ 'user', 'status', 'read_status', 'created_at', 'started_at',
302
+ 'ended_at', 'summary', 'summary_url', 'message', 'meta',
303
+ 'attachments'})
304
+ self.assertJE(response, 'resource_name', "Test job 1")
305
+ self.assertJE(response, 'user.pk', self.user1.pk)
306
+ self.assertJE(response, 'status.value', 'done')
307
+ self.assertJE(response, 'read_status', None)
308
+ self.assertJE(response, 'summary', 'Hello: I’m successful!')
309
+ self.assertJE(response, 'summary_url', '/summary')
277
310
  self.assertSize(response, 'attachments', 0)
278
311
 
279
312
  def test_get_detail_attachment(self):
@@ -298,7 +331,7 @@ class TestUserJobApi(TestAssertMixin, TestCase):
298
331
  self.assertJE(response, 'user.pk', self.user1.pk)
299
332
  self.assertJE(response, 'status.value', 'done')
300
333
  self.assertJE(response, 'read_status', None)
301
- self.assertJE(response, 'message', 'Hello: I’m successful!')
334
+ self.assertJE(response, 'summary', 'Hello: I’m successful!')
302
335
  self.assertSize(response, 'attachments', 1)
303
336
  self.assertJE(response, 'attachments.@0.resource_name', "test.txt")
304
337
  self.assertJE(response, 'attachments.@0.file.name', "test.txt")
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "1.7.2",
3
- "distance": 37,
4
- "node": "gd058c495894f70a4eab090117903fd7deee51774",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-07-15"
8
- }
@@ -1,15 +0,0 @@
1
- # Generated by Django 5.2.14 on 2026-06-03 08:39
2
- # flake8: noqa
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('userjobs', '0002_alter_userjob_options_alter_userjob_auto_queued_and_more'),
10
- ]
11
-
12
- operations = [
13
- migrations.RunSQL(
14
- "delete from django_q_schedule where func ~ 'pfx\.userjobs\..*';", "")
15
- ]