wbcore 2.2.2__tar.gz → 2.2.4__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 (1217) hide show
  1. wbcore-2.2.4/.coveragerc +25 -0
  2. wbcore-2.2.4/.gitlab-ci.yml +29 -0
  3. wbcore-2.2.4/.python-version +1 -0
  4. {wbcore-2.2.2 → wbcore-2.2.4}/PKG-INFO +1 -1
  5. wbcore-2.2.4/Procfile +2 -0
  6. wbcore-2.2.4/check_release_notes.py +26 -0
  7. wbcore-2.2.4/docs/buttons.md +49 -0
  8. wbcore-2.2.4/docs/concept.md +12 -0
  9. wbcore-2.2.4/docs/display.md +68 -0
  10. wbcore-2.2.4/docs/filters.md +127 -0
  11. wbcore-2.2.4/docs/getting_started.md +122 -0
  12. wbcore-2.2.4/docs/index.md +4 -0
  13. wbcore-2.2.4/docs/menu.md +105 -0
  14. wbcore-2.2.4/docs/metadata/concept.md +32 -0
  15. wbcore-2.2.4/docs/metadata/configs/endpoints.md +56 -0
  16. wbcore-2.2.4/docs/metadata/configs/fields.md +18 -0
  17. wbcore-2.2.4/docs/metadata/configs/filter_fields.md +8 -0
  18. wbcore-2.2.4/docs/metadata/configs/identifiers.md +33 -0
  19. wbcore-2.2.4/docs/metadata/configs/ordering_fields.md +30 -0
  20. wbcore-2.2.4/docs/metadata/configs/pagination.md +10 -0
  21. wbcore-2.2.4/docs/metadata/configs/primary_key.md +8 -0
  22. wbcore-2.2.4/docs/metadata/configs/search_fields.md +22 -0
  23. wbcore-2.2.4/docs/metadata/configs/titles.md +55 -0
  24. wbcore-2.2.4/docs/metadata/configs/type.md +7 -0
  25. wbcore-2.2.4/docs/metadata/getting_started.md +17 -0
  26. wbcore-2.2.4/docs/serializers.md +81 -0
  27. wbcore-2.2.4/docs/share.md +46 -0
  28. wbcore-2.2.4/docs/signals.md +54 -0
  29. wbcore-2.2.4/docs/tests.md +209 -0
  30. wbcore-2.2.4/docs/viewsets.md +25 -0
  31. wbcore-2.2.4/gunicorn_conf.py +65 -0
  32. wbcore-2.2.4/manage.py +11 -0
  33. wbcore-2.2.4/mkdocs.yml +19 -0
  34. {wbcore-2.2.2 → wbcore-2.2.4}/pyproject.toml +6 -6
  35. wbcore-2.2.4/pytest.ini +5 -0
  36. {wbcore-2.2.2/wbcore/contrib/authentication/tests → wbcore-2.2.4/wbcore/contrib/ai/llm}/__init__.py +0 -0
  37. {wbcore-2.2.2/wbcore/contrib/currency/import_export/parsers → wbcore-2.2.4/wbcore/contrib/color/migrations}/__init__.py +0 -0
  38. {wbcore-2.2.2/wbcore/contrib/currency/migrations → wbcore-2.2.4/wbcore/contrib/currency/import_export}/__init__.py +0 -0
  39. {wbcore-2.2.2/wbcore/contrib/currency/release_notes → wbcore-2.2.4/wbcore/contrib/currency/import_export/parsers}/__init__.py +0 -0
  40. {wbcore-2.2.2/wbcore/contrib/directory/tests → wbcore-2.2.4/wbcore/contrib/directory}/__init__.py +0 -0
  41. {wbcore-2.2.2/wbcore/contrib/documents/release_notes → wbcore-2.2.4/wbcore/contrib/directory/tests}/__init__.py +0 -0
  42. {wbcore-2.2.2/wbcore/contrib/io → wbcore-2.2.4/wbcore/contrib/gleap/tests}/__init__.py +0 -0
  43. {wbcore-2.2.2/wbcore/contrib/io/migrations → wbcore-2.2.4/wbcore/contrib/guardian/tests}/__init__.py +0 -0
  44. {wbcore-2.2.2/wbcore/contrib/io/release_notes → wbcore-2.2.4/wbcore/contrib/io}/__init__.py +0 -0
  45. {wbcore-2.2.2/wbcore/contrib/notifications → wbcore-2.2.4/wbcore/contrib/io/migrations}/__init__.py +0 -0
  46. wbcore-2.2.4/wbcore/tests/test_new_display/test_sections.py +0 -0
  47. wbcore-2.2.4/wbcore/tests/test_serializers/__init__.py +0 -0
  48. wbcore-2.2.4/wbcore/tests/test_utils/__init__.py +0 -0
  49. wbcore-2.2.4/wbcore_config/__init__.py +3 -0
  50. wbcore-2.2.4/wbcore_config/celery.py +15 -0
  51. wbcore-2.2.4/wbcore_config/menu.py +6 -0
  52. wbcore-2.2.4/wbcore_config/settings.py +40 -0
  53. wbcore-2.2.4/wbcore_config/urls.py +26 -0
  54. wbcore-2.2.4/wbcore_config/wsgi.py +9 -0
  55. {wbcore-2.2.2 → wbcore-2.2.4}/.gitignore +0 -0
  56. /wbcore-2.2.2/wbcore/cache/__init__.py → /wbcore-2.2.4/docs/metadata/configs/buttons.md +0 -0
  57. /wbcore-2.2.2/wbcore/content_type/__init__.py → /wbcore-2.2.4/docs/metadata/configs/display.md +0 -0
  58. /wbcore-2.2.2/wbcore/contrib/__init__.py → /wbcore-2.2.4/docs/workflow.md +0 -0
  59. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/__init__.py +0 -0
  60. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/admin.py +0 -0
  61. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/apps.py +0 -0
  62. {wbcore-2.2.2/wbcore/contrib/agenda → wbcore-2.2.4/wbcore/cache}/__init__.py +0 -0
  63. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/cache/buttons.py +0 -0
  64. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/cache/decorators.py +0 -0
  65. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/cache/mixins.py +0 -0
  66. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/cache/registry.py +0 -0
  67. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/cache/views.py +0 -0
  68. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configs/__init__.py +0 -0
  69. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configs/configs.py +0 -0
  70. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configs/decorators.py +0 -0
  71. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configs/registry.py +0 -0
  72. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configs/views.py +0 -0
  73. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/__init__.py +0 -0
  74. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/base.py +0 -0
  75. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/__init__.py +0 -0
  76. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/apps.py +0 -0
  77. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/authentication.py +0 -0
  78. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/base.py +0 -0
  79. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/cache.py +0 -0
  80. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/celery.py +0 -0
  81. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/i18nl10n.py +0 -0
  82. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/mail.py +0 -0
  83. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/maintenance.py +0 -0
  84. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/media.py +0 -0
  85. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/middleware.py +0 -0
  86. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/network.py +0 -0
  87. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/rest_framework.py +0 -0
  88. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/static.py +0 -0
  89. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/templates.py +0 -0
  90. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/uvicorn.py +0 -0
  91. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/configurations/configurations/wbcore.py +0 -0
  92. {wbcore-2.2.2/wbcore/contrib/agenda/migrations → wbcore-2.2.4/wbcore/content_type}/__init__.py +0 -0
  93. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/content_type/admin.py +0 -0
  94. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/content_type/filters.py +0 -0
  95. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/content_type/serializers.py +0 -0
  96. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/content_type/utils.py +0 -0
  97. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/content_type/viewsets.py +0 -0
  98. {wbcore-2.2.2/wbcore/contrib/agenda/release_notes → wbcore-2.2.4/wbcore/contrib}/__init__.py +0 -0
  99. {wbcore-2.2.2/wbcore/contrib/agenda/tests → wbcore-2.2.4/wbcore/contrib/agenda}/__init__.py +0 -0
  100. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/admin/__init__.py +0 -0
  101. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/admin/calendar_item.py +0 -0
  102. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/admin/conference_room.py +0 -0
  103. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/apps.py +0 -0
  104. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/configurations.py +0 -0
  105. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/factories/__init__.py +0 -0
  106. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/factories/calendar_item.py +0 -0
  107. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/factories/conference_room.py +0 -0
  108. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/filters/__init__.py +0 -0
  109. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/filters/calendar_item.py +0 -0
  110. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/filters/conference_room.py +0 -0
  111. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po +0 -0
  112. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0001_initial.py +0 -0
  113. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0002_initial.py +0 -0
  114. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0003_calendaritem_endpoint_basename.py +0 -0
  115. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0004_alter_calendaritem_item_type.py +0 -0
  116. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0005_building_and_more.py +0 -0
  117. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0006_calendaritem_is_deletable.py +0 -0
  118. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0007_alter_calendaritem_options.py +0 -0
  119. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0008_alter_calendaritem_item_type.py +0 -0
  120. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/migrations/0009_alter_calendaritem_icon.py +0 -0
  121. {wbcore-2.2.2/wbcore/contrib/ai → wbcore-2.2.4/wbcore/contrib/agenda/migrations}/__init__.py +0 -0
  122. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/models/__init__.py +0 -0
  123. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/models/calendar_item.py +0 -0
  124. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/models/conference_room.py +0 -0
  125. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/release_notes/1_0_0.md +0 -0
  126. {wbcore-2.2.2/wbcore/contrib/ai/llm → wbcore-2.2.4/wbcore/contrib/agenda/release_notes}/__init__.py +0 -0
  127. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/serializers/__init__.py +0 -0
  128. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/serializers/calendar_item.py +0 -0
  129. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/serializers/conference_room.py +0 -0
  130. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/signals.py +0 -0
  131. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/static/agenda/markdown/documentation/building.md +0 -0
  132. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/static/agenda/markdown/documentation/conferenceroom.md +0 -0
  133. {wbcore-2.2.2/wbcore/contrib/authentication/migrations → wbcore-2.2.4/wbcore/contrib/agenda/tests}/__init__.py +0 -0
  134. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/tests/conftest.py +0 -0
  135. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/tests/signals.py +0 -0
  136. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/tests/test_models.py +0 -0
  137. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/tests/test_viewsets.py +0 -0
  138. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/tests/tests.py +0 -0
  139. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/typings.py +0 -0
  140. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/urls.py +0 -0
  141. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/__init__.py +0 -0
  142. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/buttons/__init__.py +0 -0
  143. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/buttons/conference_room.py +0 -0
  144. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/calendar_items.py +0 -0
  145. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/conference_room.py +0 -0
  146. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/display/__init__.py +0 -0
  147. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/display/calendar_items.py +0 -0
  148. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/display/conference_room.py +0 -0
  149. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/endpoints/__init__.py +0 -0
  150. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/endpoints/calendar_items.py +0 -0
  151. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/menu/__init__.py +0 -0
  152. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/menu/calendar_items.py +0 -0
  153. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/menu/conference_room.py +0 -0
  154. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/titles/__init__.py +0 -0
  155. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/titles/calendar_items.py +0 -0
  156. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/agenda/viewsets/titles/conference_room.py +0 -0
  157. {wbcore-2.2.2/wbcore/contrib/authentication/release_notes → wbcore-2.2.4/wbcore/contrib/ai}/__init__.py +0 -0
  158. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/ai/apps.py +0 -0
  159. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/ai/exceptions.py +0 -0
  160. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/ai/llm/config.py +0 -0
  161. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/ai/llm/decorators.py +0 -0
  162. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/ai/llm/mixins.py +0 -0
  163. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/ai/llm/utils.py +0 -0
  164. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/__init__.py +0 -0
  165. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/admin.py +0 -0
  166. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/apps.py +0 -0
  167. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/authentication.py +0 -0
  168. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/configs.py +0 -0
  169. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/configurations.py +0 -0
  170. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/dynamic_preferences_registry.py +0 -0
  171. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/factories/__init__.py +0 -0
  172. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/factories/tokens.py +0 -0
  173. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/factories/users.py +0 -0
  174. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/factories/users_activities.py +0 -0
  175. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/filters.py +0 -0
  176. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/fixtures/authentication.json +0 -0
  177. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po +0 -0
  178. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/management/__init__.py +0 -0
  179. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/migrations/0001_initial_squashed.py +0 -0
  180. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/migrations/0002_profile.py +0 -0
  181. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/migrations/0003_alter_user_profile.py +0 -0
  182. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/migrations/0004_token.py +0 -0
  183. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/migrations/0005_user_external_calendar_settings.py +0 -0
  184. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/migrations/0006_auto_20231206_1422.py +0 -0
  185. {wbcore-2.2.2/wbcore/contrib/color → wbcore-2.2.4/wbcore/contrib/authentication}/migrations/__init__.py +0 -0
  186. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/models/__init__.py +0 -0
  187. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/models/tokens.py +0 -0
  188. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/models/users.py +0 -0
  189. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/models/users_activities.py +0 -0
  190. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/release_notes/1_0_0.md +0 -0
  191. {wbcore-2.2.2/wbcore/contrib/currency → wbcore-2.2.4/wbcore/contrib/authentication/release_notes}/__init__.py +0 -0
  192. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/serializers/__init__.py +0 -0
  193. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/serializers/users.py +0 -0
  194. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/serializers/users_activites.py +0 -0
  195. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tasks.py +0 -0
  196. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/activate_confirm.html +0 -0
  197. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/base.html +0 -0
  198. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/email_base_template.html +0 -0
  199. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/password_reset_done.html +0 -0
  200. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/password_reset_email.html +0 -0
  201. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/password_reset_email_html.html +0 -0
  202. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/password_reset_form.html +0 -0
  203. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/password_reset_sent.html +0 -0
  204. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/reset_password.html +0 -0
  205. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/templates/user_registration_email.html +0 -0
  206. {wbcore-2.2.2/wbcore/contrib/currency/import_export → wbcore-2.2.4/wbcore/contrib/authentication/tests}/__init__.py +0 -0
  207. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/conftest.py +0 -0
  208. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/e2e/__init__.py +0 -0
  209. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/e2e/e2e_auth_utility.py +0 -0
  210. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/signals.py +0 -0
  211. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/test_configs.py +0 -0
  212. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/test_serializers.py +0 -0
  213. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/test_tasks.py +0 -0
  214. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/test_tokens.py +0 -0
  215. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/test_users.py +0 -0
  216. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/test_viewsets.py +0 -0
  217. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/tests/tests.py +0 -0
  218. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/urls.py +0 -0
  219. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/utils.py +0 -0
  220. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/__init__.py +0 -0
  221. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/buttons/__init__.py +0 -0
  222. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/buttons/users.py +0 -0
  223. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/display/__init__.py +0 -0
  224. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/display/user_activities.py +0 -0
  225. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/display/users.py +0 -0
  226. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/endpoints/__init__.py +0 -0
  227. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/endpoints/user_activities.py +0 -0
  228. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/endpoints/users.py +0 -0
  229. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/menu/__init__.py +0 -0
  230. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/menu/user_activities.py +0 -0
  231. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/menu/users.py +0 -0
  232. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/titles/__init__.py +0 -0
  233. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/titles/user_activities.py +0 -0
  234. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/titles/users.py +0 -0
  235. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/user_activities.py +0 -0
  236. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/authentication/viewsets/users.py +0 -0
  237. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/admin.py +0 -0
  238. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/apps.py +0 -0
  239. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/enums.py +0 -0
  240. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/factories.py +0 -0
  241. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/fields.py +0 -0
  242. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/forms.py +0 -0
  243. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/migrations/0001_initial.py +0 -0
  244. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/migrations/0002_alter_colorgradient_colors.py +0 -0
  245. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/models.py +0 -0
  246. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/tests/conftest.py +0 -0
  247. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/tests/test_color_models.py +0 -0
  248. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/color/tests/test_fields.py +0 -0
  249. {wbcore-2.2.2/wbcore/contrib/currency/import_export/parsers/fixerio → wbcore-2.2.4/wbcore/contrib/currency}/__init__.py +0 -0
  250. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/admin.py +0 -0
  251. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/apps.py +0 -0
  252. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/dynamic_preferences_registry.py +0 -0
  253. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/factories.py +0 -0
  254. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/fixtures/currency.yaml +0 -0
  255. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/fixtures/currency_fx_rate.yaml +0 -0
  256. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/backends/__init__.py +0 -0
  257. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/backends/fixerio/__init__.py +0 -0
  258. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/backends/fixerio/currency_fx_rates.py +0 -0
  259. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/backends/utils.py +0 -0
  260. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/handlers/__init__.py +0 -0
  261. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/handlers/currency.py +0 -0
  262. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/handlers/currency_fx_rates.py +0 -0
  263. {wbcore-2.2.2/wbcore/contrib/currency/tests → wbcore-2.2.4/wbcore/contrib/currency/import_export/parsers/fixerio}/__init__.py +0 -0
  264. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/import_export/parsers/fixerio/currency_fx_rates.py +0 -0
  265. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/migrations/0001_initial.py +0 -0
  266. {wbcore-2.2.2/wbcore/contrib/currency/viewsets/buttons → wbcore-2.2.4/wbcore/contrib/currency/migrations}/__init__.py +0 -0
  267. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/models.py +0 -0
  268. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/release_notes/1_0_0.md +0 -0
  269. {wbcore-2.2.2/wbcore/contrib/dataloader/tests → wbcore-2.2.4/wbcore/contrib/currency/release_notes}/__init__.py +0 -0
  270. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/serializers.py +0 -0
  271. {wbcore-2.2.2/wbcore/contrib/dataloader/tests/test → wbcore-2.2.4/wbcore/contrib/currency/tests}/__init__.py +0 -0
  272. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/tests/conftest.py +0 -0
  273. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/tests/test_models.py +0 -0
  274. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/tests/test_serializers.py +0 -0
  275. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/tests/test_viewsets.py +0 -0
  276. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/urls.py +0 -0
  277. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/__init__.py +0 -0
  278. {wbcore-2.2.2/wbcore/contrib/dataloader/tests/test/dataloaders → wbcore-2.2.4/wbcore/contrib/currency/viewsets/buttons}/__init__.py +0 -0
  279. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/currency.py +0 -0
  280. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/currency_fx_rates.py +0 -0
  281. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/display/__init__.py +0 -0
  282. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/display/currency.py +0 -0
  283. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/display/currency_fx_rates.py +0 -0
  284. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/endpoints/__init__.py +0 -0
  285. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/endpoints/currency_fx_rates.py +0 -0
  286. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/menu/__init__.py +0 -0
  287. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/menu/currency.py +0 -0
  288. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/preview/__init__.py +0 -0
  289. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/preview/currency.py +0 -0
  290. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/titles/__init__.py +0 -0
  291. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/titles/currency.py +0 -0
  292. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/currency/viewsets/titles/currency_fx_rates.py +0 -0
  293. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/__init__.py +0 -0
  294. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/apps.py +0 -0
  295. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/dataloaders/__init__.py +0 -0
  296. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/dataloaders/dataloaders.py +0 -0
  297. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/dataloaders/proxies.py +0 -0
  298. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/models/__init__.py +0 -0
  299. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/models/entities.py +0 -0
  300. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/models/querysets/__init__.py +0 -0
  301. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/models/querysets/entities.py +0 -0
  302. {wbcore-2.2.2/wbcore/contrib/directory → wbcore-2.2.4/wbcore/contrib/dataloader/tests}/__init__.py +0 -0
  303. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/conftest.py +0 -0
  304. {wbcore-2.2.2/wbcore/contrib/directory/migrations → wbcore-2.2.4/wbcore/contrib/dataloader/tests/test}/__init__.py +0 -0
  305. {wbcore-2.2.2/wbcore/contrib/directory/release_notes → wbcore-2.2.4/wbcore/contrib/dataloader/tests/test/dataloaders}/__init__.py +0 -0
  306. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/test/dataloaders/dataloaders.py +0 -0
  307. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/test/dataloaders/protocols.py +0 -0
  308. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/test/dataloaders/proxies.py +0 -0
  309. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/test/factories.py +0 -0
  310. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/test/models.py +0 -0
  311. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/test_dataloaders.py +0 -0
  312. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/tests/test_entities.py +0 -0
  313. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dataloader/utils.py +0 -0
  314. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/admin/__init__.py +0 -0
  315. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/admin/contacts.py +0 -0
  316. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/admin/entries.py +0 -0
  317. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/admin/relationships.py +0 -0
  318. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/apps.py +0 -0
  319. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/configs.py +0 -0
  320. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/configurations.py +0 -0
  321. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/dynamic_preferences_registry.py +0 -0
  322. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/factories/__init__.py +0 -0
  323. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/factories/contacts.py +0 -0
  324. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/factories/entries.py +0 -0
  325. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/factories/relationships.py +0 -0
  326. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/filters/__init__.py +0 -0
  327. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/filters/contacts.py +0 -0
  328. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/filters/entries.py +0 -0
  329. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/filters/relationships.py +0 -0
  330. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/fixtures/directory.json +0 -0
  331. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po +0 -0
  332. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0001_initial.py +0 -0
  333. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0002_auto_20230414_1553.py +0 -0
  334. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0003_remove_entry_last_event.py +0 -0
  335. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0004_entry_is_draft_entry.py +0 -0
  336. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0005_entry_salutation.py +0 -0
  337. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0006_employeremployeerelationship_position_name.py +0 -0
  338. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0007_alter_bankingcontact_options.py +0 -0
  339. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0008_bankingcontact_access.py +0 -0
  340. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/migrations/0009_remove_entry_external_identfier_and_more.py +0 -0
  341. {wbcore-2.2.2/wbcore/contrib/documents → wbcore-2.2.4/wbcore/contrib/directory/migrations}/__init__.py +0 -0
  342. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/models/__init__.py +0 -0
  343. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/models/contacts.py +0 -0
  344. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/models/entries.py +0 -0
  345. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/models/relationships.py +0 -0
  346. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/preferences.py +0 -0
  347. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/release_notes/1_0_0.md +0 -0
  348. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/release_notes/1_0_1.md +0 -0
  349. {wbcore-2.2.2/wbcore/contrib/documents/migrations → wbcore-2.2.4/wbcore/contrib/directory/release_notes}/__init__.py +0 -0
  350. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/serializers/__init__.py +0 -0
  351. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/serializers/companies.py +0 -0
  352. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/serializers/contacts.py +0 -0
  353. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/serializers/entries.py +0 -0
  354. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/serializers/entry_representations.py +0 -0
  355. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/serializers/persons.py +0 -0
  356. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/serializers/relationships.py +0 -0
  357. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/signals.py +0 -0
  358. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/address.md +0 -0
  359. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/banking.md +0 -0
  360. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/bankingentry.md +0 -0
  361. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/clientmanagerrelationship.md +0 -0
  362. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/company.md +0 -0
  363. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/companytype.md +0 -0
  364. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/customerstatus.md +0 -0
  365. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/email.md +0 -0
  366. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/employeecompany.md +0 -0
  367. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/employerperson.md +0 -0
  368. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/person.md +0 -0
  369. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/position.md +0 -0
  370. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/relationshiptype.md +0 -0
  371. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/socialmedia.md +0 -0
  372. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/specialization.md +0 -0
  373. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/systememployee.md +0 -0
  374. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/telephone.md +0 -0
  375. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/telephonesearch.md +0 -0
  376. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/userisclient.md +0 -0
  377. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/userismanager.md +0 -0
  378. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/static/directory/markdown/documentation/website.md +0 -0
  379. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/conftest.py +0 -0
  380. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/disable_signals.py +0 -0
  381. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/e2e/__init__.py +0 -0
  382. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/e2e/e2e_directory_utility.py +0 -0
  383. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/signals.py +0 -0
  384. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/test_configs.py +0 -0
  385. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/test_filters.py +0 -0
  386. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/test_models.py +0 -0
  387. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/test_permissions.py +0 -0
  388. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/test_serializers.py +0 -0
  389. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/test_viewsets.py +0 -0
  390. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/tests/tests.py +0 -0
  391. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/typings.py +0 -0
  392. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/urls.py +0 -0
  393. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/__init__.py +0 -0
  394. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/buttons/__init__.py +0 -0
  395. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/buttons/contacts.py +0 -0
  396. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/buttons/entries.py +0 -0
  397. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/buttons/relationships.py +0 -0
  398. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/contacts.py +0 -0
  399. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/display/__init__.py +0 -0
  400. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/display/contacts.py +0 -0
  401. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/display/entries.py +0 -0
  402. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/display/relationships.py +0 -0
  403. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/display/utils.py +0 -0
  404. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/endpoints/__init__.py +0 -0
  405. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/endpoints/contacts.py +0 -0
  406. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/endpoints/entries.py +0 -0
  407. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/endpoints/relationships.py +0 -0
  408. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/entries.py +0 -0
  409. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/menu/__init__.py +0 -0
  410. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/menu/contacts.py +0 -0
  411. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/menu/entries.py +0 -0
  412. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/menu/relationships.py +0 -0
  413. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/menu/utils.py +0 -0
  414. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/mixins.py +0 -0
  415. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/previews/__init__.py +0 -0
  416. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/previews/contacts.py +0 -0
  417. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/previews/entries.py +0 -0
  418. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/relationships.py +0 -0
  419. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/titles/__init__.py +0 -0
  420. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/titles/contacts.py +0 -0
  421. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/titles/entries.py +0 -0
  422. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/titles/relationships.py +0 -0
  423. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/titles/utils.py +0 -0
  424. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/directory/viewsets/utils.py +0 -0
  425. {wbcore-2.2.2/wbcore/contrib/dynamic_preferences → wbcore-2.2.4/wbcore/contrib/documents}/__init__.py +0 -0
  426. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/admin.py +0 -0
  427. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/apps.py +0 -0
  428. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/factories.py +0 -0
  429. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/filters.py +0 -0
  430. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/fixtures/docments.json +0 -0
  431. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po +0 -0
  432. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/migrations/0001_initial.py +0 -0
  433. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/migrations/0002_documentmodelrelationship_primary_and_more.py +0 -0
  434. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/migrations/0003_alter_documentmodelrelationship_unique_together_and_more.py +0 -0
  435. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/migrations/0004_auto_20240103_0958.py +0 -0
  436. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/migrations/0005_document_valid_from_document_valid_until_and_more.py +0 -0
  437. {wbcore-2.2.2/wbcore/contrib/example_app → wbcore-2.2.4/wbcore/contrib/documents/migrations}/__init__.py +0 -0
  438. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/models/__init__.py +0 -0
  439. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/models/document_model_relationships.py +0 -0
  440. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/models/document_types.py +0 -0
  441. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/models/documents.py +0 -0
  442. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/models/mixins.py +0 -0
  443. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/models/shareable_links.py +0 -0
  444. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/release_notes/1_0_0.md +0 -0
  445. {wbcore-2.2.2/wbcore/contrib/example_app/migrations → wbcore-2.2.4/wbcore/contrib/documents/release_notes}/__init__.py +0 -0
  446. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/serializers/__init__.py +0 -0
  447. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/serializers/document_model_relationships.py +0 -0
  448. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/serializers/document_types.py +0 -0
  449. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/serializers/documents.py +0 -0
  450. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/serializers/shareable_links.py +0 -0
  451. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/static/documents/markdown/documentation/document_types.md +0 -0
  452. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/static/documents/markdown/documentation/documents.md +0 -0
  453. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/static/documents/markdown/documentation/shareablelink.md +0 -0
  454. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/static/documents/markdown/documentation/shareablelinkaccess.md +0 -0
  455. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/tests/conftest.py +0 -0
  456. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/tests/test_models.py +0 -0
  457. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/urls.py +0 -0
  458. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/__init__.py +0 -0
  459. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/buttons/__init__.py +0 -0
  460. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/buttons/documents.py +0 -0
  461. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/buttons/shareable_links.py +0 -0
  462. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/buttons/signals.py +0 -0
  463. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/display/__init__.py +0 -0
  464. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/display/document_model_relationships.py +0 -0
  465. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/display/document_types.py +0 -0
  466. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/display/documents.py +0 -0
  467. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/display/shareable_links.py +0 -0
  468. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/document_model_relationships.py +0 -0
  469. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/document_types.py +0 -0
  470. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/documents.py +0 -0
  471. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/endpoints/__init__.py +0 -0
  472. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/endpoints/documents.py +0 -0
  473. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/endpoints/documents_model_relationships.py +0 -0
  474. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/endpoints/shareable_links.py +0 -0
  475. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/menu/__init__.py +0 -0
  476. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/menu/documents.py +0 -0
  477. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/previews/__init__.py +0 -0
  478. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/previews/documents.py +0 -0
  479. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/shareable_links.py +0 -0
  480. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/titles/__init__.py +0 -0
  481. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/titles/document_types.py +0 -0
  482. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/titles/documents.py +0 -0
  483. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/documents/viewsets/titles/shareable_links.py +0 -0
  484. {wbcore-2.2.2/wbcore/contrib/example_app/tests → wbcore-2.2.4/wbcore/contrib/dynamic_preferences}/__init__.py +0 -0
  485. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/dynamic_preferences/types.py +0 -0
  486. {wbcore-2.2.2/wbcore/contrib/geography → wbcore-2.2.4/wbcore/contrib/example_app}/__init__.py +0 -0
  487. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/admin.py +0 -0
  488. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/apps.py +0 -0
  489. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/__init__.py +0 -0
  490. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/event.py +0 -0
  491. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/league.py +0 -0
  492. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/match.py +0 -0
  493. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/person.py +0 -0
  494. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/role.py +0 -0
  495. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/sport.py +0 -0
  496. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/stadium.py +0 -0
  497. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/factories/team.py +0 -0
  498. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/__init__.py +0 -0
  499. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/event.py +0 -0
  500. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/league.py +0 -0
  501. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/match.py +0 -0
  502. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/person.py +0 -0
  503. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/role.py +0 -0
  504. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/sport.py +0 -0
  505. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/stadium.py +0 -0
  506. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/team.py +0 -0
  507. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/filters/teamresult.py +0 -0
  508. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/fixtures/example_app.json +0 -0
  509. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/migrations/0001_initial.py +0 -0
  510. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/migrations/0002_sportperson_profile.py +0 -0
  511. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/migrations/0003_change_stadium_capacity.py +0 -0
  512. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/migrations/0004_alter_player_transfer_value.py +0 -0
  513. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/migrations/0005_sportperson_profile_image.py +0 -0
  514. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/migrations/0006_league_season_period_player_is_active_and_more.py +0 -0
  515. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/migrations/0007_alter_player_options_alter_team_options_and_more.py +0 -0
  516. {wbcore-2.2.2/wbcore/contrib/geography/import_export → wbcore-2.2.4/wbcore/contrib/example_app/migrations}/__init__.py +0 -0
  517. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/models.py +0 -0
  518. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/__init__.py +0 -0
  519. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/league.py +0 -0
  520. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/match_event.py +0 -0
  521. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/person_team.py +0 -0
  522. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/role.py +0 -0
  523. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/season.py +0 -0
  524. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/sport.py +0 -0
  525. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/stadium.py +0 -0
  526. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/serializers/teamresult.py +0 -0
  527. {wbcore-2.2.2/wbcore/contrib/geography/import_export/resources → wbcore-2.2.4/wbcore/contrib/example_app/tests}/__init__.py +0 -0
  528. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/conftest.py +0 -0
  529. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/e2e/__init__.py +0 -0
  530. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/e2e/e2e_example_app_utility.py +0 -0
  531. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/e2e/test_league.py +0 -0
  532. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/e2e/test_person.py +0 -0
  533. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/e2e/test_teams.py +0 -0
  534. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/signals.py +0 -0
  535. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_displays.py +0 -0
  536. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_filters.py +0 -0
  537. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_models/test_event.py +0 -0
  538. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_models/test_match.py +0 -0
  539. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_models/test_others.py +0 -0
  540. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_serializers/test_league_serializer.py +0 -0
  541. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_serializers/test_match_serializer.py +0 -0
  542. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_serializers/test_role_serializer.py +0 -0
  543. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_serializers/test_sport_serializer.py +0 -0
  544. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_serializers/test_stadium_serializer.py +0 -0
  545. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_serializers/test_team_result_serializer.py +0 -0
  546. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_serializers/test_team_serializer.py +0 -0
  547. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_utils.py +0 -0
  548. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_event_viewset.py +0 -0
  549. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_league_viewset.py +0 -0
  550. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_match_viewset.py +0 -0
  551. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_person_viewset.py +0 -0
  552. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_role_viewset.py +0 -0
  553. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_sport_viewset.py +0 -0
  554. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_stadium_viewset.py +0 -0
  555. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_team_viewset.py +0 -0
  556. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_teamresult_viewset.py +0 -0
  557. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/tests/test_viewsets/test_utils_viewsets.py +0 -0
  558. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/urls.py +0 -0
  559. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/utils.py +0 -0
  560. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/__init__.py +0 -0
  561. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/buttons/__init__.py +0 -0
  562. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/buttons/person.py +0 -0
  563. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/buttons/team.py +0 -0
  564. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/__init__.py +0 -0
  565. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/event.py +0 -0
  566. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/league.py +0 -0
  567. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/match.py +0 -0
  568. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/person.py +0 -0
  569. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/role.py +0 -0
  570. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/season.py +0 -0
  571. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/sport.py +0 -0
  572. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/stadium.py +0 -0
  573. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/team.py +0 -0
  574. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/displays/teamresult.py +0 -0
  575. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/endpoints/__init__.py +0 -0
  576. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/endpoints/endpoints.py +0 -0
  577. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/event.py +0 -0
  578. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/league.py +0 -0
  579. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/match.py +0 -0
  580. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/menu/__init__.py +0 -0
  581. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/menu/menus.py +0 -0
  582. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/menus.py +0 -0
  583. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/person.py +0 -0
  584. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/role.py +0 -0
  585. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/season.py +0 -0
  586. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/sport.py +0 -0
  587. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/stadium.py +0 -0
  588. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/team.py +0 -0
  589. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/teamresult.py +0 -0
  590. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/__init__.py +0 -0
  591. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/event.py +0 -0
  592. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/league.py +0 -0
  593. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/match.py +0 -0
  594. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/person.py +0 -0
  595. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/role.py +0 -0
  596. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/sport.py +0 -0
  597. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/stadium.py +0 -0
  598. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/team.py +0 -0
  599. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/example_app/viewsets/titles/teamresult.py +0 -0
  600. {wbcore-2.2.2/wbcore/contrib/geography/migrations → wbcore-2.2.4/wbcore/contrib/geography}/__init__.py +0 -0
  601. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/admin.py +0 -0
  602. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/apps.py +0 -0
  603. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/factories.py +0 -0
  604. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/fixtures/geography.json +0 -0
  605. {wbcore-2.2.2/wbcore/contrib/geography/release_notes → wbcore-2.2.4/wbcore/contrib/geography/import_export}/__init__.py +0 -0
  606. {wbcore-2.2.2/wbcore/contrib/geography/tests → wbcore-2.2.4/wbcore/contrib/geography/import_export/resources}/__init__.py +0 -0
  607. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/import_export/resources/geography.py +0 -0
  608. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/migrations/0001_initial.py +0 -0
  609. {wbcore-2.2.2/wbcore/contrib/geography/viewsets/buttons → wbcore-2.2.4/wbcore/contrib/geography/migrations}/__init__.py +0 -0
  610. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/models.py +0 -0
  611. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/release_notes/1_0_0.md +0 -0
  612. {wbcore-2.2.2/wbcore/contrib/geography/viewsets/endpoints → wbcore-2.2.4/wbcore/contrib/geography/release_notes}/__init__.py +0 -0
  613. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/serializers.py +0 -0
  614. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/static/geography/markdown/documentation/geography.md +0 -0
  615. {wbcore-2.2.2/wbcore/contrib/geography/viewsets/titles → wbcore-2.2.4/wbcore/contrib/geography/tests}/__init__.py +0 -0
  616. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/tests/conftest.py +0 -0
  617. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/tests/signals.py +0 -0
  618. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/tests/test_models.py +0 -0
  619. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/tests/test_serializers.py +0 -0
  620. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/tests/test_viewsets.py +0 -0
  621. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/tests/tests.py +0 -0
  622. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/urls.py +0 -0
  623. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/__init__.py +0 -0
  624. {wbcore-2.2.2/wbcore/contrib/gleap → wbcore-2.2.4/wbcore/contrib/geography/viewsets/buttons}/__init__.py +0 -0
  625. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/display/__init__.py +0 -0
  626. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/display/geography.py +0 -0
  627. {wbcore-2.2.2/wbcore/contrib/gleap/tests → wbcore-2.2.4/wbcore/contrib/geography/viewsets/endpoints}/__init__.py +0 -0
  628. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/geography.py +0 -0
  629. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/menu/__init__.py +0 -0
  630. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/menu/geography.py +0 -0
  631. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/preview/__init__.py +0 -0
  632. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/preview/geography.py +0 -0
  633. {wbcore-2.2.2/wbcore/contrib/guardian/migrations → wbcore-2.2.4/wbcore/contrib/geography/viewsets/titles}/__init__.py +0 -0
  634. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/geography/viewsets/titles/geography.py +0 -0
  635. {wbcore-2.2.2/wbcore/contrib/guardian/tests → wbcore-2.2.4/wbcore/contrib/gleap}/__init__.py +0 -0
  636. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/apps.py +0 -0
  637. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/configs.py +0 -0
  638. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/configurations.py +0 -0
  639. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/hashes.py +0 -0
  640. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/tests/conftest.py +0 -0
  641. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/tests/tests.py +0 -0
  642. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/urls.py +0 -0
  643. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/gleap/views.py +0 -0
  644. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/apps.py +0 -0
  645. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/configurations.py +0 -0
  646. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/filters.py +0 -0
  647. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/migrations/0001_initial.py +0 -0
  648. {wbcore-2.2.2/wbcore/contrib/io/configs → wbcore-2.2.4/wbcore/contrib/guardian/migrations}/__init__.py +0 -0
  649. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/models/__init__.py +0 -0
  650. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/models/mixins.py +0 -0
  651. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/models/models.py +0 -0
  652. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/tasks.py +0 -0
  653. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/tests/conftest.py +0 -0
  654. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/tests/test_model_mixins.py +0 -0
  655. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/tests/test_tasks.py +0 -0
  656. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/tests/test_utils.py +0 -0
  657. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/tests/test_viewsets.py +0 -0
  658. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/urls.py +0 -0
  659. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/utils.py +0 -0
  660. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/__init__.py +0 -0
  661. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/configs/__init__.py +0 -0
  662. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/configs/buttons.py +0 -0
  663. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/configs/displays.py +0 -0
  664. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/configs/endpoints.py +0 -0
  665. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/configs/titles.py +0 -0
  666. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/mixins.py +0 -0
  667. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/guardian/viewsets/viewsets.py +0 -0
  668. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/__init__.py +0 -0
  669. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/apps.py +0 -0
  670. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/backends/__init__.py +0 -0
  671. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/backends/default.py +0 -0
  672. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/backends/material.py +0 -0
  673. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/icons.py +0 -0
  674. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/models.py +0 -0
  675. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/icons/serializers.py +0 -0
  676. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/admin.py +0 -0
  677. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/apps.py +0 -0
  678. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/backends/__init__.py +0 -0
  679. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/backends/abstract.py +0 -0
  680. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/backends/mail.py +0 -0
  681. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/backends/sftp.py +0 -0
  682. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/backends/stream.py +0 -0
  683. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/backends/utils.py +0 -0
  684. {wbcore-2.2.2/wbcore/contrib/io/tests → wbcore-2.2.4/wbcore/contrib/io/configs}/__init__.py +0 -0
  685. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/configs/endpoints.py +0 -0
  686. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/configurations/__init__.py +0 -0
  687. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/configurations/base.py +0 -0
  688. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/dynamic_preferences_registry.py +0 -0
  689. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/enums.py +0 -0
  690. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/exceptions.py +0 -0
  691. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/factories.py +0 -0
  692. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/fixtures/io.json +0 -0
  693. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/imports.py +0 -0
  694. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/locale/de/LC_MESSAGES/django.po +0 -0
  695. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/management/__init__.py +0 -0
  696. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/migrations/0001_initial_squashed.py +0 -0
  697. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/migrations/0002_importsource_creator.py +0 -0
  698. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/migrations/0003_auto_20240103_1000.py +0 -0
  699. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/migrations/0004_alter_importsource_status_exportsource.py +0 -0
  700. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/migrations/0005_exportsource_data_alter_exportsource_query_str_and_more.py +0 -0
  701. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/migrations/0006_alter_exportsource_query_params.py +0 -0
  702. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/migrations/0007_alter_exportsource_query_params.py +0 -0
  703. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/mixins.py +0 -0
  704. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/models.py +0 -0
  705. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/release_notes/1_0_0.md +0 -0
  706. {wbcore-2.2.2/wbcore/contrib/notifications/backends → wbcore-2.2.4/wbcore/contrib/io/release_notes}/__init__.py +0 -0
  707. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/resources.py +0 -0
  708. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/serializers.py +0 -0
  709. {wbcore-2.2.2/wbcore/contrib/notifications/factories → wbcore-2.2.4/wbcore/contrib/io/tests}/__init__.py +0 -0
  710. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/tests/conftest.py +0 -0
  711. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/tests/test_backends.py +0 -0
  712. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/tests/test_exports.py +0 -0
  713. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/tests/test_imports.py +0 -0
  714. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/tests/test_models.py +0 -0
  715. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/tests/tests.py +0 -0
  716. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/urls.py +0 -0
  717. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/utils.py +0 -0
  718. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/viewset_mixins.py +0 -0
  719. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/io/viewsets.py +0 -0
  720. {wbcore-2.2.2/wbcore/contrib/notifications/migrations → wbcore-2.2.4/wbcore/contrib/notifications}/__init__.py +0 -0
  721. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/admin.py +0 -0
  722. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/apps.py +0 -0
  723. {wbcore-2.2.2/wbcore/contrib/notifications/release_notes → wbcore-2.2.4/wbcore/contrib/notifications/backends}/__init__.py +0 -0
  724. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/backends/abstract_backend.py +0 -0
  725. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/backends/console/__init__.py +0 -0
  726. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/backends/console/backends.py +0 -0
  727. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/backends/firebase/__init__.py +0 -0
  728. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/backends/firebase/backends.py +0 -0
  729. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/configs.py +0 -0
  730. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/configurations.py +0 -0
  731. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/dispatch.py +0 -0
  732. {wbcore-2.2.2/wbcore/contrib/notifications/tests → wbcore-2.2.4/wbcore/contrib/notifications/factories}/__init__.py +0 -0
  733. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/factories/notification_types.py +0 -0
  734. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/factories/notifications.py +0 -0
  735. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/factories/tokens.py +0 -0
  736. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +0 -0
  737. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/migrations/0001_initial.py +0 -0
  738. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/migrations/0002_notificationusertoken_unique_user_token_device.py +0 -0
  739. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/migrations/0003_notificationusertoken_updated.py +0 -0
  740. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/migrations/0004_alter_notification_body.py +0 -0
  741. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/migrations/0005_alter_notification_endpoint.py +0 -0
  742. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/migrations/0006_notification_created.py +0 -0
  743. {wbcore-2.2.2/wbcore/contrib/notifications/tests/test_backends → wbcore-2.2.4/wbcore/contrib/notifications/migrations}/__init__.py +0 -0
  744. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/models/__init__.py +0 -0
  745. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/models/notification_types.py +0 -0
  746. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/models/notifications.py +0 -0
  747. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/models/tokens.py +0 -0
  748. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/release_notes/1_0_0.md +0 -0
  749. {wbcore-2.2.2/wbcore/contrib/notifications/tests/test_models → wbcore-2.2.4/wbcore/contrib/notifications/release_notes}/__init__.py +0 -0
  750. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/serializers/__init__.py +0 -0
  751. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/serializers/notification_types.py +0 -0
  752. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/serializers/notifications.py +0 -0
  753. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/static/notifications/service-worker.js +0 -0
  754. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tasks.py +0 -0
  755. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/templates/notifications/notification_template.html +0 -0
  756. {wbcore-2.2.2/wbcore/contrib/notifications/tests/test_serializers → wbcore-2.2.4/wbcore/contrib/notifications/tests}/__init__.py +0 -0
  757. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/conftest.py +0 -0
  758. {wbcore-2.2.2/wbcore/contrib/notifications/tests/test_viewsets → wbcore-2.2.4/wbcore/contrib/notifications/tests/test_backends}/__init__.py +0 -0
  759. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_backends/test_firebase.py +0 -0
  760. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_configs.py +0 -0
  761. {wbcore-2.2.2/wbcore/contrib/tags → wbcore-2.2.4/wbcore/contrib/notifications/tests/test_models}/__init__.py +0 -0
  762. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_models/test_notification_types.py +0 -0
  763. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_models/test_notifications.py +0 -0
  764. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_models/test_tokens.py +0 -0
  765. {wbcore-2.2.2/wbcore/contrib/tags/migrations → wbcore-2.2.4/wbcore/contrib/notifications/tests/test_serializers}/__init__.py +0 -0
  766. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_serializers/test_notification_types.py +0 -0
  767. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_serializers/test_notifications.py +0 -0
  768. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_tasks.py +0 -0
  769. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_utils.py +0 -0
  770. {wbcore-2.2.2/wbcore/contrib/tags/release_notes → wbcore-2.2.4/wbcore/contrib/notifications/tests/test_viewsets}/__init__.py +0 -0
  771. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_viewsets/test_notification_types.py +0 -0
  772. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/tests/test_viewsets/test_notifications.py +0 -0
  773. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/urls.py +0 -0
  774. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/utils.py +0 -0
  775. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/views.py +0 -0
  776. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/viewsets/__init__.py +0 -0
  777. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/viewsets/configs/notification_types.py +0 -0
  778. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/viewsets/configs/notifications.py +0 -0
  779. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/viewsets/menus.py +0 -0
  780. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/viewsets/notification_types.py +0 -0
  781. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/notifications/viewsets/notifications.py +0 -0
  782. {wbcore-2.2.2/wbcore/contrib/tags/tests → wbcore-2.2.4/wbcore/contrib/tags}/__init__.py +0 -0
  783. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/admin.py +0 -0
  784. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/apps.py +0 -0
  785. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/factories.py +0 -0
  786. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/filters.py +0 -0
  787. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/migrations/0001_initial.py +0 -0
  788. {wbcore-2.2.2/wbcore/contrib/workflow → wbcore-2.2.4/wbcore/contrib/tags}/migrations/__init__.py +0 -0
  789. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/models/__init__.py +0 -0
  790. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/models/mixins.py +0 -0
  791. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/models/tags.py +0 -0
  792. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/release_notes/1_0_0.md +0 -0
  793. {wbcore-2.2.2/wbcore/contrib/workflow/tests → wbcore-2.2.4/wbcore/contrib/tags/release_notes}/__init__.py +0 -0
  794. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/serializers.py +0 -0
  795. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/signals.py +0 -0
  796. {wbcore-2.2.2/wbcore/crontab → wbcore-2.2.4/wbcore/contrib/tags/tests}/__init__.py +0 -0
  797. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/tests/conftest.py +0 -0
  798. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/tests/tests.py +0 -0
  799. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/urls.py +0 -0
  800. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/viewsets/__init__.py +0 -0
  801. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/viewsets/display.py +0 -0
  802. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/viewsets/menu.py +0 -0
  803. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/tags/viewsets/viewsets.py +0 -0
  804. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/__init__.py +0 -0
  805. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/__init__.py +0 -0
  806. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/condition.py +0 -0
  807. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/data.py +0 -0
  808. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/display.py +0 -0
  809. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/process.py +0 -0
  810. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/step.py +0 -0
  811. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/transition.py +0 -0
  812. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/admin/workflow.py +0 -0
  813. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/apps.py +0 -0
  814. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/configs.py +0 -0
  815. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/decorators.py +0 -0
  816. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/dispatch.py +0 -0
  817. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/__init__.py +0 -0
  818. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/condition.py +0 -0
  819. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/data.py +0 -0
  820. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/display.py +0 -0
  821. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/process.py +0 -0
  822. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/step.py +0 -0
  823. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/transition.py +0 -0
  824. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/factories/workflow.py +0 -0
  825. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/filters/__init__.py +0 -0
  826. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/filters/condition.py +0 -0
  827. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/filters/data.py +0 -0
  828. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/filters/process.py +0 -0
  829. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/filters/step.py +0 -0
  830. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/filters/transition.py +0 -0
  831. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/filters/workflow.py +0 -0
  832. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/fixtures/workflow.json +0 -0
  833. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +0 -0
  834. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/migrations/0001_initial.py +0 -0
  835. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/migrations/0002_alter_step_step_type.py +0 -0
  836. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/migrations/0003_alter_condition_attribute_name_and_more.py +0 -0
  837. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/migrations/0004_alter_userstep_assignee_method.py +0 -0
  838. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/migrations/0005_alter_userstep_assignee_method.py +0 -0
  839. {wbcore-2.2.2/wbcore/fsm → wbcore-2.2.4/wbcore/contrib/workflow/migrations}/__init__.py +0 -0
  840. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/__init__.py +0 -0
  841. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/condition.py +0 -0
  842. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/data.py +0 -0
  843. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/display.py +0 -0
  844. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/process.py +0 -0
  845. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/step.py +0 -0
  846. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/transition.py +0 -0
  847. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/models/workflow.py +0 -0
  848. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/__init__.py +0 -0
  849. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/condition.py +0 -0
  850. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/data.py +0 -0
  851. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/display.py +0 -0
  852. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/process.py +0 -0
  853. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/signals.py +0 -0
  854. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/step.py +0 -0
  855. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/transition.py +0 -0
  856. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/serializers/workflow.py +0 -0
  857. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/sites.py +0 -0
  858. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/assignedprocessstep.md +0 -0
  859. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/condition.md +0 -0
  860. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/decisionstep.md +0 -0
  861. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/emailstep.md +0 -0
  862. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/finishstep.md +0 -0
  863. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/joinstep.md +0 -0
  864. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/process.md +0 -0
  865. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/processstep.md +0 -0
  866. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/scriptstep.md +0 -0
  867. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/splitstep.md +0 -0
  868. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/startstep.md +0 -0
  869. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/transition.md +0 -0
  870. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/userstep.md +0 -0
  871. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/static/workflow/markdown/documentation/workflow.md +0 -0
  872. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/templates/Test_Templates.txt +0 -0
  873. {wbcore-2.2.2/wbcore/management/commands → wbcore-2.2.4/wbcore/contrib/workflow/tests}/__init__.py +0 -0
  874. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/conftest.py +0 -0
  875. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_configs.py +0 -0
  876. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_dispatch.py +0 -0
  877. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_displays.py +0 -0
  878. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_filters.py +0 -0
  879. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_decision_step.py +0 -0
  880. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_email_step.py +0 -0
  881. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_finish_step.py +0 -0
  882. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_join_step.py +0 -0
  883. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_script_step.py +0 -0
  884. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_split_step.py +0 -0
  885. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_step.py +0 -0
  886. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/step/test_user_step.py +0 -0
  887. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/test_condition.py +0 -0
  888. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/test_data.py +0 -0
  889. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/test_process.py +0 -0
  890. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/test_transition.py +0 -0
  891. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_models/test_workflow.py +0 -0
  892. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_serializers.py +0 -0
  893. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_viewsets.py +0 -0
  894. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/test_workflow_assignees.py +0 -0
  895. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/tests/tests.py +0 -0
  896. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/urls.py +0 -0
  897. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/utils.py +0 -0
  898. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/__init__.py +0 -0
  899. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/buttons/__init__.py +0 -0
  900. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/buttons/step.py +0 -0
  901. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/condition.py +0 -0
  902. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/data.py +0 -0
  903. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/display/__init__.py +0 -0
  904. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/display/condition.py +0 -0
  905. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/display/data.py +0 -0
  906. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/display/process.py +0 -0
  907. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/display/step.py +0 -0
  908. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/display/transition.py +0 -0
  909. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/display/workflow.py +0 -0
  910. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/endpoints/__init__.py +0 -0
  911. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/endpoints/condition.py +0 -0
  912. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/endpoints/data.py +0 -0
  913. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/endpoints/process.py +0 -0
  914. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/endpoints/step.py +0 -0
  915. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/endpoints/transition.py +0 -0
  916. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/menu/__init__.py +0 -0
  917. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/menu/condition.py +0 -0
  918. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/menu/data.py +0 -0
  919. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/menu/process.py +0 -0
  920. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/menu/step.py +0 -0
  921. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/menu/transition.py +0 -0
  922. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/menu/workflow.py +0 -0
  923. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/process.py +0 -0
  924. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/step.py +0 -0
  925. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/titles/__init__.py +0 -0
  926. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/titles/condition.py +0 -0
  927. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/titles/data.py +0 -0
  928. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/titles/process.py +0 -0
  929. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/titles/step.py +0 -0
  930. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/titles/transition.py +0 -0
  931. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/titles/workflow.py +0 -0
  932. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/transition.py +0 -0
  933. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/viewsets/workflow.py +0 -0
  934. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/workflows/__init__.py +0 -0
  935. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/contrib/workflow/workflows/assignees.py +0 -0
  936. {wbcore-2.2.2/wbcore/metadata → wbcore-2.2.4/wbcore/crontab}/__init__.py +0 -0
  937. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/crontab/serializers.py +0 -0
  938. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/crontab/viewsets.py +0 -0
  939. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/dispatch.py +0 -0
  940. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/docs/__init__.py +0 -0
  941. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/docs/orderable.md +0 -0
  942. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/docs/reparent.md +0 -0
  943. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/dynamic_preferences_registry.py +0 -0
  944. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/enums.py +0 -0
  945. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/__init__.py +0 -0
  946. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/backends.py +0 -0
  947. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/defaults.py +0 -0
  948. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/__init__.py +0 -0
  949. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/booleans.py +0 -0
  950. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/choices.py +0 -0
  951. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/content_type.py +0 -0
  952. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/datetime.py +0 -0
  953. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/models.py +0 -0
  954. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/multiple_lookups.py +0 -0
  955. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/numbers.py +0 -0
  956. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/fields/text.py +0 -0
  957. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/filterset.py +0 -0
  958. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/lookups.py +0 -0
  959. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/mixins.py +0 -0
  960. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/filters/utils.py +0 -0
  961. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/forms.py +0 -0
  962. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/frontend.py +0 -0
  963. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/frontend_user_configuration.py +0 -0
  964. {wbcore-2.2.2/wbcore/metadata/configs → wbcore-2.2.4/wbcore/fsm}/__init__.py +0 -0
  965. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/fsm/markdown_extensions.py +0 -0
  966. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/fsm/mixins.py +0 -0
  967. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/locale/de/LC_MESSAGES/django.po +0 -0
  968. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/management/__init__.py +0 -0
  969. {wbcore-2.2.2/wbcore/metadata/tests → wbcore-2.2.4/wbcore/management/commands}/__init__.py +0 -0
  970. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/management/commands/bootstrap.py +0 -0
  971. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/management/commands/clean_obsolete_object.py +0 -0
  972. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/management/commands/handle_release_notes.py +0 -0
  973. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/markdown/__init__.py +0 -0
  974. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/markdown/admin.py +0 -0
  975. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/markdown/dynamic_preferences_registry.py +0 -0
  976. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/markdown/models.py +0 -0
  977. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/markdown/template.py +0 -0
  978. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/markdown/utils.py +0 -0
  979. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/markdown/views.py +0 -0
  980. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/menus/__init__.py +0 -0
  981. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/menus/menus.py +0 -0
  982. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/menus/registry.py +0 -0
  983. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/menus/views.py +0 -0
  984. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/messages.py +0 -0
  985. {wbcore-2.2.2/wbcore/migrations → wbcore-2.2.4/wbcore/metadata}/__init__.py +0 -0
  986. {wbcore-2.2.2/wbcore/pandas → wbcore-2.2.4/wbcore/metadata/configs}/__init__.py +0 -0
  987. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/base.py +0 -0
  988. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/buttons/__init__.py +0 -0
  989. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/buttons/bases.py +0 -0
  990. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/buttons/buttons.py +0 -0
  991. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/buttons/enums.py +0 -0
  992. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/buttons/metadata.py +0 -0
  993. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/buttons/view_config.py +0 -0
  994. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/__init__.py +0 -0
  995. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/configs.py +0 -0
  996. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/display.py +0 -0
  997. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/formatting.py +0 -0
  998. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/__init__.py +0 -0
  999. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/display.py +0 -0
  1000. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/enums.py +0 -0
  1001. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/layouts/__init__.py +0 -0
  1002. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/layouts/inlines.py +0 -0
  1003. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/layouts/layouts.py +0 -0
  1004. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/layouts/sections.py +0 -0
  1005. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/operators.py +0 -0
  1006. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/pages.py +0 -0
  1007. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/shortcuts.py +0 -0
  1008. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/signals.py +0 -0
  1009. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/styles.py +0 -0
  1010. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/instance_display/utils.py +0 -0
  1011. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/list_display.py +0 -0
  1012. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/models.py +0 -0
  1013. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/view_config.py +0 -0
  1014. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/views.py +0 -0
  1015. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/display/windows.py +0 -0
  1016. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/documentations.py +0 -0
  1017. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/endpoints.py +0 -0
  1018. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/fields.py +0 -0
  1019. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/filter_fields.py +0 -0
  1020. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/identifiers.py +0 -0
  1021. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/ordering_fields.py +0 -0
  1022. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/paginations.py +0 -0
  1023. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/preview.py +0 -0
  1024. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/primary_keys.py +0 -0
  1025. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/search_fields.py +0 -0
  1026. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/titles.py +0 -0
  1027. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/configs/window_types.py +0 -0
  1028. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/exceptions.py +0 -0
  1029. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/metadata.py +0 -0
  1030. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/mixins.py +0 -0
  1031. {wbcore-2.2.2/wbcore/permissions → wbcore-2.2.4/wbcore/metadata/tests}/__init__.py +0 -0
  1032. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/tests/test_buttons.py +0 -0
  1033. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/metadata/utils.py +0 -0
  1034. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/migrations/0001_initial_squashed_squashed_0010_preset_appliedpreset.py +0 -0
  1035. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/migrations/0011_genericmodel.py +0 -0
  1036. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/migrations/0012_delete_notification.py +0 -0
  1037. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/migrations/0013_delete_colorgradient.py +0 -0
  1038. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/migrations/0014_biguserobjectpermission_system.py +0 -0
  1039. {wbcore-2.2.2/wbcore/release_notes → wbcore-2.2.4/wbcore/migrations}/__init__.py +0 -0
  1040. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/models/__init__.py +0 -0
  1041. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/models/base.py +0 -0
  1042. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/models/fields.py +0 -0
  1043. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/models/orderable.py +0 -0
  1044. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/pagination.py +0 -0
  1045. {wbcore-2.2.2/wbcore/reversion → wbcore-2.2.4/wbcore/pandas}/__init__.py +0 -0
  1046. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/pandas/fields.py +0 -0
  1047. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/pandas/filters.py +0 -0
  1048. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/pandas/filterset.py +0 -0
  1049. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/pandas/metadata.py +0 -0
  1050. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/pandas/utils.py +0 -0
  1051. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/pandas/views.py +0 -0
  1052. {wbcore-2.2.2/wbcore/templates/reversion → wbcore-2.2.4/wbcore/permissions}/__init__.py +0 -0
  1053. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/permissions/backend.py +0 -0
  1054. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/permissions/mixins.py +0 -0
  1055. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/permissions/permissions.py +0 -0
  1056. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/permissions/registry.py +0 -0
  1057. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/permissions/shortcuts.py +0 -0
  1058. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/permissions/utils.py +0 -0
  1059. {wbcore-2.2.2/wbcore/tests → wbcore-2.2.4/wbcore/release_notes}/__init__.py +0 -0
  1060. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/admin.py +0 -0
  1061. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/buttons.py +0 -0
  1062. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/display.py +0 -0
  1063. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/filters.py +0 -0
  1064. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/models.py +0 -0
  1065. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/serializers.py +0 -0
  1066. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/utils.py +0 -0
  1067. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/release_notes/viewsets.py +0 -0
  1068. {wbcore-2.2.2/wbcore/tests/e2e → wbcore-2.2.4/wbcore/reversion}/__init__.py +0 -0
  1069. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/filters.py +0 -0
  1070. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/serializers.py +0 -0
  1071. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/viewsets/__init__.py +0 -0
  1072. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/viewsets/buttons.py +0 -0
  1073. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/viewsets/displays.py +0 -0
  1074. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/viewsets/endpoints.py +0 -0
  1075. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/viewsets/titles.py +0 -0
  1076. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/reversion/viewsets/viewsets.py +0 -0
  1077. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/routers.py +0 -0
  1078. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/search/__init__.py +0 -0
  1079. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/__init__.py +0 -0
  1080. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/__init__.py +0 -0
  1081. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/boolean.py +0 -0
  1082. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/choice.py +0 -0
  1083. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/datetime.py +0 -0
  1084. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/fields.py +0 -0
  1085. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/file.py +0 -0
  1086. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/fsm.py +0 -0
  1087. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/json.py +0 -0
  1088. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/list.py +0 -0
  1089. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/mixins.py +0 -0
  1090. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/number.py +0 -0
  1091. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/other.py +0 -0
  1092. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/primary_key.py +0 -0
  1093. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/related.py +0 -0
  1094. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/text.py +0 -0
  1095. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/fields/types.py +0 -0
  1096. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/mixins.py +0 -0
  1097. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/serializers.py +0 -0
  1098. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/serializers/utils.py +0 -0
  1099. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/shares/__init__.py +0 -0
  1100. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/shares/config.py +0 -0
  1101. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/shares/decorator.py +0 -0
  1102. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/shares/signals.py +0 -0
  1103. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/shares/sites.py +0 -0
  1104. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/shares/views.py +0 -0
  1105. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/signals/__init__.py +0 -0
  1106. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/signals/filters.py +0 -0
  1107. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/signals/instance_buttons.py +0 -0
  1108. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/signals/merge.py +0 -0
  1109. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/signals/models.py +0 -0
  1110. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/signals/permissions.py +0 -0
  1111. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/signals/serializers.py +0 -0
  1112. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tasks.py +0 -0
  1113. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/errors/404.html +0 -0
  1114. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/errors/500.html +0 -0
  1115. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/errors/503.html +0 -0
  1116. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/errors/custom.html +0 -0
  1117. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/forms.py +0 -0
  1118. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/notifications/email_template.html +0 -0
  1119. {wbcore-2.2.2/wbcore/tests/test_cache → wbcore-2.2.4/wbcore/templates/reversion}/__init__.py +0 -0
  1120. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/reversion/compare_detail.html +0 -0
  1121. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/wbcore/admin/change_list.html +0 -0
  1122. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/wbcore/admin/csv_form.html +0 -0
  1123. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/wbcore/dynamic_color_array.html +0 -0
  1124. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/wbcore/email_base_template.html +0 -0
  1125. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/wbcore/email_notification_template.html +0 -0
  1126. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/templates/wbcore/frontend.html +0 -0
  1127. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/test/__init__.py +0 -0
  1128. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/test/e2e_helpers_methods/e2e_checks.py +0 -0
  1129. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/test/e2e_helpers_methods/e2e_helper_methods.py +0 -0
  1130. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/test/mixins.py +0 -0
  1131. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/test/signals.py +0 -0
  1132. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/test/tests.py +0 -0
  1133. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/test/utils.py +0 -0
  1134. {wbcore-2.2.2/wbcore/tests/test_fields → wbcore-2.2.4/wbcore/tests}/__init__.py +0 -0
  1135. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/conftest.py +0 -0
  1136. {wbcore-2.2.2/wbcore/tests/test_filters → wbcore-2.2.4/wbcore/tests/e2e}/__init__.py +0 -0
  1137. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/e2e/test_e2e.py +0 -0
  1138. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/models.py +0 -0
  1139. {wbcore-2.2.2/wbcore/tests/test_models → wbcore-2.2.4/wbcore/tests/test_cache}/__init__.py +0 -0
  1140. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_cache/test_decorators.py +0 -0
  1141. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_cache/test_mixins.py +0 -0
  1142. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_cache/test_registry.py +0 -0
  1143. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_configs.py +0 -0
  1144. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_enums.py +0 -0
  1145. {wbcore-2.2.2/wbcore/tests/test_new_display → wbcore-2.2.4/wbcore/tests/test_fields}/__init__.py +0 -0
  1146. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_boolean_fields.py +0 -0
  1147. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_choice_fields.py +0 -0
  1148. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_datetime_fields.py +0 -0
  1149. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_fields.py +0 -0
  1150. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_file_fields.py +0 -0
  1151. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_json_fields.py +0 -0
  1152. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_list_fields.py +0 -0
  1153. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_mixins.py +0 -0
  1154. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_number_fields.py +0 -0
  1155. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_other_fields.py +0 -0
  1156. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_primary_key_fields.py +0 -0
  1157. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_related.py +0 -0
  1158. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_fields/test_text_fields.py +0 -0
  1159. {wbcore-2.2.2/wbcore/tests/test_serializers → wbcore-2.2.4/wbcore/tests/test_filters}/__init__.py +0 -0
  1160. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_filters/test_mixins.py +0 -0
  1161. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_filters/test_pandas.py +0 -0
  1162. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_list_display.py +0 -0
  1163. {wbcore-2.2.2/wbcore/tests/test_utils → wbcore-2.2.4/wbcore/tests/test_models}/__init__.py +0 -0
  1164. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_models/test_fields.py +0 -0
  1165. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_models/test_mixins.py +0 -0
  1166. /wbcore-2.2.2/wbcore/tests/test_new_display/test_sections.py → /wbcore-2.2.4/wbcore/tests/test_new_display/__init__.py +0 -0
  1167. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_new_display/test_inlines.py +0 -0
  1168. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_new_display/test_layouts.py +0 -0
  1169. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_new_display/test_operators.py +0 -0
  1170. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_new_display/test_pages.py +0 -0
  1171. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_new_display/test_shortcuts.py +0 -0
  1172. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_new_display/test_utils.py +0 -0
  1173. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_pagination.py +0 -0
  1174. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_permissions/test_backend.py +0 -0
  1175. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_serializers/test_fields.py +0 -0
  1176. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_serializers/test_mixins.py +0 -0
  1177. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_serializers/test_related.py +0 -0
  1178. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_something.py +0 -0
  1179. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_utils/test_date.py +0 -0
  1180. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_utils/test_date_builder.py +0 -0
  1181. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_utils/test_primary.py +0 -0
  1182. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_utils/test_signals.py +0 -0
  1183. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/tests/test_viewsets.py +0 -0
  1184. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/urls.py +0 -0
  1185. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/__init__.py +0 -0
  1186. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/cache.py +0 -0
  1187. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/date.py +0 -0
  1188. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/date_builder/__init__.py +0 -0
  1189. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/date_builder/components.py +0 -0
  1190. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/date_builder/offsets.py +0 -0
  1191. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/deprecations.py +0 -0
  1192. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/enum.py +0 -0
  1193. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/figures.py +0 -0
  1194. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/html.py +0 -0
  1195. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/importlib.py +0 -0
  1196. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/itertools.py +0 -0
  1197. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/models.py +0 -0
  1198. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/numbers.py +0 -0
  1199. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/prettytable.py +0 -0
  1200. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/print.py +0 -0
  1201. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/renderers.py +0 -0
  1202. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/rrules.py +0 -0
  1203. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/serializers.py +0 -0
  1204. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/settings.py +0 -0
  1205. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/signals.py +0 -0
  1206. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/string_loader.py +0 -0
  1207. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/strings.py +0 -0
  1208. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/task.py +0 -0
  1209. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/urls.py +0 -0
  1210. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/utils/views.py +0 -0
  1211. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/views.py +0 -0
  1212. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/viewsets/__init__.py +0 -0
  1213. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/viewsets/encoders.py +0 -0
  1214. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/viewsets/generics.py +0 -0
  1215. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/viewsets/mixins.py +0 -0
  1216. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/viewsets/utils.py +0 -0
  1217. {wbcore-2.2.2 → wbcore-2.2.4}/wbcore/viewsets/viewsets.py +0 -0
