wbcore 1.59.9__py2.py3-none-any.whl

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 (1239) hide show
  1. wbcore/__init__.py +1 -0
  2. wbcore/admin.py +197 -0
  3. wbcore/apps.py +17 -0
  4. wbcore/cache/__init__.py +0 -0
  5. wbcore/cache/buttons.py +23 -0
  6. wbcore/cache/decorators.py +31 -0
  7. wbcore/cache/mixins.py +49 -0
  8. wbcore/cache/registry.py +98 -0
  9. wbcore/cache/views.py +19 -0
  10. wbcore/configs/__init__.py +11 -0
  11. wbcore/configs/configs.py +52 -0
  12. wbcore/configs/decorators.py +11 -0
  13. wbcore/configs/registry.py +35 -0
  14. wbcore/configs/views.py +12 -0
  15. wbcore/configurations/__init__.py +1 -0
  16. wbcore/configurations/base.py +46 -0
  17. wbcore/configurations/configurations/__init__.py +16 -0
  18. wbcore/configurations/configurations/apps.py +55 -0
  19. wbcore/configurations/configurations/authentication.py +44 -0
  20. wbcore/configurations/configurations/base.py +15 -0
  21. wbcore/configurations/configurations/cache.py +20 -0
  22. wbcore/configurations/configurations/celery.py +26 -0
  23. wbcore/configurations/configurations/i18nl10n.py +11 -0
  24. wbcore/configurations/configurations/mail.py +2 -0
  25. wbcore/configurations/configurations/maintenance.py +53 -0
  26. wbcore/configurations/configurations/media.py +22 -0
  27. wbcore/configurations/configurations/middleware.py +27 -0
  28. wbcore/configurations/configurations/network.py +19 -0
  29. wbcore/configurations/configurations/rest_framework.py +42 -0
  30. wbcore/configurations/configurations/static.py +28 -0
  31. wbcore/configurations/configurations/templates.py +17 -0
  32. wbcore/configurations/configurations/uvicorn.py +9 -0
  33. wbcore/configurations/configurations/wbcore.py +61 -0
  34. wbcore/content_type/__init__.py +0 -0
  35. wbcore/content_type/admin.py +8 -0
  36. wbcore/content_type/filters.py +20 -0
  37. wbcore/content_type/serializers.py +98 -0
  38. wbcore/content_type/utils.py +30 -0
  39. wbcore/content_type/viewsets.py +81 -0
  40. wbcore/contrib/__init__.py +0 -0
  41. wbcore/contrib/agenda/__init__.py +0 -0
  42. wbcore/contrib/agenda/admin/__init__.py +2 -0
  43. wbcore/contrib/agenda/admin/calendar_item.py +14 -0
  44. wbcore/contrib/agenda/admin/conference_room.py +19 -0
  45. wbcore/contrib/agenda/apps.py +6 -0
  46. wbcore/contrib/agenda/configurations.py +11 -0
  47. wbcore/contrib/agenda/factories/__init__.py +2 -0
  48. wbcore/contrib/agenda/factories/calendar_item.py +49 -0
  49. wbcore/contrib/agenda/factories/conference_room.py +20 -0
  50. wbcore/contrib/agenda/filters/__init__.py +2 -0
  51. wbcore/contrib/agenda/filters/calendar_item.py +66 -0
  52. wbcore/contrib/agenda/filters/conference_room.py +42 -0
  53. wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po +206 -0
  54. wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po.translated +236 -0
  55. wbcore/contrib/agenda/locale/en/LC_MESSAGES/django.po +200 -0
  56. wbcore/contrib/agenda/locale/fr/LC_MESSAGES/django.po +201 -0
  57. wbcore/contrib/agenda/migrations/0001_initial.py +84 -0
  58. wbcore/contrib/agenda/migrations/0002_initial.py +26 -0
  59. wbcore/contrib/agenda/migrations/0003_calendaritem_endpoint_basename.py +42 -0
  60. wbcore/contrib/agenda/migrations/0004_alter_calendaritem_item_type.py +17 -0
  61. wbcore/contrib/agenda/migrations/0005_building_and_more.py +94 -0
  62. wbcore/contrib/agenda/migrations/0006_calendaritem_is_deletable.py +17 -0
  63. wbcore/contrib/agenda/migrations/0007_alter_calendaritem_options.py +21 -0
  64. wbcore/contrib/agenda/migrations/0008_alter_calendaritem_item_type.py +17 -0
  65. wbcore/contrib/agenda/migrations/0009_alter_calendaritem_icon.py +18 -0
  66. wbcore/contrib/agenda/migrations/__init__.py +0 -0
  67. wbcore/contrib/agenda/models/__init__.py +2 -0
  68. wbcore/contrib/agenda/models/calendar_item.py +240 -0
  69. wbcore/contrib/agenda/models/conference_room.py +96 -0
  70. wbcore/contrib/agenda/release_notes/1_0_0.md +13 -0
  71. wbcore/contrib/agenda/release_notes/__init__.py +0 -0
  72. wbcore/contrib/agenda/serializers/__init__.py +10 -0
  73. wbcore/contrib/agenda/serializers/calendar_item.py +77 -0
  74. wbcore/contrib/agenda/serializers/conference_room.py +99 -0
  75. wbcore/contrib/agenda/signals.py +5 -0
  76. wbcore/contrib/agenda/static/agenda/markdown/documentation/building.md +11 -0
  77. wbcore/contrib/agenda/static/agenda/markdown/documentation/conferenceroom.md +20 -0
  78. wbcore/contrib/agenda/tests/__init__.py +0 -0
  79. wbcore/contrib/agenda/tests/conftest.py +14 -0
  80. wbcore/contrib/agenda/tests/signals.py +17 -0
  81. wbcore/contrib/agenda/tests/test_models.py +34 -0
  82. wbcore/contrib/agenda/tests/test_viewsets.py +172 -0
  83. wbcore/contrib/agenda/tests/tests.py +26 -0
  84. wbcore/contrib/agenda/typings.py +19 -0
  85. wbcore/contrib/agenda/urls.py +26 -0
  86. wbcore/contrib/agenda/viewsets/__init__.py +13 -0
  87. wbcore/contrib/agenda/viewsets/buttons/__init__.py +1 -0
  88. wbcore/contrib/agenda/viewsets/buttons/conference_room.py +21 -0
  89. wbcore/contrib/agenda/viewsets/calendar_items.py +169 -0
  90. wbcore/contrib/agenda/viewsets/conference_room.py +48 -0
  91. wbcore/contrib/agenda/viewsets/display/__init__.py +2 -0
  92. wbcore/contrib/agenda/viewsets/display/calendar_items.py +17 -0
  93. wbcore/contrib/agenda/viewsets/display/conference_room.py +42 -0
  94. wbcore/contrib/agenda/viewsets/endpoints/__init__.py +1 -0
  95. wbcore/contrib/agenda/viewsets/endpoints/calendar_items.py +19 -0
  96. wbcore/contrib/agenda/viewsets/menu/__init__.py +2 -0
  97. wbcore/contrib/agenda/viewsets/menu/calendar_items.py +12 -0
  98. wbcore/contrib/agenda/viewsets/menu/conference_room.py +38 -0
  99. wbcore/contrib/agenda/viewsets/titles/__init__.py +2 -0
  100. wbcore/contrib/agenda/viewsets/titles/calendar_items.py +8 -0
  101. wbcore/contrib/agenda/viewsets/titles/conference_room.py +25 -0
  102. wbcore/contrib/ai/__init__.py +0 -0
  103. wbcore/contrib/ai/apps.py +5 -0
  104. wbcore/contrib/ai/exceptions.py +40 -0
  105. wbcore/contrib/ai/llm/__init__.py +0 -0
  106. wbcore/contrib/ai/llm/config.py +166 -0
  107. wbcore/contrib/ai/llm/decorators.py +10 -0
  108. wbcore/contrib/ai/llm/mixins.py +34 -0
  109. wbcore/contrib/ai/llm/utils.py +69 -0
  110. wbcore/contrib/authentication/__init__.py +9 -0
  111. wbcore/contrib/authentication/admin.py +247 -0
  112. wbcore/contrib/authentication/apps.py +14 -0
  113. wbcore/contrib/authentication/authentication.py +111 -0
  114. wbcore/contrib/authentication/configs.py +10 -0
  115. wbcore/contrib/authentication/configurations.py +60 -0
  116. wbcore/contrib/authentication/dynamic_preferences_registry.py +26 -0
  117. wbcore/contrib/authentication/factories/__init__.py +10 -0
  118. wbcore/contrib/authentication/factories/tokens.py +15 -0
  119. wbcore/contrib/authentication/factories/users.py +112 -0
  120. wbcore/contrib/authentication/factories/users_activities.py +19 -0
  121. wbcore/contrib/authentication/filters.py +17 -0
  122. wbcore/contrib/authentication/fixtures/authentication.json +62 -0
  123. wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po +632 -0
  124. wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po.translated +634 -0
  125. wbcore/contrib/authentication/locale/en/LC_MESSAGES/django.po +590 -0
  126. wbcore/contrib/authentication/locale/fr/LC_MESSAGES/django.po +592 -0
  127. wbcore/contrib/authentication/management/__init__.py +14 -0
  128. wbcore/contrib/authentication/migrations/0001_initial_squashed.py +174 -0
  129. wbcore/contrib/authentication/migrations/0002_profile.py +26 -0
  130. wbcore/contrib/authentication/migrations/0003_alter_user_profile.py +34 -0
  131. wbcore/contrib/authentication/migrations/0004_token.py +51 -0
  132. wbcore/contrib/authentication/migrations/0005_user_external_calendar_settings.py +17 -0
  133. wbcore/contrib/authentication/migrations/0006_auto_20231206_1422.py +13 -0
  134. wbcore/contrib/authentication/migrations/__init__.py +0 -0
  135. wbcore/contrib/authentication/models/__init__.py +3 -0
  136. wbcore/contrib/authentication/models/tokens.py +140 -0
  137. wbcore/contrib/authentication/models/users.py +224 -0
  138. wbcore/contrib/authentication/models/users_activities.py +114 -0
  139. wbcore/contrib/authentication/release_notes/1_0_0.md +13 -0
  140. wbcore/contrib/authentication/release_notes/__init__.py +0 -0
  141. wbcore/contrib/authentication/serializers/__init__.py +14 -0
  142. wbcore/contrib/authentication/serializers/users.py +351 -0
  143. wbcore/contrib/authentication/serializers/users_activites.py +37 -0
  144. wbcore/contrib/authentication/tasks.py +30 -0
  145. wbcore/contrib/authentication/templates/activate_confirm.html +12 -0
  146. wbcore/contrib/authentication/templates/base.html +135 -0
  147. wbcore/contrib/authentication/templates/email_base_template.html +335 -0
  148. wbcore/contrib/authentication/templates/password_reset_done.html +13 -0
  149. wbcore/contrib/authentication/templates/password_reset_email.html +11 -0
  150. wbcore/contrib/authentication/templates/password_reset_email_html.html +43 -0
  151. wbcore/contrib/authentication/templates/password_reset_form.html +23 -0
  152. wbcore/contrib/authentication/templates/password_reset_sent.html +11 -0
  153. wbcore/contrib/authentication/templates/reset_password.html +15 -0
  154. wbcore/contrib/authentication/templates/user_registration_email.html +37 -0
  155. wbcore/contrib/authentication/tests/__init__.py +0 -0
  156. wbcore/contrib/authentication/tests/conftest.py +18 -0
  157. wbcore/contrib/authentication/tests/e2e/__init__.py +1 -0
  158. wbcore/contrib/authentication/tests/e2e/e2e_auth_utility.py +20 -0
  159. wbcore/contrib/authentication/tests/signals.py +18 -0
  160. wbcore/contrib/authentication/tests/test_configs.py +6 -0
  161. wbcore/contrib/authentication/tests/test_serializers.py +6 -0
  162. wbcore/contrib/authentication/tests/test_tasks.py +34 -0
  163. wbcore/contrib/authentication/tests/test_tokens.py +127 -0
  164. wbcore/contrib/authentication/tests/test_users.py +338 -0
  165. wbcore/contrib/authentication/tests/test_viewsets.py +6 -0
  166. wbcore/contrib/authentication/tests/tests.py +15 -0
  167. wbcore/contrib/authentication/urls.py +94 -0
  168. wbcore/contrib/authentication/utils.py +10 -0
  169. wbcore/contrib/authentication/viewsets/__init__.py +19 -0
  170. wbcore/contrib/authentication/viewsets/buttons/__init__.py +1 -0
  171. wbcore/contrib/authentication/viewsets/buttons/users.py +56 -0
  172. wbcore/contrib/authentication/viewsets/display/__init__.py +6 -0
  173. wbcore/contrib/authentication/viewsets/display/user_activities.py +86 -0
  174. wbcore/contrib/authentication/viewsets/display/users.py +73 -0
  175. wbcore/contrib/authentication/viewsets/endpoints/__init__.py +6 -0
  176. wbcore/contrib/authentication/viewsets/endpoints/user_activities.py +14 -0
  177. wbcore/contrib/authentication/viewsets/endpoints/users.py +18 -0
  178. wbcore/contrib/authentication/viewsets/menu/__init__.py +6 -0
  179. wbcore/contrib/authentication/viewsets/menu/user_activities.py +40 -0
  180. wbcore/contrib/authentication/viewsets/menu/users.py +17 -0
  181. wbcore/contrib/authentication/viewsets/titles/__init__.py +12 -0
  182. wbcore/contrib/authentication/viewsets/titles/user_activities.py +32 -0
  183. wbcore/contrib/authentication/viewsets/titles/users.py +27 -0
  184. wbcore/contrib/authentication/viewsets/user_activities.py +224 -0
  185. wbcore/contrib/authentication/viewsets/users.py +331 -0
  186. wbcore/contrib/color/admin.py +28 -0
  187. wbcore/contrib/color/apps.py +5 -0
  188. wbcore/contrib/color/enums.py +17 -0
  189. wbcore/contrib/color/factories.py +10 -0
  190. wbcore/contrib/color/fields.py +29 -0
  191. wbcore/contrib/color/forms.py +13 -0
  192. wbcore/contrib/color/migrations/0001_initial.py +33 -0
  193. wbcore/contrib/color/migrations/0002_alter_colorgradient_colors.py +25 -0
  194. wbcore/contrib/color/migrations/__init__.py +0 -0
  195. wbcore/contrib/color/models.py +63 -0
  196. wbcore/contrib/color/tests/conftest.py +10 -0
  197. wbcore/contrib/color/tests/test_color_models.py +61 -0
  198. wbcore/contrib/color/tests/test_fields.py +25 -0
  199. wbcore/contrib/currency/__init__.py +0 -0
  200. wbcore/contrib/currency/admin.py +33 -0
  201. wbcore/contrib/currency/apps.py +5 -0
  202. wbcore/contrib/currency/dynamic_preferences_registry.py +39 -0
  203. wbcore/contrib/currency/factories.py +40 -0
  204. wbcore/contrib/currency/fixtures/currency.yaml +1014 -0
  205. wbcore/contrib/currency/fixtures/currency_fx_rate.yaml +73585 -0
  206. wbcore/contrib/currency/import_export/__init__.py +0 -0
  207. wbcore/contrib/currency/import_export/backends/__init__.py +1 -0
  208. wbcore/contrib/currency/import_export/backends/fixerio/__init__.py +1 -0
  209. wbcore/contrib/currency/import_export/backends/fixerio/currency_fx_rates.py +69 -0
  210. wbcore/contrib/currency/import_export/backends/utils.py +5 -0
  211. wbcore/contrib/currency/import_export/handlers/__init__.py +2 -0
  212. wbcore/contrib/currency/import_export/handlers/currency.py +25 -0
  213. wbcore/contrib/currency/import_export/handlers/currency_fx_rates.py +29 -0
  214. wbcore/contrib/currency/import_export/parsers/__init__.py +0 -0
  215. wbcore/contrib/currency/import_export/parsers/fixerio/__init__.py +0 -0
  216. wbcore/contrib/currency/import_export/parsers/fixerio/currency_fx_rates.py +34 -0
  217. wbcore/contrib/currency/migrations/0001_initial.py +89 -0
  218. wbcore/contrib/currency/migrations/__init__.py +0 -0
  219. wbcore/contrib/currency/models.py +199 -0
  220. wbcore/contrib/currency/release_notes/1_0_0.md +13 -0
  221. wbcore/contrib/currency/release_notes/__init__.py +0 -0
  222. wbcore/contrib/currency/serializers.py +45 -0
  223. wbcore/contrib/currency/tests/__init__.py +0 -0
  224. wbcore/contrib/currency/tests/conftest.py +7 -0
  225. wbcore/contrib/currency/tests/test_models.py +115 -0
  226. wbcore/contrib/currency/tests/test_serializers.py +67 -0
  227. wbcore/contrib/currency/tests/test_viewsets.py +196 -0
  228. wbcore/contrib/currency/urls.py +20 -0
  229. wbcore/contrib/currency/viewsets/__init__.py +2 -0
  230. wbcore/contrib/currency/viewsets/buttons/__init__.py +0 -0
  231. wbcore/contrib/currency/viewsets/currency.py +57 -0
  232. wbcore/contrib/currency/viewsets/currency_fx_rates.py +33 -0
  233. wbcore/contrib/currency/viewsets/display/__init__.py +2 -0
  234. wbcore/contrib/currency/viewsets/display/currency.py +38 -0
  235. wbcore/contrib/currency/viewsets/display/currency_fx_rates.py +9 -0
  236. wbcore/contrib/currency/viewsets/endpoints/__init__.py +1 -0
  237. wbcore/contrib/currency/viewsets/endpoints/currency_fx_rates.py +6 -0
  238. wbcore/contrib/currency/viewsets/menu/__init__.py +1 -0
  239. wbcore/contrib/currency/viewsets/menu/currency.py +8 -0
  240. wbcore/contrib/currency/viewsets/preview/__init__.py +1 -0
  241. wbcore/contrib/currency/viewsets/preview/currency.py +10 -0
  242. wbcore/contrib/currency/viewsets/titles/__init__.py +2 -0
  243. wbcore/contrib/currency/viewsets/titles/currency.py +6 -0
  244. wbcore/contrib/currency/viewsets/titles/currency_fx_rates.py +8 -0
  245. wbcore/contrib/dataloader/__init__.py +1 -0
  246. wbcore/contrib/dataloader/apps.py +5 -0
  247. wbcore/contrib/dataloader/dataloaders/__init__.py +2 -0
  248. wbcore/contrib/dataloader/dataloaders/dataloaders.py +25 -0
  249. wbcore/contrib/dataloader/dataloaders/proxies.py +82 -0
  250. wbcore/contrib/dataloader/models/__init__.py +1 -0
  251. wbcore/contrib/dataloader/models/entities.py +30 -0
  252. wbcore/contrib/dataloader/models/querysets/__init__.py +1 -0
  253. wbcore/contrib/dataloader/models/querysets/entities.py +28 -0
  254. wbcore/contrib/dataloader/tests/__init__.py +0 -0
  255. wbcore/contrib/dataloader/tests/conftest.py +26 -0
  256. wbcore/contrib/dataloader/tests/test/__init__.py +0 -0
  257. wbcore/contrib/dataloader/tests/test/dataloaders/__init__.py +0 -0
  258. wbcore/contrib/dataloader/tests/test/dataloaders/dataloaders.py +18 -0
  259. wbcore/contrib/dataloader/tests/test/dataloaders/protocols.py +5 -0
  260. wbcore/contrib/dataloader/tests/test/dataloaders/proxies.py +11 -0
  261. wbcore/contrib/dataloader/tests/test/factories.py +13 -0
  262. wbcore/contrib/dataloader/tests/test/models.py +11 -0
  263. wbcore/contrib/dataloader/tests/test_dataloaders.py +38 -0
  264. wbcore/contrib/dataloader/tests/test_entities.py +13 -0
  265. wbcore/contrib/dataloader/utils.py +20 -0
  266. wbcore/contrib/directory/__init__.py +0 -0
  267. wbcore/contrib/directory/admin/__init__.py +14 -0
  268. wbcore/contrib/directory/admin/contacts.py +55 -0
  269. wbcore/contrib/directory/admin/entries.py +235 -0
  270. wbcore/contrib/directory/admin/relationships.py +73 -0
  271. wbcore/contrib/directory/apps.py +6 -0
  272. wbcore/contrib/directory/configs.py +9 -0
  273. wbcore/contrib/directory/configurations.py +70 -0
  274. wbcore/contrib/directory/dynamic_preferences_registry.py +61 -0
  275. wbcore/contrib/directory/factories/__init__.py +35 -0
  276. wbcore/contrib/directory/factories/contacts.py +71 -0
  277. wbcore/contrib/directory/factories/entries.py +174 -0
  278. wbcore/contrib/directory/factories/relationships.py +77 -0
  279. wbcore/contrib/directory/filters/__init__.py +22 -0
  280. wbcore/contrib/directory/filters/contacts.py +234 -0
  281. wbcore/contrib/directory/filters/entries.py +273 -0
  282. wbcore/contrib/directory/filters/relationships.py +90 -0
  283. wbcore/contrib/directory/fixtures/directory.json +3884 -0
  284. wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po +1700 -0
  285. wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po.translated +1779 -0
  286. wbcore/contrib/directory/locale/en/LC_MESSAGES/django.po +1652 -0
  287. wbcore/contrib/directory/locale/fr/LC_MESSAGES/django.po +1654 -0
  288. wbcore/contrib/directory/migrations/0001_initial.py +871 -0
  289. wbcore/contrib/directory/migrations/0002_auto_20230414_1553.py +42 -0
  290. wbcore/contrib/directory/migrations/0003_remove_entry_last_event.py +16 -0
  291. wbcore/contrib/directory/migrations/0004_entry_is_draft_entry.py +21 -0
  292. wbcore/contrib/directory/migrations/0005_entry_salutation.py +17 -0
  293. wbcore/contrib/directory/migrations/0006_employeremployeerelationship_position_name.py +23 -0
  294. wbcore/contrib/directory/migrations/0007_alter_bankingcontact_options.py +20 -0
  295. wbcore/contrib/directory/migrations/0008_bankingcontact_access.py +17 -0
  296. wbcore/contrib/directory/migrations/0009_remove_entry_external_identfier_and_more.py +22 -0
  297. wbcore/contrib/directory/migrations/0010_remove_addresscontact_city.py +31 -0
  298. wbcore/contrib/directory/migrations/0011_person_description_person_i18n.py +24 -0
  299. wbcore/contrib/directory/migrations/0012_alter_person_managers.py +20 -0
  300. wbcore/contrib/directory/migrations/0013_alter_clientmanagerrelationship_options.py +17 -0
  301. wbcore/contrib/directory/migrations/0014_alter_entry_relationship_managers_and_more.py +28 -0
  302. wbcore/contrib/directory/migrations/__init__.py +0 -0
  303. wbcore/contrib/directory/models/__init__.py +27 -0
  304. wbcore/contrib/directory/models/contacts.py +554 -0
  305. wbcore/contrib/directory/models/entries.py +896 -0
  306. wbcore/contrib/directory/models/relationships.py +624 -0
  307. wbcore/contrib/directory/permissions.py +6 -0
  308. wbcore/contrib/directory/preferences.py +11 -0
  309. wbcore/contrib/directory/release_notes/1_0_0.md +13 -0
  310. wbcore/contrib/directory/release_notes/1_0_1.md +13 -0
  311. wbcore/contrib/directory/release_notes/__init__.py +0 -0
  312. wbcore/contrib/directory/serializers/__init__.py +62 -0
  313. wbcore/contrib/directory/serializers/companies.py +169 -0
  314. wbcore/contrib/directory/serializers/contacts.py +404 -0
  315. wbcore/contrib/directory/serializers/entries.py +355 -0
  316. wbcore/contrib/directory/serializers/entry_representations.py +38 -0
  317. wbcore/contrib/directory/serializers/persons.py +214 -0
  318. wbcore/contrib/directory/serializers/relationships.py +333 -0
  319. wbcore/contrib/directory/signals.py +3 -0
  320. wbcore/contrib/directory/static/directory/markdown/documentation/address.md +38 -0
  321. wbcore/contrib/directory/static/directory/markdown/documentation/banking.md +54 -0
  322. wbcore/contrib/directory/static/directory/markdown/documentation/bankingentry.md +38 -0
  323. wbcore/contrib/directory/static/directory/markdown/documentation/clientmanagerrelationship.md +42 -0
  324. wbcore/contrib/directory/static/directory/markdown/documentation/company.md +52 -0
  325. wbcore/contrib/directory/static/directory/markdown/documentation/companytype.md +2 -0
  326. wbcore/contrib/directory/static/directory/markdown/documentation/customerstatus.md +2 -0
  327. wbcore/contrib/directory/static/directory/markdown/documentation/email.md +20 -0
  328. wbcore/contrib/directory/static/directory/markdown/documentation/employeecompany.md +34 -0
  329. wbcore/contrib/directory/static/directory/markdown/documentation/employerperson.md +43 -0
  330. wbcore/contrib/directory/static/directory/markdown/documentation/person.md +61 -0
  331. wbcore/contrib/directory/static/directory/markdown/documentation/position.md +2 -0
  332. wbcore/contrib/directory/static/directory/markdown/documentation/relationshiptype.md +2 -0
  333. wbcore/contrib/directory/static/directory/markdown/documentation/socialmedia.md +23 -0
  334. wbcore/contrib/directory/static/directory/markdown/documentation/specialization.md +2 -0
  335. wbcore/contrib/directory/static/directory/markdown/documentation/systememployee.md +31 -0
  336. wbcore/contrib/directory/static/directory/markdown/documentation/telephone.md +23 -0
  337. wbcore/contrib/directory/static/directory/markdown/documentation/telephonesearch.md +26 -0
  338. wbcore/contrib/directory/static/directory/markdown/documentation/userisclient.md +14 -0
  339. wbcore/contrib/directory/static/directory/markdown/documentation/userismanager.md +28 -0
  340. wbcore/contrib/directory/static/directory/markdown/documentation/website.md +20 -0
  341. wbcore/contrib/directory/tests/__init__.py +0 -0
  342. wbcore/contrib/directory/tests/conftest.py +62 -0
  343. wbcore/contrib/directory/tests/disable_signals.py +62 -0
  344. wbcore/contrib/directory/tests/e2e/__init__.py +7 -0
  345. wbcore/contrib/directory/tests/e2e/e2e_directory_utility.py +163 -0
  346. wbcore/contrib/directory/tests/signals.py +89 -0
  347. wbcore/contrib/directory/tests/test_configs.py +6 -0
  348. wbcore/contrib/directory/tests/test_filters.py +60 -0
  349. wbcore/contrib/directory/tests/test_models.py +428 -0
  350. wbcore/contrib/directory/tests/test_permissions.py +123 -0
  351. wbcore/contrib/directory/tests/test_serializers.py +217 -0
  352. wbcore/contrib/directory/tests/test_viewsets.py +835 -0
  353. wbcore/contrib/directory/typings.py +17 -0
  354. wbcore/contrib/directory/urls.py +135 -0
  355. wbcore/contrib/directory/viewsets/__init__.py +57 -0
  356. wbcore/contrib/directory/viewsets/buttons/__init__.py +7 -0
  357. wbcore/contrib/directory/viewsets/buttons/contacts.py +17 -0
  358. wbcore/contrib/directory/viewsets/buttons/entries.py +134 -0
  359. wbcore/contrib/directory/viewsets/buttons/relationships.py +64 -0
  360. wbcore/contrib/directory/viewsets/contacts.py +392 -0
  361. wbcore/contrib/directory/viewsets/display/__init__.py +36 -0
  362. wbcore/contrib/directory/viewsets/display/contacts.py +368 -0
  363. wbcore/contrib/directory/viewsets/display/entries.py +532 -0
  364. wbcore/contrib/directory/viewsets/display/relationships.py +292 -0
  365. wbcore/contrib/directory/viewsets/display/utils.py +34 -0
  366. wbcore/contrib/directory/viewsets/endpoints/__init__.py +22 -0
  367. wbcore/contrib/directory/viewsets/endpoints/contacts.py +55 -0
  368. wbcore/contrib/directory/viewsets/endpoints/entries.py +31 -0
  369. wbcore/contrib/directory/viewsets/endpoints/relationships.py +81 -0
  370. wbcore/contrib/directory/viewsets/entries.py +205 -0
  371. wbcore/contrib/directory/viewsets/menu/__init__.py +16 -0
  372. wbcore/contrib/directory/viewsets/menu/contacts.py +26 -0
  373. wbcore/contrib/directory/viewsets/menu/entries.py +62 -0
  374. wbcore/contrib/directory/viewsets/menu/relationships.py +32 -0
  375. wbcore/contrib/directory/viewsets/menu/utils.py +73 -0
  376. wbcore/contrib/directory/viewsets/mixins.py +12 -0
  377. wbcore/contrib/directory/viewsets/previews/__init__.py +2 -0
  378. wbcore/contrib/directory/viewsets/previews/contacts.py +19 -0
  379. wbcore/contrib/directory/viewsets/previews/entries.py +32 -0
  380. wbcore/contrib/directory/viewsets/relationships.py +256 -0
  381. wbcore/contrib/directory/viewsets/titles/__init__.py +30 -0
  382. wbcore/contrib/directory/viewsets/titles/contacts.py +123 -0
  383. wbcore/contrib/directory/viewsets/titles/entries.py +30 -0
  384. wbcore/contrib/directory/viewsets/titles/relationships.py +86 -0
  385. wbcore/contrib/directory/viewsets/titles/utils.py +47 -0
  386. wbcore/contrib/directory/viewsets/utils.py +101 -0
  387. wbcore/contrib/documents/__init__.py +0 -0
  388. wbcore/contrib/documents/admin.py +80 -0
  389. wbcore/contrib/documents/apps.py +6 -0
  390. wbcore/contrib/documents/factories.py +44 -0
  391. wbcore/contrib/documents/filters.py +81 -0
  392. wbcore/contrib/documents/fixtures/docments.json +135 -0
  393. wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po +281 -0
  394. wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po.translated +285 -0
  395. wbcore/contrib/documents/locale/en/LC_MESSAGES/django.po +271 -0
  396. wbcore/contrib/documents/locale/fr/LC_MESSAGES/django.po +270 -0
  397. wbcore/contrib/documents/migrations/0001_initial.py +189 -0
  398. wbcore/contrib/documents/migrations/0002_documentmodelrelationship_primary_and_more.py +22 -0
  399. wbcore/contrib/documents/migrations/0003_alter_documentmodelrelationship_unique_together_and_more.py +30 -0
  400. wbcore/contrib/documents/migrations/0004_auto_20240103_0958.py +44 -0
  401. wbcore/contrib/documents/migrations/0005_document_valid_from_document_valid_until_and_more.py +32 -0
  402. wbcore/contrib/documents/migrations/__init__.py +0 -0
  403. wbcore/contrib/documents/models/__init__.py +4 -0
  404. wbcore/contrib/documents/models/document_model_relationships.py +58 -0
  405. wbcore/contrib/documents/models/document_types.py +36 -0
  406. wbcore/contrib/documents/models/documents.py +311 -0
  407. wbcore/contrib/documents/models/mixins.py +10 -0
  408. wbcore/contrib/documents/models/shareable_links.py +91 -0
  409. wbcore/contrib/documents/release_notes/1_0_0.md +13 -0
  410. wbcore/contrib/documents/release_notes/__init__.py +0 -0
  411. wbcore/contrib/documents/serializers/__init__.py +12 -0
  412. wbcore/contrib/documents/serializers/document_model_relationships.py +31 -0
  413. wbcore/contrib/documents/serializers/document_types.py +41 -0
  414. wbcore/contrib/documents/serializers/documents.py +65 -0
  415. wbcore/contrib/documents/serializers/shareable_links.py +91 -0
  416. wbcore/contrib/documents/static/documents/markdown/documentation/document_types.md +21 -0
  417. wbcore/contrib/documents/static/documents/markdown/documentation/documents.md +18 -0
  418. wbcore/contrib/documents/static/documents/markdown/documentation/shareablelink.md +28 -0
  419. wbcore/contrib/documents/static/documents/markdown/documentation/shareablelinkaccess.md +20 -0
  420. wbcore/contrib/documents/tests/conftest.py +30 -0
  421. wbcore/contrib/documents/tests/test_models.py +148 -0
  422. wbcore/contrib/documents/urls.py +43 -0
  423. wbcore/contrib/documents/viewsets/__init__.py +10 -0
  424. wbcore/contrib/documents/viewsets/buttons/__init__.py +3 -0
  425. wbcore/contrib/documents/viewsets/buttons/documents.py +54 -0
  426. wbcore/contrib/documents/viewsets/buttons/shareable_links.py +21 -0
  427. wbcore/contrib/documents/viewsets/buttons/signals.py +14 -0
  428. wbcore/contrib/documents/viewsets/display/__init__.py +4 -0
  429. wbcore/contrib/documents/viewsets/display/document_model_relationships.py +19 -0
  430. wbcore/contrib/documents/viewsets/display/document_types.py +24 -0
  431. wbcore/contrib/documents/viewsets/display/documents.py +102 -0
  432. wbcore/contrib/documents/viewsets/display/shareable_links.py +66 -0
  433. wbcore/contrib/documents/viewsets/document_model_relationships.py +25 -0
  434. wbcore/contrib/documents/viewsets/document_types.py +38 -0
  435. wbcore/contrib/documents/viewsets/documents.py +108 -0
  436. wbcore/contrib/documents/viewsets/endpoints/__init__.py +5 -0
  437. wbcore/contrib/documents/viewsets/endpoints/documents.py +20 -0
  438. wbcore/contrib/documents/viewsets/endpoints/documents_model_relationships.py +14 -0
  439. wbcore/contrib/documents/viewsets/endpoints/shareable_links.py +27 -0
  440. wbcore/contrib/documents/viewsets/menu/__init__.py +1 -0
  441. wbcore/contrib/documents/viewsets/menu/documents.py +25 -0
  442. wbcore/contrib/documents/viewsets/previews/__init__.py +1 -0
  443. wbcore/contrib/documents/viewsets/previews/documents.py +10 -0
  444. wbcore/contrib/documents/viewsets/shareable_links.py +110 -0
  445. wbcore/contrib/documents/viewsets/titles/__init__.py +3 -0
  446. wbcore/contrib/documents/viewsets/titles/document_types.py +14 -0
  447. wbcore/contrib/documents/viewsets/titles/documents.py +27 -0
  448. wbcore/contrib/documents/viewsets/titles/shareable_links.py +14 -0
  449. wbcore/contrib/dynamic_preferences/__init__.py +0 -0
  450. wbcore/contrib/dynamic_preferences/types.py +127 -0
  451. wbcore/contrib/dynamic_preferences/viewsets.py +27 -0
  452. wbcore/contrib/example_app/__init__.py +0 -0
  453. wbcore/contrib/example_app/admin.py +118 -0
  454. wbcore/contrib/example_app/apps.py +6 -0
  455. wbcore/contrib/example_app/factories/__init__.py +8 -0
  456. wbcore/contrib/example_app/factories/event.py +27 -0
  457. wbcore/contrib/example_app/factories/league.py +16 -0
  458. wbcore/contrib/example_app/factories/match.py +26 -0
  459. wbcore/contrib/example_app/factories/person.py +34 -0
  460. wbcore/contrib/example_app/factories/role.py +10 -0
  461. wbcore/contrib/example_app/factories/sport.py +13 -0
  462. wbcore/contrib/example_app/factories/stadium.py +13 -0
  463. wbcore/contrib/example_app/factories/team.py +37 -0
  464. wbcore/contrib/example_app/filters/__init__.py +9 -0
  465. wbcore/contrib/example_app/filters/event.py +83 -0
  466. wbcore/contrib/example_app/filters/league.py +75 -0
  467. wbcore/contrib/example_app/filters/match.py +93 -0
  468. wbcore/contrib/example_app/filters/person.py +78 -0
  469. wbcore/contrib/example_app/filters/role.py +18 -0
  470. wbcore/contrib/example_app/filters/sport.py +27 -0
  471. wbcore/contrib/example_app/filters/stadium.py +31 -0
  472. wbcore/contrib/example_app/filters/team.py +78 -0
  473. wbcore/contrib/example_app/filters/teamresult.py +48 -0
  474. wbcore/contrib/example_app/fixtures/example_app.json +7425 -0
  475. wbcore/contrib/example_app/migrations/0001_initial.py +498 -0
  476. wbcore/contrib/example_app/migrations/0002_sportperson_profile.py +49 -0
  477. wbcore/contrib/example_app/migrations/0003_change_stadium_capacity.py +31 -0
  478. wbcore/contrib/example_app/migrations/0004_alter_player_transfer_value.py +21 -0
  479. wbcore/contrib/example_app/migrations/0005_sportperson_profile_image.py +23 -0
  480. wbcore/contrib/example_app/migrations/0006_league_season_period_player_is_active_and_more.py +116 -0
  481. wbcore/contrib/example_app/migrations/0007_alter_player_options_alter_team_options_and_more.py +40 -0
  482. wbcore/contrib/example_app/migrations/__init__.py +0 -0
  483. wbcore/contrib/example_app/models.py +978 -0
  484. wbcore/contrib/example_app/serializers/__init__.py +31 -0
  485. wbcore/contrib/example_app/serializers/league.py +112 -0
  486. wbcore/contrib/example_app/serializers/match_event.py +305 -0
  487. wbcore/contrib/example_app/serializers/person_team.py +281 -0
  488. wbcore/contrib/example_app/serializers/role.py +16 -0
  489. wbcore/contrib/example_app/serializers/season.py +54 -0
  490. wbcore/contrib/example_app/serializers/sport.py +38 -0
  491. wbcore/contrib/example_app/serializers/stadium.py +59 -0
  492. wbcore/contrib/example_app/serializers/teamresult.py +44 -0
  493. wbcore/contrib/example_app/templates/example_app/embedded_view.html +19 -0
  494. wbcore/contrib/example_app/tests/__init__.py +0 -0
  495. wbcore/contrib/example_app/tests/conftest.py +13 -0
  496. wbcore/contrib/example_app/tests/e2e/__init__.py +1 -0
  497. wbcore/contrib/example_app/tests/e2e/e2e_example_app_utility.py +52 -0
  498. wbcore/contrib/example_app/tests/e2e/test_league.py +70 -0
  499. wbcore/contrib/example_app/tests/e2e/test_person.py +68 -0
  500. wbcore/contrib/example_app/tests/e2e/test_teams.py +57 -0
  501. wbcore/contrib/example_app/tests/signals.py +7 -0
  502. wbcore/contrib/example_app/tests/test_displays.py +41 -0
  503. wbcore/contrib/example_app/tests/test_filters.py +71 -0
  504. wbcore/contrib/example_app/tests/test_models/test_event.py +89 -0
  505. wbcore/contrib/example_app/tests/test_models/test_match.py +220 -0
  506. wbcore/contrib/example_app/tests/test_models/test_others.py +161 -0
  507. wbcore/contrib/example_app/tests/test_serializers/test_league_serializer.py +34 -0
  508. wbcore/contrib/example_app/tests/test_serializers/test_match_serializer.py +139 -0
  509. wbcore/contrib/example_app/tests/test_serializers/test_role_serializer.py +13 -0
  510. wbcore/contrib/example_app/tests/test_serializers/test_sport_serializer.py +14 -0
  511. wbcore/contrib/example_app/tests/test_serializers/test_stadium_serializer.py +14 -0
  512. wbcore/contrib/example_app/tests/test_serializers/test_team_result_serializer.py +30 -0
  513. wbcore/contrib/example_app/tests/test_serializers/test_team_serializer.py +70 -0
  514. wbcore/contrib/example_app/tests/test_utils.py +26 -0
  515. wbcore/contrib/example_app/tests/test_viewsets/test_event_viewset.py +167 -0
  516. wbcore/contrib/example_app/tests/test_viewsets/test_league_viewset.py +84 -0
  517. wbcore/contrib/example_app/tests/test_viewsets/test_match_viewset.py +65 -0
  518. wbcore/contrib/example_app/tests/test_viewsets/test_person_viewset.py +166 -0
  519. wbcore/contrib/example_app/tests/test_viewsets/test_role_viewset.py +75 -0
  520. wbcore/contrib/example_app/tests/test_viewsets/test_sport_viewset.py +75 -0
  521. wbcore/contrib/example_app/tests/test_viewsets/test_stadium_viewset.py +75 -0
  522. wbcore/contrib/example_app/tests/test_viewsets/test_team_viewset.py +92 -0
  523. wbcore/contrib/example_app/tests/test_viewsets/test_teamresult_viewset.py +58 -0
  524. wbcore/contrib/example_app/tests/test_viewsets/test_utils_viewsets.py +124 -0
  525. wbcore/contrib/example_app/urls.py +82 -0
  526. wbcore/contrib/example_app/utils.py +21 -0
  527. wbcore/contrib/example_app/views.py +6 -0
  528. wbcore/contrib/example_app/viewsets/__init__.py +29 -0
  529. wbcore/contrib/example_app/viewsets/buttons/__init__.py +2 -0
  530. wbcore/contrib/example_app/viewsets/buttons/person.py +19 -0
  531. wbcore/contrib/example_app/viewsets/buttons/team.py +24 -0
  532. wbcore/contrib/example_app/viewsets/displays/__init__.py +23 -0
  533. wbcore/contrib/example_app/viewsets/displays/event.py +187 -0
  534. wbcore/contrib/example_app/viewsets/displays/league.py +391 -0
  535. wbcore/contrib/example_app/viewsets/displays/match.py +265 -0
  536. wbcore/contrib/example_app/viewsets/displays/person.py +252 -0
  537. wbcore/contrib/example_app/viewsets/displays/role.py +17 -0
  538. wbcore/contrib/example_app/viewsets/displays/season.py +66 -0
  539. wbcore/contrib/example_app/viewsets/displays/sport.py +116 -0
  540. wbcore/contrib/example_app/viewsets/displays/stadium.py +150 -0
  541. wbcore/contrib/example_app/viewsets/displays/team.py +250 -0
  542. wbcore/contrib/example_app/viewsets/displays/teamresult.py +31 -0
  543. wbcore/contrib/example_app/viewsets/endpoints/__init__.py +12 -0
  544. wbcore/contrib/example_app/viewsets/endpoints/endpoints.py +80 -0
  545. wbcore/contrib/example_app/viewsets/event.py +288 -0
  546. wbcore/contrib/example_app/viewsets/league.py +73 -0
  547. wbcore/contrib/example_app/viewsets/match.py +120 -0
  548. wbcore/contrib/example_app/viewsets/menu/__init__.py +1 -0
  549. wbcore/contrib/example_app/viewsets/menu/menus.py +103 -0
  550. wbcore/contrib/example_app/viewsets/menus.py +64 -0
  551. wbcore/contrib/example_app/viewsets/person.py +134 -0
  552. wbcore/contrib/example_app/viewsets/role.py +25 -0
  553. wbcore/contrib/example_app/viewsets/season.py +23 -0
  554. wbcore/contrib/example_app/viewsets/sport.py +26 -0
  555. wbcore/contrib/example_app/viewsets/stadium.py +31 -0
  556. wbcore/contrib/example_app/viewsets/team.py +69 -0
  557. wbcore/contrib/example_app/viewsets/teamresult.py +107 -0
  558. wbcore/contrib/example_app/viewsets/titles/__init__.py +9 -0
  559. wbcore/contrib/example_app/viewsets/titles/event.py +42 -0
  560. wbcore/contrib/example_app/viewsets/titles/league.py +25 -0
  561. wbcore/contrib/example_app/viewsets/titles/match.py +35 -0
  562. wbcore/contrib/example_app/viewsets/titles/person.py +36 -0
  563. wbcore/contrib/example_app/viewsets/titles/role.py +14 -0
  564. wbcore/contrib/example_app/viewsets/titles/sport.py +14 -0
  565. wbcore/contrib/example_app/viewsets/titles/stadium.py +14 -0
  566. wbcore/contrib/example_app/viewsets/titles/team.py +25 -0
  567. wbcore/contrib/example_app/viewsets/titles/teamresult.py +13 -0
  568. wbcore/contrib/geography/__init__.py +0 -0
  569. wbcore/contrib/geography/admin.py +30 -0
  570. wbcore/contrib/geography/apps.py +5 -0
  571. wbcore/contrib/geography/factories.py +46 -0
  572. wbcore/contrib/geography/fixtures/geography.json +13454 -0
  573. wbcore/contrib/geography/import_export/__init__.py +0 -0
  574. wbcore/contrib/geography/import_export/resources/__init__.py +0 -0
  575. wbcore/contrib/geography/import_export/resources/geography.py +11 -0
  576. wbcore/contrib/geography/migrations/0001_initial.py +110 -0
  577. wbcore/contrib/geography/migrations/0002_geography_geography_geography_tree_i739a.py +17 -0
  578. wbcore/contrib/geography/migrations/__init__.py +0 -0
  579. wbcore/contrib/geography/models.py +150 -0
  580. wbcore/contrib/geography/release_notes/1_0_0.md +13 -0
  581. wbcore/contrib/geography/release_notes/__init__.py +0 -0
  582. wbcore/contrib/geography/serializers.py +29 -0
  583. wbcore/contrib/geography/static/geography/markdown/documentation/geography.md +16 -0
  584. wbcore/contrib/geography/tests/__init__.py +0 -0
  585. wbcore/contrib/geography/tests/conftest.py +26 -0
  586. wbcore/contrib/geography/tests/signals.py +7 -0
  587. wbcore/contrib/geography/tests/test_models.py +27 -0
  588. wbcore/contrib/geography/tests/test_viewsets.py +100 -0
  589. wbcore/contrib/geography/urls.py +13 -0
  590. wbcore/contrib/geography/viewsets/__init__.py +1 -0
  591. wbcore/contrib/geography/viewsets/buttons/__init__.py +0 -0
  592. wbcore/contrib/geography/viewsets/display/__init__.py +1 -0
  593. wbcore/contrib/geography/viewsets/display/geography.py +32 -0
  594. wbcore/contrib/geography/viewsets/endpoints/__init__.py +0 -0
  595. wbcore/contrib/geography/viewsets/geography.py +58 -0
  596. wbcore/contrib/geography/viewsets/menu/__init__.py +1 -0
  597. wbcore/contrib/geography/viewsets/menu/geography.py +8 -0
  598. wbcore/contrib/geography/viewsets/preview/__init__.py +1 -0
  599. wbcore/contrib/geography/viewsets/preview/geography.py +19 -0
  600. wbcore/contrib/geography/viewsets/titles/__init__.py +0 -0
  601. wbcore/contrib/geography/viewsets/titles/geography.py +14 -0
  602. wbcore/contrib/gleap/__init__.py +0 -0
  603. wbcore/contrib/gleap/apps.py +5 -0
  604. wbcore/contrib/gleap/configs.py +12 -0
  605. wbcore/contrib/gleap/configurations.py +6 -0
  606. wbcore/contrib/gleap/hashes.py +13 -0
  607. wbcore/contrib/gleap/tests/__init__.py +0 -0
  608. wbcore/contrib/gleap/tests/conftest.py +1 -0
  609. wbcore/contrib/gleap/tests/tests.py +29 -0
  610. wbcore/contrib/gleap/urls.py +8 -0
  611. wbcore/contrib/gleap/views.py +31 -0
  612. wbcore/contrib/guardian/apps.py +6 -0
  613. wbcore/contrib/guardian/configurations.py +3 -0
  614. wbcore/contrib/guardian/filters.py +21 -0
  615. wbcore/contrib/guardian/migrations/0001_initial.py +103 -0
  616. wbcore/contrib/guardian/migrations/__init__.py +0 -0
  617. wbcore/contrib/guardian/models/__init__.py +1 -0
  618. wbcore/contrib/guardian/models/mixins.py +139 -0
  619. wbcore/contrib/guardian/models/models.py +29 -0
  620. wbcore/contrib/guardian/tasks.py +11 -0
  621. wbcore/contrib/guardian/tests/__init__.py +0 -0
  622. wbcore/contrib/guardian/tests/conftest.py +1 -0
  623. wbcore/contrib/guardian/tests/test_model_mixins.py +92 -0
  624. wbcore/contrib/guardian/tests/test_tasks.py +77 -0
  625. wbcore/contrib/guardian/tests/test_utils.py +196 -0
  626. wbcore/contrib/guardian/tests/test_viewsets.py +48 -0
  627. wbcore/contrib/guardian/urls.py +12 -0
  628. wbcore/contrib/guardian/utils.py +124 -0
  629. wbcore/contrib/guardian/viewsets/__init__.py +1 -0
  630. wbcore/contrib/guardian/viewsets/configs/__init__.py +4 -0
  631. wbcore/contrib/guardian/viewsets/configs/buttons.py +36 -0
  632. wbcore/contrib/guardian/viewsets/configs/displays.py +43 -0
  633. wbcore/contrib/guardian/viewsets/configs/endpoints.py +25 -0
  634. wbcore/contrib/guardian/viewsets/configs/titles.py +16 -0
  635. wbcore/contrib/guardian/viewsets/mixins.py +6 -0
  636. wbcore/contrib/guardian/viewsets/viewsets.py +141 -0
  637. wbcore/contrib/i18n/__init__.py +2 -0
  638. wbcore/contrib/i18n/buttons.py +33 -0
  639. wbcore/contrib/i18n/serializers/__init__.py +0 -0
  640. wbcore/contrib/i18n/serializers/fields.py +20 -0
  641. wbcore/contrib/i18n/serializers/mixins.py +13 -0
  642. wbcore/contrib/i18n/tests/conftest.py +11 -0
  643. wbcore/contrib/i18n/tests/test_viewsets.py +67 -0
  644. wbcore/contrib/i18n/translation.py +141 -0
  645. wbcore/contrib/i18n/viewsets.py +36 -0
  646. wbcore/contrib/icons/__init__.py +1 -0
  647. wbcore/contrib/icons/apps.py +5 -0
  648. wbcore/contrib/icons/backends/__init__.py +5 -0
  649. wbcore/contrib/icons/backends/default.py +375 -0
  650. wbcore/contrib/icons/backends/material.py +136 -0
  651. wbcore/contrib/icons/icons.py +167 -0
  652. wbcore/contrib/icons/models.py +11 -0
  653. wbcore/contrib/icons/serializers.py +18 -0
  654. wbcore/contrib/io/__init__.py +0 -0
  655. wbcore/contrib/io/admin.py +151 -0
  656. wbcore/contrib/io/apps.py +37 -0
  657. wbcore/contrib/io/backends/__init__.py +3 -0
  658. wbcore/contrib/io/backends/abstract.py +60 -0
  659. wbcore/contrib/io/backends/mail.py +39 -0
  660. wbcore/contrib/io/backends/utils.py +39 -0
  661. wbcore/contrib/io/configs/__init__.py +0 -0
  662. wbcore/contrib/io/configs/endpoints.py +13 -0
  663. wbcore/contrib/io/configurations/__init__.py +1 -0
  664. wbcore/contrib/io/configurations/base.py +7 -0
  665. wbcore/contrib/io/dynamic_preferences_registry.py +25 -0
  666. wbcore/contrib/io/enums.py +15 -0
  667. wbcore/contrib/io/exceptions.py +24 -0
  668. wbcore/contrib/io/factories.py +205 -0
  669. wbcore/contrib/io/fixtures/io.json +145 -0
  670. wbcore/contrib/io/import_export/backends/__init__.py +3 -0
  671. wbcore/contrib/io/import_export/backends/mail.py +51 -0
  672. wbcore/contrib/io/import_export/backends/sftp.py +69 -0
  673. wbcore/contrib/io/import_export/backends/stream.py +92 -0
  674. wbcore/contrib/io/import_export/parsers/__init__.py +0 -0
  675. wbcore/contrib/io/import_export/parsers/base_csv.py +36 -0
  676. wbcore/contrib/io/import_export/parsers/resources.py +50 -0
  677. wbcore/contrib/io/imports.py +313 -0
  678. wbcore/contrib/io/locale/de/LC_MESSAGES/django.po +144 -0
  679. wbcore/contrib/io/locale/de/LC_MESSAGES/django.po.translated +103 -0
  680. wbcore/contrib/io/locale/en/LC_MESSAGES/django.po +138 -0
  681. wbcore/contrib/io/locale/fr/LC_MESSAGES/django.po +138 -0
  682. wbcore/contrib/io/management/__init__.py +13 -0
  683. wbcore/contrib/io/migrations/0001_initial_squashed.py +319 -0
  684. wbcore/contrib/io/migrations/0002_importsource_creator.py +26 -0
  685. wbcore/contrib/io/migrations/0003_auto_20240103_1000.py +46 -0
  686. wbcore/contrib/io/migrations/0004_alter_importsource_status_exportsource.py +134 -0
  687. wbcore/contrib/io/migrations/0005_exportsource_data_alter_exportsource_query_str_and_more.py +67 -0
  688. wbcore/contrib/io/migrations/0006_alter_exportsource_query_params.py +20 -0
  689. wbcore/contrib/io/migrations/0007_alter_exportsource_query_params.py +23 -0
  690. wbcore/contrib/io/migrations/0008_importsource_resource_kwargs.py +18 -0
  691. wbcore/contrib/io/migrations/__init__.py +0 -0
  692. wbcore/contrib/io/mixins.py +37 -0
  693. wbcore/contrib/io/models.py +1037 -0
  694. wbcore/contrib/io/release_notes/1_0_0.md +13 -0
  695. wbcore/contrib/io/release_notes/__init__.py +0 -0
  696. wbcore/contrib/io/resources.py +176 -0
  697. wbcore/contrib/io/serializers.py +137 -0
  698. wbcore/contrib/io/signals.py +4 -0
  699. wbcore/contrib/io/tasks.py +27 -0
  700. wbcore/contrib/io/tests/__init__.py +0 -0
  701. wbcore/contrib/io/tests/conftest.py +42 -0
  702. wbcore/contrib/io/tests/test_backends.py +134 -0
  703. wbcore/contrib/io/tests/test_exports.py +130 -0
  704. wbcore/contrib/io/tests/test_imports.py +168 -0
  705. wbcore/contrib/io/tests/test_models.py +396 -0
  706. wbcore/contrib/io/tests/test_viewsets.py +271 -0
  707. wbcore/contrib/io/urls.py +29 -0
  708. wbcore/contrib/io/utils.py +44 -0
  709. wbcore/contrib/io/viewset_mixins.py +271 -0
  710. wbcore/contrib/io/viewsets.py +139 -0
  711. wbcore/contrib/notifications/__init__.py +0 -0
  712. wbcore/contrib/notifications/admin.py +63 -0
  713. wbcore/contrib/notifications/apps.py +43 -0
  714. wbcore/contrib/notifications/backends/__init__.py +0 -0
  715. wbcore/contrib/notifications/backends/abstract_backend.py +11 -0
  716. wbcore/contrib/notifications/backends/console/__init__.py +1 -0
  717. wbcore/contrib/notifications/backends/console/backends.py +25 -0
  718. wbcore/contrib/notifications/backends/firebase/__init__.py +1 -0
  719. wbcore/contrib/notifications/backends/firebase/backends.py +106 -0
  720. wbcore/contrib/notifications/configs.py +13 -0
  721. wbcore/contrib/notifications/configurations.py +9 -0
  722. wbcore/contrib/notifications/dispatch.py +90 -0
  723. wbcore/contrib/notifications/factories/__init__.py +0 -0
  724. wbcore/contrib/notifications/factories/notification_types.py +24 -0
  725. wbcore/contrib/notifications/factories/notifications.py +17 -0
  726. wbcore/contrib/notifications/factories/tokens.py +12 -0
  727. wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +66 -0
  728. wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po.translated +63 -0
  729. wbcore/contrib/notifications/locale/en/LC_MESSAGES/django.po +61 -0
  730. wbcore/contrib/notifications/locale/fr/LC_MESSAGES/django.po +62 -0
  731. wbcore/contrib/notifications/migrations/0001_initial.py +116 -0
  732. wbcore/contrib/notifications/migrations/0002_notificationusertoken_unique_user_token_device.py +18 -0
  733. wbcore/contrib/notifications/migrations/0003_notificationusertoken_updated.py +17 -0
  734. wbcore/contrib/notifications/migrations/0004_alter_notification_body.py +17 -0
  735. wbcore/contrib/notifications/migrations/0005_alter_notification_endpoint.py +17 -0
  736. wbcore/contrib/notifications/migrations/0006_notification_created.py +25 -0
  737. wbcore/contrib/notifications/migrations/0007_notificationtype_resource_button_label.py +19 -0
  738. wbcore/contrib/notifications/migrations/0008_notificationtype_is_lock.py +18 -0
  739. wbcore/contrib/notifications/migrations/0009_alter_notificationtypesetting_options_and_more.py +32 -0
  740. wbcore/contrib/notifications/migrations/__init__.py +0 -0
  741. wbcore/contrib/notifications/models/__init__.py +3 -0
  742. wbcore/contrib/notifications/models/notification_types.py +165 -0
  743. wbcore/contrib/notifications/models/notifications.py +82 -0
  744. wbcore/contrib/notifications/models/tokens.py +46 -0
  745. wbcore/contrib/notifications/release_notes/1_0_0.md +13 -0
  746. wbcore/contrib/notifications/release_notes/__init__.py +0 -0
  747. wbcore/contrib/notifications/serializers/__init__.py +5 -0
  748. wbcore/contrib/notifications/serializers/notification_types.py +51 -0
  749. wbcore/contrib/notifications/serializers/notifications.py +33 -0
  750. wbcore/contrib/notifications/static/notifications/service-worker.js +1 -0
  751. wbcore/contrib/notifications/tasks.py +57 -0
  752. wbcore/contrib/notifications/templates/notifications/notification_template.html +43 -0
  753. wbcore/contrib/notifications/tests/__init__.py +0 -0
  754. wbcore/contrib/notifications/tests/conftest.py +47 -0
  755. wbcore/contrib/notifications/tests/test_backends/__init__.py +0 -0
  756. wbcore/contrib/notifications/tests/test_backends/test_firebase.py +79 -0
  757. wbcore/contrib/notifications/tests/test_configs.py +7 -0
  758. wbcore/contrib/notifications/tests/test_models/__init__.py +0 -0
  759. wbcore/contrib/notifications/tests/test_models/test_notification_types.py +85 -0
  760. wbcore/contrib/notifications/tests/test_models/test_notifications.py +46 -0
  761. wbcore/contrib/notifications/tests/test_models/test_tokens.py +30 -0
  762. wbcore/contrib/notifications/tests/test_serializers/__init__.py +0 -0
  763. wbcore/contrib/notifications/tests/test_serializers/test_notification_types.py +59 -0
  764. wbcore/contrib/notifications/tests/test_serializers/test_notifications.py +24 -0
  765. wbcore/contrib/notifications/tests/test_tasks.py +72 -0
  766. wbcore/contrib/notifications/tests/test_utils.py +0 -0
  767. wbcore/contrib/notifications/tests/test_viewsets/__init__.py +0 -0
  768. wbcore/contrib/notifications/tests/test_viewsets/test_notification_types.py +120 -0
  769. wbcore/contrib/notifications/tests/test_viewsets/test_notifications.py +143 -0
  770. wbcore/contrib/notifications/urls.py +27 -0
  771. wbcore/contrib/notifications/utils.py +27 -0
  772. wbcore/contrib/notifications/views.py +63 -0
  773. wbcore/contrib/notifications/viewsets/__init__.py +5 -0
  774. wbcore/contrib/notifications/viewsets/configs/notification_types.py +49 -0
  775. wbcore/contrib/notifications/viewsets/configs/notifications.py +91 -0
  776. wbcore/contrib/notifications/viewsets/menus.py +15 -0
  777. wbcore/contrib/notifications/viewsets/notification_types.py +51 -0
  778. wbcore/contrib/notifications/viewsets/notifications.py +58 -0
  779. wbcore/contrib/pandas/__init__.py +0 -0
  780. wbcore/contrib/pandas/fields.py +172 -0
  781. wbcore/contrib/pandas/filters.py +118 -0
  782. wbcore/contrib/pandas/filterset.py +28 -0
  783. wbcore/contrib/pandas/metadata.py +15 -0
  784. wbcore/contrib/pandas/tests/__init__.py +0 -0
  785. wbcore/contrib/pandas/tests/test_base.py +22 -0
  786. wbcore/contrib/pandas/tests/test_fields/__init__.py +0 -0
  787. wbcore/contrib/pandas/tests/test_fields/test_number_fields.py +19 -0
  788. wbcore/contrib/pandas/tests/test_filters/__init__.py +0 -0
  789. wbcore/contrib/pandas/tests/test_filters/test_pandas.py +115 -0
  790. wbcore/contrib/pandas/tests/test_views.py +22 -0
  791. wbcore/contrib/pandas/utils.py +170 -0
  792. wbcore/contrib/pandas/views.py +158 -0
  793. wbcore/contrib/tags/__init__.py +0 -0
  794. wbcore/contrib/tags/admin.py +17 -0
  795. wbcore/contrib/tags/apps.py +9 -0
  796. wbcore/contrib/tags/factories.py +28 -0
  797. wbcore/contrib/tags/filters.py +43 -0
  798. wbcore/contrib/tags/migrations/0001_initial.py +62 -0
  799. wbcore/contrib/tags/migrations/__init__.py +0 -0
  800. wbcore/contrib/tags/models/__init__.py +2 -0
  801. wbcore/contrib/tags/models/mixins.py +27 -0
  802. wbcore/contrib/tags/models/tags.py +107 -0
  803. wbcore/contrib/tags/release_notes/1_0_0.md +13 -0
  804. wbcore/contrib/tags/release_notes/__init__.py +0 -0
  805. wbcore/contrib/tags/serializers.py +90 -0
  806. wbcore/contrib/tags/signals.py +19 -0
  807. wbcore/contrib/tags/tests/__init__.py +0 -0
  808. wbcore/contrib/tags/tests/conftest.py +7 -0
  809. wbcore/contrib/tags/tests/tests.py +144 -0
  810. wbcore/contrib/tags/urls.py +15 -0
  811. wbcore/contrib/tags/viewsets/__init__.py +10 -0
  812. wbcore/contrib/tags/viewsets/display.py +50 -0
  813. wbcore/contrib/tags/viewsets/menu.py +15 -0
  814. wbcore/contrib/tags/viewsets/viewsets.py +58 -0
  815. wbcore/contrib/workflow/__init__.py +1 -0
  816. wbcore/contrib/workflow/admin/__init__.py +15 -0
  817. wbcore/contrib/workflow/admin/condition.py +9 -0
  818. wbcore/contrib/workflow/admin/data.py +15 -0
  819. wbcore/contrib/workflow/admin/display.py +9 -0
  820. wbcore/contrib/workflow/admin/process.py +37 -0
  821. wbcore/contrib/workflow/admin/step.py +92 -0
  822. wbcore/contrib/workflow/admin/transition.py +9 -0
  823. wbcore/contrib/workflow/admin/workflow.py +9 -0
  824. wbcore/contrib/workflow/apps.py +25 -0
  825. wbcore/contrib/workflow/configs.py +11 -0
  826. wbcore/contrib/workflow/decorators.py +25 -0
  827. wbcore/contrib/workflow/dispatch.py +24 -0
  828. wbcore/contrib/workflow/factories/__init__.py +18 -0
  829. wbcore/contrib/workflow/factories/condition.py +16 -0
  830. wbcore/contrib/workflow/factories/data.py +23 -0
  831. wbcore/contrib/workflow/factories/display.py +28 -0
  832. wbcore/contrib/workflow/factories/process.py +70 -0
  833. wbcore/contrib/workflow/factories/step.py +157 -0
  834. wbcore/contrib/workflow/factories/transition.py +27 -0
  835. wbcore/contrib/workflow/factories/workflow.py +20 -0
  836. wbcore/contrib/workflow/filters/__init__.py +24 -0
  837. wbcore/contrib/workflow/filters/condition.py +24 -0
  838. wbcore/contrib/workflow/filters/data.py +25 -0
  839. wbcore/contrib/workflow/filters/process.py +165 -0
  840. wbcore/contrib/workflow/filters/step.py +227 -0
  841. wbcore/contrib/workflow/filters/transition.py +42 -0
  842. wbcore/contrib/workflow/filters/workflow.py +44 -0
  843. wbcore/contrib/workflow/fixtures/workflow.json +612 -0
  844. wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +1180 -0
  845. wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po.translated +1326 -0
  846. wbcore/contrib/workflow/locale/en/LC_MESSAGES/django.po +1102 -0
  847. wbcore/contrib/workflow/locale/fr/LC_MESSAGES/django.po +1114 -0
  848. wbcore/contrib/workflow/migrations/0001_initial.py +788 -0
  849. wbcore/contrib/workflow/migrations/0002_alter_step_step_type.py +31 -0
  850. wbcore/contrib/workflow/migrations/0003_alter_condition_attribute_name_and_more.py +75 -0
  851. wbcore/contrib/workflow/migrations/0004_alter_userstep_assignee_method.py +27 -0
  852. wbcore/contrib/workflow/migrations/0005_alter_userstep_assignee_method.py +17 -0
  853. wbcore/contrib/workflow/migrations/__init__.py +0 -0
  854. wbcore/contrib/workflow/models/__init__.py +19 -0
  855. wbcore/contrib/workflow/models/condition.py +124 -0
  856. wbcore/contrib/workflow/models/data.py +242 -0
  857. wbcore/contrib/workflow/models/display.py +34 -0
  858. wbcore/contrib/workflow/models/process.py +244 -0
  859. wbcore/contrib/workflow/models/step.py +778 -0
  860. wbcore/contrib/workflow/models/transition.py +71 -0
  861. wbcore/contrib/workflow/models/workflow.py +317 -0
  862. wbcore/contrib/workflow/serializers/__init__.py +37 -0
  863. wbcore/contrib/workflow/serializers/condition.py +65 -0
  864. wbcore/contrib/workflow/serializers/data.py +136 -0
  865. wbcore/contrib/workflow/serializers/display.py +25 -0
  866. wbcore/contrib/workflow/serializers/process.py +184 -0
  867. wbcore/contrib/workflow/serializers/signals.py +26 -0
  868. wbcore/contrib/workflow/serializers/step.py +365 -0
  869. wbcore/contrib/workflow/serializers/transition.py +81 -0
  870. wbcore/contrib/workflow/serializers/workflow.py +125 -0
  871. wbcore/contrib/workflow/sites.py +43 -0
  872. wbcore/contrib/workflow/static/workflow/markdown/documentation/assignedprocessstep.md +33 -0
  873. wbcore/contrib/workflow/static/workflow/markdown/documentation/condition.md +24 -0
  874. wbcore/contrib/workflow/static/workflow/markdown/documentation/decisionstep.md +30 -0
  875. wbcore/contrib/workflow/static/workflow/markdown/documentation/emailstep.md +45 -0
  876. wbcore/contrib/workflow/static/workflow/markdown/documentation/finishstep.md +33 -0
  877. wbcore/contrib/workflow/static/workflow/markdown/documentation/joinstep.md +33 -0
  878. wbcore/contrib/workflow/static/workflow/markdown/documentation/process.md +33 -0
  879. wbcore/contrib/workflow/static/workflow/markdown/documentation/processstep.md +51 -0
  880. wbcore/contrib/workflow/static/workflow/markdown/documentation/scriptstep.md +33 -0
  881. wbcore/contrib/workflow/static/workflow/markdown/documentation/splitstep.md +30 -0
  882. wbcore/contrib/workflow/static/workflow/markdown/documentation/startstep.md +27 -0
  883. wbcore/contrib/workflow/static/workflow/markdown/documentation/transition.md +27 -0
  884. wbcore/contrib/workflow/static/workflow/markdown/documentation/userstep.md +42 -0
  885. wbcore/contrib/workflow/static/workflow/markdown/documentation/workflow.md +32 -0
  886. wbcore/contrib/workflow/templates/Test_Templates.txt +25 -0
  887. wbcore/contrib/workflow/tests/__init__.py +0 -0
  888. wbcore/contrib/workflow/tests/conftest.py +281 -0
  889. wbcore/contrib/workflow/tests/test_configs.py +6 -0
  890. wbcore/contrib/workflow/tests/test_dispatch.py +94 -0
  891. wbcore/contrib/workflow/tests/test_displays.py +42 -0
  892. wbcore/contrib/workflow/tests/test_filters.py +104 -0
  893. wbcore/contrib/workflow/tests/test_models/step/test_decision_step.py +82 -0
  894. wbcore/contrib/workflow/tests/test_models/step/test_email_step.py +85 -0
  895. wbcore/contrib/workflow/tests/test_models/step/test_finish_step.py +167 -0
  896. wbcore/contrib/workflow/tests/test_models/step/test_join_step.py +117 -0
  897. wbcore/contrib/workflow/tests/test_models/step/test_script_step.py +24 -0
  898. wbcore/contrib/workflow/tests/test_models/step/test_split_step.py +49 -0
  899. wbcore/contrib/workflow/tests/test_models/step/test_step.py +756 -0
  900. wbcore/contrib/workflow/tests/test_models/step/test_user_step.py +225 -0
  901. wbcore/contrib/workflow/tests/test_models/test_condition.py +103 -0
  902. wbcore/contrib/workflow/tests/test_models/test_data.py +134 -0
  903. wbcore/contrib/workflow/tests/test_models/test_process.py +98 -0
  904. wbcore/contrib/workflow/tests/test_models/test_transition.py +128 -0
  905. wbcore/contrib/workflow/tests/test_models/test_workflow.py +358 -0
  906. wbcore/contrib/workflow/tests/test_serializers.py +200 -0
  907. wbcore/contrib/workflow/tests/test_viewsets.py +300 -0
  908. wbcore/contrib/workflow/tests/test_workflow_assignees.py +236 -0
  909. wbcore/contrib/workflow/urls.py +67 -0
  910. wbcore/contrib/workflow/utils.py +13 -0
  911. wbcore/contrib/workflow/viewsets/__init__.py +17 -0
  912. wbcore/contrib/workflow/viewsets/buttons/__init__.py +1 -0
  913. wbcore/contrib/workflow/viewsets/buttons/step.py +68 -0
  914. wbcore/contrib/workflow/viewsets/condition.py +32 -0
  915. wbcore/contrib/workflow/viewsets/data.py +33 -0
  916. wbcore/contrib/workflow/viewsets/display/__init__.py +15 -0
  917. wbcore/contrib/workflow/viewsets/display/condition.py +51 -0
  918. wbcore/contrib/workflow/viewsets/display/data.py +51 -0
  919. wbcore/contrib/workflow/viewsets/display/process.py +186 -0
  920. wbcore/contrib/workflow/viewsets/display/step.py +454 -0
  921. wbcore/contrib/workflow/viewsets/display/transition.py +76 -0
  922. wbcore/contrib/workflow/viewsets/display/workflow.py +168 -0
  923. wbcore/contrib/workflow/viewsets/endpoints/__init__.py +5 -0
  924. wbcore/contrib/workflow/viewsets/endpoints/condition.py +9 -0
  925. wbcore/contrib/workflow/viewsets/endpoints/data.py +9 -0
  926. wbcore/contrib/workflow/viewsets/endpoints/process.py +11 -0
  927. wbcore/contrib/workflow/viewsets/endpoints/step.py +24 -0
  928. wbcore/contrib/workflow/viewsets/endpoints/transition.py +19 -0
  929. wbcore/contrib/workflow/viewsets/menu/__init__.py +15 -0
  930. wbcore/contrib/workflow/viewsets/menu/condition.py +19 -0
  931. wbcore/contrib/workflow/viewsets/menu/data.py +19 -0
  932. wbcore/contrib/workflow/viewsets/menu/process.py +19 -0
  933. wbcore/contrib/workflow/viewsets/menu/step.py +124 -0
  934. wbcore/contrib/workflow/viewsets/menu/transition.py +19 -0
  935. wbcore/contrib/workflow/viewsets/menu/workflow.py +19 -0
  936. wbcore/contrib/workflow/viewsets/process.py +175 -0
  937. wbcore/contrib/workflow/viewsets/step.py +229 -0
  938. wbcore/contrib/workflow/viewsets/titles/__init__.py +16 -0
  939. wbcore/contrib/workflow/viewsets/titles/condition.py +14 -0
  940. wbcore/contrib/workflow/viewsets/titles/data.py +14 -0
  941. wbcore/contrib/workflow/viewsets/titles/process.py +27 -0
  942. wbcore/contrib/workflow/viewsets/titles/step.py +102 -0
  943. wbcore/contrib/workflow/viewsets/titles/transition.py +14 -0
  944. wbcore/contrib/workflow/viewsets/titles/workflow.py +14 -0
  945. wbcore/contrib/workflow/viewsets/transition.py +58 -0
  946. wbcore/contrib/workflow/viewsets/workflow.py +37 -0
  947. wbcore/contrib/workflow/workflows/__init__.py +1 -0
  948. wbcore/contrib/workflow/workflows/assignees.py +88 -0
  949. wbcore/crontab/__init__.py +0 -0
  950. wbcore/crontab/serializers.py +24 -0
  951. wbcore/crontab/viewsets.py +10 -0
  952. wbcore/dispatch.py +56 -0
  953. wbcore/docs/__init__.py +23 -0
  954. wbcore/docs/orderable.md +29 -0
  955. wbcore/docs/reparent.md +13 -0
  956. wbcore/dynamic_preferences_registry.py +131 -0
  957. wbcore/enums.py +50 -0
  958. wbcore/filters/__init__.py +21 -0
  959. wbcore/filters/backends.py +19 -0
  960. wbcore/filters/defaults.py +70 -0
  961. wbcore/filters/fields/__init__.py +15 -0
  962. wbcore/filters/fields/booleans.py +7 -0
  963. wbcore/filters/fields/choices.py +60 -0
  964. wbcore/filters/fields/content_type.py +45 -0
  965. wbcore/filters/fields/datetime.py +117 -0
  966. wbcore/filters/fields/models.py +123 -0
  967. wbcore/filters/fields/multiple_lookups.py +20 -0
  968. wbcore/filters/fields/numbers.py +48 -0
  969. wbcore/filters/fields/text.py +7 -0
  970. wbcore/filters/filterset.py +250 -0
  971. wbcore/filters/lookups.py +41 -0
  972. wbcore/filters/mixins.py +111 -0
  973. wbcore/filters/utils.py +21 -0
  974. wbcore/forms.py +125 -0
  975. wbcore/frontend.py +23 -0
  976. wbcore/frontend_user_configuration.py +96 -0
  977. wbcore/fsm/__init__.py +0 -0
  978. wbcore/fsm/markdown_extensions.py +31 -0
  979. wbcore/fsm/mixins.py +128 -0
  980. wbcore/locale/de/LC_MESSAGES/django.po +1252 -0
  981. wbcore/locale/de/LC_MESSAGES/django.po.translated +1580 -0
  982. wbcore/locale/en/LC_MESSAGES/django.po +1234 -0
  983. wbcore/locale/fr/LC_MESSAGES/django.po +1235 -0
  984. wbcore/management/__init__.py +88 -0
  985. wbcore/management/commands/__init__.py +0 -0
  986. wbcore/management/commands/bootstrap.py +18 -0
  987. wbcore/management/commands/clean_obsolete_object.py +21 -0
  988. wbcore/management/commands/handle_release_notes.py +54 -0
  989. wbcore/markdown/__init__.py +1 -0
  990. wbcore/markdown/admin.py +9 -0
  991. wbcore/markdown/dynamic_preferences_registry.py +16 -0
  992. wbcore/markdown/models.py +41 -0
  993. wbcore/markdown/template.py +38 -0
  994. wbcore/markdown/utils.py +37 -0
  995. wbcore/markdown/views.py +50 -0
  996. wbcore/menus/__init__.py +2 -0
  997. wbcore/menus/menus.py +96 -0
  998. wbcore/menus/registry.py +28 -0
  999. wbcore/menus/views.py +41 -0
  1000. wbcore/messages.py +60 -0
  1001. wbcore/metadata/__init__.py +0 -0
  1002. wbcore/metadata/configs/__init__.py +0 -0
  1003. wbcore/metadata/configs/base.py +86 -0
  1004. wbcore/metadata/configs/buttons/__init__.py +4 -0
  1005. wbcore/metadata/configs/buttons/bases.py +89 -0
  1006. wbcore/metadata/configs/buttons/buttons.py +138 -0
  1007. wbcore/metadata/configs/buttons/enums.py +68 -0
  1008. wbcore/metadata/configs/buttons/metadata.py +8 -0
  1009. wbcore/metadata/configs/buttons/view_config.py +145 -0
  1010. wbcore/metadata/configs/display/__init__.py +4 -0
  1011. wbcore/metadata/configs/display/configs.py +16 -0
  1012. wbcore/metadata/configs/display/display.py +234 -0
  1013. wbcore/metadata/configs/display/formatting.py +47 -0
  1014. wbcore/metadata/configs/display/instance_display/__init__.py +15 -0
  1015. wbcore/metadata/configs/display/instance_display/display.py +40 -0
  1016. wbcore/metadata/configs/display/instance_display/enums.py +7 -0
  1017. wbcore/metadata/configs/display/instance_display/layouts/__init__.py +3 -0
  1018. wbcore/metadata/configs/display/instance_display/layouts/inlines.py +58 -0
  1019. wbcore/metadata/configs/display/instance_display/layouts/layouts.py +77 -0
  1020. wbcore/metadata/configs/display/instance_display/layouts/sections.py +43 -0
  1021. wbcore/metadata/configs/display/instance_display/operators.py +22 -0
  1022. wbcore/metadata/configs/display/instance_display/pages.py +40 -0
  1023. wbcore/metadata/configs/display/instance_display/shortcuts.py +81 -0
  1024. wbcore/metadata/configs/display/instance_display/signals.py +3 -0
  1025. wbcore/metadata/configs/display/instance_display/styles.py +42 -0
  1026. wbcore/metadata/configs/display/instance_display/utils.py +74 -0
  1027. wbcore/metadata/configs/display/list_display.py +290 -0
  1028. wbcore/metadata/configs/display/models.py +26 -0
  1029. wbcore/metadata/configs/display/view_config.py +85 -0
  1030. wbcore/metadata/configs/display/views.py +48 -0
  1031. wbcore/metadata/configs/display/windows.py +28 -0
  1032. wbcore/metadata/configs/documentations.py +11 -0
  1033. wbcore/metadata/configs/endpoints.py +189 -0
  1034. wbcore/metadata/configs/fields.py +22 -0
  1035. wbcore/metadata/configs/filter_fields.py +41 -0
  1036. wbcore/metadata/configs/identifiers.py +27 -0
  1037. wbcore/metadata/configs/ordering_fields.py +24 -0
  1038. wbcore/metadata/configs/paginations.py +11 -0
  1039. wbcore/metadata/configs/preview.py +41 -0
  1040. wbcore/metadata/configs/primary_keys.py +9 -0
  1041. wbcore/metadata/configs/search_fields.py +9 -0
  1042. wbcore/metadata/configs/titles.py +48 -0
  1043. wbcore/metadata/configs/window_types.py +13 -0
  1044. wbcore/metadata/exceptions.py +0 -0
  1045. wbcore/metadata/metadata.py +34 -0
  1046. wbcore/metadata/mixins.py +106 -0
  1047. wbcore/metadata/tests/__init__.py +0 -0
  1048. wbcore/metadata/tests/test_buttons.py +165 -0
  1049. wbcore/metadata/utils.py +4 -0
  1050. wbcore/migrations/0001_initial_squashed_squashed_0010_preset_appliedpreset.py +398 -0
  1051. wbcore/migrations/0011_genericmodel.py +22 -0
  1052. wbcore/migrations/0012_delete_notification.py +15 -0
  1053. wbcore/migrations/0013_delete_colorgradient.py +14 -0
  1054. wbcore/migrations/0014_biguserobjectpermission_system.py +44 -0
  1055. wbcore/migrations/__init__.py +0 -0
  1056. wbcore/models/__init__.py +6 -0
  1057. wbcore/models/base.py +184 -0
  1058. wbcore/models/fields.py +29 -0
  1059. wbcore/models/orderable.py +6 -0
  1060. wbcore/pagination.py +64 -0
  1061. wbcore/pandas/__init__.py +53 -0
  1062. wbcore/pandas/fields.py +25 -0
  1063. wbcore/pandas/filterset.py +9 -0
  1064. wbcore/pandas/utils.py +25 -0
  1065. wbcore/pandas/views.py +9 -0
  1066. wbcore/permissions/__init__.py +0 -0
  1067. wbcore/permissions/backend.py +36 -0
  1068. wbcore/permissions/mixins.py +72 -0
  1069. wbcore/permissions/permissions.py +51 -0
  1070. wbcore/permissions/registry.py +33 -0
  1071. wbcore/permissions/shortcuts.py +38 -0
  1072. wbcore/permissions/utils.py +26 -0
  1073. wbcore/release_notes/__init__.py +0 -0
  1074. wbcore/release_notes/admin.py +30 -0
  1075. wbcore/release_notes/buttons.py +26 -0
  1076. wbcore/release_notes/display.py +52 -0
  1077. wbcore/release_notes/filters.py +36 -0
  1078. wbcore/release_notes/models.py +66 -0
  1079. wbcore/release_notes/serializers.py +12 -0
  1080. wbcore/release_notes/utils.py +14 -0
  1081. wbcore/release_notes/viewsets.py +52 -0
  1082. wbcore/reversion/__init__.py +0 -0
  1083. wbcore/reversion/filters.py +39 -0
  1084. wbcore/reversion/serializers.py +81 -0
  1085. wbcore/reversion/viewsets/__init__.py +6 -0
  1086. wbcore/reversion/viewsets/buttons.py +95 -0
  1087. wbcore/reversion/viewsets/displays.py +45 -0
  1088. wbcore/reversion/viewsets/endpoints.py +30 -0
  1089. wbcore/reversion/viewsets/titles.py +19 -0
  1090. wbcore/reversion/viewsets/viewsets.py +112 -0
  1091. wbcore/routers.py +63 -0
  1092. wbcore/search/__init__.py +62 -0
  1093. wbcore/serializers/__init__.py +68 -0
  1094. wbcore/serializers/fields/__init__.py +59 -0
  1095. wbcore/serializers/fields/boolean.py +51 -0
  1096. wbcore/serializers/fields/choice.py +60 -0
  1097. wbcore/serializers/fields/datetime.py +178 -0
  1098. wbcore/serializers/fields/fields.py +193 -0
  1099. wbcore/serializers/fields/file.py +20 -0
  1100. wbcore/serializers/fields/fsm.py +20 -0
  1101. wbcore/serializers/fields/json.py +56 -0
  1102. wbcore/serializers/fields/list.py +104 -0
  1103. wbcore/serializers/fields/mixins.py +196 -0
  1104. wbcore/serializers/fields/number.py +94 -0
  1105. wbcore/serializers/fields/other.py +34 -0
  1106. wbcore/serializers/fields/primary_key.py +22 -0
  1107. wbcore/serializers/fields/related.py +150 -0
  1108. wbcore/serializers/fields/text.py +141 -0
  1109. wbcore/serializers/fields/types.py +46 -0
  1110. wbcore/serializers/mixins.py +24 -0
  1111. wbcore/serializers/serializers.py +425 -0
  1112. wbcore/serializers/utils.py +143 -0
  1113. wbcore/shares/__init__.py +1 -0
  1114. wbcore/shares/config.py +64 -0
  1115. wbcore/shares/decorator.py +13 -0
  1116. wbcore/shares/signals.py +3 -0
  1117. wbcore/shares/sites.py +29 -0
  1118. wbcore/shares/views.py +25 -0
  1119. wbcore/signals/__init__.py +7 -0
  1120. wbcore/signals/clone.py +4 -0
  1121. wbcore/signals/filters.py +3 -0
  1122. wbcore/signals/instance_buttons.py +5 -0
  1123. wbcore/signals/merge.py +4 -0
  1124. wbcore/signals/models.py +4 -0
  1125. wbcore/signals/permissions.py +3 -0
  1126. wbcore/signals/serializers.py +5 -0
  1127. wbcore/tasks.py +87 -0
  1128. wbcore/template.py +29 -0
  1129. wbcore/templates/errors/404.html +134 -0
  1130. wbcore/templates/errors/500.html +138 -0
  1131. wbcore/templates/errors/503.html +132 -0
  1132. wbcore/templates/errors/custom.html +132 -0
  1133. wbcore/templates/forms.py +0 -0
  1134. wbcore/templates/notifications/email_template.html +43 -0
  1135. wbcore/templates/reversion/__init__.py +0 -0
  1136. wbcore/templates/reversion/compare_detail.html +19 -0
  1137. wbcore/templates/wbcore/admin/change_list.html +8 -0
  1138. wbcore/templates/wbcore/admin/csv_form.html +15 -0
  1139. wbcore/templates/wbcore/dynamic_color_array.html +29 -0
  1140. wbcore/templates/wbcore/email_base_template.html +335 -0
  1141. wbcore/templates/wbcore/email_notification_template.html +10 -0
  1142. wbcore/templates/wbcore/frontend.html +51 -0
  1143. wbcore/test/__init__.py +30 -0
  1144. wbcore/test/e2e_helpers_methods/e2e_checks.py +127 -0
  1145. wbcore/test/e2e_helpers_methods/e2e_helper_methods.py +397 -0
  1146. wbcore/test/mixins.py +660 -0
  1147. wbcore/test/signals.py +6 -0
  1148. wbcore/test/tests.py +129 -0
  1149. wbcore/test/utils.py +227 -0
  1150. wbcore/tests/__init__.py +0 -0
  1151. wbcore/tests/conftest.py +55 -0
  1152. wbcore/tests/e2e/__init__.py +0 -0
  1153. wbcore/tests/e2e/test_e2e.py +25 -0
  1154. wbcore/tests/models.py +6 -0
  1155. wbcore/tests/test_cache/__init__.py +0 -0
  1156. wbcore/tests/test_cache/test_decorators.py +28 -0
  1157. wbcore/tests/test_cache/test_mixins.py +30 -0
  1158. wbcore/tests/test_cache/test_registry.py +58 -0
  1159. wbcore/tests/test_configs.py +58 -0
  1160. wbcore/tests/test_enums.py +56 -0
  1161. wbcore/tests/test_fields/__init__.py +0 -0
  1162. wbcore/tests/test_fields/test_boolean_fields.py +49 -0
  1163. wbcore/tests/test_fields/test_choice_fields.py +57 -0
  1164. wbcore/tests/test_fields/test_datetime_fields.py +152 -0
  1165. wbcore/tests/test_fields/test_fields.py +24 -0
  1166. wbcore/tests/test_fields/test_file_fields.py +52 -0
  1167. wbcore/tests/test_fields/test_json_fields.py +28 -0
  1168. wbcore/tests/test_fields/test_list_fields.py +27 -0
  1169. wbcore/tests/test_fields/test_mixins.py +112 -0
  1170. wbcore/tests/test_fields/test_number_fields.py +166 -0
  1171. wbcore/tests/test_fields/test_other_fields.py +60 -0
  1172. wbcore/tests/test_fields/test_primary_key_fields.py +52 -0
  1173. wbcore/tests/test_fields/test_related.py +81 -0
  1174. wbcore/tests/test_fields/test_text_fields.py +118 -0
  1175. wbcore/tests/test_filters/__init__.py +0 -0
  1176. wbcore/tests/test_filters/test_mixins.py +109 -0
  1177. wbcore/tests/test_list_display.py +29 -0
  1178. wbcore/tests/test_models/__init__.py +0 -0
  1179. wbcore/tests/test_models/test_fields.py +26 -0
  1180. wbcore/tests/test_models/test_mixins.py +32 -0
  1181. wbcore/tests/test_new_display/__init__.py +0 -0
  1182. wbcore/tests/test_new_display/test_inlines.py +13 -0
  1183. wbcore/tests/test_new_display/test_layouts.py +15 -0
  1184. wbcore/tests/test_new_display/test_operators.py +16 -0
  1185. wbcore/tests/test_new_display/test_pages.py +8 -0
  1186. wbcore/tests/test_new_display/test_sections.py +0 -0
  1187. wbcore/tests/test_new_display/test_shortcuts.py +38 -0
  1188. wbcore/tests/test_new_display/test_utils.py +49 -0
  1189. wbcore/tests/test_pagination.py +32 -0
  1190. wbcore/tests/test_permissions/test_backend.py +29 -0
  1191. wbcore/tests/test_serializers/__init__.py +0 -0
  1192. wbcore/tests/test_serializers/test_fields.py +141 -0
  1193. wbcore/tests/test_serializers/test_mixins.py +54 -0
  1194. wbcore/tests/test_serializers/test_related.py +78 -0
  1195. wbcore/tests/test_something.py +39 -0
  1196. wbcore/tests/test_utils/__init__.py +0 -0
  1197. wbcore/tests/test_utils/test_date.py +50 -0
  1198. wbcore/tests/test_utils/test_date_builder.py +124 -0
  1199. wbcore/tests/test_utils/test_primary.py +80 -0
  1200. wbcore/tests/test_utils/test_signals.py +40 -0
  1201. wbcore/tests/test_viewsets.py +21 -0
  1202. wbcore/urls.py +117 -0
  1203. wbcore/utils/__init__.py +13 -0
  1204. wbcore/utils/cache.py +8 -0
  1205. wbcore/utils/date.py +237 -0
  1206. wbcore/utils/date_builder/__init__.py +18 -0
  1207. wbcore/utils/date_builder/components.py +42 -0
  1208. wbcore/utils/date_builder/offsets.py +27 -0
  1209. wbcore/utils/deprecations.py +11 -0
  1210. wbcore/utils/enum.py +23 -0
  1211. wbcore/utils/figures.py +286 -0
  1212. wbcore/utils/html.py +8 -0
  1213. wbcore/utils/importlib.py +13 -0
  1214. wbcore/utils/itertools.py +40 -0
  1215. wbcore/utils/models.py +293 -0
  1216. wbcore/utils/numbers.py +69 -0
  1217. wbcore/utils/prettytable.py +35 -0
  1218. wbcore/utils/print.py +29 -0
  1219. wbcore/utils/renderers.py +13 -0
  1220. wbcore/utils/reportlab.py +7 -0
  1221. wbcore/utils/rrules.py +82 -0
  1222. wbcore/utils/serializers.py +9 -0
  1223. wbcore/utils/settings.py +5 -0
  1224. wbcore/utils/signals.py +36 -0
  1225. wbcore/utils/string_loader.py +42 -0
  1226. wbcore/utils/strings.py +77 -0
  1227. wbcore/utils/urls.py +70 -0
  1228. wbcore/utils/views.py +207 -0
  1229. wbcore/views.py +26 -0
  1230. wbcore/viewsets/__init__.py +12 -0
  1231. wbcore/viewsets/encoders.py +18 -0
  1232. wbcore/viewsets/generics.py +5 -0
  1233. wbcore/viewsets/mixins.py +295 -0
  1234. wbcore/viewsets/utils.py +27 -0
  1235. wbcore/viewsets/viewsets.py +202 -0
  1236. wbcore/workers.py +8 -0
  1237. wbcore-1.59.9.dist-info/METADATA +65 -0
  1238. wbcore-1.59.9.dist-info/RECORD +1239 -0
  1239. wbcore-1.59.9.dist-info/WHEEL +5 -0
