wbcore 1.59.10__tar.gz → 1.59.12__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 (1248) hide show
  1. {wbcore-1.59.10 → wbcore-1.59.12}/PKG-INFO +1 -1
  2. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configs/registry.py +15 -13
  3. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configs/views.py +2 -2
  4. wbcore-1.59.12/wbcore/contrib/authentication/tests/test_configs.py +6 -0
  5. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/users.py +2 -2
  6. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/configurations.py +9 -10
  7. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/serializers/__init__.py +1 -0
  8. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/serializers/entries.py +49 -0
  9. wbcore-1.59.12/wbcore/contrib/directory/tests/test_configs.py +6 -0
  10. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/serializers/documents.py +1 -0
  11. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/display/documents.py +6 -15
  12. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/tests/tests.py +2 -2
  13. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/filters.py +6 -2
  14. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/icons.py +2 -3
  15. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/import_export/parsers/resources.py +2 -2
  16. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/models.py +10 -4
  17. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/resources.py +2 -2
  18. wbcore-1.59.12/wbcore/contrib/notifications/tests/test_configs.py +7 -0
  19. wbcore-1.59.12/wbcore/contrib/workflow/tests/test_configs.py +6 -0
  20. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/buttons/view_config.py +7 -2
  21. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/permissions/registry.py +2 -2
  22. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/conftest.py +4 -2
  23. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_configs.py +12 -12
  24. wbcore-1.59.12/wbcore/utils/importlib.py +4 -0
  25. wbcore-1.59.10/wbcore/contrib/authentication/tests/test_configs.py +0 -6
  26. wbcore-1.59.10/wbcore/contrib/directory/tests/test_configs.py +0 -6
  27. wbcore-1.59.10/wbcore/contrib/notifications/tests/test_configs.py +0 -7
  28. wbcore-1.59.10/wbcore/contrib/workflow/tests/test_configs.py +0 -6
  29. wbcore-1.59.10/wbcore/utils/importlib.py +0 -13
  30. {wbcore-1.59.10 → wbcore-1.59.12}/.gitignore +0 -0
  31. {wbcore-1.59.10 → wbcore-1.59.12}/pyproject.toml +0 -0
  32. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/__init__.py +0 -0
  33. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/admin.py +0 -0
  34. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/apps.py +0 -0
  35. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/cache/__init__.py +0 -0
  36. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/cache/buttons.py +0 -0
  37. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/cache/decorators.py +0 -0
  38. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/cache/mixins.py +0 -0
  39. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/cache/registry.py +0 -0
  40. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/cache/views.py +0 -0
  41. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configs/__init__.py +0 -0
  42. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configs/configs.py +0 -0
  43. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configs/decorators.py +0 -0
  44. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/__init__.py +0 -0
  45. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/base.py +0 -0
  46. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/__init__.py +0 -0
  47. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/apps.py +0 -0
  48. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/authentication.py +0 -0
  49. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/base.py +0 -0
  50. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/cache.py +0 -0
  51. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/celery.py +0 -0
  52. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/i18nl10n.py +0 -0
  53. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/mail.py +0 -0
  54. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/maintenance.py +0 -0
  55. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/media.py +0 -0
  56. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/middleware.py +0 -0
  57. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/network.py +0 -0
  58. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/rest_framework.py +0 -0
  59. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/static.py +0 -0
  60. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/templates.py +0 -0
  61. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/uvicorn.py +0 -0
  62. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/configurations/configurations/wbcore.py +0 -0
  63. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/content_type/__init__.py +0 -0
  64. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/content_type/admin.py +0 -0
  65. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/content_type/filters.py +0 -0
  66. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/content_type/serializers.py +0 -0
  67. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/content_type/utils.py +0 -0
  68. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/content_type/viewsets.py +0 -0
  69. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/__init__.py +0 -0
  70. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/__init__.py +0 -0
  71. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/admin/__init__.py +0 -0
  72. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/admin/calendar_item.py +0 -0
  73. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/admin/conference_room.py +0 -0
  74. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/apps.py +0 -0
  75. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/configurations.py +0 -0
  76. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/factories/__init__.py +0 -0
  77. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/factories/calendar_item.py +0 -0
  78. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/factories/conference_room.py +0 -0
  79. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/filters/__init__.py +0 -0
  80. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/filters/calendar_item.py +0 -0
  81. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/filters/conference_room.py +0 -0
  82. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po +0 -0
  83. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po.translated +0 -0
  84. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/locale/en/LC_MESSAGES/django.po +0 -0
  85. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/locale/fr/LC_MESSAGES/django.po +0 -0
  86. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0001_initial.py +0 -0
  87. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0002_initial.py +0 -0
  88. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0003_calendaritem_endpoint_basename.py +0 -0
  89. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0004_alter_calendaritem_item_type.py +0 -0
  90. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0005_building_and_more.py +0 -0
  91. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0006_calendaritem_is_deletable.py +0 -0
  92. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0007_alter_calendaritem_options.py +0 -0
  93. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0008_alter_calendaritem_item_type.py +0 -0
  94. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/0009_alter_calendaritem_icon.py +0 -0
  95. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/migrations/__init__.py +0 -0
  96. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/models/__init__.py +0 -0
  97. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/models/calendar_item.py +0 -0
  98. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/models/conference_room.py +0 -0
  99. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/release_notes/1_0_0.md +0 -0
  100. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/release_notes/__init__.py +0 -0
  101. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/serializers/__init__.py +0 -0
  102. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/serializers/calendar_item.py +0 -0
  103. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/serializers/conference_room.py +0 -0
  104. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/signals.py +0 -0
  105. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/static/agenda/markdown/documentation/building.md +0 -0
  106. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/static/agenda/markdown/documentation/conferenceroom.md +0 -0
  107. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/tests/__init__.py +0 -0
  108. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/tests/conftest.py +0 -0
  109. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/tests/signals.py +0 -0
  110. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/tests/test_models.py +0 -0
  111. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/tests/test_viewsets.py +0 -0
  112. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/tests/tests.py +0 -0
  113. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/typings.py +0 -0
  114. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/urls.py +0 -0
  115. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/__init__.py +0 -0
  116. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/buttons/__init__.py +0 -0
  117. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/buttons/conference_room.py +0 -0
  118. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/calendar_items.py +0 -0
  119. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/conference_room.py +0 -0
  120. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/display/__init__.py +0 -0
  121. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/display/calendar_items.py +0 -0
  122. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/display/conference_room.py +0 -0
  123. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/endpoints/__init__.py +0 -0
  124. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/endpoints/calendar_items.py +0 -0
  125. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/menu/__init__.py +0 -0
  126. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/menu/calendar_items.py +0 -0
  127. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/menu/conference_room.py +0 -0
  128. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/titles/__init__.py +0 -0
  129. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/titles/calendar_items.py +0 -0
  130. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/agenda/viewsets/titles/conference_room.py +0 -0
  131. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/__init__.py +0 -0
  132. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/apps.py +0 -0
  133. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/exceptions.py +0 -0
  134. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/llm/__init__.py +0 -0
  135. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/llm/config.py +0 -0
  136. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/llm/decorators.py +0 -0
  137. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/llm/mixins.py +0 -0
  138. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/ai/llm/utils.py +0 -0
  139. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/__init__.py +0 -0
  140. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/admin.py +0 -0
  141. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/apps.py +0 -0
  142. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/authentication.py +0 -0
  143. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/configs.py +0 -0
  144. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/configurations.py +0 -0
  145. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/dynamic_preferences_registry.py +0 -0
  146. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/factories/__init__.py +0 -0
  147. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/factories/tokens.py +0 -0
  148. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/factories/users.py +0 -0
  149. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/factories/users_activities.py +0 -0
  150. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/filters.py +0 -0
  151. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/fixtures/authentication.json +0 -0
  152. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po +0 -0
  153. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po.translated +0 -0
  154. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/locale/en/LC_MESSAGES/django.po +0 -0
  155. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/locale/fr/LC_MESSAGES/django.po +0 -0
  156. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/management/__init__.py +0 -0
  157. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/0001_initial_squashed.py +0 -0
  158. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/0002_profile.py +0 -0
  159. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/0003_alter_user_profile.py +0 -0
  160. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/0004_token.py +0 -0
  161. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/0005_user_external_calendar_settings.py +0 -0
  162. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/0006_auto_20231206_1422.py +0 -0
  163. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/0007_alter_token_unique_together_token_unique_token.py +0 -0
  164. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/migrations/__init__.py +0 -0
  165. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/models/__init__.py +0 -0
  166. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/models/tokens.py +0 -0
  167. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/models/users.py +0 -0
  168. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/models/users_activities.py +0 -0
  169. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/release_notes/1_0_0.md +0 -0
  170. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/release_notes/__init__.py +0 -0
  171. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/serializers/__init__.py +0 -0
  172. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/serializers/users.py +0 -0
  173. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/serializers/users_activites.py +0 -0
  174. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tasks.py +0 -0
  175. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/activate_confirm.html +0 -0
  176. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/base.html +0 -0
  177. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/email_base_template.html +0 -0
  178. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/password_reset_done.html +0 -0
  179. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/password_reset_email.html +0 -0
  180. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/password_reset_email_html.html +0 -0
  181. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/password_reset_form.html +0 -0
  182. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/password_reset_sent.html +0 -0
  183. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/reset_password.html +0 -0
  184. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/templates/user_registration_email.html +0 -0
  185. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/__init__.py +0 -0
  186. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/conftest.py +0 -0
  187. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/e2e/__init__.py +0 -0
  188. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/e2e/e2e_auth_utility.py +0 -0
  189. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/signals.py +0 -0
  190. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/test_serializers.py +0 -0
  191. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/test_tasks.py +0 -0
  192. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/test_tokens.py +0 -0
  193. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/test_users.py +0 -0
  194. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/test_viewsets.py +0 -0
  195. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/tests/tests.py +0 -0
  196. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/urls.py +0 -0
  197. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/utils.py +0 -0
  198. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/__init__.py +0 -0
  199. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/buttons/__init__.py +0 -0
  200. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/buttons/users.py +0 -0
  201. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/display/__init__.py +0 -0
  202. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/display/user_activities.py +0 -0
  203. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/display/users.py +0 -0
  204. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/endpoints/__init__.py +0 -0
  205. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/endpoints/user_activities.py +0 -0
  206. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/endpoints/users.py +0 -0
  207. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/menu/__init__.py +0 -0
  208. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/menu/user_activities.py +0 -0
  209. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/menu/users.py +0 -0
  210. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/titles/__init__.py +0 -0
  211. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/titles/user_activities.py +0 -0
  212. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/titles/users.py +0 -0
  213. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/authentication/viewsets/user_activities.py +0 -0
  214. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/admin.py +0 -0
  215. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/apps.py +0 -0
  216. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/enums.py +0 -0
  217. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/factories.py +0 -0
  218. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/fields.py +0 -0
  219. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/forms.py +0 -0
  220. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/migrations/0001_initial.py +0 -0
  221. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/migrations/0002_alter_colorgradient_colors.py +0 -0
  222. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/migrations/__init__.py +0 -0
  223. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/models.py +0 -0
  224. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/tests/conftest.py +0 -0
  225. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/tests/test_color_models.py +0 -0
  226. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/color/tests/test_fields.py +0 -0
  227. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/__init__.py +0 -0
  228. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/admin.py +0 -0
  229. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/apps.py +0 -0
  230. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/dynamic_preferences_registry.py +0 -0
  231. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/factories.py +0 -0
  232. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/fixtures/currency.yaml +0 -0
  233. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/fixtures/currency_fx_rate.yaml +0 -0
  234. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/__init__.py +0 -0
  235. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/backends/__init__.py +0 -0
  236. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/backends/fixerio/__init__.py +0 -0
  237. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/backends/fixerio/currency_fx_rates.py +0 -0
  238. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/backends/utils.py +0 -0
  239. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/handlers/__init__.py +0 -0
  240. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/handlers/currency.py +0 -0
  241. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/handlers/currency_fx_rates.py +0 -0
  242. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/parsers/__init__.py +0 -0
  243. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/parsers/fixerio/__init__.py +0 -0
  244. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/import_export/parsers/fixerio/currency_fx_rates.py +0 -0
  245. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/migrations/0001_initial.py +0 -0
  246. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/migrations/0002_alter_currencyfxrates_unique_together_and_more.py +0 -0
  247. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/migrations/__init__.py +0 -0
  248. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/models.py +0 -0
  249. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/release_notes/1_0_0.md +0 -0
  250. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/release_notes/__init__.py +0 -0
  251. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/serializers.py +0 -0
  252. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/tests/__init__.py +0 -0
  253. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/tests/conftest.py +0 -0
  254. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/tests/test_models.py +0 -0
  255. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/tests/test_serializers.py +0 -0
  256. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/tests/test_viewsets.py +0 -0
  257. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/urls.py +0 -0
  258. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/__init__.py +0 -0
  259. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/buttons/__init__.py +0 -0
  260. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/currency.py +0 -0
  261. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/currency_fx_rates.py +0 -0
  262. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/display/__init__.py +0 -0
  263. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/display/currency.py +0 -0
  264. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/display/currency_fx_rates.py +0 -0
  265. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/endpoints/__init__.py +0 -0
  266. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/endpoints/currency_fx_rates.py +0 -0
  267. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/menu/__init__.py +0 -0
  268. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/menu/currency.py +0 -0
  269. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/preview/__init__.py +0 -0
  270. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/preview/currency.py +0 -0
  271. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/titles/__init__.py +0 -0
  272. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/titles/currency.py +0 -0
  273. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/currency/viewsets/titles/currency_fx_rates.py +0 -0
  274. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/__init__.py +0 -0
  275. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/apps.py +0 -0
  276. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/dataloaders/__init__.py +0 -0
  277. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/dataloaders/dataloaders.py +0 -0
  278. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/dataloaders/proxies.py +0 -0
  279. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/models/__init__.py +0 -0
  280. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/models/entities.py +0 -0
  281. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/models/querysets/__init__.py +0 -0
  282. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/models/querysets/entities.py +0 -0
  283. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/__init__.py +0 -0
  284. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/conftest.py +0 -0
  285. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test/__init__.py +0 -0
  286. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test/dataloaders/__init__.py +0 -0
  287. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test/dataloaders/dataloaders.py +0 -0
  288. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test/dataloaders/protocols.py +0 -0
  289. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test/dataloaders/proxies.py +0 -0
  290. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test/factories.py +0 -0
  291. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test/models.py +0 -0
  292. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test_dataloaders.py +0 -0
  293. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/tests/test_entities.py +0 -0
  294. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dataloader/utils.py +0 -0
  295. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/__init__.py +0 -0
  296. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/admin/__init__.py +0 -0
  297. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/admin/contacts.py +0 -0
  298. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/admin/entries.py +0 -0
  299. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/admin/relationships.py +0 -0
  300. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/apps.py +0 -0
  301. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/configs.py +0 -0
  302. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/dynamic_preferences_registry.py +0 -0
  303. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/factories/__init__.py +0 -0
  304. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/factories/contacts.py +0 -0
  305. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/factories/entries.py +0 -0
  306. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/factories/relationships.py +0 -0
  307. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/filters/__init__.py +0 -0
  308. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/filters/contacts.py +0 -0
  309. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/filters/entries.py +0 -0
  310. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/filters/relationships.py +0 -0
  311. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/fixtures/directory.json +0 -0
  312. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po +0 -0
  313. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po.translated +0 -0
  314. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/locale/en/LC_MESSAGES/django.po +0 -0
  315. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/locale/fr/LC_MESSAGES/django.po +0 -0
  316. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0001_initial.py +0 -0
  317. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0002_auto_20230414_1553.py +0 -0
  318. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0003_remove_entry_last_event.py +0 -0
  319. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0004_entry_is_draft_entry.py +0 -0
  320. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0005_entry_salutation.py +0 -0
  321. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0006_employeremployeerelationship_position_name.py +0 -0
  322. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0007_alter_bankingcontact_options.py +0 -0
  323. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0008_bankingcontact_access.py +0 -0
  324. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0009_remove_entry_external_identfier_and_more.py +0 -0
  325. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0010_remove_addresscontact_city.py +0 -0
  326. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0011_person_description_person_i18n.py +0 -0
  327. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0012_alter_person_managers.py +0 -0
  328. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0013_alter_clientmanagerrelationship_options.py +0 -0
  329. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/0014_alter_entry_relationship_managers_and_more.py +0 -0
  330. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/migrations/__init__.py +0 -0
  331. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/models/__init__.py +0 -0
  332. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/models/contacts.py +0 -0
  333. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/models/entries.py +0 -0
  334. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/models/relationships.py +0 -0
  335. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/permissions.py +0 -0
  336. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/preferences.py +0 -0
  337. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/release_notes/1_0_0.md +0 -0
  338. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/release_notes/1_0_1.md +0 -0
  339. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/release_notes/__init__.py +0 -0
  340. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/serializers/companies.py +0 -0
  341. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/serializers/contacts.py +0 -0
  342. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/serializers/entry_representations.py +0 -0
  343. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/serializers/persons.py +0 -0
  344. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/serializers/relationships.py +0 -0
  345. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/signals.py +0 -0
  346. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/address.md +0 -0
  347. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/banking.md +0 -0
  348. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/bankingentry.md +0 -0
  349. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/clientmanagerrelationship.md +0 -0
  350. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/company.md +0 -0
  351. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/companytype.md +0 -0
  352. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/customerstatus.md +0 -0
  353. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/email.md +0 -0
  354. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/employeecompany.md +0 -0
  355. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/employerperson.md +0 -0
  356. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/person.md +0 -0
  357. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/position.md +0 -0
  358. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/relationshiptype.md +0 -0
  359. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/socialmedia.md +0 -0
  360. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/specialization.md +0 -0
  361. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/systememployee.md +0 -0
  362. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/telephone.md +0 -0
  363. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/telephonesearch.md +0 -0
  364. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/userisclient.md +0 -0
  365. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/userismanager.md +0 -0
  366. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/static/directory/markdown/documentation/website.md +0 -0
  367. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/__init__.py +0 -0
  368. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/conftest.py +0 -0
  369. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/disable_signals.py +0 -0
  370. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/e2e/__init__.py +0 -0
  371. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/e2e/e2e_directory_utility.py +0 -0
  372. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/signals.py +0 -0
  373. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/test_filters.py +0 -0
  374. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/test_models.py +0 -0
  375. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/test_permissions.py +0 -0
  376. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/test_serializers.py +0 -0
  377. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/tests/test_viewsets.py +0 -0
  378. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/typings.py +0 -0
  379. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/urls.py +0 -0
  380. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/__init__.py +0 -0
  381. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/buttons/__init__.py +0 -0
  382. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/buttons/contacts.py +0 -0
  383. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/buttons/entries.py +0 -0
  384. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/buttons/relationships.py +0 -0
  385. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/contacts.py +0 -0
  386. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/display/__init__.py +0 -0
  387. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/display/contacts.py +0 -0
  388. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/display/entries.py +0 -0
  389. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/display/relationships.py +0 -0
  390. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/display/utils.py +0 -0
  391. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/endpoints/__init__.py +0 -0
  392. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/endpoints/contacts.py +0 -0
  393. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/endpoints/entries.py +0 -0
  394. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/endpoints/relationships.py +0 -0
  395. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/entries.py +0 -0
  396. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/menu/__init__.py +0 -0
  397. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/menu/contacts.py +0 -0
  398. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/menu/entries.py +0 -0
  399. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/menu/relationships.py +0 -0
  400. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/menu/utils.py +0 -0
  401. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/mixins.py +0 -0
  402. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/previews/__init__.py +0 -0
  403. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/previews/contacts.py +0 -0
  404. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/previews/entries.py +0 -0
  405. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/relationships.py +0 -0
  406. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/titles/__init__.py +0 -0
  407. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/titles/contacts.py +0 -0
  408. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/titles/entries.py +0 -0
  409. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/titles/relationships.py +0 -0
  410. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/titles/utils.py +0 -0
  411. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/directory/viewsets/utils.py +0 -0
  412. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/__init__.py +0 -0
  413. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/admin.py +0 -0
  414. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/apps.py +0 -0
  415. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/factories.py +0 -0
  416. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/filters.py +0 -0
  417. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/fixtures/docments.json +0 -0
  418. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po +0 -0
  419. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po.translated +0 -0
  420. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/locale/en/LC_MESSAGES/django.po +0 -0
  421. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/locale/fr/LC_MESSAGES/django.po +0 -0
  422. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/migrations/0001_initial.py +0 -0
  423. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/migrations/0002_documentmodelrelationship_primary_and_more.py +0 -0
  424. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/migrations/0003_alter_documentmodelrelationship_unique_together_and_more.py +0 -0
  425. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/migrations/0004_auto_20240103_0958.py +0 -0
  426. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/migrations/0005_document_valid_from_document_valid_until_and_more.py +0 -0
  427. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/migrations/__init__.py +0 -0
  428. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/models/__init__.py +0 -0
  429. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/models/document_model_relationships.py +0 -0
  430. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/models/document_types.py +0 -0
  431. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/models/documents.py +0 -0
  432. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/models/mixins.py +0 -0
  433. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/models/shareable_links.py +0 -0
  434. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/release_notes/1_0_0.md +0 -0
  435. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/release_notes/__init__.py +0 -0
  436. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/serializers/__init__.py +0 -0
  437. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/serializers/document_model_relationships.py +0 -0
  438. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/serializers/document_types.py +0 -0
  439. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/serializers/shareable_links.py +0 -0
  440. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/static/documents/markdown/documentation/document_types.md +0 -0
  441. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/static/documents/markdown/documentation/documents.md +0 -0
  442. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/static/documents/markdown/documentation/shareablelink.md +0 -0
  443. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/static/documents/markdown/documentation/shareablelinkaccess.md +0 -0
  444. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/tests/conftest.py +0 -0
  445. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/tests/test_models.py +0 -0
  446. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/urls.py +0 -0
  447. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/__init__.py +0 -0
  448. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/buttons/__init__.py +0 -0
  449. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/buttons/documents.py +0 -0
  450. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/buttons/shareable_links.py +0 -0
  451. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/buttons/signals.py +0 -0
  452. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/display/__init__.py +0 -0
  453. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/display/document_model_relationships.py +0 -0
  454. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/display/document_types.py +0 -0
  455. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/display/shareable_links.py +0 -0
  456. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/document_model_relationships.py +0 -0
  457. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/document_types.py +0 -0
  458. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/documents.py +0 -0
  459. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/endpoints/__init__.py +0 -0
  460. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/endpoints/documents.py +0 -0
  461. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/endpoints/documents_model_relationships.py +0 -0
  462. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/endpoints/shareable_links.py +0 -0
  463. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/menu/__init__.py +0 -0
  464. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/menu/documents.py +0 -0
  465. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/previews/__init__.py +0 -0
  466. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/previews/documents.py +0 -0
  467. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/shareable_links.py +0 -0
  468. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/titles/__init__.py +0 -0
  469. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/titles/document_types.py +0 -0
  470. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/titles/documents.py +0 -0
  471. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/documents/viewsets/titles/shareable_links.py +0 -0
  472. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dynamic_preferences/__init__.py +0 -0
  473. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dynamic_preferences/types.py +0 -0
  474. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/dynamic_preferences/viewsets.py +0 -0
  475. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/__init__.py +0 -0
  476. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/admin.py +0 -0
  477. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/apps.py +0 -0
  478. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/__init__.py +0 -0
  479. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/event.py +0 -0
  480. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/league.py +0 -0
  481. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/match.py +0 -0
  482. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/person.py +0 -0
  483. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/role.py +0 -0
  484. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/sport.py +0 -0
  485. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/stadium.py +0 -0
  486. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/factories/team.py +0 -0
  487. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/__init__.py +0 -0
  488. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/event.py +0 -0
  489. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/league.py +0 -0
  490. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/match.py +0 -0
  491. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/person.py +0 -0
  492. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/role.py +0 -0
  493. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/sport.py +0 -0
  494. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/stadium.py +0 -0
  495. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/team.py +0 -0
  496. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/filters/teamresult.py +0 -0
  497. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/fixtures/example_app.json +0 -0
  498. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/0001_initial.py +0 -0
  499. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/0002_sportperson_profile.py +0 -0
  500. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/0003_change_stadium_capacity.py +0 -0
  501. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/0004_alter_player_transfer_value.py +0 -0
  502. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/0005_sportperson_profile_image.py +0 -0
  503. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/0006_league_season_period_player_is_active_and_more.py +0 -0
  504. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/0007_alter_player_options_alter_team_options_and_more.py +0 -0
  505. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/migrations/__init__.py +0 -0
  506. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/models.py +0 -0
  507. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/__init__.py +0 -0
  508. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/league.py +0 -0
  509. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/match_event.py +0 -0
  510. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/person_team.py +0 -0
  511. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/role.py +0 -0
  512. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/season.py +0 -0
  513. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/sport.py +0 -0
  514. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/stadium.py +0 -0
  515. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/serializers/teamresult.py +0 -0
  516. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/templates/example_app/embedded_view.html +0 -0
  517. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/__init__.py +0 -0
  518. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/conftest.py +0 -0
  519. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/e2e/__init__.py +0 -0
  520. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/e2e/e2e_example_app_utility.py +0 -0
  521. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/e2e/test_league.py +0 -0
  522. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/e2e/test_person.py +0 -0
  523. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/e2e/test_teams.py +0 -0
  524. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/signals.py +0 -0
  525. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_displays.py +0 -0
  526. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_filters.py +0 -0
  527. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_models/test_event.py +0 -0
  528. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_models/test_match.py +0 -0
  529. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_models/test_others.py +0 -0
  530. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_serializers/test_league_serializer.py +0 -0
  531. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_serializers/test_match_serializer.py +0 -0
  532. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_serializers/test_role_serializer.py +0 -0
  533. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_serializers/test_sport_serializer.py +0 -0
  534. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_serializers/test_stadium_serializer.py +0 -0
  535. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_serializers/test_team_result_serializer.py +0 -0
  536. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_serializers/test_team_serializer.py +0 -0
  537. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_utils.py +0 -0
  538. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_event_viewset.py +0 -0
  539. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_league_viewset.py +0 -0
  540. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_match_viewset.py +0 -0
  541. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_person_viewset.py +0 -0
  542. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_role_viewset.py +0 -0
  543. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_sport_viewset.py +0 -0
  544. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_stadium_viewset.py +0 -0
  545. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_team_viewset.py +0 -0
  546. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_teamresult_viewset.py +0 -0
  547. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/tests/test_viewsets/test_utils_viewsets.py +0 -0
  548. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/urls.py +0 -0
  549. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/utils.py +0 -0
  550. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/views.py +0 -0
  551. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/__init__.py +0 -0
  552. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/buttons/__init__.py +0 -0
  553. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/buttons/person.py +0 -0
  554. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/buttons/team.py +0 -0
  555. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/__init__.py +0 -0
  556. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/event.py +0 -0
  557. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/league.py +0 -0
  558. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/match.py +0 -0
  559. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/person.py +0 -0
  560. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/role.py +0 -0
  561. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/season.py +0 -0
  562. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/sport.py +0 -0
  563. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/stadium.py +0 -0
  564. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/team.py +0 -0
  565. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/displays/teamresult.py +0 -0
  566. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/endpoints/__init__.py +0 -0
  567. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/endpoints/endpoints.py +0 -0
  568. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/event.py +0 -0
  569. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/league.py +0 -0
  570. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/match.py +0 -0
  571. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/menu/__init__.py +0 -0
  572. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/menu/menus.py +0 -0
  573. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/menus.py +0 -0
  574. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/person.py +0 -0
  575. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/role.py +0 -0
  576. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/season.py +0 -0
  577. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/sport.py +0 -0
  578. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/stadium.py +0 -0
  579. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/team.py +0 -0
  580. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/teamresult.py +0 -0
  581. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/__init__.py +0 -0
  582. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/event.py +0 -0
  583. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/league.py +0 -0
  584. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/match.py +0 -0
  585. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/person.py +0 -0
  586. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/role.py +0 -0
  587. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/sport.py +0 -0
  588. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/stadium.py +0 -0
  589. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/team.py +0 -0
  590. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/example_app/viewsets/titles/teamresult.py +0 -0
  591. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/__init__.py +0 -0
  592. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/admin.py +0 -0
  593. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/apps.py +0 -0
  594. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/factories.py +0 -0
  595. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/fixtures/geography.json +0 -0
  596. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/import_export/__init__.py +0 -0
  597. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/import_export/resources/__init__.py +0 -0
  598. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/import_export/resources/geography.py +0 -0
  599. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/migrations/0001_initial.py +0 -0
  600. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/migrations/0002_geography_geography_geography_tree_i739a.py +0 -0
  601. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/migrations/__init__.py +0 -0
  602. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/models.py +0 -0
  603. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/release_notes/1_0_0.md +0 -0
  604. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/release_notes/__init__.py +0 -0
  605. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/serializers.py +0 -0
  606. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/static/geography/markdown/documentation/geography.md +0 -0
  607. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/tests/__init__.py +0 -0
  608. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/tests/conftest.py +0 -0
  609. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/tests/signals.py +0 -0
  610. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/tests/test_models.py +0 -0
  611. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/tests/test_viewsets.py +0 -0
  612. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/urls.py +0 -0
  613. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/__init__.py +0 -0
  614. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/buttons/__init__.py +0 -0
  615. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/display/__init__.py +0 -0
  616. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/display/geography.py +0 -0
  617. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/endpoints/__init__.py +0 -0
  618. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/geography.py +0 -0
  619. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/menu/__init__.py +0 -0
  620. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/menu/geography.py +0 -0
  621. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/preview/__init__.py +0 -0
  622. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/preview/geography.py +0 -0
  623. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/titles/__init__.py +0 -0
  624. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/geography/viewsets/titles/geography.py +0 -0
  625. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/__init__.py +0 -0
  626. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/apps.py +0 -0
  627. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/configs.py +0 -0
  628. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/configurations.py +0 -0
  629. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/hashes.py +0 -0
  630. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/tests/__init__.py +0 -0
  631. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/tests/conftest.py +0 -0
  632. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/urls.py +0 -0
  633. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/gleap/views.py +0 -0
  634. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/apps.py +0 -0
  635. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/configurations.py +0 -0
  636. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/migrations/0001_initial.py +0 -0
  637. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/migrations/__init__.py +0 -0
  638. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/models/__init__.py +0 -0
  639. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/models/mixins.py +0 -0
  640. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/models/models.py +0 -0
  641. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/tasks.py +0 -0
  642. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/tests/__init__.py +0 -0
  643. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/tests/conftest.py +0 -0
  644. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/tests/test_model_mixins.py +0 -0
  645. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/tests/test_tasks.py +0 -0
  646. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/tests/test_utils.py +0 -0
  647. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/tests/test_viewsets.py +0 -0
  648. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/urls.py +0 -0
  649. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/utils.py +0 -0
  650. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/__init__.py +0 -0
  651. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/configs/__init__.py +0 -0
  652. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/configs/buttons.py +0 -0
  653. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/configs/displays.py +0 -0
  654. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/configs/endpoints.py +0 -0
  655. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/configs/titles.py +0 -0
  656. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/mixins.py +0 -0
  657. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/guardian/viewsets/viewsets.py +0 -0
  658. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/__init__.py +0 -0
  659. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/buttons.py +0 -0
  660. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/serializers/__init__.py +0 -0
  661. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/serializers/fields.py +0 -0
  662. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/serializers/mixins.py +0 -0
  663. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/tests/conftest.py +0 -0
  664. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/tests/test_viewsets.py +0 -0
  665. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/translation.py +0 -0
  666. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/i18n/viewsets.py +0 -0
  667. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/__init__.py +0 -0
  668. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/apps.py +0 -0
  669. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/backends/__init__.py +0 -0
  670. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/backends/default.py +0 -0
  671. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/backends/material.py +0 -0
  672. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/models.py +0 -0
  673. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/icons/serializers.py +0 -0
  674. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/__init__.py +0 -0
  675. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/admin.py +0 -0
  676. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/apps.py +0 -0
  677. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/backends/__init__.py +0 -0
  678. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/backends/abstract.py +0 -0
  679. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/backends/mail.py +0 -0
  680. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/backends/utils.py +0 -0
  681. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/configs/__init__.py +0 -0
  682. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/configs/endpoints.py +0 -0
  683. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/configurations/__init__.py +0 -0
  684. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/configurations/base.py +0 -0
  685. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/dynamic_preferences_registry.py +0 -0
  686. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/enums.py +0 -0
  687. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/exceptions.py +0 -0
  688. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/factories.py +0 -0
  689. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/fixtures/io.json +0 -0
  690. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/import_export/backends/__init__.py +0 -0
  691. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/import_export/backends/mail.py +0 -0
  692. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/import_export/backends/sftp.py +0 -0
  693. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/import_export/backends/stream.py +0 -0
  694. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/import_export/parsers/__init__.py +0 -0
  695. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/import_export/parsers/base_csv.py +0 -0
  696. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/imports.py +0 -0
  697. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/locale/de/LC_MESSAGES/django.po +0 -0
  698. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/locale/de/LC_MESSAGES/django.po.translated +0 -0
  699. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/locale/en/LC_MESSAGES/django.po +0 -0
  700. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/locale/fr/LC_MESSAGES/django.po +0 -0
  701. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/management/__init__.py +0 -0
  702. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0001_initial_squashed.py +0 -0
  703. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0002_importsource_creator.py +0 -0
  704. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0003_auto_20240103_1000.py +0 -0
  705. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0004_alter_importsource_status_exportsource.py +0 -0
  706. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0005_exportsource_data_alter_exportsource_query_str_and_more.py +0 -0
  707. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0006_alter_exportsource_query_params.py +0 -0
  708. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0007_alter_exportsource_query_params.py +0 -0
  709. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0008_importsource_resource_kwargs.py +0 -0
  710. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/0009_alter_importedobjectproviderrelationship_unique_together_and_more.py +0 -0
  711. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/migrations/__init__.py +0 -0
  712. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/mixins.py +0 -0
  713. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/release_notes/1_0_0.md +0 -0
  714. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/release_notes/__init__.py +0 -0
  715. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/serializers.py +0 -0
  716. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/signals.py +0 -0
  717. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tasks.py +0 -0
  718. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tests/__init__.py +0 -0
  719. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tests/conftest.py +0 -0
  720. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tests/test_backends.py +0 -0
  721. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tests/test_exports.py +0 -0
  722. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tests/test_imports.py +0 -0
  723. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tests/test_models.py +0 -0
  724. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/tests/test_viewsets.py +0 -0
  725. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/urls.py +0 -0
  726. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/utils.py +0 -0
  727. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/viewset_mixins.py +0 -0
  728. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/io/viewsets.py +0 -0
  729. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/__init__.py +0 -0
  730. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/admin.py +0 -0
  731. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/apps.py +0 -0
  732. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/backends/__init__.py +0 -0
  733. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/backends/abstract_backend.py +0 -0
  734. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/backends/console/__init__.py +0 -0
  735. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/backends/console/backends.py +0 -0
  736. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/backends/firebase/__init__.py +0 -0
  737. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/backends/firebase/backends.py +0 -0
  738. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/configs.py +0 -0
  739. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/configurations.py +0 -0
  740. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/dispatch.py +0 -0
  741. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/factories/__init__.py +0 -0
  742. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/factories/notification_types.py +0 -0
  743. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/factories/notifications.py +0 -0
  744. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/factories/tokens.py +0 -0
  745. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +0 -0
  746. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po.translated +0 -0
  747. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/locale/en/LC_MESSAGES/django.po +0 -0
  748. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/locale/fr/LC_MESSAGES/django.po +0 -0
  749. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0001_initial.py +0 -0
  750. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0002_notificationusertoken_unique_user_token_device.py +0 -0
  751. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0003_notificationusertoken_updated.py +0 -0
  752. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0004_alter_notification_body.py +0 -0
  753. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0005_alter_notification_endpoint.py +0 -0
  754. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0006_notification_created.py +0 -0
  755. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0007_notificationtype_resource_button_label.py +0 -0
  756. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0008_notificationtype_is_lock.py +0 -0
  757. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/0009_alter_notificationtypesetting_options_and_more.py +0 -0
  758. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/migrations/__init__.py +0 -0
  759. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/models/__init__.py +0 -0
  760. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/models/notification_types.py +0 -0
  761. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/models/notifications.py +0 -0
  762. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/models/tokens.py +0 -0
  763. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/release_notes/1_0_0.md +0 -0
  764. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/release_notes/__init__.py +0 -0
  765. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/serializers/__init__.py +0 -0
  766. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/serializers/notification_types.py +0 -0
  767. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/serializers/notifications.py +0 -0
  768. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/static/notifications/service-worker.js +0 -0
  769. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tasks.py +0 -0
  770. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/templates/notifications/notification_template.html +0 -0
  771. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/__init__.py +0 -0
  772. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/conftest.py +0 -0
  773. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_backends/__init__.py +0 -0
  774. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_backends/test_firebase.py +0 -0
  775. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_models/__init__.py +0 -0
  776. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_models/test_notification_types.py +0 -0
  777. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_models/test_notifications.py +0 -0
  778. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_models/test_tokens.py +0 -0
  779. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_serializers/__init__.py +0 -0
  780. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_serializers/test_notification_types.py +0 -0
  781. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_serializers/test_notifications.py +0 -0
  782. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_tasks.py +0 -0
  783. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_utils.py +0 -0
  784. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_viewsets/__init__.py +0 -0
  785. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_viewsets/test_notification_types.py +0 -0
  786. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/tests/test_viewsets/test_notifications.py +0 -0
  787. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/urls.py +0 -0
  788. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/utils.py +0 -0
  789. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/views.py +0 -0
  790. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/viewsets/__init__.py +0 -0
  791. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/viewsets/configs/notification_types.py +0 -0
  792. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/viewsets/configs/notifications.py +0 -0
  793. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/viewsets/menus.py +0 -0
  794. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/viewsets/notification_types.py +0 -0
  795. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/notifications/viewsets/notifications.py +0 -0
  796. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/__init__.py +0 -0
  797. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/fields.py +0 -0
  798. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/filters.py +0 -0
  799. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/filterset.py +0 -0
  800. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/metadata.py +0 -0
  801. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/tests/__init__.py +0 -0
  802. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/tests/test_base.py +0 -0
  803. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/tests/test_fields/__init__.py +0 -0
  804. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/tests/test_fields/test_number_fields.py +0 -0
  805. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/tests/test_filters/__init__.py +0 -0
  806. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/tests/test_filters/test_pandas.py +0 -0
  807. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/tests/test_views.py +0 -0
  808. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/utils.py +0 -0
  809. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/pandas/views.py +0 -0
  810. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/__init__.py +0 -0
  811. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/admin.py +0 -0
  812. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/apps.py +0 -0
  813. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/factories.py +0 -0
  814. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/filters.py +0 -0
  815. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/migrations/0001_initial.py +0 -0
  816. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/migrations/0002_alter_tag_unique_together_tag_unique_tag.py +0 -0
  817. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/migrations/__init__.py +0 -0
  818. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/models/__init__.py +0 -0
  819. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/models/mixins.py +0 -0
  820. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/models/tags.py +0 -0
  821. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/release_notes/1_0_0.md +0 -0
  822. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/release_notes/__init__.py +0 -0
  823. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/serializers.py +0 -0
  824. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/signals.py +0 -0
  825. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/tests/__init__.py +0 -0
  826. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/tests/conftest.py +0 -0
  827. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/tests/tests.py +0 -0
  828. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/urls.py +0 -0
  829. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/viewsets/__init__.py +0 -0
  830. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/viewsets/display.py +0 -0
  831. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/viewsets/menu.py +0 -0
  832. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/tags/viewsets/viewsets.py +0 -0
  833. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/__init__.py +0 -0
  834. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/__init__.py +0 -0
  835. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/condition.py +0 -0
  836. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/data.py +0 -0
  837. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/display.py +0 -0
  838. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/process.py +0 -0
  839. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/step.py +0 -0
  840. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/transition.py +0 -0
  841. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/admin/workflow.py +0 -0
  842. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/apps.py +0 -0
  843. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/configs.py +0 -0
  844. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/decorators.py +0 -0
  845. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/dispatch.py +0 -0
  846. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/__init__.py +0 -0
  847. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/condition.py +0 -0
  848. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/data.py +0 -0
  849. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/display.py +0 -0
  850. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/process.py +0 -0
  851. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/step.py +0 -0
  852. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/transition.py +0 -0
  853. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/factories/workflow.py +0 -0
  854. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/filters/__init__.py +0 -0
  855. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/filters/condition.py +0 -0
  856. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/filters/data.py +0 -0
  857. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/filters/process.py +0 -0
  858. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/filters/step.py +0 -0
  859. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/filters/transition.py +0 -0
  860. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/filters/workflow.py +0 -0
  861. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/fixtures/workflow.json +0 -0
  862. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +0 -0
  863. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po.translated +0 -0
  864. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/locale/en/LC_MESSAGES/django.po +0 -0
  865. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/locale/fr/LC_MESSAGES/django.po +0 -0
  866. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/migrations/0001_initial.py +0 -0
  867. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/migrations/0002_alter_step_step_type.py +0 -0
  868. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/migrations/0003_alter_condition_attribute_name_and_more.py +0 -0
  869. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/migrations/0004_alter_userstep_assignee_method.py +0 -0
  870. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/migrations/0005_alter_userstep_assignee_method.py +0 -0
  871. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/migrations/__init__.py +0 -0
  872. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/__init__.py +0 -0
  873. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/condition.py +0 -0
  874. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/data.py +0 -0
  875. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/display.py +0 -0
  876. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/process.py +0 -0
  877. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/step.py +0 -0
  878. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/transition.py +0 -0
  879. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/models/workflow.py +0 -0
  880. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/__init__.py +0 -0
  881. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/condition.py +0 -0
  882. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/data.py +0 -0
  883. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/display.py +0 -0
  884. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/process.py +0 -0
  885. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/signals.py +0 -0
  886. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/step.py +0 -0
  887. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/transition.py +0 -0
  888. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/serializers/workflow.py +0 -0
  889. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/sites.py +0 -0
  890. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/assignedprocessstep.md +0 -0
  891. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/condition.md +0 -0
  892. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/decisionstep.md +0 -0
  893. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/emailstep.md +0 -0
  894. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/finishstep.md +0 -0
  895. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/joinstep.md +0 -0
  896. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/process.md +0 -0
  897. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/processstep.md +0 -0
  898. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/scriptstep.md +0 -0
  899. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/splitstep.md +0 -0
  900. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/startstep.md +0 -0
  901. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/transition.md +0 -0
  902. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/userstep.md +0 -0
  903. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/static/workflow/markdown/documentation/workflow.md +0 -0
  904. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/templates/Test_Templates.txt +0 -0
  905. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/__init__.py +0 -0
  906. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/conftest.py +0 -0
  907. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_dispatch.py +0 -0
  908. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_displays.py +0 -0
  909. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_filters.py +0 -0
  910. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_decision_step.py +0 -0
  911. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_email_step.py +0 -0
  912. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_finish_step.py +0 -0
  913. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_join_step.py +0 -0
  914. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_script_step.py +0 -0
  915. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_split_step.py +0 -0
  916. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_step.py +0 -0
  917. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/step/test_user_step.py +0 -0
  918. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/test_condition.py +0 -0
  919. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/test_data.py +0 -0
  920. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/test_process.py +0 -0
  921. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/test_transition.py +0 -0
  922. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_models/test_workflow.py +0 -0
  923. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_serializers.py +0 -0
  924. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_viewsets.py +0 -0
  925. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/tests/test_workflow_assignees.py +0 -0
  926. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/urls.py +0 -0
  927. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/utils.py +0 -0
  928. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/__init__.py +0 -0
  929. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/buttons/__init__.py +0 -0
  930. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/buttons/step.py +0 -0
  931. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/condition.py +0 -0
  932. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/data.py +0 -0
  933. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/display/__init__.py +0 -0
  934. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/display/condition.py +0 -0
  935. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/display/data.py +0 -0
  936. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/display/process.py +0 -0
  937. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/display/step.py +0 -0
  938. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/display/transition.py +0 -0
  939. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/display/workflow.py +0 -0
  940. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/endpoints/__init__.py +0 -0
  941. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/endpoints/condition.py +0 -0
  942. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/endpoints/data.py +0 -0
  943. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/endpoints/process.py +0 -0
  944. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/endpoints/step.py +0 -0
  945. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/endpoints/transition.py +0 -0
  946. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/menu/__init__.py +0 -0
  947. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/menu/condition.py +0 -0
  948. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/menu/data.py +0 -0
  949. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/menu/process.py +0 -0
  950. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/menu/step.py +0 -0
  951. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/menu/transition.py +0 -0
  952. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/menu/workflow.py +0 -0
  953. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/process.py +0 -0
  954. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/step.py +0 -0
  955. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/titles/__init__.py +0 -0
  956. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/titles/condition.py +0 -0
  957. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/titles/data.py +0 -0
  958. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/titles/process.py +0 -0
  959. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/titles/step.py +0 -0
  960. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/titles/transition.py +0 -0
  961. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/titles/workflow.py +0 -0
  962. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/transition.py +0 -0
  963. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/viewsets/workflow.py +0 -0
  964. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/workflows/__init__.py +0 -0
  965. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/contrib/workflow/workflows/assignees.py +0 -0
  966. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/crontab/__init__.py +0 -0
  967. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/crontab/serializers.py +0 -0
  968. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/crontab/viewsets.py +0 -0
  969. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/dispatch.py +0 -0
  970. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/docs/__init__.py +0 -0
  971. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/docs/orderable.md +0 -0
  972. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/docs/reparent.md +0 -0
  973. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/dynamic_preferences_registry.py +0 -0
  974. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/enums.py +0 -0
  975. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/__init__.py +0 -0
  976. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/backends.py +0 -0
  977. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/defaults.py +0 -0
  978. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/__init__.py +0 -0
  979. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/booleans.py +0 -0
  980. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/choices.py +0 -0
  981. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/content_type.py +0 -0
  982. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/datetime.py +0 -0
  983. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/models.py +0 -0
  984. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/multiple_lookups.py +0 -0
  985. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/numbers.py +0 -0
  986. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/fields/text.py +0 -0
  987. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/filterset.py +0 -0
  988. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/lookups.py +0 -0
  989. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/mixins.py +0 -0
  990. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/filters/utils.py +0 -0
  991. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/forms.py +0 -0
  992. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/frontend.py +0 -0
  993. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/frontend_user_configuration.py +0 -0
  994. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/fsm/__init__.py +0 -0
  995. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/fsm/markdown_extensions.py +0 -0
  996. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/fsm/mixins.py +0 -0
  997. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/locale/de/LC_MESSAGES/django.po +0 -0
  998. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/locale/de/LC_MESSAGES/django.po.translated +0 -0
  999. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/locale/en/LC_MESSAGES/django.po +0 -0
  1000. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/locale/fr/LC_MESSAGES/django.po +0 -0
  1001. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/management/__init__.py +0 -0
  1002. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/management/commands/__init__.py +0 -0
  1003. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/management/commands/bootstrap.py +0 -0
  1004. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/management/commands/clean_obsolete_object.py +0 -0
  1005. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/management/commands/handle_release_notes.py +0 -0
  1006. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/markdown/__init__.py +0 -0
  1007. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/markdown/admin.py +0 -0
  1008. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/markdown/dynamic_preferences_registry.py +0 -0
  1009. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/markdown/models.py +0 -0
  1010. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/markdown/template.py +0 -0
  1011. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/markdown/utils.py +0 -0
  1012. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/markdown/views.py +0 -0
  1013. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/menus/__init__.py +0 -0
  1014. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/menus/menus.py +0 -0
  1015. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/menus/registry.py +0 -0
  1016. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/menus/views.py +0 -0
  1017. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/messages.py +0 -0
  1018. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/__init__.py +0 -0
  1019. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/__init__.py +0 -0
  1020. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/base.py +0 -0
  1021. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/buttons/__init__.py +0 -0
  1022. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/buttons/bases.py +0 -0
  1023. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/buttons/buttons.py +0 -0
  1024. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/buttons/enums.py +0 -0
  1025. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/buttons/metadata.py +0 -0
  1026. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/__init__.py +0 -0
  1027. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/configs.py +0 -0
  1028. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/display.py +0 -0
  1029. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/formatting.py +0 -0
  1030. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/__init__.py +0 -0
  1031. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/display.py +0 -0
  1032. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/enums.py +0 -0
  1033. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/layouts/__init__.py +0 -0
  1034. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/layouts/inlines.py +0 -0
  1035. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/layouts/layouts.py +0 -0
  1036. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/layouts/sections.py +0 -0
  1037. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/operators.py +0 -0
  1038. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/pages.py +0 -0
  1039. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/shortcuts.py +0 -0
  1040. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/signals.py +0 -0
  1041. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/styles.py +0 -0
  1042. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/instance_display/utils.py +0 -0
  1043. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/list_display.py +0 -0
  1044. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/models.py +0 -0
  1045. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/view_config.py +0 -0
  1046. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/views.py +0 -0
  1047. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/display/windows.py +0 -0
  1048. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/documentations.py +0 -0
  1049. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/endpoints.py +0 -0
  1050. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/fields.py +0 -0
  1051. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/filter_fields.py +0 -0
  1052. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/identifiers.py +0 -0
  1053. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/ordering_fields.py +0 -0
  1054. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/paginations.py +0 -0
  1055. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/preview.py +0 -0
  1056. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/primary_keys.py +0 -0
  1057. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/search_fields.py +0 -0
  1058. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/titles.py +0 -0
  1059. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/configs/window_types.py +0 -0
  1060. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/exceptions.py +0 -0
  1061. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/metadata.py +0 -0
  1062. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/mixins.py +0 -0
  1063. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/tests/__init__.py +0 -0
  1064. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/tests/test_buttons.py +0 -0
  1065. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/metadata/utils.py +0 -0
  1066. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/migrations/0001_initial_squashed_squashed_0010_preset_appliedpreset.py +0 -0
  1067. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/migrations/0011_genericmodel.py +0 -0
  1068. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/migrations/0012_delete_notification.py +0 -0
  1069. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/migrations/0013_delete_colorgradient.py +0 -0
  1070. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/migrations/0014_biguserobjectpermission_system.py +0 -0
  1071. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/migrations/__init__.py +0 -0
  1072. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/models/__init__.py +0 -0
  1073. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/models/base.py +0 -0
  1074. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/models/fields.py +0 -0
  1075. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/models/orderable.py +0 -0
  1076. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/pagination.py +0 -0
  1077. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/pandas/__init__.py +0 -0
  1078. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/pandas/fields.py +0 -0
  1079. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/pandas/filterset.py +0 -0
  1080. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/pandas/utils.py +0 -0
  1081. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/pandas/views.py +0 -0
  1082. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/permissions/__init__.py +0 -0
  1083. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/permissions/backend.py +0 -0
  1084. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/permissions/mixins.py +0 -0
  1085. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/permissions/permissions.py +0 -0
  1086. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/permissions/shortcuts.py +0 -0
  1087. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/permissions/utils.py +0 -0
  1088. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/__init__.py +0 -0
  1089. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/admin.py +0 -0
  1090. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/buttons.py +0 -0
  1091. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/display.py +0 -0
  1092. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/filters.py +0 -0
  1093. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/models.py +0 -0
  1094. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/serializers.py +0 -0
  1095. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/utils.py +0 -0
  1096. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/release_notes/viewsets.py +0 -0
  1097. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/__init__.py +0 -0
  1098. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/filters.py +0 -0
  1099. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/serializers.py +0 -0
  1100. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/viewsets/__init__.py +0 -0
  1101. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/viewsets/buttons.py +0 -0
  1102. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/viewsets/displays.py +0 -0
  1103. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/viewsets/endpoints.py +0 -0
  1104. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/viewsets/titles.py +0 -0
  1105. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/reversion/viewsets/viewsets.py +0 -0
  1106. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/routers.py +0 -0
  1107. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/search/__init__.py +0 -0
  1108. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/__init__.py +0 -0
  1109. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/__init__.py +0 -0
  1110. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/boolean.py +0 -0
  1111. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/choice.py +0 -0
  1112. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/datetime.py +0 -0
  1113. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/fields.py +0 -0
  1114. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/file.py +0 -0
  1115. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/fsm.py +0 -0
  1116. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/json.py +0 -0
  1117. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/list.py +0 -0
  1118. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/mixins.py +0 -0
  1119. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/number.py +0 -0
  1120. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/other.py +0 -0
  1121. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/primary_key.py +0 -0
  1122. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/related.py +0 -0
  1123. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/text.py +0 -0
  1124. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/fields/types.py +0 -0
  1125. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/mixins.py +0 -0
  1126. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/serializers.py +0 -0
  1127. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/serializers/utils.py +0 -0
  1128. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/shares/__init__.py +0 -0
  1129. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/shares/config.py +0 -0
  1130. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/shares/decorator.py +0 -0
  1131. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/shares/signals.py +0 -0
  1132. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/shares/sites.py +0 -0
  1133. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/shares/views.py +0 -0
  1134. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/__init__.py +0 -0
  1135. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/clone.py +0 -0
  1136. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/filters.py +0 -0
  1137. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/instance_buttons.py +0 -0
  1138. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/merge.py +0 -0
  1139. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/models.py +0 -0
  1140. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/permissions.py +0 -0
  1141. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/signals/serializers.py +0 -0
  1142. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tasks.py +0 -0
  1143. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/template.py +0 -0
  1144. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/errors/404.html +0 -0
  1145. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/errors/500.html +0 -0
  1146. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/errors/503.html +0 -0
  1147. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/errors/custom.html +0 -0
  1148. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/forms.py +0 -0
  1149. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/notifications/email_template.html +0 -0
  1150. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/reversion/__init__.py +0 -0
  1151. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/reversion/compare_detail.html +0 -0
  1152. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/wbcore/admin/change_list.html +0 -0
  1153. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/wbcore/admin/csv_form.html +0 -0
  1154. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/wbcore/dynamic_color_array.html +0 -0
  1155. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/wbcore/email_base_template.html +0 -0
  1156. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/wbcore/email_notification_template.html +0 -0
  1157. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/templates/wbcore/frontend.html +0 -0
  1158. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/test/__init__.py +0 -0
  1159. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/test/e2e_helpers_methods/e2e_checks.py +0 -0
  1160. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/test/e2e_helpers_methods/e2e_helper_methods.py +0 -0
  1161. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/test/mixins.py +0 -0
  1162. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/test/signals.py +0 -0
  1163. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/test/tests.py +0 -0
  1164. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/test/utils.py +0 -0
  1165. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/__init__.py +0 -0
  1166. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/e2e/__init__.py +0 -0
  1167. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/e2e/test_e2e.py +0 -0
  1168. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/models.py +0 -0
  1169. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_cache/__init__.py +0 -0
  1170. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_cache/test_decorators.py +0 -0
  1171. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_cache/test_mixins.py +0 -0
  1172. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_cache/test_registry.py +0 -0
  1173. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_enums.py +0 -0
  1174. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/__init__.py +0 -0
  1175. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_boolean_fields.py +0 -0
  1176. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_choice_fields.py +0 -0
  1177. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_datetime_fields.py +0 -0
  1178. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_fields.py +0 -0
  1179. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_file_fields.py +0 -0
  1180. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_json_fields.py +0 -0
  1181. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_list_fields.py +0 -0
  1182. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_mixins.py +0 -0
  1183. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_number_fields.py +0 -0
  1184. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_other_fields.py +0 -0
  1185. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_primary_key_fields.py +0 -0
  1186. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_related.py +0 -0
  1187. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_fields/test_text_fields.py +0 -0
  1188. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_filters/__init__.py +0 -0
  1189. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_filters/test_mixins.py +0 -0
  1190. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_list_display.py +0 -0
  1191. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_models/__init__.py +0 -0
  1192. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_models/test_fields.py +0 -0
  1193. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_models/test_mixins.py +0 -0
  1194. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/__init__.py +0 -0
  1195. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/test_inlines.py +0 -0
  1196. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/test_layouts.py +0 -0
  1197. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/test_operators.py +0 -0
  1198. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/test_pages.py +0 -0
  1199. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/test_sections.py +0 -0
  1200. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/test_shortcuts.py +0 -0
  1201. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_new_display/test_utils.py +0 -0
  1202. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_pagination.py +0 -0
  1203. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_permissions/test_backend.py +0 -0
  1204. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_serializers/__init__.py +0 -0
  1205. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_serializers/test_fields.py +0 -0
  1206. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_serializers/test_mixins.py +0 -0
  1207. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_serializers/test_related.py +0 -0
  1208. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_something.py +0 -0
  1209. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_utils/__init__.py +0 -0
  1210. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_utils/test_date.py +0 -0
  1211. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_utils/test_date_builder.py +0 -0
  1212. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_utils/test_primary.py +0 -0
  1213. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_utils/test_signals.py +0 -0
  1214. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/tests/test_viewsets.py +0 -0
  1215. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/urls.py +0 -0
  1216. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/__init__.py +0 -0
  1217. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/cache.py +0 -0
  1218. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/date.py +0 -0
  1219. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/date_builder/__init__.py +0 -0
  1220. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/date_builder/components.py +0 -0
  1221. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/date_builder/offsets.py +0 -0
  1222. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/deprecations.py +0 -0
  1223. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/enum.py +0 -0
  1224. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/figures.py +0 -0
  1225. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/html.py +0 -0
  1226. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/itertools.py +0 -0
  1227. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/models.py +0 -0
  1228. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/numbers.py +0 -0
  1229. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/prettytable.py +0 -0
  1230. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/print.py +0 -0
  1231. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/renderers.py +0 -0
  1232. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/reportlab.py +0 -0
  1233. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/rrules.py +0 -0
  1234. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/serializers.py +0 -0
  1235. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/settings.py +0 -0
  1236. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/signals.py +0 -0
  1237. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/string_loader.py +0 -0
  1238. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/strings.py +0 -0
  1239. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/urls.py +0 -0
  1240. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/utils/views.py +0 -0
  1241. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/views.py +0 -0
  1242. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/viewsets/__init__.py +0 -0
  1243. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/viewsets/encoders.py +0 -0
  1244. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/viewsets/generics.py +0 -0
  1245. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/viewsets/mixins.py +0 -0
  1246. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/viewsets/utils.py +0 -0
  1247. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/viewsets/viewsets.py +0 -0
  1248. {wbcore-1.59.10 → wbcore-1.59.12}/wbcore/workers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wbcore