@@ -0,0 +1,25 @@
1
+ [report]
2
+ exclude_lines =
3
+ print()
4
+ def api_endpoints_root
5
+ def get_or_create_model_sql
6
+ def profile_check
7
+ if hasattr
8
+ raise Exception
9
+ raise Http404
10
+ except:
11
+ if TYPE_CHECKING:
12
+
13
+
14
+ [run]
15
+ omit = */migrations/*
16
+ manage.py
17
+ */tests/*
18
+ */test_project/*
19
+ */config/*
20
+ */apps.py
21
+ */docs/*
22
+ */dynamic_preferences_registry.py
23
+ */permissions.py
24
+ */preferences/*
25
+ */.venv/*
@@ -0,0 +1,29 @@
1
+ deploy-example-app:
2
+ image: ubuntu
3
+ stage: deploy
4
+ variables:
5
+ GIT_DEPTH: 0
6
+ only:
7
+ refs:
8
+ - dev
9
+ changes:
10
+ - "modules/wbcore/**/*"
11
+ - "modules/wbcore/*"
12
+ before_script:
13
+ - apt-get update -y && apt-get install openssh-client git -y
14
+ - eval $(ssh-agent -s)
15
+ - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
16
+ - mkdir -p ~/.ssh
17
+ - chmod 700 ~/.ssh
18
+ - ssh-keyscan example.stainly.com >> ~/.ssh/known_hosts
19
+ - chmod 644 ~/.ssh/known_hosts
20
+ - git config --global user.email "admin@stainly.com"
21
+ - git config --global user.name "Gitlab Runner"
22
+ - git config --global init.defaultBranch dev
23
+ script:
24
+ - cd modules/wbcore
25
+ - git init
26
+ - git add .
27
+ - git commit -m "initial commit"
28
+ - git remote add dokku dokku@example.stainly.com:example
29
+ - git push dokku $CI_COMMIT_REF_NAME --force
@@ -0,0 +1 @@
1
+ 3.12.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: wbcore
3
- Version: 2.2.2
3
+ Version: 2.2.4
4
4
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
5
5
  Requires-Dist: boto3==1.*