@@ -0,0 +1,1700 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ # Translators:
7
+ # Kevin Decoster, 2025
8
+ #
9
+ #, fuzzy
10
+ msgid ""
11
+ msgstr ""
12
+ "Project-Id-Version: PACKAGE VERSION\n"
13
+ "Report-Msgid-Bugs-To: \n"
14
+ "POT-Creation-Date: 2025-05-30 11:37+0200\n"
15
+ "PO-Revision-Date: 2025-05-30 09:40+0000\n"
16
+ "Last-Translator: Kevin Decoster, 2025\n"
17
+ "Language-Team: German (https://app.transifex.com/stainly/teams/171242/de/)\n"
18
+ "MIME-Version: 1.0\n"
19
+ "Content-Type: text/plain; charset=UTF-8\n"
20
+ "Content-Transfer-Encoding: 8bit\n"
21
+ "Language: de\n"
22
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
23
+
24
+ #: contrib/directory/admin/entries.py:89
25
+ #: contrib/directory/admin/entries.py:121
26
+ #: contrib/directory/admin/entries.py:149
27
+ msgid "Main information"
28
+ msgstr "Hauptinformationen"
29
+
30
+ #: contrib/directory/admin/entries.py:123
31
+ #: contrib/directory/admin/entries.py:154
32
+ #: contrib/directory/models/entries.py:312
33
+ msgid "Additional Fields"
34
+ msgstr "Zusatzfelder"
35
+
36
+ #: contrib/directory/admin/entries.py:126
37
+ #: contrib/directory/admin/entries.py:159
38
+ msgid "System-Files"
39
+ msgstr "Systemdateien"
40
+
41
+ #: contrib/directory/admin/entries.py:152
42
+ msgid "Work Fields"
43
+ msgstr "Arbeitsfelder"
44
+
45
+ #: contrib/directory/admin/entries.py:157
46
+ msgid "Misc."
47
+ msgstr "Sonstige"
48
+
49
+ #: contrib/directory/admin/entries.py:167
50
+ #: contrib/directory/filters/entries.py:46
51
+ #: contrib/directory/models/entries.py:341
52
+ #: contrib/directory/serializers/entries.py:171
53
+ #: contrib/directory/viewsets/display/entries.py:303
54
+ #: contrib/directory/viewsets/display/entries.py:480
55
+ msgid "Activity Heat"
56
+ msgstr "Aktivitätsscore"
57
+
58
+ #: contrib/directory/configurations.py:58
59
+ msgid ""
60
+ "The tier of the company with 1 being the top tier and 5 being the lowest "
61
+ "tier."
62
+ msgstr ""
63
+ "Der Rang des Unternehmens mit 1 als bestem und 5 als schlechtestem Rang."
64
+
65
+ #: contrib/directory/dynamic_preferences_registry.py:19
66
+ msgid "Main Workbench Company"
67
+ msgstr "Hauptunternehmen der Workbench"
68
+
69
+ #: contrib/directory/dynamic_preferences_registry.py:21
70
+ msgid ""
71
+ "The main company of the Workbench. All employees of this company are "
72
+ "considered to have \"employee\" status and have more permissions than other "
73
+ "users."
74
+ msgstr ""
75
+ "Die Hauptunternehmen der Workbench. Alle Angestellt*innen dieses "
76
+ "Unternehmens gelten als \"Mitarbeiter*innen\" und haben mehr Rechte als "
77
+ "andere Nutzer*innen."
78
+
79
+ #: contrib/directory/dynamic_preferences_registry.py:26
80
+ msgid "Please select a valid company."
81
+ msgstr "Bitte wählen Sie ein valides Unternehmen aus."
82
+
83
+ #: contrib/directory/dynamic_preferences_registry.py:34
84
+ msgid "Main Country Code"
85
+ msgstr "Primärer Ländercode"
86
+
87
+ #: contrib/directory/dynamic_preferences_registry.py:36
88
+ msgid ""
89
+ "Determines the country code currently used exclusively for parsing of phone "
90
+ "numbers. Should be the country where the phone number is being dialled from."
91
+ msgstr ""
92
+ "Legt die Ländervorwahlfest. Es sollte sich um das Land handeln, von dem aus "
93
+ "gewählt wird."
94
+
95
+ #: contrib/directory/dynamic_preferences_registry.py:41
96
+ msgid "Only exact alpha_2 country codes (e.g. DE, CH) allowed."
97
+ msgstr "Nur exakte Alpha_2-Ländercodes (z.B. DE, CH) zulässig."
98
+
99
+ #: contrib/directory/dynamic_preferences_registry.py:48
100
+ #, python-brace-format
101
+ msgid "Dear {0} {1}"
102
+ msgstr "Sehr geehrte*r {0} {1}"
103
+
104
+ #: contrib/directory/dynamic_preferences_registry.py:50
105
+ msgid "Person Salutation"
106
+ msgstr "Grußformel für Personen"
107
+
108
+ #: contrib/directory/dynamic_preferences_registry.py:51
109
+ msgid "Salutation that can be used in mails for a person"
110
+ msgstr "Grußformel für E-Mails an Personen"
111
+
112
+ #: contrib/directory/dynamic_preferences_registry.py:58
113
+ #, python-brace-format
114
+ msgid "To everyone from {0}"
115
+ msgstr "Sehr geehrte Mitarbeiter*innen bei {0}"
116
+
117
+ #: contrib/directory/dynamic_preferences_registry.py:60
118
+ msgid "Company Salutation"
119
+ msgstr "Grußformel für Unternehmen"
120
+
121
+ #: contrib/directory/dynamic_preferences_registry.py:61
122
+ msgid "Salutation that can be used in mails for a company"
123
+ msgstr "Grußformel für E-Mails an Unternehmen"
124
+
125
+ #: contrib/directory/filters/contacts.py:23
126
+ #: contrib/directory/viewsets/display/contacts.py:24
127
+ msgid "Company Contact"
128
+ msgstr "Unternehmenskontakt"
129
+
130
+ #: contrib/directory/filters/contacts.py:35
131
+ #: contrib/directory/filters/contacts.py:92
132
+ #: contrib/directory/filters/contacts.py:131
133
+ #: contrib/directory/filters/contacts.py:151
134
+ #: contrib/directory/filters/contacts.py:175
135
+ #: contrib/directory/filters/contacts.py:218
136
+ msgid "Locations"
137
+ msgstr "Standorte"
138
+
139
+ #: contrib/directory/filters/contacts.py:52
140
+ #: contrib/directory/filters/entries.py:69
141
+ #: contrib/directory/models/contacts.py:262
142
+ #: contrib/directory/viewsets/display/contacts.py:125
143
+ #: contrib/directory/viewsets/display/contacts.py:253
144
+ #: contrib/directory/viewsets/display/entries.py:291
145
+ #: contrib/directory/viewsets/display/entries.py:467
146
+ msgid "City"
147
+ msgstr "Stadt"
148
+
149
+ #: contrib/directory/filters/contacts.py:62
150
+ #: contrib/directory/serializers/contacts.py:173
151
+ #: contrib/directory/viewsets/display/contacts.py:255
152
+ msgid "Country"
153
+ msgstr "Land"
154
+
155
+ #: contrib/directory/filters/contacts.py:72
156
+ #: contrib/directory/serializers/contacts.py:172
157
+ #: contrib/directory/viewsets/display/contacts.py:254
158
+ msgid "State"
159
+ msgstr "Bundesland/Staat"
160
+
161
+ #: contrib/directory/filters/contacts.py:82
162
+ #: contrib/directory/serializers/contacts.py:174
163
+ #: contrib/directory/viewsets/display/contacts.py:256
164
+ msgid "Continent"
165
+ msgstr "Kontinent"
166
+
167
+ #: contrib/directory/filters/contacts.py:134
168
+ msgid "Types"
169
+ msgstr "Typen"
170
+
171
+ #: contrib/directory/filters/contacts.py:168
172
+ msgid "Currencies"
173
+ msgstr "Währungen"
174
+
175
+ #: contrib/directory/filters/contacts.py:178
176
+ #: contrib/directory/filters/contacts.py:184
177
+ #: contrib/directory/models/contacts.py:155
178
+ #: contrib/directory/viewsets/display/contacts.py:152
179
+ #: contrib/directory/viewsets/display/contacts.py:327
180
+ msgid "Edited"
181
+ msgstr "Zuletzt Bearbeitet"
182
+
183
+ #: contrib/directory/filters/contacts.py:208
184
+ #: contrib/directory/models/entries.py:360
185
+ msgid "Entries"
186
+ msgstr "Einträge"
187
+
188
+ #: contrib/directory/filters/contacts.py:223
189
+ msgid "Social Media Platform"
190
+ msgstr "Social Media Plattform"
191
+
192
+ #: contrib/directory/filters/entries.py:22
193
+ #: contrib/directory/models/entries.py:751
194
+ #: contrib/directory/serializers/companies.py:31
195
+ #: contrib/directory/serializers/persons.py:35
196
+ #: contrib/directory/viewsets/display/entries.py:293
197
+ #: contrib/directory/viewsets/display/entries.py:469
198
+ msgid "Tier"
199
+ msgstr "Rang"
200
+
201
+ #: contrib/directory/filters/entries.py:23
202
+ msgid "Filter by tiering (1-5, with 1 being the best)"
203
+ msgstr ""
204
+
205
+ #: contrib/directory/filters/entries.py:29
206
+ msgid "Has Event between.."
207
+ msgstr ""
208
+
209
+ #: contrib/directory/filters/entries.py:30
210
+ msgid "Filter by activities in a date range"
211
+ msgstr ""
212
+
213
+ #: contrib/directory/filters/entries.py:34
214
+ #: contrib/directory/filters/entries.py:37
215
+ #: contrib/directory/filters/entries.py:40
216
+ msgid "Last Event Period End date"
217
+ msgstr ""
218
+
219
+ #: contrib/directory/filters/entries.py:47
220
+ msgid "Filter by the recent activity level"
221
+ msgstr ""
222
+
223
+ #: contrib/directory/filters/entries.py:70
224
+ msgid "Filter by related city"
225
+ msgstr ""
226
+
227
+ #: contrib/directory/filters/entries.py:80
228
+ msgid "Full Address"
229
+ msgstr ""
230
+
231
+ #: contrib/directory/filters/entries.py:81
232
+ msgid "Filter by an address or geography (e.g. Geneva/Switzerland/Europe)"
233
+ msgstr ""
234
+
235
+ #: contrib/directory/filters/entries.py:114
236
+ #: contrib/directory/filters/entries.py:241
237
+ #: contrib/directory/models/entries.py:737
238
+ #: contrib/directory/viewsets/display/entries.py:287
239
+ #: contrib/directory/viewsets/display/entries.py:299
240
+ #: contrib/directory/viewsets/display/entries.py:466
241
+ #: contrib/directory/viewsets/display/entries.py:476
242
+ #: contrib/directory/viewsets/display/entries.py:500
243
+ #: contrib/directory/viewsets/display/entries.py:512
244
+ #: contrib/directory/viewsets/display/relationships.py:57
245
+ #: contrib/directory/viewsets/display/relationships.py:288
246
+ msgid "Name"
247
+ msgstr "Name"
248
+
249
+ #: contrib/directory/filters/entries.py:117
250
+ #: contrib/directory/models/relationships.py:499
251
+ msgid "Positions"
252
+ msgstr "Positionen"
253
+
254
+ #: contrib/directory/filters/entries.py:124
255
+ #: contrib/directory/models/entries.py:83
256
+ #: contrib/directory/viewsets/menu/utils.py:24
257
+ #: contrib/directory/viewsets/titles/utils.py:8
258
+ msgid "Customer Statuses"
259
+ msgstr "Kundenstatus"
260
+
261
+ #: contrib/directory/filters/entries.py:131
262
+ #: contrib/directory/filters/entries.py:243
263
+ #: contrib/directory/viewsets/display/entries.py:501
264
+ #: contrib/directory/viewsets/display/relationships.py:289
265
+ msgid "Telephone"
266
+ msgstr "Telefon"
267
+
268
+ #: contrib/directory/filters/entries.py:132
269
+ #: contrib/directory/filters/entries.py:242
270
+ #: contrib/directory/viewsets/display/entries.py:502
271
+ #: contrib/directory/viewsets/display/relationships.py:290
272
+ msgid "Email"
273
+ msgstr "E-Mail"
274
+
275
+ #: contrib/directory/filters/entries.py:134
276
+ msgid "Only Internal Users"
277
+ msgstr ""
278
+
279
+ #: contrib/directory/filters/entries.py:136
280
+ msgid "With Active User Account"
281
+ msgstr ""
282
+
283
+ #: contrib/directory/filters/entries.py:199
284
+ #: contrib/directory/models/contacts.py:322
285
+ #: contrib/directory/models/entries.py:311
286
+ #: contrib/directory/models/entries.py:732
287
+ #: contrib/directory/models/relationships.py:91
288
+ #: contrib/directory/viewsets/display/contacts.py:105
289
+ #: contrib/directory/viewsets/display/contacts.py:279
290
+ #: contrib/directory/viewsets/display/entries.py:468
291
+ #: contrib/directory/viewsets/display/relationships.py:33
292
+ msgid "Type"
293
+ msgstr "Typ"
294
+
295
+ #: contrib/directory/filters/entries.py:200
296
+ msgid "Filter by the type of company"
297
+ msgstr ""
298
+
299
+ #: contrib/directory/filters/entries.py:208
300
+ #: contrib/directory/filters/relationships.py:76
301
+ #: contrib/directory/models/contacts.py:48
302
+ #: contrib/directory/models/relationships.py:169
303
+ #: contrib/directory/viewsets/display/contacts.py:320
304
+ #: contrib/directory/viewsets/display/entries.py:289
305
+ #: contrib/directory/viewsets/display/entries.py:470
306
+ msgid "Status"
307
+ msgstr "Status"
308
+
309
+ #: contrib/directory/filters/entries.py:209
310
+ msgid "Filter by the status of a company"
311
+ msgstr ""
312
+
313
+ #: contrib/directory/filters/entries.py:217
314
+ #: contrib/directory/viewsets/buttons/entries.py:30
315
+ #: contrib/directory/viewsets/buttons/entries.py:41
316
+ #: contrib/directory/viewsets/buttons/entries.py:69
317
+ #: contrib/directory/viewsets/display/entries.py:334
318
+ #: contrib/directory/viewsets/display/entries.py:338
319
+ #: contrib/directory/viewsets/menu/entries.py:34
320
+ msgid "Employees"
321
+ msgstr "Angestellten*Angestelltinnen"
322
+
323
+ #: contrib/directory/filters/entries.py:218
324
+ msgid "Filter by some person who is an employee of the company"
325
+ msgstr ""
326
+
327
+ #: contrib/directory/filters/entries.py:247
328
+ #: contrib/directory/viewsets/display/entries.py:503
329
+ msgid "Address"
330
+ msgstr "Adresse"
331
+
332
+ #: contrib/directory/filters/relationships.py:16
333
+ #: contrib/directory/models/relationships.py:68
334
+ #: contrib/directory/viewsets/menu/relationships.py:7
335
+ #: contrib/directory/viewsets/titles/relationships.py:20
336
+ msgid "Relationship Types"
337
+ msgstr "Beziehungstypen"
338
+
339
+ #: contrib/directory/filters/relationships.py:24
340
+ #: contrib/directory/models/relationships.py:105
341
+ #: contrib/directory/viewsets/display/relationships.py:48
342
+ msgid "Relationship To"
343
+ msgstr "Beziehung Zu"
344
+
345
+ #: contrib/directory/filters/relationships.py:38
346
+ #: contrib/directory/models/relationships.py:98
347
+ msgid "Relationship From"
348
+ msgstr "Beziehung Von"
349
+
350
+ #: contrib/directory/filters/relationships.py:48
351
+ msgid "Counter Relationship Types"
352
+ msgstr "Typen der Gegenbeziehung"
353
+
354
+ #: contrib/directory/filters/relationships.py:62
355
+ #: contrib/directory/viewsets/buttons/entries.py:51
356
+ msgid "Clients"
357
+ msgstr "Klient*innen"
358
+
359
+ #: contrib/directory/filters/relationships.py:69
360
+ msgid "Future Relationship Managers"
361
+ msgstr "Zukünftige Betreuer*innen"
362
+
363
+ #: contrib/directory/models/contacts.py:19
364
+ msgid "Work"
365
+ msgstr "Geschäftlich"
366
+
367
+ #: contrib/directory/models/contacts.py:20
368
+ msgid "Private"
369
+ msgstr "Privat"
370
+
371
+ #: contrib/directory/models/contacts.py:21
372
+ msgctxt "Indicates the contact location"
373
+ msgid "Home"
374
+ msgstr "Zuhause"
375
+
376
+ #: contrib/directory/models/contacts.py:22
377
+ #: contrib/directory/models/contacts.py:29
378
+ msgid "Other"
379
+ msgstr "Sonstiges"
380
+
381
+ #: contrib/directory/models/contacts.py:26
382
+ msgid "Fix"
383
+ msgstr "Festnetz"
384
+
385
+ #: contrib/directory/models/contacts.py:27
386
+ msgid "Cell"
387
+ msgstr "Mobiltelefon"
388
+
389
+ #: contrib/directory/models/contacts.py:28
390
+ msgid "Fax"
391
+ msgstr "Fax"
392
+
393
+ #: contrib/directory/models/contacts.py:36
394
+ #: contrib/directory/models/relationships.py:145
395
+ msgid "Draft"
396
+ msgstr "Entwurf"
397
+
398
+ #: contrib/directory/models/contacts.py:37
399
+ msgid "Pending"
400
+ msgstr "Ausstehend"
401
+
402
+ #: contrib/directory/models/contacts.py:38
403
+ #: contrib/directory/models/relationships.py:148
404
+ msgid "Approved"
405
+ msgstr "Genehmigt"
406
+
407
+ #: contrib/directory/models/contacts.py:60
408
+ #: contrib/directory/models/contacts.py:61
409
+ #: contrib/directory/models/relationships.py:184
410
+ msgid "Submit"
411
+ msgstr "Einreichen"
412
+
413
+ #: contrib/directory/models/contacts.py:63
414
+ msgid "Are you sure you want to submit this banking contact for review?"
415
+ msgstr ""
416
+ "Sind Sie sicher, dass Sie diese Bankdaten zur Überprüfung einreichen wollen?"
417
+
418
+ #: contrib/directory/models/contacts.py:68
419
+ msgid "<p>A banking contact is in need of approving.</p>"
420
+ msgstr "<p>Neue Bankdaten müssen genehmigt werden.</p>"
421
+
422
+ #: contrib/directory/models/contacts.py:69
423
+ msgid "New pending banking contact"
424
+ msgstr "Neuer ausstehender Bankkontakt"
425
+
426
+ #: contrib/directory/models/contacts.py:82
427
+ #: contrib/directory/models/contacts.py:83
428
+ #: contrib/directory/models/relationships.py:205
429
+ #: contrib/directory/models/relationships.py:206
430
+ #: contrib/directory/models/relationships.py:247
431
+ #: contrib/directory/models/relationships.py:289
432
+ msgid "Approve"
433
+ msgstr "Genehmigen"
434
+
435
+ #: contrib/directory/models/contacts.py:85
436
+ msgid "Are you sure you want to approve this banking contact?"
437
+ msgstr "Sind Sie sicher, dass Sie diese Bankdaten genehmigen wollen?"
438
+
439
+ #: contrib/directory/models/contacts.py:102
440
+ #: contrib/directory/models/contacts.py:103
441
+ #: contrib/directory/models/relationships.py:226
442
+ #: contrib/directory/models/relationships.py:268
443
+ msgid "Deny"
444
+ msgstr "Ablehnen"
445
+
446
+ #: contrib/directory/models/contacts.py:105
447
+ msgid "Are you sure you want to deny this banking contact?"
448
+ msgstr "Sind Sie sicher, dass Sie diese Bankdaten ablehnen wollen?"
449
+
450
+ #: contrib/directory/models/contacts.py:121
451
+ #: contrib/directory/models/contacts.py:122
452
+ msgid "Edit"
453
+ msgstr "Bearbeiten"
454
+
455
+ #: contrib/directory/models/contacts.py:124
456
+ msgid "Are you sure you want to edit this banking contact?"
457
+ msgstr "Sind Sie sicher, dass Sie diese Bankdaten bearbeiten möchten?"
458
+
459
+ #: contrib/directory/models/contacts.py:132
460
+ msgctxt "Primary flag for banking contact"
461
+ msgid "Primary"
462
+ msgstr "Primäre Bankdaten"
463
+
464
+ #: contrib/directory/models/contacts.py:138
465
+ #: contrib/directory/models/contacts.py:247
466
+ #: contrib/directory/models/contacts.py:312
467
+ #: contrib/directory/models/contacts.py:383
468
+ #: contrib/directory/models/contacts.py:454
469
+ #: contrib/directory/models/contacts.py:510
470
+ #: contrib/directory/viewsets/display/contacts.py:83
471
+ #: contrib/directory/viewsets/display/contacts.py:104
472
+ #: contrib/directory/viewsets/display/contacts.py:121
473
+ #: contrib/directory/viewsets/display/contacts.py:145
474
+ #: contrib/directory/viewsets/display/contacts.py:232
475
+ #: contrib/directory/viewsets/display/contacts.py:249
476
+ #: contrib/directory/viewsets/display/contacts.py:278
477
+ #: contrib/directory/viewsets/display/contacts.py:303
478
+ #: contrib/directory/viewsets/display/contacts.py:321
479
+ #: contrib/directory/viewsets/display/contacts.py:359
480
+ msgid "Location"
481
+ msgstr "Standort"
482
+
483
+ #: contrib/directory/models/contacts.py:145
484
+ msgctxt "Banking Entry"
485
+ msgid "Entry"
486
+ msgstr "Eintrag"
487
+
488
+ #: contrib/directory/models/contacts.py:149
489
+ #: contrib/directory/viewsets/display/contacts.py:146
490
+ #: contrib/directory/viewsets/display/contacts.py:322
491
+ msgid "Institute"
492
+ msgstr "Institut"
493
+
494
+ #: contrib/directory/models/contacts.py:151
495
+ msgid "Institute (Additional)"
496
+ msgstr "Institut (zusätzliche Informationen)"
497
+
498
+ #: contrib/directory/models/contacts.py:153
499
+ #: contrib/directory/viewsets/display/contacts.py:148
500
+ #: contrib/directory/viewsets/display/contacts.py:324
501
+ msgid "IBAN"
502
+ msgstr "IBAN"
503
+
504
+ #: contrib/directory/models/contacts.py:154
505
+ msgid "SWIFT/BIC"
506
+ msgstr "SWIFT/BIC"
507
+
508
+ #: contrib/directory/models/contacts.py:162
509
+ #: contrib/directory/viewsets/display/contacts.py:150
510
+ #: contrib/directory/viewsets/display/contacts.py:326
511
+ msgid "Currency"
512
+ msgstr "Währung"
513
+
514
+ #: contrib/directory/models/contacts.py:168
515
+ #: contrib/directory/viewsets/display/entries.py:120
516
+ #: contrib/directory/viewsets/display/entries.py:247
517
+ #: contrib/directory/viewsets/display/entries.py:384
518
+ #: contrib/directory/viewsets/display/entries.py:450
519
+ msgid "Additional Information"
520
+ msgstr "Zusätzliche Informationen"
521
+
522
+ #: contrib/directory/models/contacts.py:169
523
+ msgid "Can be used in place of IBAN to communicate banking information"
524
+ msgstr ""
525
+ "Kann anstelle der IBAN zur Übermittlung von Bankinformationen verwendet "
526
+ "werden"
527
+
528
+ #: contrib/directory/models/contacts.py:221
529
+ msgid "Banking Contact"
530
+ msgstr "Bankkontakt"
531
+
532
+ #: contrib/directory/models/contacts.py:222
533
+ #: contrib/directory/viewsets/titles/contacts.py:34
534
+ msgid "Banking Contacts"
535
+ msgstr "Bankkontakte"
536
+
537
+ #: contrib/directory/models/contacts.py:241
538
+ msgctxt "Primary flag for address contact"
539
+ msgid "Primary"
540
+ msgstr "Primäre Adresse"
541
+
542
+ #: contrib/directory/models/contacts.py:250
543
+ #: contrib/directory/models/contacts.py:315
544
+ #: contrib/directory/models/contacts.py:387
545
+ #: contrib/directory/models/contacts.py:458
546
+ #: contrib/directory/models/contacts.py:524
547
+ #: contrib/directory/models/entries.py:359
548
+ #: contrib/directory/viewsets/display/contacts.py:85
549
+ #: contrib/directory/viewsets/display/contacts.py:107
550
+ #: contrib/directory/viewsets/display/contacts.py:151
551
+ msgid "Entry"
552
+ msgstr "Eintrag"
553
+
554
+ #: contrib/directory/models/contacts.py:252
555
+ #: contrib/directory/viewsets/display/contacts.py:122
556
+ #: contrib/directory/viewsets/display/contacts.py:250
557
+ msgid "Street"
558
+ msgstr "Straße"
559
+
560
+ #: contrib/directory/models/contacts.py:253
561
+ msgid "Street (Additional)"
562
+ msgstr "Straße (zusätzliche Informationen)"
563
+
564
+ #: contrib/directory/models/contacts.py:254
565
+ msgid "ZIP"
566
+ msgstr "ZIP/PLZ"
567
+
568
+ #: contrib/directory/models/contacts.py:255
569
+ msgid "Province"
570
+ msgstr "Region/Bundesland"
571
+
572
+ #: contrib/directory/models/contacts.py:298
573
+ #: contrib/directory/viewsets/titles/contacts.py:20
574
+ msgid "Address Contact"
575
+ msgstr "Adresskontakt"
576
+
577
+ #: contrib/directory/models/contacts.py:299
578
+ #: contrib/directory/viewsets/titles/contacts.py:23
579
+ msgid "Address Contacts"
580
+ msgstr "Adresskontakte"
581
+
582
+ #: contrib/directory/models/contacts.py:306
583
+ msgctxt "Primary flag for telephone contact"
584
+ msgid "Primary"
585
+ msgstr "Primärer Telefonkontakt"
586
+
587
+ #: contrib/directory/models/contacts.py:317
588
+ #: contrib/directory/viewsets/display/contacts.py:106
589
+ #: contrib/directory/viewsets/display/contacts.py:280
590
+ msgid "Number"
591
+ msgstr "Nummer"
592
+
593
+ #: contrib/directory/models/contacts.py:345
594
+ msgid "Telephone Contact"
595
+ msgstr "Telefonische Kontakte"
596
+
597
+ #: contrib/directory/models/contacts.py:346
598
+ #: contrib/directory/viewsets/titles/contacts.py:65
599
+ msgid "Telephone Contacts"
600
+ msgstr "Telefonische Kontakte"
601
+
602
+ #: contrib/directory/models/contacts.py:377
603
+ msgctxt "Primary flag for email contact"
604
+ msgid "Primary"
605
+ msgstr "Primäre E-Mail-Adresse"
606
+
607
+ #: contrib/directory/models/contacts.py:390
608
+ #: contrib/directory/viewsets/display/contacts.py:84
609
+ #: contrib/directory/viewsets/display/contacts.py:233
610
+ msgid "Email Address"
611
+ msgstr "E-Mail-Adresse"
612
+
613
+ #: contrib/directory/models/contacts.py:416
614
+ msgid "E-Mail Contact"
615
+ msgstr "E-Mail Kontakt"
616
+
617
+ #: contrib/directory/models/contacts.py:417
618
+ msgid "E-Mail Contacts"
619
+ msgstr "E-Mail Kontakte"
620
+
621
+ #: contrib/directory/models/contacts.py:448
622
+ msgctxt "Primary flag for website contact"
623
+ msgid "Primary"
624
+ msgstr "Primäre Webseite"
625
+
626
+ #: contrib/directory/models/contacts.py:460
627
+ #: contrib/directory/models/contacts.py:528
628
+ #: contrib/directory/viewsets/display/contacts.py:304
629
+ #: contrib/directory/viewsets/display/contacts.py:360
630
+ msgid "URL"
631
+ msgstr "URL"
632
+
633
+ #: contrib/directory/models/contacts.py:482
634
+ msgid "Website Contact"
635
+ msgstr "Webseiten-Kontakt"
636
+
637
+ #: contrib/directory/models/contacts.py:483
638
+ msgid "Website Contacts"
639
+ msgstr "Webseiten-Kontakte"
640
+
641
+ #: contrib/directory/models/contacts.py:503
642
+ msgctxt "Primary flag for social media contact"
643
+ msgid "Primary"
644
+ msgstr "Primär"
645
+
646
+ #: contrib/directory/models/contacts.py:516
647
+ #: contrib/directory/viewsets/display/contacts.py:358
648
+ msgid "Platform"
649
+ msgstr "Plattform"
650
+
651
+ #: contrib/directory/models/contacts.py:517
652
+ msgid "The social media platform for this contact"
653
+ msgstr "Die Social Media Plattform dieses Kontaktes"
654
+
655
+ #: contrib/directory/models/contacts.py:550
656
+ msgid "Social Media Contact"
657
+ msgstr "Social-Media-Kontakt"
658
+
659
+ #: contrib/directory/models/contacts.py:551
660
+ msgid "Social Media Contacts"
661
+ msgstr "Social-Media-Kontakte"
662
+
663
+ #: contrib/directory/models/entries.py:48
664
+ #: contrib/directory/models/entries.py:93
665
+ #: contrib/directory/models/entries.py:138
666
+ #: contrib/directory/models/relationships.py:472
667
+ #: contrib/directory/viewsets/display/utils.py:15
668
+ msgid "Title"
669
+ msgstr "Titel"
670
+
671
+ #: contrib/directory/models/entries.py:82
672
+ #: contrib/directory/models/entries.py:745
673
+ #: contrib/directory/serializers/companies.py:19
674
+ #: contrib/directory/serializers/entries.py:180
675
+ #: contrib/directory/viewsets/titles/utils.py:14
676
+ msgid "Customer Status"
677
+ msgstr "Kundenstatus"
678
+
679
+ #: contrib/directory/models/entries.py:127
680
+ #: contrib/directory/viewsets/titles/utils.py:36
681
+ msgid "Company Type"
682
+ msgstr "Unternehmenstyp"
683
+
684
+ #: contrib/directory/models/entries.py:128
685
+ #: contrib/directory/viewsets/menu/utils.py:41
686
+ #: contrib/directory/viewsets/titles/utils.py:30
687
+ msgid "Company Types"
688
+ msgstr "Unternehmenstypen"
689
+
690
+ #: contrib/directory/models/entries.py:172
691
+ #: contrib/directory/viewsets/titles/utils.py:47
692
+ msgid "Specialization"
693
+ msgstr "Spezialisierung"
694
+
695
+ #: contrib/directory/models/entries.py:173
696
+ #: contrib/directory/models/entries.py:551
697
+ #: contrib/directory/viewsets/menu/utils.py:59
698
+ #: contrib/directory/viewsets/titles/utils.py:41
699
+ msgid "Specializations"
700
+ msgstr "Spezialisierungen"
701
+
702
+ #: contrib/directory/models/entries.py:307
703
+ #: contrib/directory/models/entries.py:560
704
+ msgid "Person"
705
+ msgstr "Person"
706
+
707
+ #: contrib/directory/models/entries.py:308
708
+ #: contrib/directory/models/entries.py:756
709
+ msgid "Company"
710
+ msgstr "Unternehmen"
711
+
712
+ #: contrib/directory/models/entries.py:315
713
+ msgid "Draft Entry"
714
+ msgstr ""
715
+
716
+ #: contrib/directory/models/entries.py:317
717
+ msgid ""
718
+ "Draft entries are entries that have been created automatically and still "
719
+ "need verification by a human user."
720
+ msgstr ""
721
+
722
+ #: contrib/directory/models/entries.py:326
723
+ #: contrib/directory/viewsets/buttons/entries.py:32
724
+ #: contrib/directory/viewsets/buttons/entries.py:42
725
+ #: contrib/directory/viewsets/buttons/entries.py:53
726
+ msgid "Relationship Managers"
727
+ msgstr "Betreuer*innen"
728
+
729
+ #: contrib/directory/models/entries.py:327
730
+ msgid "People in charge of this entry"
731
+ msgstr "Zuständige Personen für diesen Eintrag"
732
+
733
+ #: contrib/directory/models/entries.py:335
734
+ msgid "The Entry's Relationships"
735
+ msgstr "Die Beziehungen dieses Eintrags"
736
+
737
+ #: contrib/directory/models/entries.py:350
738
+ msgid "Salutation"
739
+ msgstr "Grußformel"
740
+
741
+ #: contrib/directory/models/entries.py:404
742
+ #: contrib/directory/models/entries.py:405
743
+ #, python-brace-format
744
+ msgid "Entry {id}"
745
+ msgstr "Eintrag {id}"
746
+
747
+ #: contrib/directory/models/entries.py:508
748
+ msgid "Mr."
749
+ msgstr "Hr."
750
+
751
+ #: contrib/directory/models/entries.py:509
752
+ msgid "Mrs."
753
+ msgstr "Fr."
754
+
755
+ #: contrib/directory/models/entries.py:510
756
+ msgid "Prof."
757
+ msgstr "Prof."
758
+
759
+ #: contrib/directory/models/entries.py:511
760
+ msgid "Dr."
761
+ msgstr "Dr."
762
+
763
+ #: contrib/directory/models/entries.py:512
764
+ msgid "Med."
765
+ msgstr "Med."
766
+
767
+ #: contrib/directory/models/entries.py:513
768
+ msgid "Me."
769
+ msgstr "Me."
770
+
771
+ #: contrib/directory/models/entries.py:516
772
+ msgid "Prefix"
773
+ msgstr "Präfix"
774
+
775
+ #: contrib/directory/models/entries.py:518
776
+ msgid "First Name"
777
+ msgstr "Vorname"
778
+
779
+ #: contrib/directory/models/entries.py:519
780
+ msgid "Last Name"
781
+ msgstr "Nachname"
782
+
783
+ #: contrib/directory/models/entries.py:520
784
+ msgid "Initials"
785
+ msgstr "Initialien"
786
+
787
+ #: contrib/directory/models/entries.py:528
788
+ #: contrib/directory/viewsets/buttons/entries.py:59
789
+ #: contrib/directory/viewsets/display/entries.py:36
790
+ #: contrib/directory/viewsets/display/entries.py:40
791
+ msgid "Employers"
792
+ msgstr "Arbeitgeber*innen"
793
+
794
+ #: contrib/directory/models/entries.py:529
795
+ msgid "The person's employers"
796
+ msgstr "Die Arbeitgeber*innen der Person"
797
+
798
+ #: contrib/directory/models/entries.py:532
799
+ msgid "Available Employee"
800
+ msgstr "Verfügbare*r Angestellte*r"
801
+
802
+ #: contrib/directory/models/entries.py:533
803
+ msgid "Birthday"
804
+ msgstr "Geburtstag"
805
+
806
+ #: contrib/directory/models/entries.py:547
807
+ msgid "Formal"
808
+ msgstr "Formal"
809
+
810
+ #: contrib/directory/models/entries.py:561
811
+ #: contrib/directory/viewsets/menu/entries.py:23
812
+ #: contrib/directory/viewsets/titles/entries.py:8
813
+ msgid "Persons"
814
+ msgstr "Personen"
815
+
816
+ #: contrib/directory/models/entries.py:750
817
+ msgid "Number of employees"
818
+ msgstr "Anzahl an Angestellten*Angestelltinnen"
819
+
820
+ #: contrib/directory/models/entries.py:753
821
+ msgid "Description"
822
+ msgstr "Beschreibung"
823
+
824
+ #: contrib/directory/models/entries.py:757
825
+ #: contrib/directory/viewsets/menu/entries.py:13
826
+ #: contrib/directory/viewsets/titles/entries.py:22
827
+ msgid "Companies"
828
+ msgstr "Unternehmen"
829
+
830
+ #: contrib/directory/models/entries.py:827
831
+ #, python-brace-format
832
+ msgid "Removed {main_company} from {profile}'s employers"
833
+ msgstr "{main_company} von {profile}s Arbeitgeber*innen entfernt"
834
+
835
+ #: contrib/directory/models/entries.py:872
836
+ #, python-brace-format
837
+ msgid "Assigned {clients} manager role(s) to {substitute_profile}"
838
+ msgstr "{clients} Betreuerfunktionen {substitute_profile} zugewiesen"
839
+
840
+ #: contrib/directory/models/relationships.py:22
841
+ #: contrib/directory/models/relationships.py:67
842
+ #: contrib/directory/viewsets/display/relationships.py:47
843
+ #: contrib/directory/viewsets/titles/relationships.py:23
844
+ msgid "Relationship Type"
845
+ msgstr "Beziehungstyp"
846
+
847
+ #: contrib/directory/models/relationships.py:34
848
+ #: contrib/directory/viewsets/display/relationships.py:58
849
+ msgid "Counter Relationship"
850
+ msgstr "Gegenbeziehung"
851
+
852
+ #: contrib/directory/models/relationships.py:123
853
+ msgid "Relationship"
854
+ msgstr "Beziehung"
855
+
856
+ #: contrib/directory/models/relationships.py:124
857
+ #: contrib/directory/viewsets/buttons/entries.py:15
858
+ msgid "Relationships"
859
+ msgstr "Beziehungen"
860
+
861
+ #: contrib/directory/models/relationships.py:146
862
+ msgid "Pending Add"
863
+ msgstr "Ausstehendes Hinzufügen"
864
+
865
+ #: contrib/directory/models/relationships.py:147
866
+ msgid "Pending Remove"
867
+ msgstr "Ausstehendes Entfernen"
868
+
869
+ #: contrib/directory/models/relationships.py:149
870
+ msgid "Removed"
871
+ msgstr "Entfernt"
872
+
873
+ #: contrib/directory/models/relationships.py:156
874
+ #: contrib/directory/serializers/relationships.py:215
875
+ #: contrib/directory/viewsets/display/relationships.py:191
876
+ msgid "Relationship Manager"
877
+ msgstr "Betreuer*in"
878
+
879
+ #: contrib/directory/models/relationships.py:160
880
+ #: contrib/directory/models/relationships.py:516
881
+ #: contrib/directory/viewsets/display/relationships.py:235
882
+ msgid "Primary"
883
+ msgstr "Primär"
884
+
885
+ #: contrib/directory/models/relationships.py:166
886
+ #: contrib/directory/serializers/relationships.py:208
887
+ #: contrib/directory/viewsets/display/relationships.py:190
888
+ msgid "Client"
889
+ msgstr "Kund*in"
890
+
891
+ #: contrib/directory/models/relationships.py:171
892
+ #: contrib/directory/viewsets/display/relationships.py:192
893
+ msgid "Created"
894
+ msgstr "Erstellt Am"
895
+
896
+ #: contrib/directory/models/relationships.py:185
897
+ msgid "Submitting"
898
+ msgstr "Einreichen"
899
+
900
+ #: contrib/directory/models/relationships.py:186
901
+ msgid "Are you sure you want to submit your draft for review?"
902
+ msgstr ""
903
+ "Sind Sie sicher, dass Sie Ihren Entwurf zur Überprüfung einreichen wollen?"
904
+
905
+ #: contrib/directory/models/relationships.py:207
906
+ #: contrib/directory/models/relationships.py:249
907
+ msgid "Are you sure you want to approve this relationship?"
908
+ msgstr "Sind Sie sicher, dass Sie diese Beziehung genehmigen wollen?"
909
+
910
+ #: contrib/directory/models/relationships.py:227
911
+ #: contrib/directory/models/relationships.py:269
912
+ msgid "Denial"
913
+ msgstr "Ablehnung"
914
+
915
+ #: contrib/directory/models/relationships.py:228
916
+ msgid "Are you sure you want to deny this relationship?"
917
+ msgstr "Sind Sie sich sicher, dass Sie diese Beziehung ablehnen wollen?"
918
+
919
+ #: contrib/directory/models/relationships.py:248
920
+ #: contrib/directory/models/relationships.py:290
921
+ msgid "Approval"
922
+ msgstr "Genehmigung"
923
+
924
+ #: contrib/directory/models/relationships.py:270
925
+ msgid "Are you sure you want to deny removal of this relationship?"
926
+ msgstr ""
927
+ "Sind Sie sich sicher, dass Sie die Löschung dieser Beziehung ablehnen "
928
+ "wollen?"
929
+
930
+ #: contrib/directory/models/relationships.py:291
931
+ msgid "Are you sure you want to remove this relationship?"
932
+ msgstr "Sind Sie sich sicher, dass Sie diese Beziehung entfernen wollen?"
933
+
934
+ #: contrib/directory/models/relationships.py:313
935
+ #: contrib/directory/models/relationships.py:314
936
+ msgid "Make Primary"
937
+ msgstr "Primär Machen"
938
+
939
+ #: contrib/directory/models/relationships.py:315
940
+ msgid ""
941
+ "Are you sure you want to request making this relationship manager primary?"
942
+ msgstr ""
943
+ "Sind Sie sich sicher, dass Sie diese*n Betreuer*in zur*m Hauptbetreuer*in "
944
+ "machen möchten?"
945
+
946
+ #: contrib/directory/models/relationships.py:341
947
+ msgid "Remove"
948
+ msgstr "Entfernen"
949
+
950
+ #: contrib/directory/models/relationships.py:342
951
+ msgid "Removal"
952
+ msgstr "Entfernen"
953
+
954
+ #: contrib/directory/models/relationships.py:343
955
+ msgid "Are you sure you want to request removal of this relationship?"
956
+ msgstr ""
957
+ "Sind Sie sich sicher, dass Sie eine Löschung dieser Beziehung beantragen "
958
+ "wollen?"
959
+
960
+ #: contrib/directory/models/relationships.py:361
961
+ #: contrib/directory/models/relationships.py:362
962
+ msgid "Reinstate"
963
+ msgstr "Wiedereinsetzen"
964
+
965
+ #: contrib/directory/models/relationships.py:363
966
+ msgid "Are you sure you want to request reinstating this relationship?"
967
+ msgstr ""
968
+ "Sind Sie sicher, dass Sie die Wiederaufnahme dieser Beziehung beantragen "
969
+ "wollen?"
970
+
971
+ #: contrib/directory/models/relationships.py:371
972
+ #, python-brace-format
973
+ msgid "{client} is client of {manager}"
974
+ msgstr "{client} ist ein*e Kunde*in von {manager}"
975
+
976
+ #: contrib/directory/models/relationships.py:395
977
+ msgid "Client Manager Relationship"
978
+ msgstr "Kund*innen-Betreuer*innen-Beziehung"
979
+
980
+ #: contrib/directory/models/relationships.py:396
981
+ #: contrib/directory/viewsets/menu/relationships.py:24
982
+ #: contrib/directory/viewsets/titles/relationships.py:46
983
+ msgid "Client Manager Relationships"
984
+ msgstr "Kunden-Betreuer-Beziehungen"
985
+
986
+ #: contrib/directory/models/relationships.py:445
987
+ #, python-brace-format
988
+ msgid "New Client Manager Relationship for {client}"
989
+ msgstr "Neue*r Kundenbetreuer*in für {client}"
990
+
991
+ #: contrib/directory/models/relationships.py:448
992
+ #, python-brace-format
993
+ msgid "User requested that {manager} is the relationship manager of {client}."
994
+ msgstr ""
995
+ "Der*Die Benutzer*in hat beantragt, dass {manager} der*die Betreuer*in von "
996
+ "{client} wird."
997
+
998
+ #: contrib/directory/models/relationships.py:459
999
+ #, python-brace-format
1000
+ msgid "Removal of Client Manager Relationship for {client}"
1001
+ msgstr "Aufhebung des Betreuungsverhältnisses für {client}"
1002
+
1003
+ #: contrib/directory/models/relationships.py:462
1004
+ #, python-brace-format
1005
+ msgid ""
1006
+ "User requested that relationship manager {manager} of {client} should be "
1007
+ "removed."
1008
+ msgstr ""
1009
+ "Der*Die Benutzer*in hat beantragt, dass {manager} als Betreuer*in von "
1010
+ "{client} entfernt wird."
1011
+
1012
+ #: contrib/directory/models/relationships.py:498
1013
+ #: contrib/directory/models/relationships.py:523
1014
+ #: contrib/directory/viewsets/display/entries.py:290
1015
+ msgid "Position"
1016
+ msgstr "Position"
1017
+
1018
+ #: contrib/directory/models/relationships.py:512
1019
+ #: contrib/directory/viewsets/display/relationships.py:71
1020
+ #: contrib/directory/viewsets/display/relationships.py:113
1021
+ msgid "Employee"
1022
+ msgstr "Angestellte*r"
1023
+
1024
+ #: contrib/directory/models/relationships.py:527
1025
+ msgid "Alternative Position Name"
1026
+ msgstr ""
1027
+
1028
+ #: contrib/directory/models/relationships.py:529
1029
+ msgid ""
1030
+ "If the selected position isn't an exact match, feel free to use this field "
1031
+ "to provide more details about the position. You can edit this field once the"
1032
+ " position is confirmed."
1033
+ msgstr ""
1034
+
1035
+ #: contrib/directory/models/relationships.py:538
1036
+ #: contrib/directory/viewsets/display/relationships.py:70
1037
+ #: contrib/directory/viewsets/display/relationships.py:152
1038
+ msgid "Employer"
1039
+ msgstr "Arbeitgeber*in"
1040
+
1041
+ #: contrib/directory/models/relationships.py:554
1042
+ #: contrib/directory/viewsets/titles/relationships.py:73
1043
+ msgid "Employer Employee Relationship"
1044
+ msgstr "Arbeitsverhältnis"
1045
+
1046
+ #: contrib/directory/serializers/companies.py:141
1047
+ #: contrib/directory/serializers/entries.py:195
1048
+ #: contrib/directory/viewsets/display/entries.py:515
1049
+ msgid "Primary Address"
1050
+ msgstr "Primäre Adresse"
1051
+
1052
+ #: contrib/directory/serializers/companies.py:142
1053
+ #: contrib/directory/serializers/entries.py:196
1054
+ #: contrib/directory/serializers/entry_representations.py:12
1055
+ #: contrib/directory/viewsets/display/entries.py:514
1056
+ msgid "Primary Email"
1057
+ msgstr "Primäre E-Mail"
1058
+
1059
+ #: contrib/directory/serializers/companies.py:144
1060
+ #: contrib/directory/serializers/entries.py:198
1061
+ #: contrib/directory/serializers/entry_representations.py:13
1062
+ #: contrib/directory/viewsets/display/entries.py:513
1063
+ msgid "Primary Telephone"
1064
+ msgstr "Primäre Telefonnummer"
1065
+
1066
+ #: contrib/directory/serializers/contacts.py:122
1067
+ #, python-brace-format
1068
+ msgctxt "Warning for wrong email"
1069
+ msgid "E-Mail address already in use for this {type}."
1070
+ msgstr "Diese E-Mail wird für diesen {type} schon verwendet."
1071
+
1072
+ #: contrib/directory/serializers/contacts.py:130
1073
+ msgid "Invalid e-mail address"
1074
+ msgstr "Ungültige E-Mail-Adresse"
1075
+
1076
+ #: contrib/directory/serializers/contacts.py:159
1077
+ #, python-brace-format
1078
+ msgid "Website already in use for this {type}."
1079
+ msgstr "Diese Webseite wird für diesen {type} schon verwendet."
1080
+
1081
+ #: contrib/directory/serializers/contacts.py:192
1082
+ #, python-brace-format
1083
+ msgid "Address already in use for this {type}."
1084
+ msgstr "Diese Adresse wird für diesen {type} schon verwendet."
1085
+
1086
+ #: contrib/directory/serializers/contacts.py:233
1087
+ msgctxt "Phonenumber"
1088
+ msgid "Number"
1089
+ msgstr "Telefonnummer"
1090
+
1091
+ #: contrib/directory/serializers/contacts.py:247
1092
+ #, python-brace-format
1093
+ msgid "Phone number already in use for this {type}."
1094
+ msgstr "Diese Telefonnummer wird für diesen {type} schon verwendet."
1095
+
1096
+ #: contrib/directory/serializers/contacts.py:263
1097
+ #: contrib/directory/serializers/contacts.py:265
1098
+ #: contrib/directory/serializers/entries.py:267
1099
+ #: contrib/directory/serializers/entries.py:269
1100
+ msgid "Invalid phone number format"
1101
+ msgstr "Ungültiges Telefonnummernformat"
1102
+
1103
+ #: contrib/directory/serializers/contacts.py:274
1104
+ #, python-brace-format
1105
+ msgid "Phone number already in use for this {entry}."
1106
+ msgstr "Diese Telefonnummer wird für {entry} bereits verwendet."
1107
+
1108
+ #: contrib/directory/serializers/contacts.py:321
1109
+ #, python-brace-format
1110
+ msgid "IBAN already in use for this {type}."
1111
+ msgstr "Diese IBAN wird für diese/s {type} schon verwendet."
1112
+
1113
+ #: contrib/directory/serializers/contacts.py:368
1114
+ msgid "The URL you provided seems to be wrong."
1115
+ msgstr "Die URL, die Sie angegeben haben, scheint falsch zu sein."
1116
+
1117
+ #: contrib/directory/serializers/contacts.py:376
1118
+ msgid "This social media account is already in use for this user"
1119
+ msgstr ""
1120
+ "Dieser Social-Media-Account wird bereits von diesem*r Benutzer*in verwendet"
1121
+
1122
+ #: contrib/directory/serializers/entries.py:86
1123
+ msgid "Cannot add a duplicate company type."
1124
+ msgstr "Dieser Unternehmenstyp existiert bereits."
1125
+
1126
+ #: contrib/directory/serializers/entries.py:98
1127
+ msgid "Cannot add a duplicate specialization."
1128
+ msgstr "Diese Spezialisierung existiert bereits."
1129
+
1130
+ #: contrib/directory/serializers/entries.py:124
1131
+ msgid "Cannot add a duplicate customer status."
1132
+ msgstr "Dieser Kundenstatus existiert bereits."
1133
+
1134
+ #: contrib/directory/serializers/entries.py:178
1135
+ msgid ""
1136
+ "This field indicates a person's primary employer's status. It is "
1137
+ "automatically filled when the status of the primary employer is set."
1138
+ msgstr ""
1139
+ "Dieses Feld gibt den Unternehmensstatus des Hauptunternehmens einer Person "
1140
+ "an. Es wird automatisch gesetzt wenn der Status des*der "
1141
+ "Arbeitgebers*Arbeitgeberin gesetzt wird."
1142
+
1143
+ #: contrib/directory/serializers/entries.py:189
1144
+ msgid ""
1145
+ "This field indicates a person's position with their primary employer. It is "
1146
+ "automatically filled when this person is assigned an employer and this "
1147
+ "person's position with that employer is filled in."
1148
+ msgstr ""
1149
+ "Dieses Feld gibt die Position einer Person in ihrem Hauptunternehmen an. Es "
1150
+ "wird automatisch ausgefüllt wenn eine Person eine*n Arbeitgeber*in "
1151
+ "zugewiesen bekommt und für diese*n Arbeitgeber*in eine Position gesetzt "
1152
+ "wird."
1153
+
1154
+ #: contrib/directory/serializers/entries.py:191
1155
+ #: contrib/directory/serializers/persons.py:138
1156
+ #: contrib/directory/viewsets/display/relationships.py:73
1157
+ #: contrib/directory/viewsets/display/relationships.py:115
1158
+ #: contrib/directory/viewsets/display/relationships.py:154
1159
+ msgid "Position In Company"
1160
+ msgstr "Position im Unternehmen"
1161
+
1162
+ #: contrib/directory/serializers/entries.py:197
1163
+ #: contrib/directory/serializers/entries.py:205
1164
+ msgid "Primary Manager"
1165
+ msgstr "Primäre*r Betreuer*in"
1166
+
1167
+ #: contrib/directory/serializers/entries.py:199
1168
+ msgid "Profile Image"
1169
+ msgstr "Profilbild"
1170
+
1171
+ #: contrib/directory/serializers/persons.py:20
1172
+ #: contrib/directory/serializers/persons.py:126
1173
+ #: contrib/directory/viewsets/display/entries.py:288
1174
+ msgid "Primary Employer"
1175
+ msgstr "Hauptarbeitgeber*in"
1176
+
1177
+ #: contrib/directory/serializers/persons.py:21
1178
+ msgid "User Account"
1179
+ msgstr "Benutzer*innenkonto"
1180
+
1181
+ #: contrib/directory/serializers/persons.py:23
1182
+ msgid "Last Connection"
1183
+ msgstr "Letzte Verbindung"
1184
+
1185
+ #: contrib/directory/serializers/persons.py:24
1186
+ msgid "Secondary Email"
1187
+ msgstr "Sekundäre E-Mail"
1188
+
1189
+ #: contrib/directory/serializers/persons.py:26
1190
+ msgid "Personality Profile Red"
1191
+ msgstr "Persönlichkeitsprofil Rot"
1192
+
1193
+ #: contrib/directory/serializers/persons.py:29
1194
+ msgid "Personality Profile Green"
1195
+ msgstr "Persönlichkeitsprofil Grün"
1196
+
1197
+ #: contrib/directory/serializers/persons.py:32
1198
+ msgid "Personality Profile Blue"
1199
+ msgstr "Persönlichkeitsprofil Blau"
1200
+
1201
+ #: contrib/directory/serializers/persons.py:35
1202
+ msgid "Tier of the primary employer"
1203
+ msgstr "Rang des*der Hauptarbeitgebers*in"
1204
+
1205
+ #: contrib/directory/serializers/persons.py:149
1206
+ #: contrib/directory/viewsets/display/relationships.py:116
1207
+ #: contrib/directory/viewsets/display/relationships.py:155
1208
+ msgid "Position Name"
1209
+ msgstr ""
1210
+
1211
+ #: contrib/directory/serializers/relationships.py:81
1212
+ msgid "Cannot add a duplicate position."
1213
+ msgstr "Diese Position existiert bereits."
1214
+
1215
+ #: contrib/directory/serializers/relationships.py:104
1216
+ msgid "Cannot add duplicate relationship type."
1217
+ msgstr "Dieser Beziehungtyp existiert bereits."
1218
+
1219
+ #: contrib/directory/serializers/relationships.py:135
1220
+ msgid "From entry has to be set."
1221
+ msgstr "Der \"Von\"-Eintrag muss gesetzt werden."
1222
+
1223
+ #: contrib/directory/serializers/relationships.py:140
1224
+ msgid "Cannot add a duplicate relationship type."
1225
+ msgstr ""
1226
+
1227
+ #: contrib/directory/serializers/relationships.py:151
1228
+ #: contrib/directory/serializers/relationships.py:154
1229
+ #: contrib/directory/viewsets/display/relationships.py:117
1230
+ #: contrib/directory/viewsets/display/relationships.py:156
1231
+ msgid "Profile Picture"
1232
+ msgstr ""
1233
+
1234
+ #: contrib/directory/serializers/relationships.py:186
1235
+ #, python-brace-format
1236
+ msgid "{employee} is already an employee of {employer}."
1237
+ msgstr "{employee} ist bereits bei {employer} angestellt."
1238
+
1239
+ #: contrib/directory/serializers/relationships.py:199
1240
+ msgid "Cannot degrade primary employer. Add a new primary employer instead."
1241
+ msgstr ""
1242
+ "Hauptarbeitgeber*innen können nicht entfernt werden. Setzen Sie stattdessen "
1243
+ "eine*n neuen Hauptarbeitgeber*in."
1244
+
1245
+ #: contrib/directory/serializers/relationships.py:230
1246
+ #: contrib/directory/serializers/relationships.py:234
1247
+ msgid "You need to select a client"
1248
+ msgstr "Sie müssen eine*n Klient*in auswählen"
1249
+
1250
+ #: contrib/directory/serializers/relationships.py:230
1251
+ #: contrib/directory/serializers/relationships.py:237
1252
+ msgid "You need to select a manager"
1253
+ msgstr "Sie müssen eine*n Betreuer*in auswählen"
1254
+
1255
+ #: contrib/directory/serializers/relationships.py:255
1256
+ #, python-brace-format
1257
+ msgid ""
1258
+ "There is already a pending request to put {manager} in charge of {client}."
1259
+ msgstr ""
1260
+ "Es gibt bereits einen ausstehenden Antrag, {manager} mit der Betreuung von "
1261
+ "{client} zu beauftragen."
1262
+
1263
+ #: contrib/directory/serializers/relationships.py:268
1264
+ #, python-brace-format
1265
+ msgid "A draft to put {manager} in charge of {client} already exists."
1266
+ msgstr ""
1267
+ "Es gibt bereits eine Anfrage, um {manager} die Verantwortung für {client} zu"
1268
+ " übertragen."
1269
+
1270
+ #: contrib/directory/serializers/relationships.py:275
1271
+ msgid "Client and relationship manager cannot be the same person."
1272
+ msgstr "Kunde*in und Kundenbetreuer*in dürfen nicht dieselbe Personen sein."
1273
+
1274
+ #: contrib/directory/serializers/relationships.py:281
1275
+ msgid ""
1276
+ "Cannot degrade primary manager. Make a primary request for a different "
1277
+ "manager instead."
1278
+ msgstr ""
1279
+ "Primäre Betreuer*innen können nicht entfernt werden. Machen Sie stattdessen "
1280
+ "einen Antrag für eine*n andere*n Betreuer*in."
1281
+
1282
+ #: contrib/directory/serializers/relationships.py:296
1283
+ #, python-brace-format
1284
+ msgid "{manager} is already in charge of {client}."
1285
+ msgstr "{manager} ist bereits für {client} zuständig."
1286
+
1287
+ #: contrib/directory/viewsets/buttons/contacts.py:12
1288
+ msgid "Create New Call Activity"
1289
+ msgstr "Erstelle eine neue Anrufs-Aktivität"
1290
+
1291
+ #: contrib/directory/viewsets/buttons/entries.py:16
1292
+ msgid "Emails"
1293
+ msgstr "E-Mails"
1294
+
1295
+ #: contrib/directory/viewsets/buttons/entries.py:17
1296
+ msgid "Telephones"
1297
+ msgstr "Telefonnummern"
1298
+
1299
+ #: contrib/directory/viewsets/buttons/entries.py:18
1300
+ msgid "Addresses"
1301
+ msgstr "Adressen"
1302
+
1303
+ #: contrib/directory/viewsets/buttons/entries.py:19
1304
+ msgid "Websites"
1305
+ msgstr "Webseiten"
1306
+
1307
+ #: contrib/directory/viewsets/buttons/entries.py:20
1308
+ msgid "Bankings"
1309
+ msgstr "Bankinformationen"
1310
+
1311
+ #: contrib/directory/viewsets/buttons/entries.py:21
1312
+ msgid "Social Media"
1313
+ msgstr "Social Media"
1314
+
1315
+ #: contrib/directory/viewsets/buttons/entries.py:27
1316
+ msgid "Quick Action"
1317
+ msgstr "Quick Action"
1318
+
1319
+ #: contrib/directory/viewsets/buttons/entries.py:44
1320
+ #: contrib/directory/viewsets/buttons/entries.py:62
1321
+ msgid "More Information"
1322
+ msgstr "Weitere Informationen"
1323
+
1324
+ #: contrib/directory/viewsets/buttons/entries.py:60
1325
+ msgid "Client/Manager"
1326
+ msgstr "Klienten*innen/Betreuer*innen"
1327
+
1328
+ #: contrib/directory/viewsets/buttons/entries.py:80
1329
+ #: contrib/directory/viewsets/buttons/relationships.py:17
1330
+ #: contrib/directory/viewsets/titles/entries.py:14
1331
+ msgid "New Person"
1332
+ msgstr "Neue Person"
1333
+
1334
+ #: contrib/directory/viewsets/buttons/entries.py:93
1335
+ #: contrib/directory/viewsets/buttons/entries.py:96
1336
+ #: contrib/directory/viewsets/buttons/entries.py:125
1337
+ #: contrib/directory/viewsets/buttons/entries.py:128
1338
+ msgid "Delete Relationship"
1339
+ msgstr "Beziehung Löschen"
1340
+
1341
+ #: contrib/directory/viewsets/buttons/entries.py:95
1342
+ #: contrib/directory/viewsets/buttons/entries.py:127
1343
+ msgid "<p> Are you sure you want to delete the relationship? </p>"
1344
+ msgstr ""
1345
+ "<p> Sind Sie sich sicher, dass Sie diese Beziehung löschen wollen? </p>"
1346
+
1347
+ #: contrib/directory/viewsets/buttons/entries.py:97
1348
+ #: contrib/directory/viewsets/buttons/entries.py:129
1349
+ msgid "Deletion"
1350
+ msgstr "Löschung"
1351
+
1352
+ #: contrib/directory/viewsets/buttons/entries.py:100
1353
+ #: contrib/directory/viewsets/buttons/entries.py:132
1354
+ msgid "Relationship Instance"
1355
+ msgstr "Beziehungsinstanz"
1356
+
1357
+ #: contrib/directory/viewsets/buttons/entries.py:112
1358
+ #: contrib/directory/viewsets/buttons/relationships.py:27
1359
+ #: contrib/directory/viewsets/titles/entries.py:25
1360
+ msgid "New Company"
1361
+ msgstr "Neues Unternehmen"
1362
+
1363
+ #: contrib/directory/viewsets/contacts.py:120
1364
+ #, python-brace-format
1365
+ msgid ""
1366
+ "This is the primary {contact}. In order to delete the primary {contact} you "
1367
+ "have to specify a different primary contact or make it the only contact. To "
1368
+ "change primary status make a different contact primary instead."
1369
+ msgstr ""
1370
+ "Dies ist der primäre {contact}. Ein Primärkontakt kann nur gelöscht werden, "
1371
+ "wenn es der einzige Kontakt ist. Gibt es noch andere {contact}n, muss erst "
1372
+ "ein anderer Kontakt als Primärkontakt festgelegt werden."
1373
+
1374
+ #: contrib/directory/viewsets/display/contacts.py:20
1375
+ #: contrib/directory/viewsets/display/contacts.py:51
1376
+ msgid "Primary Contact"
1377
+ msgstr "Primärer Kontakt"
1378
+
1379
+ #: contrib/directory/viewsets/display/contacts.py:123
1380
+ #: contrib/directory/viewsets/display/contacts.py:251
1381
+ msgid "Street Additional"
1382
+ msgstr "Straße (zusätzliches)"
1383
+
1384
+ #: contrib/directory/viewsets/display/contacts.py:124
1385
+ #: contrib/directory/viewsets/display/contacts.py:252
1386
+ msgid "Zip"
1387
+ msgstr "PLZ/ZIP"
1388
+
1389
+ #: contrib/directory/viewsets/display/contacts.py:147
1390
+ #: contrib/directory/viewsets/display/contacts.py:323
1391
+ msgid "Institute additional"
1392
+ msgstr "Institut (zusätzliches)"
1393
+
1394
+ #: contrib/directory/viewsets/display/contacts.py:149
1395
+ #: contrib/directory/viewsets/display/contacts.py:325
1396
+ msgid "SWIFT"
1397
+ msgstr "SWIFT"
1398
+
1399
+ #: contrib/directory/viewsets/display/contacts.py:153
1400
+ #: contrib/directory/viewsets/display/contacts.py:328
1401
+ msgid "Information"
1402
+ msgstr "Informationen"
1403
+
1404
+ #: contrib/directory/viewsets/display/entries.py:55
1405
+ #: contrib/directory/viewsets/display/entries.py:174
1406
+ #: contrib/directory/viewsets/display/entries.py:353
1407
+ #: contrib/directory/viewsets/display/entries.py:430
1408
+ msgid "Main Information"
1409
+ msgstr "Hauptinformationen"
1410
+
1411
+ #: contrib/directory/viewsets/display/entries.py:292
1412
+ msgid "Primary Phone Number"
1413
+ msgstr "Primäre Telefonnummer"
1414
+
1415
+ #: contrib/directory/viewsets/display/entries.py:294
1416
+ #: contrib/directory/viewsets/display/entries.py:471
1417
+ #: contrib/directory/viewsets/display/entries.py:499
1418
+ msgid "Primary Relationship Manager"
1419
+ msgstr "Primäre*r Betreuer*in"
1420
+
1421
+ #: contrib/directory/viewsets/display/entries.py:297
1422
+ #: contrib/directory/viewsets/display/entries.py:474
1423
+ msgid "Last Event"
1424
+ msgstr "Letztes Event"
1425
+
1426
+ #: contrib/directory/viewsets/display/entries.py:300
1427
+ msgid "End Date"
1428
+ msgstr ""
1429
+
1430
+ #: contrib/directory/viewsets/display/entries.py:477
1431
+ msgid "Date"
1432
+ msgstr ""
1433
+
1434
+ #: contrib/directory/viewsets/display/relationships.py:34
1435
+ msgid "From"
1436
+ msgstr "Von"
1437
+
1438
+ #: contrib/directory/viewsets/display/relationships.py:35
1439
+ msgid "To"
1440
+ msgstr "Zu"
1441
+
1442
+ #: contrib/directory/viewsets/display/relationships.py:72
1443
+ #: contrib/directory/viewsets/display/relationships.py:81
1444
+ #: contrib/directory/viewsets/display/relationships.py:114
1445
+ #: contrib/directory/viewsets/display/relationships.py:125
1446
+ #: contrib/directory/viewsets/display/relationships.py:153
1447
+ #: contrib/directory/viewsets/display/relationships.py:164
1448
+ msgid "Company Is Primary Employer"
1449
+ msgstr "Unternehmen ist Hauptarbeitgeber*in"
1450
+
1451
+ #: contrib/directory/viewsets/menu/contacts.py:8
1452
+ msgid "Pending Banking Contacts"
1453
+ msgstr "Ausstehende Bankkontakte"
1454
+
1455
+ #: contrib/directory/viewsets/menu/contacts.py:21
1456
+ msgid "Search by Telephone Contact"
1457
+ msgstr "Telefonnummernsuche"
1458
+
1459
+ #: contrib/directory/viewsets/menu/entries.py:7
1460
+ msgid "Your Contact"
1461
+ msgstr "Dein Kontakt"
1462
+
1463
+ #: contrib/directory/viewsets/menu/entries.py:17
1464
+ msgid "Create Company"
1465
+ msgstr "Unternehmen Erstellen"
1466
+
1467
+ #: contrib/directory/viewsets/menu/entries.py:27
1468
+ msgid "Create Person"
1469
+ msgstr "Person Erstellen"
1470
+
1471
+ #: contrib/directory/viewsets/menu/entries.py:42
1472
+ msgid "Banks"
1473
+ msgstr "Banken"
1474
+
1475
+ #: contrib/directory/viewsets/menu/entries.py:48
1476
+ msgid "Create Bank"
1477
+ msgstr "Bank Erstellen"
1478
+
1479
+ #: contrib/directory/viewsets/menu/entries.py:57
1480
+ #: contrib/directory/viewsets/titles/entries.py:30
1481
+ msgid "Your Clients/Prospects/Contacts"
1482
+ msgstr "Deine Klient*innen/Interessent*innen/Kontakte"
1483
+
1484
+ #: contrib/directory/viewsets/menu/relationships.py:14
1485
+ msgid "Create Relationship Type"
1486
+ msgstr "Beziehungstyp Erstellen"
1487
+
1488
+ #: contrib/directory/viewsets/menu/relationships.py:28
1489
+ msgid "Create Client Manager Relationship"
1490
+ msgstr "Kunden-Betreuer-Beziehung Erstellen"
1491
+
1492
+ #: contrib/directory/viewsets/menu/utils.py:7
1493
+ #: contrib/directory/viewsets/titles/utils.py:19
1494
+ msgid "Company Positions"
1495
+ msgstr "Unternehmenspositionen"
1496
+
1497
+ #: contrib/directory/viewsets/menu/utils.py:14
1498
+ msgid "Create Position"
1499
+ msgstr "Position Erstellen"
1500
+
1501
+ #: contrib/directory/viewsets/menu/utils.py:31
1502
+ msgid "Create Customer Status"
1503
+ msgstr "Kundenstatus Erstellen"
1504
+
1505
+ #: contrib/directory/viewsets/menu/utils.py:48
1506
+ msgid "Create Company Type"
1507
+ msgstr "Unternehmenstyp Erstellen"
1508
+
1509
+ #: contrib/directory/viewsets/menu/utils.py:66
1510
+ msgid "Create Specialization"
1511
+ msgstr "Spezialisierung Erstellen"
1512
+
1513
+ #: contrib/directory/viewsets/previews/contacts.py:18
1514
+ msgid "Show all addresses"
1515
+ msgstr "Zeige alle Adressen"
1516
+
1517
+ #: contrib/directory/viewsets/previews/entries.py:31
1518
+ msgid "Show all activities"
1519
+ msgstr "Zeige alle Aktivitäten"
1520
+
1521
+ #: contrib/directory/viewsets/titles/contacts.py:9
1522
+ msgid "Email Contact: {{address}}"
1523
+ msgstr "E-Mail-Kontakt: {{address}}"
1524
+
1525
+ #: contrib/directory/viewsets/titles/contacts.py:12
1526
+ msgid "Email Contacts"
1527
+ msgstr "E-Mail-Kontakte"
1528
+
1529
+ #: contrib/directory/viewsets/titles/contacts.py:15
1530
+ msgid "New Email Contact"
1531
+ msgstr "Neue E-Mail-Adresse"
1532
+
1533
+ #: contrib/directory/viewsets/titles/contacts.py:26
1534
+ msgid "New Address Contact"
1535
+ msgstr "Neue Adressdaten"
1536
+
1537
+ #: contrib/directory/viewsets/titles/contacts.py:31
1538
+ msgid "Banking Contact: {{institute}}"
1539
+ msgstr "Bankdaten: {{institute}}"
1540
+
1541
+ #: contrib/directory/viewsets/titles/contacts.py:37
1542
+ msgid "New Banking Contact"
1543
+ msgstr "Neue Bankdaten"
1544
+
1545
+ #: contrib/directory/viewsets/titles/contacts.py:43
1546
+ #, python-brace-format
1547
+ msgid "New Email Contact for {entry}"
1548
+ msgstr "Neue E-Mail-Adresse für {entry}"
1549
+
1550
+ #: contrib/directory/viewsets/titles/contacts.py:47
1551
+ #, python-brace-format
1552
+ msgid "Email Contacts for {entry}"
1553
+ msgstr "E-Mail-Adressen von {entry}"
1554
+
1555
+ #: contrib/directory/viewsets/titles/contacts.py:53
1556
+ #, python-brace-format
1557
+ msgid "New Address Contact for {entry}"
1558
+ msgstr "Neue Adresse für {entry}"
1559
+
1560
+ #: contrib/directory/viewsets/titles/contacts.py:57
1561
+ #, python-brace-format
1562
+ msgid "Address Contacts for {entry}"
1563
+ msgstr "Neue Adressdaten für {entry}"
1564
+
1565
+ #: contrib/directory/viewsets/titles/contacts.py:62
1566
+ #: contrib/directory/viewsets/titles/contacts.py:73
1567
+ msgid "Telephone Contact: {{number}}"
1568
+ msgstr "Telefonischer Kontakt: {{number}}"
1569
+
1570
+ #: contrib/directory/viewsets/titles/contacts.py:68
1571
+ msgid "New Telephone Contact"
1572
+ msgstr "Neuer Telefonkontakt"
1573
+
1574
+ #: contrib/directory/viewsets/titles/contacts.py:77
1575
+ #, python-brace-format
1576
+ msgid "Telephone Contacts for {entry}"
1577
+ msgstr ""
1578
+
1579
+ #: contrib/directory/viewsets/titles/contacts.py:81
1580
+ #, python-brace-format
1581
+ msgid "New Telephone Contact for {entry}"
1582
+ msgstr "Neue Telefonnummer für {entry}"
1583
+
1584
+ #: contrib/directory/viewsets/titles/contacts.py:86
1585
+ msgid "Website Contact: {{url}}"
1586
+ msgstr "Website: {{url}}"
1587
+
1588
+ #: contrib/directory/viewsets/titles/contacts.py:90
1589
+ #, python-brace-format
1590
+ msgid "Websites for {entry}"
1591
+ msgstr "Webseite von {entry}"
1592
+
1593
+ #: contrib/directory/viewsets/titles/contacts.py:94
1594
+ #, python-brace-format
1595
+ msgid "New Website Contact for {entry}"
1596
+ msgstr "Neue Website für {entry}"
1597
+
1598
+ #: contrib/directory/viewsets/titles/contacts.py:100
1599
+ #, python-brace-format
1600
+ msgid "Banking Contacts for {entry}"
1601
+ msgstr "Bankdaten für {entry}"
1602
+
1603
+ #: contrib/directory/viewsets/titles/contacts.py:104
1604
+ #, python-brace-format
1605
+ msgid "New Banking Contact for {entry}"
1606
+ msgstr "Neue Bankdaten für {entry}"
1607
+
1608
+ #: contrib/directory/viewsets/titles/contacts.py:110
1609
+ #, python-brace-format
1610
+ msgid "Social Media Accounts of {entry}"
1611
+ msgstr "Social-Media-Accounts von {entry}"
1612
+
1613
+ #: contrib/directory/viewsets/titles/contacts.py:116
1614
+ msgid "Social Media Account"
1615
+ msgstr "Social-Media-Account"
1616
+
1617
+ #: contrib/directory/viewsets/titles/contacts.py:117
1618
+ #, python-brace-format
1619
+ msgid "{platform} Account of {entry}"
1620
+ msgstr "{platform}-Account von {entry}"
1621
+
1622
+ #: contrib/directory/viewsets/titles/contacts.py:123
1623
+ #, python-brace-format
1624
+ msgid "New Social Media Contact for {entry}"
1625
+ msgstr "Neuer Social-Media-Kontakt für {entry}"
1626
+
1627
+ #: contrib/directory/viewsets/titles/entries.py:11
1628
+ msgid "Person: {{first_name}} {{last_name}}"
1629
+ msgstr "Person: {{first_name}} {{last_name}}"
1630
+
1631
+ #: contrib/directory/viewsets/titles/entries.py:19
1632
+ msgid "Company: {{name}}"
1633
+ msgstr "Unternehmen: {{name}}"
1634
+
1635
+ #: contrib/directory/viewsets/titles/relationships.py:11
1636
+ #, python-brace-format
1637
+ msgid "Relationships of {entry}"
1638
+ msgstr "Beziehungen von {entry}"
1639
+
1640
+ #: contrib/directory/viewsets/titles/relationships.py:15
1641
+ #, python-brace-format
1642
+ msgid "New Relationship for {entry}"
1643
+ msgstr "Neue Beziehung für {entry}"
1644
+
1645
+ #: contrib/directory/viewsets/titles/relationships.py:26
1646
+ msgid "New Relationship Type"
1647
+ msgstr "Neuer Beziehungstyp"
1648
+
1649
+ #: contrib/directory/viewsets/titles/relationships.py:33
1650
+ #, python-brace-format
1651
+ msgid "Client Manager Relationship Between {client} & {person}"
1652
+ msgstr ""
1653
+
1654
+ #: contrib/directory/viewsets/titles/relationships.py:40
1655
+ #, python-brace-format
1656
+ msgid "Relationship Managers for {client}"
1657
+ msgstr ""
1658
+
1659
+ #: contrib/directory/viewsets/titles/relationships.py:44
1660
+ #, python-brace-format
1661
+ msgid "Clients of {relationship_manager}"
1662
+ msgstr ""
1663
+
1664
+ #: contrib/directory/viewsets/titles/relationships.py:51
1665
+ #, python-brace-format
1666
+ msgid "New Client Relationship for {client}"
1667
+ msgstr ""
1668
+
1669
+ #: contrib/directory/viewsets/titles/relationships.py:55
1670
+ #, python-brace-format
1671
+ msgid "New Manager Relationship for {relationship_manager}"
1672
+ msgstr ""
1673
+
1674
+ #: contrib/directory/viewsets/titles/relationships.py:59
1675
+ msgid "New Client Manager Relationship"
1676
+ msgstr "Neue Kunden-Betreuer-Beziehung"
1677
+
1678
+ #: contrib/directory/viewsets/titles/relationships.py:87
1679
+ msgid "Your Contacts"
1680
+ msgstr "Deine Kontakte"
1681
+
1682
+ #: contrib/directory/viewsets/titles/utils.py:11
1683
+ msgid "New Customer Status"
1684
+ msgstr "Neuer Kundenstatus"
1685
+
1686
+ #: contrib/directory/viewsets/titles/utils.py:22
1687
+ msgid "New Company Position"
1688
+ msgstr "Neue Unternehmensposition"
1689
+
1690
+ #: contrib/directory/viewsets/titles/utils.py:25
1691
+ msgid "Company Position"
1692
+ msgstr "Unternehmensposition"
1693
+
1694
+ #: contrib/directory/viewsets/titles/utils.py:33
1695
+ msgid "New Company Type"
1696
+ msgstr "Neuer Unternehmenstyp"
1697
+
1698
+ #: contrib/directory/viewsets/titles/utils.py:44
1699
+ msgid "New Specialization"
1700
+ msgstr "Neue Spezialisierung"