3
- Version: 1.59.10
3
+ Version: 1.59.12
4
4
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
5
5
  Requires-Dist: celery[redis]==5.*
6
6
  Requires-Dist: croniter==2.*
@@ -1,7 +1,6 @@
1
1
  from contextlib import suppress
2
2
  from importlib import import_module
3
3
  from inspect import getmembers
4
- from types import ModuleType
5
4
  from typing import Any, Iterable
6
5
 
7
6
  from django.conf import settings
@@ -15,21 +14,24 @@ class ConfigRegistry:
15
14
  in the APIView of this module.
16
15
  """
17
16
 
18
- def __init__(self, request: Request, *args, **kwargs):
19
- self.request = request
20
- super().__init__(*args, **kwargs)
17
+ def __init__(self, *args, **kwargs):
18
+ self.config_members = []
19
+ self._load_configs()
21
20
 
22
- def discover_configs(self) -> Iterable[ModuleType]:
21
+ def _load_configs(self):
23
22
  for app in settings.INSTALLED_APPS:
24
23
  with suppress(ModuleNotFoundError):
25
24
  module = import_module(f"{app}.configs")
26
- yield module
25
+ for member in getmembers(module, lambda member: hasattr(member, "_is_config")):
26
+ self.config_members.append(member[1])
27
27
 
28
- def get_configs(self) -> Iterable[tuple[str, Any]]:
29
- for module in self.discover_configs():
30
- for member in getmembers(module, lambda member: hasattr(member, "_is_config")):
31
- if res := member[1](request=self.request):
32
- yield res
28
+ def get_configs(self, request: Request) -> Iterable[tuple[str, Any]]:
29
+ for member in self.config_members:
30
+ if res := member(request=request):
31
+ yield res
33
32
 
34
- def get_config_dict(self) -> dict[str, Any]:
35
- return dict(self.get_configs())
33
+ def get_config_dict(self, request: Request) -> dict[str, Any]:
34
+ return dict(self.get_configs(request))
35
+
36
+
37
+ config_registry = ConfigRegistry()
@@ -2,11 +2,11 @@ from rest_framework.request import Request
2
2
  from rest_framework.response import Response
3
3
  from rest_framework.views import APIView
4
4
 
5
- from wbcore.configs.registry import ConfigRegistry
5
+ from wbcore.configs.registry import config_registry
6
6
 
7
7
 
8
8
  class ConfigAPIView(APIView):
9
9
  permission_classes = []
10
10
 
11
11
  def get(self, request: Request) -> Response:
12
- return Response(ConfigRegistry(request=request).get_config_dict())
12
+ return Response(config_registry.get_config_dict(request))
@@ -0,0 +1,6 @@
1
+ from wbcore.configs.registry import ConfigRegistry
2
+
3
+
4
+ def test_authentication_config(config_registry: ConfigRegistry, api_request):
5
+ authentication = config_registry.get_config_dict(api_request)["authentication"]
6
+ assert authentication
@@ -72,7 +72,7 @@ def reset_password_email(request):
72
72
  try:
73
73
  user.reset_password(request)
74
74
  except Exception as e:
75
- logger.error(f"While user {user} try to reset password, we encounter the error {e}")
75
+ logger.error("While user try to reset password, we encounter the error", extra={"user": user, "detail": e})
76
76
  return Response(
77
77
  {
78
78
  "status": "ok",
@@ -122,7 +122,7 @@ def register_user(request):
122
122
  query_params["error_redirect_url"] = error_redirect_url
123
123
 
124
124
  token = user.generate_temporary_token()
125
- url = f'{reverse("wbcore:authentication:activate", args=[user.uuid, token], request=request)}?{urlencode(query_params)}'
125
+ url = f"{reverse('wbcore:authentication:activate', args=[user.uuid, token], request=request)}?{urlencode(query_params)}"
126
126
 
127
127
  # Construct registration mail and send
128
128
  rendered_message = render_to_string("user_registration_email.html", {"user": user, "url": url})
@@ -1,8 +1,7 @@
1
+ from django.utils.module_loading import import_string
1
2
  from django.utils.translation import gettext_lazy
2
3
  from rest_framework.reverse import reverse
3
4
 
4
- from wbcore.utils.importlib import import_from_dotted_path
5
-
6
5
 
7
6
  class ConfigurationRegistry:
8
7
  DEFAULT_COMPANY_MODEL_VIEWSET = "wbcore.contrib.directory.viewsets.entries.CompanyModelViewSet"
@@ -20,35 +19,35 @@ class ConfigurationRegistry:
20
19
 
21
20
  @property
22
21
  def company_model_viewset(self):
23
- return import_from_dotted_path(self.DEFAULT_COMPANY_MODEL_VIEWSET)
22
+ return import_string(self.DEFAULT_COMPANY_MODEL_VIEWSET)
24
23
 
25
24
  @property
26
25
  def company_representation_viewset(self):
27
- return import_from_dotted_path(self.DEFAULT_COMPANY_REPRESENTATION_VIEWSET)
26
+ return import_string(self.DEFAULT_COMPANY_REPRESENTATION_VIEWSET)
28
27
 
29
28
  @property
30
29
  def company_model_serializer(self):
31
- return import_from_dotted_path(self.DEFAULT_COMPANY_MODEL_SERIALIZER)
30
+ return import_string(self.DEFAULT_COMPANY_MODEL_SERIALIZER)
32
31
 
33
32
  @property
34
33
  def company_representation_serializer(self):
35
- return import_from_dotted_path(self.DEFAULT_COMPANY_REPRESENTATION_SERIALIZER)
34
+ return import_string(self.DEFAULT_COMPANY_REPRESENTATION_SERIALIZER)
36
35
 
37
36
  @property
38
37
  def person_model_viewset(self):
39
- return import_from_dotted_path(self.DEFAULT_PERSON_MODEL_VIEWSET)
38
+ return import_string(self.DEFAULT_PERSON_MODEL_VIEWSET)
40
39
 
41
40
  @property
42
41
  def person_representation_viewset(self):
43
- return import_from_dotted_path(self.DEFAULT_PERSON_REPRESENTATION_VIEWSET)
42
+ return import_string(self.DEFAULT_PERSON_REPRESENTATION_VIEWSET)
44
43
 
45
44
  @property
46
45
  def person_model_serializer(self):
47
- return import_from_dotted_path(self.DEFAULT_PERSON_MODEL_SERIALIZER)
46
+ return import_string(self.DEFAULT_PERSON_MODEL_SERIALIZER)
48
47
 
49
48
  @property
50
49
  def person_representation_serializer(self):
51
- return import_from_dotted_path(self.DEFAULT_PERSON_REPRESENTATION_SERIALIZER)
50
+ return import_string(self.DEFAULT_PERSON_REPRESENTATION_SERIALIZER)
52
51
 
53
52
 
54
53
  class DirectoryConfigurationMixin:
@@ -36,6 +36,7 @@ from .entries import (
36
36
  EntryRepresentationSerializer,
37
37
  InternalUserProfileRepresentationSerializer,
38
38
  PersonRepresentationSerializer,
39
+ FullDetailPersonRepresentationSerializer,
39
40
  SpecializationModelSerializer,
40
41
  SpecializationRepresentationSerializer,
41
42
  )
@@ -16,6 +16,7 @@ from ..models import (
16
16
  CompanyType,
17
17
  CustomerStatus,
18
18
  EmailContact,
19
+ EmployerEmployeeRelationship,
19
20
  Entry,
20
21
  Person,
21
22
  Specialization,
@@ -63,6 +64,54 @@ class PersonRepresentationSerializer(EntryRepresentationSerializer):
63
64
  )
64
65
 
65
66
 
67
+ class FullDetailPersonRepresentationSerializer(PersonRepresentationSerializer):
68
+ primary_email = wb_serializers.SerializerMethodField(
69
+ read_only=True, required=False, label=_("Primary Email"), allow_null=True
70
+ )
71
+ primary_telephone = wb_serializers.SerializerMethodField(
72
+ read_only=True, required=False, label=_("Primary Telephone"), allow_null=True
73
+ )
74
+ primary_position = wb_serializers.SerializerMethodField(
75
+ read_only=True, required=False, label=_("Primary Position"), allow_null=True
76
+ )
77
+
78
+ def get_primary_email(self, person):
79
+ try:
80
+ return EmailContact.objects.get(entry_id=person.id, primary=True).address
81
+ except EmailContact.DoesNotExist:
82
+ return None
83
+
84
+ def get_primary_telephone(self, person):
85
+ try:
86
+ return TelephoneContact.objects.get(entry_id=person.id, primary=True).number
87
+ except TelephoneContact.DoesNotExist:
88
+ return None
89
+
90
+ def get_primary_position(self, person):
91
+ try:
92
+ rel = EmployerEmployeeRelationship.objects.get(employee_id=person.id, primary=True)
93
+ return rel.position.title if rel.position else rel.position_name
94
+ except EmployerEmployeeRelationship.DoesNotExist:
95
+ return None
96
+
97
+ class Meta:
98
+ model = Person
99
+ fields = (
100
+ "id",
101
+ "computed_str",
102
+ "first_name",
103
+ "last_name",
104
+ "primary_email",
105
+ "primary_telephone",
106
+ "primary_position",
107
+ "profile_image",
108
+ "description",
109
+ "_detail",
110
+ "_detail_preview",
111
+ "_additional_resources",
112
+ )
113
+
114
+
66
115
  class InternalUserProfileRepresentationSerializer(PersonRepresentationSerializer):
67
116
  def get_filter_params(self, request):
68
117
  return {"only_internal_users": True}
@@ -0,0 +1,6 @@
1
+ from wbcore.configs.registry import ConfigRegistry
2
+
3
+
4
+ def test_profile_config(config_registry: ConfigRegistry, api_request):
5
+ profile = config_registry.get_config_dict(api_request)["profile"]
6
+ assert profile
@@ -46,6 +46,7 @@ class DocumentModelSerializer(serializers.ModelSerializer):
46
46
  "created",
47
47
  "valid_from",
48
48
  "valid_until",
49
+ "permission_type",
49
50
  "_additional_resources",
50
51
  )
51
52
 
@@ -15,6 +15,7 @@ class DocumentModelDisplay(DisplayViewConfig):
15
15
  fields=[
16
16
  dp.Field(key="name", label=_("Name")),
17
17
  dp.Field(key="document_type", label=_("Type")),
18
+ dp.Field(key="permission_type", label=_("Permission")),
18
19
  dp.Field(key="valid_from", label=_("Valid From")),
19
20
  dp.Field(key="valid_until", label=_("Valid Until")),
20
21
  dp.Field(key="updated", label=_("Updated")),
@@ -52,27 +53,17 @@ class DocumentModelDisplay(DisplayViewConfig):
52
53
  layouts={
53
54
  dp.default(): dp.Layout(
54
55
  grid_template_areas=[
55
- ["file", "file", "file", "file", "file", "file"],
56
- ["name", "name", "name", "document_type", "document_type", "document_type"],
57
- ["created", "created", "updated", "updated", "system_created", "system_created"],
56
+ ["file", "file", "file"],
57
+ ["name", "document_type", "permission_type"],
58
+ ["created", "updated", "system_created"],
59
+ ["valid_from", "valid_until", "."],
58
60
  [
59
- "valid_from",
60
- "valid_from",
61
- "valid_from",
62
- "valid_until",
63
- "valid_until",
64
- "valid_until",
65
- ],
66
- [
67
- "description",
68
- "description",
69
- "description",
70
61
  "description",
71
62
  "description",
72
63
  "description",
73
64
  ],
74
65
  ],
75
- grid_template_columns=[dp.repeat_field(6, "1fr")],
66
+ grid_template_columns=[dp.repeat_field(3, "1fr")],
76
67
  )
77
68
  },
78
69
  ),
@@ -23,7 +23,7 @@ def test_different_secret():
23
23
  assert hash1 != hash2
24
24
 
25
25
 
26
- def test_gleap_config(config_registry: ConfigRegistry):
27
- gleap = config_registry.get_config_dict()["gleap"]
26
+ def test_gleap_config(config_registry: ConfigRegistry, api_request):
27
+ gleap = config_registry.get_config_dict(api_request)["gleap"]
28
28
  assert gleap["user_identity_endpoint"]
29
29
  assert gleap["api_token"]
@@ -1,3 +1,4 @@
1
+ from django.db.models import Q
1
2
  from rest_framework.filters import BaseFilterBackend
2
3
 
3
4
 
@@ -14,8 +15,11 @@ class ObjectPermissionsFilter(BaseFilterBackend):
14
15
  model_class = queryset.model
15
16
  if issubclass(model_class, PermissionObjectModelMixin):
16
17
  user = request.user
17
-
18
- return get_objects_for_user(
18
+ protected_objects = get_objects_for_user(
19
19
  user, [model_class.view_perm_str], queryset, **model_class.guardian_shortcut_kwargs
20
20
  )
21
+ public_objects = queryset.filter(permission_type=PermissionObjectModelMixin.PermissionType.PUBLIC)
22
+ return queryset.filter(
23
+ Q(id__in=public_objects.values("id")) | Q(id__in=protected_objects.values("id"))
24
+ ).distinct()
21
25
  return queryset
@@ -5,8 +5,7 @@ from types import DynamicClassAttribute
5
5
  from django.conf import settings
6
6
  from django.db.models import TextChoices
7
7
  from django.db.models.enums import ChoicesType
8
-
9
- from wbcore.utils.importlib import import_from_dotted_path
8
+ from django.utils.module_loading import import_string
10
9
 
11
10
  DEFAULT_ICON_BACKEND = "wbcore.contrib.icons.backends.material.IconBackend"
12
11
  FALLBACK_ICON_VALUE = "FALLBACK_ICON"
@@ -21,7 +20,7 @@ class WBIconMeta(ChoicesType):
21
20
  ) # add a default member that represent the fallback in case it's not yet implement in the imported backend
22
21
  cls = super().__new__(cls, classname, bases, classdict, **kwds)
23
22
  with suppress(ModuleNotFoundError):
24
- cls.icon_backend = import_from_dotted_path(getattr(settings, "WBCORE_ICON_BACKEND", DEFAULT_ICON_BACKEND))
23
+ cls.icon_backend = import_string(getattr(settings, "WBCORE_ICON_BACKEND", DEFAULT_ICON_BACKEND))
25
24
  icon_backend = cls.icon_backend
26
25
  # For each enumeration values, attached an "icon" property to its members
27
26
  for member, value in zip(cls.__members__.values(), cls.values, strict=False):
@@ -1,16 +1,16 @@
1
1
  import magic
2
2
  from django.apps import apps
3
3
  from django.conf import settings
4
+ from django.utils.module_loading import import_string
4
5
  from import_export.formats.base_formats import CSV
5
6
  from import_export.results import RowResult
6
7
  from import_export.signals import post_import
7
- from wbcore.utils.importlib import import_from_dotted_path
8
8
 
9
9
 
10
10
  def default_import_parse(import_source):
11
11
  resource_path = import_source.resource_kwargs["resource_path"]
12
12
  resource_kwargs = import_source.resource_kwargs["resource_kwargs"]
13
- resource_class = import_from_dotted_path(resource_path)
13
+ resource_class = import_string(resource_path)
14
14
  resource = resource_class(**resource_kwargs)
15
15
  input_format = CSV(encoding="utf-8-sig")
16
16
 
@@ -28,6 +28,7 @@ from django.db.utils import IntegrityError
28
28
  from django.dispatch import receiver
29
29
  from django.utils import timezone
30
30
  from django.utils.functional import cached_property
31
+ from django.utils.module_loading import import_string
31
32
  from django.utils.translation import gettext_lazy as _
32
33
  from django_celery_beat.models import CrontabSchedule, PeriodicTask, cronexp
33
34
  from import_export.resources import Resource
@@ -37,7 +38,6 @@ from tqdm import tqdm
37
38
 
38
39
  from wbcore.contrib.notifications.dispatch import send_notification
39
40
  from wbcore.contrib.notifications.utils import create_notification_type
40
- from wbcore.utils.importlib import import_from_dotted_path
41
41
  from wbcore.utils.models import ComplexToStringMixin
42
42
 
43
43
  from ...workers import Queue
@@ -734,7 +734,7 @@ class ExportSource(ImportExportSource):
734
734
  """