6
6
  Requires-Dist: celery[redis]==5.*
wbcore-2.2.4/Procfile ADDED
@@ -0,0 +1,2 @@
1
+ web: gunicorn wbcore_config.wsgi:application --bind 0.0.0.0:$PORT -c gunicorn_conf.py
2
+ release: python manage.py migrate && python manage.py collectstatic --no-input
@@ -0,0 +1,26 @@
1
+ import glob
2
+ from pathlib import Path
3
+
4
+ from wbcore.release_notes.utils import parse_release_note
5
+
6
+ if __name__ == "__main__":
7
+ base_path = "../"
8
+ errors = {}
9
+ for release_note_folder in [
10
+ *glob.glob(f"{base_path}**/**/release_notes"),
11
+ "wbcore/release_notes/release_notes",
12
+ "wbcore/release_notes/frontend_release_notes",
13
+ ]:
14
+ if release_note_folder != "../wbcore/wbcore/release_notes":
15
+ for release_note in Path(release_note_folder).iterdir():
16
+ if not release_note.is_dir():
17
+ with open(release_note, "r") as markdown_file:
18
+ try:
19
+ parse_release_note(markdown_file.read())
20
+ except Exception as e:
21
+ errors[str(release_note).replace("../", "")] = e
22
+
23
+ if errors:
24
+ raise ValueError(f"These release notes trigger an error {errors}")
25
+ else:
26
+ print("ok") # noqa: T201
@@ -0,0 +1,49 @@
1
+ # Buttons
2
+
3
+ There are different kinds of buttons that can be implemented through the wbcore, system buttons and custom buttons.
4
+
5
+ ## System Buttons
6
+
7
+ System buttons are buttons reoccurring buttons with a default behaviour:
8
+
9
+ * save
10
+ * Saves an instance (`wbcore.enums.Button.SAVE`)
11
+ * saveandnew
12
+ * Saves an instance and opens a new instance (`wbcore.enums.Button.SAVE_AND_NEW`)
13
+ * saveandclose
14
+ * Saves an instance and closes the instance (`wbcore.enums.Button.SAVE_AND_CLOSE`)
15
+ * delete
16
+ * Deletes and instance (`wbcore.enums.Button.DELETE`)
17
+ * new
18
+ * Opens a new instance (`wbcore.enums.Button.NEW`)
19
+ * refresh
20
+ * Refreshes a list/instance (`wbcore.enums.Button.REFRESH`)
21
+ * reset
22
+ * Resets a new instance (`wbcore.enums.Button.RESET`)
23
+
24
+ ## Custom Buttons
25
+
26
+ Custom buttons have a custom behaviour and can be attached to a list or an instance. There are four different custom buttons:
27
+
28
+ * Hyperlink
29
+ * Creates a hyperlink to an url (`wbcore.metadata.configs.buttons.HyperlinkButton`)
30
+ * Widget
31
+ * Opens a widget (`wbcore.metadata.configs.buttons.WidgetButton`)
32
+ * Dropdown
33
+ * Nests other buttons in a dropdown menu (`wbcore.metadata.configs.buttons.DropdownButton`)
34
+ * Action
35
+ * Creates a custom action (`wbcore.metadata.configs.buttons.ActionButton`)
36
+
37
+ The defaulf properties are as following:
38
+
39
+ | Property | Required | Value |
40
+ |----------|-------------------------|------------------------------------------|
41
+ | label | yes, if icon is None | A string that is rendered on the button |
42
+ | icon | yes, if label is None | A string that represents an icon class |
43
+ | title | no | A string that is used as the hover title |
44
+ | key | yes if endpoint is None | A string that matches against an url |
45
+ | endpoint | yes if key is None | A url |
46
+
47
+ ## Remote Buttons
48
+
49
+ <Placeholder>
@@ -0,0 +1,12 @@
1
+ The main concept of django wbcore is to leverage preflight OPTION requests and automatically assemble a frontend, based on the model, the serializer and the viewset.
2
+
3
+ ### Frontend
4
+
5
+ The frontend is a react based desktop like application that populates itself with OPTION requests. Each OPTION requests describes the upcoming request:
6
+
7
+ * Is it a list or an instance?
8
+ * What fields are available?
9
+ * What filters are available?
10
+ * Can something be searched?
11
+ * Can something be ordered?
12
+ * Are there buttons that should open something?
@@ -0,0 +1,68 @@
1
+ # Display
2
+
3
+ ## Legend
4
+
5
+ A table can have numerous legends, where each legend has a number of legend items.
6
+
7
+ ### LegendItem
8
+
9
+ Each legend item has a label and an icon.
10
+
11
+ ## Formatting
12
+
13
+ Table Formatting can be applied to the whole row, by altering the style or by adding an icon in front of the row, or it can be applied to a single cell. Applying formatting to a whole row happens through `RowFormatting` and formatting a single cell happens through `ColumnFormatting`.
14
+
15
+ ### RowFormatting
16
+
17
+ Applying formatting to a whole row through `RowFormatting` is always conditional on the value of a column and accepts two arguments: column and conditions, where column is the name of the column and conditions is a list of conditions, which are either `RowIconCondition` or `RowStyleCondition` and can be used interchangable. Each condition is checked, and if it validates, then it is applied.
18
+
19
+ ### RowIconCondition
20
+
21
+ The `RowIconCondition` accepts two arguments, icon and condition. Icon is a string that the frontend can use to determine the icon class and condition is a tuple that is checked against the column specified in the `RowFormatting`. (More on conditions below)
22
+
23
+ ### RowStyleCondition
24
+
25
+ The `RowStyleCondition` works analogous to the `RowIconCondition`, except that it does not accept icon as an argument, but rather a style, which is a dictionairy, which holds css classes and their values. (*Note: If the Frontend is based on React, css class name are written like backgroundColor and not background_color*)
26
+
27
+ ### Conditions
28
+
29
+ The condition is represented by a tuple of an operator and a value. For example: (">", 5) verifies that the value of the column has to be greater than 5. For convenience all operators are accessible through the `wbcore.enums.Operator` enum. The above example can be written as (Operator.GREATER.value, 5) with the enum. A list of all possible operator and how to use them are found below:
30
+
31
+ | Operator | Values | Explanation | Enum |
32
+ |----------|-------------------|--------------------------------------------------------------|------------------------|
33
+ | ∃ | True, False | Checks wether the column exists or not (e.g. is null or not) | Operator.EXISTS |
34
+ | > | [int, float] | Checks wether the column is greater than a value | Operator.GREATER |
35
+ | >= | [int, float] | Checks wether the column is greater or equal than a value | Operator.GREATER_EQUAL |
36
+ | < | [int, float] | Checks wether the column is less than a value | Operator.LESS |
37
+ | <= | [int, float] | Checks wether the column is less or equal than a value | Operator.LESS_EQUAL |
38
+ | == | [int, float, str] | Checks wether the column is equal to a value | Operator.EQUAL |
39
+ | != | [int, float, str] | Checks wether the column is unequal to a value | Operator.UNEQUAL |
40
+
41
+ ### Example
42
+
43
+ The below Example does two things:
44
+
45
+ 1. If `number` is greater than 5, then the row gets a star icon.
46
+ 2. If `number` is greater than 10, then the row gets a blue background color.
47
+
48
+ ```python
49
+ from wbcore.metadata.configs import display as dp
50
+ from wbcore.enums import Condition
51
+
52
+ LIST_DISPLAY = [
53
+ formatting=[
54
+ dp.RowFormatting(
55
+ column="number",
56
+ conditions=[
57
+ dp.RowIconCondition(
58
+ icon="icon-star", condition=(Condition.GREATER.value, 5)
59
+ ),
60
+ dp.RowStyleCondition(
61
+ style={"backgroundColor": "rgb(13, 28, 189)",
62
+ condition=(Condition.GREATER.value, 10)
63
+ )
64
+ ]
65
+ )
66
+ ]
67
+ ]
68
+ ```
@@ -0,0 +1,127 @@
1
+ Filters are based on Django-Filters and can mostly be autogenerated from a simple dictionary when using a `wbcore.viewsets.ModelViewSet`. All customized parameters are taken from the attached model and are applied to the filter. When the completely autogenerated filter is not sufficient, a custom `wbcore.filters.FilterSet` can be provided to overwrite filters or set custom filters.
2
+
3
+ ### Setup
4
+
5
+ Below are two examples on how to set up a rudimentary filter, where both examples yield exactly the same result: Two filters for the field `first_field`, one which filters for exact values, and one which filters for similar values (`SQL: LIKE`).
6
+
7
+ ```python
8
+ from wbcore.filters import DjangoFilterBackend
9
+ from wbcore.viewsets import ModelViewSet
10
+
11
+ class XYZModelViewSet(ModelViewSet):
12
+ filter_backends = [DjangoFilterBackend]
13
+ filterset_fields = {
14
+ "first_field": ["exact", "icontains"]
15
+ }
16
+ ```
17
+
18
+ ```python
19
+ from wbcore.filters import DjangoFilterBackend, FilterSet
20
+ from wbcore.viewsets import ModelViewSet
21
+
22
+ class XYZFilterSet(FilterSet):
23
+ class Meta:
24
+ model = XYZ
25
+ fields = {
26
+ "first_field": ["exact", "icontains"]
27
+ }
28
+
29
+ class XYZModelViewSet(ModelViewSet):
30
+ filter_backends = [DjangoFilterBackend]
31
+ filter_class = XYZFilterSet
32
+ ```
33
+
34
+ ### Lookup Expressions
35
+
36
+ !!! warning
37
+ Not all field lookups from [Django](https://docs.djangoproject.com/en/3.0/ref/models/querysets/#field-lookups) are supported yet.
38
+
39
+ The different lookup expressions that are currently available are:
40
+
41
+ * `exact`: An exact match against the filtered value (for Text, Number, Dropdown). In SQL `=`
42
+ * `icontains`: A loose match against the filtered value (for Text, Number). In SQL `LIKE`
43
+ * `gt`: Greater than a value (for Number). In SQL `>`
44
+ * `gte`: Greater than or equal to a value (for Number). In SQL `>=`
45
+ * `lt`: Less than a value (for Number). In SQL `<`
46
+ * `lte`: Less than or equal to a value (for Number). In SQL `<=`
47
+
48
+ ### Custom Filter
49
+
50
+ As mentioned previously, custom filters are specified in a `wbcore.filters.FilterSet`. There are two different reasons for custom filters:
51
+
52
+ 1. Overwrite the filter method behind a filter
53
+ 2. Specify filters that are not part of a field of the model
54
+
55
+ When implementing a custom filter, it is really important that this filter is specified the same as the other filters, as a dictionairy.
56
+
57
+ ``` python
58
+ from wbcore.filters import FilterSet, BooleanFilter
59
+
60
+ class XYZFilterSet(FilterSet):
61
+ non_field_filter = BooleanFilter(label="Non Field", method="get_non_field_filter")
62
+
63
+ def get_non_field_filter(self, queryset, name, value):
64
+ if value:
65
+ return qs.filter(some_field=True)
66
+ return qs
67
+
68
+ class Meta:
69
+ model = XYZ
70
+ fields = {
71
+ "non_field_filter": ["exact"]
72
+ }
73
+
74
+ ```
75
+
76
+ Any dedicated model filter fields can take an extra `filter_params` argument (either as a dictionary or a callable) which returns the
77
+ dictionary to url encode. Let's recall that the resulting endpoint (and its potential query parameters) are returned to the frontend
78
+ and will be used by it to fetch the filter field representation.
79
+
80
+ Example:
81
+
82
+ ```python
83
+ def get_filter_params(request, view):
84
+ return {}
85
+
86
+ class XXXFilter(wb_filters.FilterSet):
87
+ dedicated_filter = wb_filters.ModelChoiceFilter(
88
+ label="A filter",
89
+ queryset=Model.objects.all(),
90
+ endpoint=Model.get_representation_endpoint(),
91
+ value_key=Model.get_representation_value_key(),
92
+ label_key=Model.get_representation_label_key(),
93
+ filter_params=get_filter_params # or {'key': value},
94
+ )
95
+ ```
96
+ ### Remote Filters
97
+
98
+ In case a viewset needs to define extra filters proposed by another module (dependency), remote filters can be defined using a received to `add_filters`
99
+
100
+ Example: We have a module XXX and another YYY. YYY introduces a new field (e.g ForeignKey) on XXX and as such, we would like to define
101
+ a new filter on XXX viewset (from within YYY module) to avoid circular module dependency from XXX and YYY.
102
+
103
+ Do not forget to register/import the file where the signals receiver are defined
104
+ ```python
105
+ # YYY.filters.signals
106
+ from wbcore.signals.filters import (
107
+ add_filters
108
+ )
109
+ from wbcore import filters as wb_filters
110
+ from django.dispatch import receiver
111
+ from xxx.filters import XXXFilter
112
+
113
+ @receiver(add_filters, sender=CompanyFilter)
114
+ def add_xxx_filter(sender, *args, **kwargs):
115
+ def method_x(queryset, name, value):
116
+ if value:
117
+ # do something with the field introduced by the module YYY on XXX
118
+ return queryset # Do something
119
+ return queryset
120
+ return {
121
+ 'xxx_filter': wb_filters.BooleanFilter(
122
+ field_name="fitler_name", # important!
123
+ label="XXX filter",
124
+ method=method_x
125
+ )
126
+ }
127
+ ```
@@ -0,0 +1,122 @@
1
+ ### Installation
2
+
3
+ To install wbcore use pip:
4
+
5
+ pip install wbcore
6
+
7
+ Afterwards add wbcore to the project by:
8
+
9
+ ```python
10
+ INSTALLED_APPS = [
11
+ ...
12
+ "wbcore",
13
+ ...
14
+ ]
15
+ ```
16
+
17
+ ### Install Development Environment
18
+
19
+ #### Cloning the repository
20
+
21
+ git clone git@github.com:intellineers/wbcore.git
22
+
23
+ #### Installing system dependencies
24
+
25
+ * [Poetry](https://python-poetry.org/docs/#installation)
26
+ * For pypi depenendency management / package building
27
+ * [Docker](https://docs.docker.com/get-docker/)
28
+ * For running external containerized services
29
+ * [Docker-Compose](https://docs.docker.com/compose/install/)
30
+ * For orchestrating containerized services
31
+
32
+
33
+ #### Setup environment variables
34
+
35
+ The url for the database has to be stored as a environment variable:
36
+
37
+ export DATABASE_URL=postgres://root:root@localhost:5432/wbcore
38
+
39
+ !!! hint
40
+ The management of environment variables is not automatically handled in poetry (opposed to pipenv), therefore you as a developer has to take care of this.
41
+ **Tip:** Use [direnv](https://direnv.net/) and store the environment variables in a `.envrc` file.
42
+
43
+ #### Setup initial system
44
+
45
+ In order to make the system work the following steps have to be taken:
46
+
47
+ 1. Get the latest version of the repository
48
+ 1. Install all dependencies through poetry
49
+ 1. Startup docker containers which run external services (Postgres, Redis, S3 Minio)
50
+ * Postgres and S3 Minio are setup to have persistant data stored in the folder `~/DockerVolumes/`
51
+ 1. Create a database
52
+ 1. Migrate the database
53
+ 1. **Optionally** insert fixtures into the database
54
+
55
+ To ease and speedup the process of setting up the development environment the last 6 steps can be done automatically by running the following script
56
+
57
+ ./scripts/startup
58
+
59
+ ### Useful Scripts
60
+
61
+ #### Development Server
62
+
63
+ Two development servers are available, one for the web-worker:
64
+
65
+ ./scripts/dev-server
66
+
67
+ The other one is a celery consumer:
68
+
69
+ ./scripts/celery
70
+
71
+
72
+ #### Testing
73
+
74
+ In order to run all tests with pytest:
75
+
76
+ ./scripts/pytest
77
+
78
+ If you want to run all tests without the pytest-cache:
79
+
80
+ ./scripts/pytest_full
81
+
82
+ If you want to deploy changes, you need to make sure that running the tests in an isolated environment with tox do not fail:
83
+
84
+ poetry run tox
85
+
86
+
87
+ #### Documentation
88
+
89
+ The documentation is available locally under `http://localhost:8000`:
90
+
91
+ ./scripts/docs
92
+
93
+ #### Interactive Shell and Notebooks
94
+
95
+ The shell with a preloaded django environment is available under:
96
+
97
+ ./scripts/django_shell
98
+
99
+ The same django environment is also available as a notebook:
100
+
101
+ ./scripts/notebook
102
+
103
+ #### Database (PSQL)
104
+
105
+ Quick access to a psql shell:
106
+
107
+ ./scripts/psql
108
+
109
+ #### Misc.
110
+
111
+ Apply isort, then black to all files:
112
+
113
+ ./scripts/format
114
+
115
+ ### Formatting Rules
116
+
117
+ The whole codebase has to be formatted with isort and black with the following parameters:
118
+
119
+ isort -m 3 -w 128 --tc .
120
+ black --line-length 128 .
121
+
122
+ This is automatically done by calling the formatting script (See [Misc.](#misc))
@@ -0,0 +1,4 @@
1
+ Django WBCore is a framework to streamline the development of django enterprise applications by providing means to create a desktop like experience in the browser without having to program a single line of HTML.
2
+
3
+ The main concept is to leverage pre-request `OPTIONS` requests where all information about the upcoming request are provided.
4
+ These information can afterwards be used in order to build a frontend automatically.
@@ -0,0 +1,105 @@
1
+ The wbcore has the capability to return menus by adding menus to a registry. By default there is a `wbcore.menus.default_registry` where menus can be added which in return can be retrieved through the `wbcore:menu` endpoint.
2
+
3
+ Usually the menu of an app is added to the `__init__.py` of the root directory of each app, but it could be placed at any location that is loaded upon starting the server.
4
+
5
+ # Structure
6
+
7
+ blockdiag {
8
+ registry [label="MenuRegistry"];
9
+ menu1 [label="Menu"];
10
+ menu2 [label="Menu"];
11
+ menu3 [label="Menu"];
12
+ menuitem1 [label="MenuItem"];
13
+ menuitem2 [label="MenuItem"];
14
+ menuitem3 [label="MenuItem"];
15
+ menuitem4 [label="MenuItem"];
16
+ menuitem5 [label="MenuItem"];
17
+ menuitem6 [label="MenuItem"];
18
+ itempermission [label="ItemPermission"];
19
+ registry -> menu1;
20
+ registry -> menu2;
21
+ menu1 -> menuitem1;
22
+ menu1 -> menuitem2;
23
+ menu1 -> menu3;
24
+ menu2 -> menuitem3;
25
+ menu2 -> menuitem4;
26
+ menuitem3 -> itempermission;
27
+ menu3 -> menuitem5;
28
+ menu3 -> menuitem6;
29
+ }
30
+
31
+ # MenuRegistry
32
+
33
+ Each registry represents one menu group. A registry can register a menu through the `register(menu)` method.
34
+
35
+ # Menu
36
+
37
+ Each menu represents one menu that contains several items or nested menus.
38
+
39
+ # MenuItem
40
+
41
+ Each menu item represents one actionable item inside of a menu. The action that is run depends on the endpoint of the menu item.
42
+
43
+ For each menu item a create button can be defined. This is useful if a user should be able to create an instance of a model from the menu (e.g. open a form to create the instance). For this, another menu item has to be attached to the field `add`.
44
+
45
+ # ItemPermission
46
+
47
+ Each menu item can have an ItemPermission to determine if the current user that retrieves the menu can retrieve the menuitem.
48
+
49
+ To determine whether the current user can retrieve the menuitem has to fields that can be evaluated:
50
+
51
+ 1. `permissions`: A list of django permissions that are checked against the current user. Returns `True` if all permissions are valid for the current user, otherwise `False`
52
+ 2. `method`: A callable that has to accepts the request as a parameter. The callable has to return `True` or `False`
53
+
54
+ If the current user is a `superuser` the ItemPermission always returns `True`.
55
+
56
+ # Example
57
+
58
+ blockdiag {
59
+ registry [label="MenuRegistry"];
60
+ menu1 [label="Menu1"];
61
+ menu2 [label="Menu2"];
62
+ menuitem1 [label="MenuItem1"];
63
+ menuitem2 [label="MenuItem2"];
64
+ menuitem3 [label="MenuItem3"];
65
+ menuitem4 [label="MenuItem4"];
66
+ menuitem4_add [label="Add MenuItem4"];
67
+ itempermission [label="ItemPermission"];
68
+ registry -> menu1;
69
+ registry -> menu2;
70
+ menu1 -> menuitem1;
71
+ menu1 -> menuitem2;
72
+ menu2 -> menuitem3;
73
+ menu2 -> menuitem4;
74
+ menuitem4 -> menuitem4_add;
75
+ menuitem3 -> itempermission;
76
+ }
77
+
78
+ ```python
79
+ # __init__.py
80
+ from wbcore.menus import default_registry, Menu, MenuItem, ItemPermissions
81
+
82
+ default_registry.register(
83
+ Menu(label="Menu1", items=[
84
+ MenuItem(label="MenuItem1", endpoint="app:endpoint1"),
85
+ MenuItem(label="MenuItem2", endpoint="app:endpoint2"),
86
+ ])
87
+ )
88
+
89
+ default_registry.register(
90
+ Menu(label="Menu2", items=[
91
+ MenuItem(
92
+ label="MenuItem3",
93
+ endpoint="app:endpoint3",
94
+ permission=ItemPermission(
95
+ method=lambda request: request.user.is_staff
96
+ )
97
+ ),
98
+ MenuItem(
99
+ label="MenuItem4",
100
+ endpoint="app:endpoint4",
101
+ add=MenuItem(label="Add MenuItem4", endpoint="app:endpoint4")
102
+ ),
103
+ ])
104
+ )
105
+ ```
@@ -0,0 +1,32 @@
1
+ # Concept
2
+
3
+ The metadata is the heart of workbench. It is the glue between the backend and the frontend and what allows the developer to streamline the development and UI-Generation. In its essence the metadata takes configurations from python classes and parses them through the `OPTIONS` request in a predetermined format in order to tell the frontend what to display and how. Currently the following configurations are supported:
4
+
5
+ - [`fields`](configs/fields.md): The fields with their properties
6
+ - [`filter_fields`](configs/filter_fields.md): The available filters with their properties
7
+ - [`ordering_fields`](configs/ordering_fields.md): Which field can be ordered/sorted
8
+ - [`search_fields`](configs/search_fields.md): The fields that are used for searching
9
+ - [`pagination`](configs/pagination.md): The pagination method that is used
10
+ - [`identifiers`](configs/identifiers.md): How to uniquely identify something
11
+ - [`type`](configs/type.md): What is displayed (chart, form, table, ...)
12
+ - [`titles`](configs/titles.md): What title should be displayed
13
+ - [`endpoints`](configs/endpoints.md): What endpoint should be used for what action
14
+ - [`buttons`](configs/buttons.md): What additional button should be displayed where
15
+ - [`display`](configs/display.md): How to display the data
16
+ - [`primary_key`](configs/primary_key.md): What is the primary key
17
+
18
+ The general workflow mostly looks like this:
19
+
20
+ ```mermaid
21
+ sequenceDiagram
22
+ Frontend->>Backend: OPTIONS
23
+ Note right of Backend: Assemble all metadata
24
+ Backend->>Frontend: Response[OPTIONS]
25
+ Note left of Frontend: Parse metadata and build UI
26
+ Frontend->>Backend: GET
27
+ Note right of Backend: DB Access and build response
28
+ Backend->>Frontend: Response[GET]
29
+ Note left of Frontend: Display data into UI
30
+ ```
31
+
32
+ Since the instructions are rather generic and agnostic, the UI can be build on any device, such as a browser or a mobile app.
@@ -0,0 +1,56 @@
1
+ # Endpoints
2
+
3
+ The endpoint config class is in charge of defining some actions on the current resource. For example an `instance_endpoint` when looking at a list will make it possible to open an item in a list.
4
+
5
+ The default behaviour is:
6
+ - `instance_endpoint`:
7
+ - In a list: Make it possible to open/change an item
8
+ - In a form: Make it possible to change an item
9
+ - `list_endpoint`:
10
+ - ???
11
+ - `delete_endpoint`:
12
+ - Make it possible to delete an item
13
+ - `create_endpoint`:
14
+ - Make it possible to create a new item
15
+
16
+ Usually, the developer does not have to customize this class, as it auto-generates itself with the help of some parameters:
17
+
18
+ 1. For each endpoint it checks if the user has the necessary permissions, e.g. `create_endpoint` -> `<app_label>.add_<model>`
19
+ 2. It gets the default endpoint from the model class: `Model.get_endpoint_basename()`
20
+
21
+
22
+ ## Customizing the config class
23
+
24
+ If, for some reason, the developer does not to override and customize his mechanism, it can be done by subclassing `wbcore.metadata.configs.endpoints.EndpointViewConfig` and set it as an attribute on your view `endpoint_config_class = MyEndpointViewConfig`.
25
+
26
+ === "endpoints.py"
27
+
28
+ ``` py
29
+ from wbcore.metadata.configs.endpoints import EndpointViewConfig
30
+
31
+
32
+ class MyEndpointViewConfig(EndpointViewConfig):
33
+
34
+ # Override this method to customize the base endpoint
35
+ # that is used by all other methods
36
+ def get_endpoint(self, **kwargs):
37
+ return "some-endpoint"
38
+
39
+ # Override this method to customize only the instance
40
+ # endpoint
41
+ def get_instance_endpoint(self, **kwargs):
42
+ return "some-instance-endpoint"
43
+
44
+ ```
45
+
46
+ === "viewsets.py"
47
+
48
+ ``` py
49
+ from wbcore import viewsets
50
+ from endpoints import MyEndpointViewConfig
51
+
52
+
53
+ class MyModelViewSet(viewsets.ModelViewSet):
54
+ endpoint_config_class = MyEndpointViewConfig
55
+
56
+ ```