735
735
  Load into an attribute the instantiated resource loaded from the resource path
736
736
  """
737
- resource_class = import_from_dotted_path(self.resource_path)
737
+ resource_class = import_string(self.resource_path)
738
738
  return resource_class(**self.resource_kwargs)
739
739
 
740
740
  @property
@@ -802,7 +802,10 @@ class ExportSource(ImportExportSource):
802
802
  self.log = f"{ex_type}: {ex_value}\n"
803
803
  self.log += traceback.format_exc()
804
804
  self.save()
805
- logger.error(f"Export source {self.id} error: {e}")
805
+ logger.error(
806
+ "Data source export failed: Processing error during file generation.",
807
+ extra={"export_source": self, "parser_handler": self.parser_handler, "detail": e},
808
+ )
806
809
 
807
810
 
808
811
  class ImportSource(ImportExportSource):
@@ -908,7 +911,10 @@ class ImportSource(ImportExportSource):
908
911
  if debug:
909
912
  raise e
910
913
  elif not self.creator: # if a creator is set in this import source, they will receive a proper notification with feedback. No need then to pollute the logger
911
- logger.error(f"Could not import file {self.file.name} (parser/handler: {self.parser_handler})")
914
+ logger.error(
915
+ "Data import failed: Processing error during file parsing and handling.",
916
+ extra={"import_source": self, "parser_handler": self.parser_handler, "detail": e},
917
+ )
912
918
 
913
919
  self.notify()
914
920
 
@@ -4,11 +4,11 @@ from inspect import isfunction
4
4
 
5
5
  import tablib
6
6
  from django.template import Context, Template
7
+ from django.utils.module_loading import import_string
7
8
  from import_export import resources
8
9
 
9
10
  from wbcore.serializers import ListSerializer
10
11
  from wbcore.serializers.fields.related import ListSerializer as RelatedListSerializer
11
- from wbcore.utils.importlib import import_from_dotted_path
12
12
 
13
13
 
14
14
  class ExportResourceMixin:
@@ -84,7 +84,7 @@ class ViewResource(ExportResourceMixin, resources.Resource):
84
84
  super().__init__(**kwargs)
85
85
  # in that case, serializer_class is lazy loaded,
86
86
  if serializer_class_path:
87
- serializer_class = import_from_dotted_path(serializer_class_path)
87
+ serializer_class = import_string(serializer_class_path)
88
88
  if isfunction(serializer_class):
89
89
  serializer_class = serializer_class(*serializer_class_method_args)
90
90
  if not serializer_class:
@@ -0,0 +1,7 @@
1
+ from wbcore.configs.registry import ConfigRegistry
2
+
3
+
4
+ def test_notifications_config(config_registry: ConfigRegistry, api_request):
5
+ notifications = config_registry.get_config_dict(api_request)["notifications"]
6
+ assert notifications["endpoint"]
7
+ assert notifications["token"]
@@ -0,0 +1,6 @@
1
+ from wbcore.configs.registry import ConfigRegistry
2
+
3
+
4
+ def test_workflow_config(config_registry: ConfigRegistry, api_request):
5
+ workflow = config_registry.get_config_dict(api_request)["workflow"]
6
+ assert workflow["endpoint"]
@@ -69,12 +69,17 @@ class ButtonViewConfig(WBCoreViewConfig):
69
69
  return getattr(self.view, "FSM_BUTTONS", set())
70
70
 
71
71
  # Create Button Configuration
72
- CREATE_BUTTONS = frozenset({Button.SAVE.value})
72
+ CREATE_BUTTONS = frozenset(
73
+ {
74
+ Button.SAVE.value,
75
+ Button.SAVE_AND_CLOSE.value,
76
+ Button.SAVE_AND_NEW.value,
77
+ }
78
+ )
73
79
  CREATE_BUTTONS_ORDERING = [
74
80
  Button.SAVE.value,
75
81
  Button.SAVE_AND_CLOSE.value,
76
82
  Button.SAVE_AND_NEW.value,
77
- Button.RESET.value,
78
83
  ]
79
84
 
80
85
  def get_create_buttons(self) -> Iterable:
@@ -4,15 +4,15 @@ from django.conf import settings
4
4
  from django.contrib.auth.models import Group
5
5
  from django.db.models import QuerySet
6
6
  from django.utils.functional import cached_property
7
+ from django.utils.module_loading import import_string
7
8
 
8
9
  from wbcore.contrib.authentication.models import User
9
- from wbcore.utils.importlib import import_from_dotted_path
10
10
 
11
11
 
12
12
  class UserBackendRegistry:
13
13
  def __init__(self):
14
14
  internal_users_backend_path = getattr(settings, "USER_BACKEND", "wbcore.permissions.backend.UserBackend")
15
- internal_users_backend_class = import_from_dotted_path(internal_users_backend_path)
15
+ internal_users_backend_class = import_string(internal_users_backend_path)
16
16
  self.backend = internal_users_backend_class()
17
17
 
18
18
  @cached_property
@@ -43,10 +43,12 @@ pre_migrate.connect(app_pre_migration)
43
43
 
44
44
  @pytest.fixture()
45
45
  def config_registry():
46
- request = APIRequestFactory().get("/")
47
- registry = ConfigRegistry(request)
46
+ registry = ConfigRegistry()
48
47
  return registry
49
48
 
49
+ @pytest.fixture()
50
+ def api_request():
51
+ return APIRequestFactory().get("/")
50
52
 
51
53
  @pytest.fixture
52
54
  def chrome_options(chrome_options):
@@ -6,37 +6,37 @@ from wbcore.configs.registry import ConfigRegistry
6
6
  from wbcore.configs.views import ConfigAPIView
7
7
 
8
8
 
9
- def test_registry(config_registry: ConfigRegistry):
10
- configs = config_registry.get_config_dict()
9
+ def test_registry(config_registry: ConfigRegistry, api_request):
10
+ configs = config_registry.get_config_dict(api_request)
11
11
  assert configs.keys()
12
12
 
13
13
 
14
- def test_release_note_config(config_registry: ConfigRegistry):
15
- release_notes = config_registry.get_config_dict()["release_notes"]
14
+ def test_release_note_config(config_registry: ConfigRegistry, api_request):
15
+ release_notes = config_registry.get_config_dict(api_request)["release_notes"]
16
16
  assert release_notes["endpoint"]
17
17
  assert release_notes["unread_release_notes"]
18
18
 
19
19
 
20
- def test_menu_config(config_registry: ConfigRegistry):
21
- menu = config_registry.get_config_dict()["menu"]
20
+ def test_menu_config(config_registry: ConfigRegistry, api_request):
21
+ menu = config_registry.get_config_dict(api_request)["menu"]
22
22
  assert menu
23
23
 
24
24
 
25
- def test_share_config(config_registry: ConfigRegistry):
26
- share = config_registry.get_config_dict()["share"]
25
+ def test_share_config(config_registry: ConfigRegistry, api_request):
26
+ share = config_registry.get_config_dict(api_request)["share"]
27
27
  assert share
28
28
 
29
29
 
30
- def test_menu_calendar_config(config_registry: ConfigRegistry):
31
- menu_calendar = config_registry.get_config_dict()["menu_calendar"]
30
+ def test_menu_calendar_config(config_registry: ConfigRegistry, api_request):
31
+ menu_calendar = config_registry.get_config_dict(api_request)["menu_calendar"]
32
32
  assert menu_calendar
33
33
 
34
34
 
35
35
  @pytest.mark.parametrize("text, version", [("Foo bar", "Foo")])
36
- def test_beta_button_config(config_registry: ConfigRegistry, text, version):
36
+ def test_beta_button_config(config_registry: ConfigRegistry, text, version, api_request):
37
37
  settings.BETA_BUTTON_VERSION = version
38
38
  settings.BETA_BUTTON_TEXT = text
39
- beta_calendar = config_registry.get_config_dict()["beta_button"]
39
+ beta_calendar = config_registry.get_config_dict(api_request)["beta_button"]
40
40
  assert beta_calendar["url"] == f"{settings.CDN_BASE_ENDPOINT_URL}/{version}/main.js"
41
41
  assert beta_calendar["text"] == text
42
42
 
@@ -0,0 +1,4 @@
1
+ def parse_signal_received_for_module(receiver_response) -> tuple[str, any]:
2
+ for receiver, response in receiver_response:
3
+ if response:
4
+ yield receiver.__module__.split(".", 1)[0], response
@@ -1,6 +0,0 @@
1
- from wbcore.configs.registry import ConfigRegistry
2
-
3
-
4
- def test_authentication_config(config_registry: ConfigRegistry):
5
- authentication = config_registry.get_config_dict()["authentication"]
6
- assert authentication
@@ -1,6 +0,0 @@
1
- from wbcore.configs.registry import ConfigRegistry
2
-
3
-
4
- def test_profile_config(config_registry: ConfigRegistry):
5
- profile = config_registry.get_config_dict()["profile"]
6
- assert profile
@@ -1,7 +0,0 @@
1
- from wbcore.configs.registry import ConfigRegistry
2
-
3
-
4
- def test_notifications_config(config_registry: ConfigRegistry):
5
- notifications = config_registry.get_config_dict()["notifications"]
6
- assert notifications["endpoint"]
7
- assert notifications["token"]
@@ -1,6 +0,0 @@
1
- from wbcore.configs.registry import ConfigRegistry
2
-
3
-
4
- def test_workflow_config(config_registry: ConfigRegistry):
5
- workflow = config_registry.get_config_dict()["workflow"]
6
- assert workflow["endpoint"]
@@ -1,13 +0,0 @@
1
- from importlib import import_module
2
- from typing import Callable, Type, Union
3
-
4
-
5
- def import_from_dotted_path(path: str) -> Union[Type, Callable]:
6
- *module_path, name = path.split(".")
7
- return getattr(import_module(".".join(module_path)), name)
8
-
9
-
10
- def parse_signal_received_for_module(receiver_response) -> tuple[str, any]:
11
- for receiver, response in receiver_response:
12
- if response:
13
- yield receiver.__module__.split(".", 1)[0], response
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes