wbcore 1.59.16__py2.py3-none-any.whl → 1.60.1__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 (104) hide show
  1. wbcore/admin.py +0 -1
  2. wbcore/configurations/configurations/apps.py +1 -0
  3. wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po +17 -18
  4. wbcore/contrib/agenda/locale/en/LC_MESSAGES/django.po +17 -17
  5. wbcore/contrib/agenda/locale/fr/LC_MESSAGES/django.po +17 -18
  6. wbcore/contrib/agenda/models/calendar_item.py +9 -0
  7. wbcore/contrib/authentication/authentication.py +1 -3
  8. wbcore/contrib/authentication/configurations.py +0 -1
  9. wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po +47 -48
  10. wbcore/contrib/authentication/locale/en/LC_MESSAGES/django.po +47 -47
  11. wbcore/contrib/authentication/locale/fr/LC_MESSAGES/django.po +47 -48
  12. wbcore/contrib/authentication/models/users.py +18 -0
  13. wbcore/contrib/color/admin.py +1 -0
  14. wbcore/contrib/color/factories.py +1 -0
  15. wbcore/contrib/content_type/__init__.py +0 -0
  16. wbcore/contrib/content_type/apps.py +5 -0
  17. wbcore/{filters/fields/content_type.py → contrib/content_type/filters.py} +18 -0
  18. wbcore/{content_type → contrib/content_type}/serializers.py +2 -2
  19. wbcore/contrib/content_type/urls.py +15 -0
  20. wbcore/contrib/directory/factories/contacts.py +1 -0
  21. wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po +307 -271
  22. wbcore/contrib/directory/locale/en/LC_MESSAGES/django.po +305 -268
  23. wbcore/contrib/directory/locale/fr/LC_MESSAGES/django.po +305 -269
  24. wbcore/contrib/directory/migrations/0015_alter_emailcontact_address_and_more.py +47 -0
  25. wbcore/contrib/directory/models/contacts.py +15 -22
  26. wbcore/contrib/directory/models/entries.py +82 -2
  27. wbcore/contrib/directory/models/relationships.py +5 -9
  28. wbcore/contrib/directory/tests/test_models.py +5 -3
  29. wbcore/contrib/directory/viewsets/endpoints/__init__.py +2 -0
  30. wbcore/contrib/directory/viewsets/endpoints/entries.py +10 -0
  31. wbcore/contrib/directory/viewsets/entries.py +9 -2
  32. wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po +26 -23
  33. wbcore/contrib/documents/locale/en/LC_MESSAGES/django.po +26 -22
  34. wbcore/contrib/documents/locale/fr/LC_MESSAGES/django.po +26 -23
  35. wbcore/contrib/documents/serializers/document_model_relationships.py +1 -1
  36. wbcore/contrib/documents/viewsets/documents.py +1 -1
  37. wbcore/contrib/guardian/__init__.py +0 -0
  38. wbcore/contrib/guardian/filters.py +1 -0
  39. wbcore/contrib/guardian/models/mixins.py +1 -0
  40. wbcore/contrib/guardian/tasks.py +1 -0
  41. wbcore/contrib/guardian/tests/test_model_mixins.py +1 -0
  42. wbcore/contrib/guardian/tests/test_tasks.py +1 -0
  43. wbcore/contrib/guardian/tests/test_utils.py +1 -0
  44. wbcore/contrib/guardian/tests/test_viewsets.py +1 -0
  45. wbcore/contrib/guardian/urls.py +1 -0
  46. wbcore/contrib/guardian/utils.py +1 -0
  47. wbcore/contrib/guardian/viewsets/configs/buttons.py +1 -0
  48. wbcore/contrib/guardian/viewsets/configs/endpoints.py +1 -0
  49. wbcore/contrib/guardian/viewsets/viewsets.py +1 -0
  50. wbcore/contrib/io/locale/de/LC_MESSAGES/django.po +28 -28
  51. wbcore/contrib/io/locale/en/LC_MESSAGES/django.po +28 -28
  52. wbcore/contrib/io/locale/fr/LC_MESSAGES/django.po +28 -28
  53. wbcore/contrib/notifications/dispatch.py +1 -3
  54. wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +2 -3
  55. wbcore/contrib/notifications/locale/en/LC_MESSAGES/django.po +2 -2
  56. wbcore/contrib/notifications/locale/fr/LC_MESSAGES/django.po +2 -3
  57. wbcore/contrib/notifications/models/notification_types.py +5 -7
  58. wbcore/contrib/notifications/models/notifications.py +2 -2
  59. wbcore/contrib/notifications/models/tokens.py +2 -2
  60. wbcore/contrib/tags/filters.py +2 -2
  61. wbcore/contrib/tags/serializers.py +2 -2
  62. wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +75 -76
  63. wbcore/contrib/workflow/locale/en/LC_MESSAGES/django.po +75 -75
  64. wbcore/contrib/workflow/locale/fr/LC_MESSAGES/django.po +75 -76
  65. wbcore/contrib/workflow/serializers/process.py +4 -4
  66. wbcore/contrib/workflow/serializers/workflow.py +1 -1
  67. wbcore/filters/__init__.py +0 -1
  68. wbcore/filters/fields/__init__.py +0 -1
  69. wbcore/frontend_user_configuration.py +3 -2
  70. wbcore/locale/de/LC_MESSAGES/django.po +159 -129
  71. wbcore/locale/en/LC_MESSAGES/django.po +158 -129
  72. wbcore/locale/fr/LC_MESSAGES/django.po +159 -129
  73. wbcore/menus/menus.py +8 -5
  74. wbcore/metadata/configs/buttons/view_config.py +4 -1
  75. wbcore/metadata/configs/display/models.py +4 -5
  76. wbcore/metadata/configs/endpoints.py +7 -5
  77. wbcore/migrations/0015_delete_genericmodel.py +16 -0
  78. wbcore/models/base.py +0 -11
  79. wbcore/release_notes/models.py +2 -4
  80. wbcore/serializers/fields/fields.py +4 -2
  81. wbcore/serializers/fields/number.py +9 -0
  82. wbcore/shares/config.py +2 -2
  83. wbcore/signals/merge.py +1 -0
  84. wbcore/test/utils.py +3 -1
  85. wbcore/tests/test_permissions/test_backend.py +1 -3
  86. wbcore/tests/test_something.py +2 -2
  87. wbcore/urls.py +5 -10
  88. wbcore/utils/models.py +73 -4
  89. wbcore/utils/views.py +54 -53
  90. wbcore/viewsets/mixins.py +1 -1
  91. wbcore/viewsets/viewsets.py +1 -1
  92. {wbcore-1.59.16.dist-info → wbcore-1.60.1.dist-info}/METADATA +1 -1
  93. {wbcore-1.59.16.dist-info → wbcore-1.60.1.dist-info}/RECORD +98 -98
  94. wbcore/content_type/filters.py +0 -20
  95. wbcore/pandas/__init__.py +0 -53
  96. wbcore/pandas/fields.py +0 -25
  97. wbcore/pandas/filterset.py +0 -9
  98. wbcore/pandas/utils.py +0 -25
  99. wbcore/pandas/views.py +0 -9
  100. /wbcore/{content_type → contrib/color}/__init__.py +0 -0
  101. /wbcore/{content_type → contrib/content_type}/admin.py +0 -0
  102. /wbcore/{content_type → contrib/content_type}/utils.py +0 -0
  103. /wbcore/{content_type → contrib/content_type}/viewsets.py +0 -0
  104. {wbcore-1.59.16.dist-info → wbcore-1.60.1.dist-info}/WHEEL +0 -0
@@ -10,7 +10,7 @@ msgid ""
10
10
  msgstr ""
11
11
  "Project-Id-Version: PACKAGE VERSION\n"
12
12
  "Report-Msgid-Bugs-To: \n"
13
- "POT-Creation-Date: 2025-05-30 13:27+0200\n"
13
+ "POT-Creation-Date: 2026-01-16 14:04+0100\n"
14
14
  "PO-Revision-Date: 2025-05-30 09:40+0000\n"
15
15
  "Last-Translator: Kevin Decoster, 2025\n"
16
16
  "Language-Team: German (https://app.transifex.com/stainly/teams/171242/de/)\n"
@@ -20,7 +20,7 @@ msgstr ""
20
20
  "Language: de\n"
21
21
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
22
22
 
23
- #: admin.py:38 contrib/example_app/viewsets/displays/league.py:151
23
+ #: admin.py:37 contrib/example_app/viewsets/displays/league.py:151
24
24
  #: contrib/example_app/viewsets/displays/league.py:271
25
25
  #: contrib/example_app/viewsets/displays/league.py:346
26
26
  #: contrib/example_app/viewsets/displays/team.py:101
@@ -28,7 +28,7 @@ msgstr ""
28
28
  msgid "Main Information"
29
29
  msgstr "Hauptinformationen"
30
30
 
31
- #: admin.py:109
31
+ #: admin.py:108
32
32
  #, python-brace-format
33
33
  msgid ""
34
34
  "Your CSV file has been imported ( {imports} imported, {errors} errors)"
@@ -40,7 +40,7 @@ msgstr ""
40
40
  msgid "Clear Cache"
41
41
  msgstr ""
42
42
 
43
- #: configurations/configurations/wbcore.py:22
43
+ #: configurations/configurations/wbcore.py:21
44
44
  msgid "Check out our upcoming beta version"
45
45
  msgstr "Sehen Sie sich unsere nächste Beta-Version an"
46
46
 
@@ -48,7 +48,7 @@ msgstr "Sehen Sie sich unsere nächste Beta-Version an"
48
48
  msgid "Rates"
49
49
  msgstr ""
50
50
 
51
- #: contrib/example_app/filters/event.py:18 contrib/example_app/models.py:125
51
+ #: contrib/example_app/filters/event.py:18 contrib/example_app/models.py:127
52
52
  #: contrib/example_app/viewsets/menu/menus.py:30
53
53
  #: contrib/example_app/viewsets/menu/menus.py:94
54
54
  #: contrib/example_app/viewsets/titles/person.py:9
@@ -58,13 +58,13 @@ msgstr ""
58
58
  #: contrib/example_app/filters/event.py:24
59
59
  #: contrib/example_app/filters/event.py:25
60
60
  #: contrib/example_app/filters/event.py:72
61
- #: contrib/example_app/filters/event.py:73 contrib/example_app/models.py:831
61
+ #: contrib/example_app/filters/event.py:73 contrib/example_app/models.py:833
62
62
  #: contrib/example_app/serializers/match_event.py:129
63
63
  #: contrib/example_app/viewsets/displays/event.py:20
64
64
  msgid "Minute"
65
65
  msgstr ""
66
66
 
67
- #: contrib/example_app/filters/event.py:27 contrib/example_app/models.py:923
67
+ #: contrib/example_app/filters/event.py:27 contrib/example_app/models.py:925
68
68
  #: contrib/example_app/viewsets/displays/sport.py:52
69
69
  #: contrib/example_app/viewsets/displays/sport.py:56
70
70
  #: contrib/example_app/viewsets/menu/menus.py:83
@@ -72,8 +72,8 @@ msgstr ""
72
72
  msgid "Event Types"
73
73
  msgstr ""
74
74
 
75
- #: contrib/example_app/filters/event.py:41 contrib/example_app/models.py:586
76
- #: contrib/example_app/models.py:829
75
+ #: contrib/example_app/filters/event.py:41 contrib/example_app/models.py:588
76
+ #: contrib/example_app/models.py:831
77
77
  #: contrib/example_app/viewsets/displays/event.py:17
78
78
  #: contrib/example_app/viewsets/titles/match.py:15
79
79
  msgid "Match"
@@ -84,7 +84,7 @@ msgstr ""
84
84
  #: contrib/example_app/filters/teamresult.py:15
85
85
  #: contrib/example_app/filters/teamresult.py:16
86
86
  #: contrib/example_app/filters/teamresult.py:30
87
- #: contrib/example_app/models.py:267 contrib/example_app/models.py:883
87
+ #: contrib/example_app/models.py:269 contrib/example_app/models.py:885
88
88
  #: contrib/example_app/viewsets/displays/event.py:12
89
89
  #: contrib/example_app/viewsets/displays/teamresult.py:17
90
90
  msgid "Points"
@@ -92,7 +92,7 @@ msgstr ""
92
92
 
93
93
  #: contrib/example_app/filters/event.py:63
94
94
  #: contrib/example_app/filters/league.py:70
95
- #: contrib/example_app/filters/match.py:54 contrib/example_app/models.py:163
95
+ #: contrib/example_app/filters/match.py:54 contrib/example_app/models.py:165
96
96
  #: contrib/example_app/viewsets/menu/menus.py:38
97
97
  #: contrib/example_app/viewsets/titles/sport.py:8
98
98
  msgid "Sports"
@@ -103,7 +103,7 @@ msgid "Period"
103
103
  msgstr ""
104
104
 
105
105
  #: contrib/example_app/filters/league.py:10
106
- #: contrib/example_app/filters/league.py:15 contrib/example_app/models.py:193
106
+ #: contrib/example_app/filters/league.py:15 contrib/example_app/models.py:195
107
107
  msgid "Established Date"
108
108
  msgstr ""
109
109
 
@@ -117,7 +117,7 @@ msgstr ""
117
117
 
118
118
  #: contrib/example_app/filters/league.py:35
119
119
  #: contrib/example_app/filters/teamresult.py:9
120
- #: contrib/example_app/models.py:258 contrib/example_app/models.py:722
120
+ #: contrib/example_app/models.py:260 contrib/example_app/models.py:724
121
121
  #: contrib/example_app/viewsets/displays/event.py:70
122
122
  #: contrib/example_app/viewsets/displays/teamresult.py:9
123
123
  #: contrib/example_app/viewsets/menus.py:6
@@ -126,47 +126,47 @@ msgid "Team"
126
126
  msgstr ""
127
127
 
128
128
  #: contrib/example_app/filters/league.py:42
129
- #: contrib/example_app/filters/league.py:45 contrib/example_app/models.py:203
129
+ #: contrib/example_app/filters/league.py:45 contrib/example_app/models.py:205
130
130
  #: contrib/example_app/viewsets/displays/league.py:23
131
131
  msgid "Points Per Win"
132
132
  msgstr ""
133
133
 
134
134
  #: contrib/example_app/filters/league.py:48
135
- #: contrib/example_app/filters/league.py:51 contrib/example_app/models.py:204
135
+ #: contrib/example_app/filters/league.py:51 contrib/example_app/models.py:206
136
136
  #: contrib/example_app/viewsets/displays/league.py:24
137
137
  msgid "Points Per Draw"
138
138
  msgstr ""
139
139
 
140
140
  #: contrib/example_app/filters/league.py:54
141
- #: contrib/example_app/filters/league.py:57 contrib/example_app/models.py:205
141
+ #: contrib/example_app/filters/league.py:57 contrib/example_app/models.py:207
142
142
  #: contrib/example_app/viewsets/displays/league.py:25
143
143
  msgid "Points Per Loss"
144
144
  msgstr ""
145
145
 
146
146
  #: contrib/example_app/filters/match.py:16
147
- #: contrib/example_app/filters/match.py:21 contrib/example_app/models.py:389
147
+ #: contrib/example_app/filters/match.py:21 contrib/example_app/models.py:391
148
148
  #: contrib/example_app/viewsets/displays/match.py:24
149
149
  msgid "Date Time"
150
150
  msgstr ""
151
151
 
152
- #: contrib/example_app/filters/match.py:26 contrib/example_app/models.py:381
152
+ #: contrib/example_app/filters/match.py:26 contrib/example_app/models.py:383
153
153
  #: contrib/example_app/viewsets/displays/match.py:19
154
154
  msgid "Home"
155
155
  msgstr "Home"
156
156
 
157
- #: contrib/example_app/filters/match.py:33 contrib/example_app/models.py:387
157
+ #: contrib/example_app/filters/match.py:33 contrib/example_app/models.py:389
158
158
  #: contrib/example_app/viewsets/displays/match.py:21
159
159
  msgid "Away"
160
160
  msgstr ""
161
161
 
162
162
  #: contrib/example_app/filters/match.py:39
163
- #: contrib/example_app/filters/match.py:40 contrib/example_app/models.py:401
163
+ #: contrib/example_app/filters/match.py:40 contrib/example_app/models.py:403
164
164
  #: contrib/example_app/viewsets/displays/match.py:20
165
165
  msgid "Home Score"
166
166
  msgstr ""
167
167
 
168
168
  #: contrib/example_app/filters/match.py:41
169
- #: contrib/example_app/filters/match.py:42 contrib/example_app/models.py:402
169
+ #: contrib/example_app/filters/match.py:42 contrib/example_app/models.py:404
170
170
  #: contrib/example_app/viewsets/displays/match.py:22
171
171
  msgid "Away Score"
172
172
  msgstr ""
@@ -175,19 +175,19 @@ msgstr ""
175
175
  msgid "Referees"
176
176
  msgstr ""
177
177
 
178
- #: contrib/example_app/filters/match.py:51 contrib/example_app/models.py:398
178
+ #: contrib/example_app/filters/match.py:51 contrib/example_app/models.py:400
179
179
  msgid "Status"
180
180
  msgstr ""
181
181
 
182
182
  #: contrib/example_app/filters/match.py:68
183
183
  #: contrib/example_app/filters/match.py:88
184
- #: contrib/example_app/filters/team.py:73 contrib/example_app/models.py:359
184
+ #: contrib/example_app/filters/team.py:73 contrib/example_app/models.py:361
185
185
  #: contrib/example_app/viewsets/menu/menus.py:22
186
186
  #: contrib/example_app/viewsets/titles/stadium.py:8
187
187
  msgid "Stadiums"
188
188
  msgstr ""
189
189
 
190
- #: contrib/example_app/filters/match.py:78 contrib/example_app/models.py:227
190
+ #: contrib/example_app/filters/match.py:78 contrib/example_app/models.py:229
191
191
  #: contrib/example_app/viewsets/displays/sport.py:31
192
192
  #: contrib/example_app/viewsets/displays/sport.py:35
193
193
  #: contrib/example_app/viewsets/menu/menus.py:14
@@ -204,8 +204,8 @@ msgstr ""
204
204
  msgid "All persons participating in a selected Match."
205
205
  msgstr ""
206
206
 
207
- #: contrib/example_app/filters/person.py:38 contrib/example_app/models.py:69
208
- #: contrib/example_app/models.py:73
207
+ #: contrib/example_app/filters/person.py:38 contrib/example_app/models.py:71
208
+ #: contrib/example_app/models.py:75
209
209
  #: contrib/example_app/serializers/person_team.py:209
210
210
  #: contrib/example_app/viewsets/displays/person.py:13
211
211
  #: contrib/example_app/viewsets/menu/menus.py:59
@@ -213,13 +213,13 @@ msgstr ""
213
213
  msgid "Roles"
214
214
  msgstr ""
215
215
 
216
- #: contrib/example_app/filters/person.py:55 contrib/example_app/models.py:760
216
+ #: contrib/example_app/filters/person.py:55 contrib/example_app/models.py:762
217
217
  #: contrib/example_app/viewsets/displays/person.py:19
218
218
  msgid "Former Teams"
219
219
  msgstr ""
220
220
 
221
221
  #: contrib/example_app/filters/person.py:61
222
- #: contrib/example_app/filters/person.py:62 contrib/example_app/models.py:766
222
+ #: contrib/example_app/filters/person.py:62 contrib/example_app/models.py:768
223
223
  #: contrib/example_app/viewsets/displays/person.py:22
224
224
  msgid "Market Value"
225
225
  msgstr ""
@@ -258,7 +258,7 @@ msgid "Cities"
258
258
  msgstr ""
259
259
 
260
260
  #: contrib/example_app/filters/team.py:11
261
- #: contrib/example_app/filters/team.py:16 contrib/example_app/models.py:658
261
+ #: contrib/example_app/filters/team.py:16 contrib/example_app/models.py:660
262
262
  #: contrib/example_app/viewsets/displays/team.py:19
263
263
  msgid "Founded Date"
264
264
  msgstr ""
@@ -281,41 +281,41 @@ msgstr ""
281
281
 
282
282
  #: contrib/example_app/filters/teamresult.py:18
283
283
  #: contrib/example_app/filters/teamresult.py:21
284
- #: contrib/example_app/models.py:268
284
+ #: contrib/example_app/models.py:270
285
285
  #: contrib/example_app/viewsets/displays/teamresult.py:14
286
286
  msgid "Match Points For"
287
287
  msgstr ""
288
288
 
289
289
  #: contrib/example_app/filters/teamresult.py:24
290
290
  #: contrib/example_app/filters/teamresult.py:27
291
- #: contrib/example_app/models.py:269
291
+ #: contrib/example_app/models.py:271
292
292
  #: contrib/example_app/viewsets/displays/teamresult.py:15
293
293
  msgid "Match Points Against"
294
294
  msgstr ""
295
295
 
296
296
  #: contrib/example_app/filters/teamresult.py:29
297
- #: contrib/example_app/models.py:271
297
+ #: contrib/example_app/models.py:273
298
298
  #: contrib/example_app/viewsets/displays/teamresult.py:11
299
299
  msgid "Wins"
300
300
  msgstr ""
301
301
 
302
302
  #: contrib/example_app/filters/teamresult.py:31
303
303
  #: contrib/example_app/filters/teamresult.py:32
304
- #: contrib/example_app/models.py:272
304
+ #: contrib/example_app/models.py:274
305
305
  #: contrib/example_app/viewsets/displays/teamresult.py:12
306
306
  msgid "Draws"
307
307
  msgstr ""
308
308
 
309
309
  #: contrib/example_app/filters/teamresult.py:33
310
310
  #: contrib/example_app/filters/teamresult.py:34
311
- #: contrib/example_app/models.py:273
311
+ #: contrib/example_app/models.py:275
312
312
  #: contrib/example_app/viewsets/displays/teamresult.py:13
313
313
  msgid "Losses"
314
314
  msgstr ""
315
315
 
316
316
  #: contrib/example_app/filters/teamresult.py:43
317
- #: contrib/example_app/models.py:226 contrib/example_app/models.py:264
318
- #: contrib/example_app/models.py:416
317
+ #: contrib/example_app/models.py:228 contrib/example_app/models.py:266
318
+ #: contrib/example_app/models.py:418
319
319
  #: contrib/example_app/viewsets/displays/match.py:23
320
320
  #: contrib/example_app/viewsets/displays/season.py:12
321
321
  #: contrib/example_app/viewsets/displays/season.py:25
@@ -326,36 +326,36 @@ msgstr ""
326
326
  msgid "League"
327
327
  msgstr ""
328
328
 
329
- #: contrib/example_app/models.py:39
329
+ #: contrib/example_app/models.py:41
330
330
  #: contrib/example_app/viewsets/displays/role.py:14
331
331
  msgid "Title"
332
332
  msgstr "Titel"
333
333
 
334
- #: contrib/example_app/models.py:68
334
+ #: contrib/example_app/models.py:70
335
335
  #: contrib/example_app/viewsets/titles/role.py:14
336
336
  msgid "Role"
337
337
  msgstr ""
338
338
 
339
- #: contrib/example_app/models.py:74
339
+ #: contrib/example_app/models.py:76
340
340
  #: contrib/example_app/viewsets/displays/person.py:11
341
341
  msgid "First Name"
342
342
  msgstr ""
343
343
 
344
- #: contrib/example_app/models.py:75
344
+ #: contrib/example_app/models.py:77
345
345
  #: contrib/example_app/viewsets/displays/person.py:12
346
346
  msgid "Last Name"
347
347
  msgstr ""
348
348
 
349
- #: contrib/example_app/models.py:93
349
+ #: contrib/example_app/models.py:95
350
350
  #, python-brace-format
351
351
  msgid " (Coach of {self.coached_team.name})"
352
352
  msgstr ""
353
353
 
354
- #: contrib/example_app/models.py:95
354
+ #: contrib/example_app/models.py:97
355
355
  msgid " (Commissioner of {self.commissioned_leagues.first().name})"
356
356
  msgstr ""
357
357
 
358
- #: contrib/example_app/models.py:124 contrib/example_app/models.py:823
358
+ #: contrib/example_app/models.py:126 contrib/example_app/models.py:825
359
359
  #: contrib/example_app/serializers/match_event.py:117
360
360
  #: contrib/example_app/viewsets/displays/event.py:19
361
361
  #: contrib/example_app/viewsets/displays/event.py:63
@@ -366,29 +366,29 @@ msgstr ""
366
366
  msgid "Person"
367
367
  msgstr ""
368
368
 
369
- #: contrib/example_app/models.py:129 contrib/example_app/models.py:177
370
- #: contrib/example_app/models.py:308 contrib/example_app/models.py:881
369
+ #: contrib/example_app/models.py:131 contrib/example_app/models.py:179
370
+ #: contrib/example_app/models.py:310 contrib/example_app/models.py:883
371
371
  #: contrib/example_app/viewsets/displays/event.py:10
372
372
  #: contrib/example_app/viewsets/displays/league.py:21
373
373
  #: contrib/example_app/viewsets/displays/person.py:171
374
374
  #: contrib/example_app/viewsets/displays/sport.py:21
375
375
  #: contrib/example_app/viewsets/displays/stadium.py:21
376
376
  #: contrib/example_app/viewsets/displays/team.py:24
377
- #: contrib/example_app/viewsets/displays/team.py:197 utils/models.py:64
377
+ #: contrib/example_app/viewsets/displays/team.py:197 utils/models.py:68
378
378
  msgid "Name"
379
379
  msgstr "Name"
380
380
 
381
- #: contrib/example_app/models.py:131
381
+ #: contrib/example_app/models.py:133
382
382
  #: contrib/example_app/viewsets/displays/sport.py:23
383
383
  msgid "Rules"
384
384
  msgstr ""
385
385
 
386
- #: contrib/example_app/models.py:132
386
+ #: contrib/example_app/models.py:134
387
387
  msgid "Match Duration (min)"
388
388
  msgstr ""
389
389
 
390
- #: contrib/example_app/models.py:162 contrib/example_app/models.py:182
391
- #: contrib/example_app/models.py:429 contrib/example_app/models.py:891
390
+ #: contrib/example_app/models.py:164 contrib/example_app/models.py:184
391
+ #: contrib/example_app/models.py:431 contrib/example_app/models.py:893
392
392
  #: contrib/example_app/viewsets/displays/event.py:11
393
393
  #: contrib/example_app/viewsets/displays/league.py:22
394
394
  #: contrib/example_app/viewsets/menus.py:38
@@ -396,22 +396,22 @@ msgstr ""
396
396
  msgid "Sport"
397
397
  msgstr ""
398
398
 
399
- #: contrib/example_app/models.py:191
399
+ #: contrib/example_app/models.py:193
400
400
  #: contrib/example_app/viewsets/displays/league.py:26
401
401
  msgid "Country"
402
402
  msgstr ""
403
403
 
404
- #: contrib/example_app/models.py:200
404
+ #: contrib/example_app/models.py:202
405
405
  #: contrib/example_app/viewsets/displays/league.py:28
406
406
  msgid "Commissioner"
407
407
  msgstr ""
408
408
 
409
- #: contrib/example_app/models.py:202 contrib/example_app/models.py:689
409
+ #: contrib/example_app/models.py:204 contrib/example_app/models.py:691
410
410
  #: contrib/example_app/viewsets/displays/league.py:29
411
411
  msgid "Website"
412
412
  msgstr ""
413
413
 
414
- #: contrib/example_app/models.py:212 contrib/example_app/models.py:723
414
+ #: contrib/example_app/models.py:214 contrib/example_app/models.py:725
415
415
  #: contrib/example_app/viewsets/displays/stadium.py:62
416
416
  #: contrib/example_app/viewsets/displays/stadium.py:66
417
417
  #: contrib/example_app/viewsets/menu/menus.py:6
@@ -419,159 +419,159 @@ msgstr ""
419
419
  msgid "Teams"
420
420
  msgstr ""
421
421
 
422
- #: contrib/example_app/models.py:270
422
+ #: contrib/example_app/models.py:272
423
423
  #: contrib/example_app/viewsets/displays/teamresult.py:16
424
424
  msgid "Match Point Difference"
425
425
  msgstr ""
426
426
 
427
- #: contrib/example_app/models.py:274
427
+ #: contrib/example_app/models.py:276
428
428
  #: contrib/example_app/viewsets/displays/teamresult.py:18
429
429
  msgid "Form"
430
430
  msgstr ""
431
431
 
432
- #: contrib/example_app/models.py:277
432
+ #: contrib/example_app/models.py:279
433
433
  msgid "{} in {}"
434
434
  msgstr ""
435
435
 
436
- #: contrib/example_app/models.py:284
436
+ #: contrib/example_app/models.py:286
437
437
  msgid "Team Result"
438
438
  msgstr ""
439
439
 
440
- #: contrib/example_app/models.py:285
440
+ #: contrib/example_app/models.py:287
441
441
  #: contrib/example_app/viewsets/titles/teamresult.py:8
442
442
  msgid "Team Results"
443
443
  msgstr ""
444
444
 
445
- #: contrib/example_app/models.py:315 contrib/example_app/models.py:654
445
+ #: contrib/example_app/models.py:317 contrib/example_app/models.py:656
446
446
  #: contrib/example_app/viewsets/displays/stadium.py:22
447
447
  #: contrib/example_app/viewsets/displays/team.py:18
448
448
  msgid "City"
449
449
  msgstr ""
450
450
 
451
- #: contrib/example_app/models.py:319
451
+ #: contrib/example_app/models.py:321
452
452
  msgid "Standing Capacity"
453
453
  msgstr ""
454
454
 
455
- #: contrib/example_app/models.py:320
455
+ #: contrib/example_app/models.py:322
456
456
  msgid "Seating Capacity"
457
457
  msgstr ""
458
458
 
459
- #: contrib/example_app/models.py:324
459
+ #: contrib/example_app/models.py:326
460
460
  msgid "Guest Rating"
461
461
  msgstr ""
462
462
 
463
- #: contrib/example_app/models.py:358 contrib/example_app/models.py:394
463
+ #: contrib/example_app/models.py:360 contrib/example_app/models.py:396
464
464
  #: contrib/example_app/viewsets/displays/match.py:25
465
465
  #: contrib/example_app/viewsets/menus.py:22
466
466
  #: contrib/example_app/viewsets/titles/stadium.py:14
467
467
  msgid "Stadium"
468
468
  msgstr ""
469
469
 
470
- #: contrib/example_app/models.py:364
470
+ #: contrib/example_app/models.py:366
471
471
  msgid "Scheduled"
472
472
  msgstr ""
473
473
 
474
- #: contrib/example_app/models.py:365
474
+ #: contrib/example_app/models.py:367
475
475
  msgid "Ongoing"
476
476
  msgstr ""
477
477
 
478
- #: contrib/example_app/models.py:366
478
+ #: contrib/example_app/models.py:368
479
479
  msgid "Finished"
480
480
  msgstr ""
481
481
 
482
- #: contrib/example_app/models.py:451 reversion/viewsets/buttons.py:44
482
+ #: contrib/example_app/models.py:453 reversion/viewsets/buttons.py:44
483
483
  #: utils/serializers.py:8
484
484
  msgid "Start"
485
485
  msgstr "Start"
486
486
 
487
- #: contrib/example_app/models.py:452
487
+ #: contrib/example_app/models.py:454
488
488
  msgid "Starting"
489
489
  msgstr ""
490
490
 
491
- #: contrib/example_app/models.py:453
491
+ #: contrib/example_app/models.py:455
492
492
  msgid "Are you sure you want to start the match?"
493
493
  msgstr ""
494
494
 
495
- #: contrib/example_app/models.py:471 utils/serializers.py:9
495
+ #: contrib/example_app/models.py:473 utils/serializers.py:9
496
496
  msgid "End"
497
497
  msgstr "Ende"
498
498
 
499
- #: contrib/example_app/models.py:472
499
+ #: contrib/example_app/models.py:474
500
500
  msgid "Ending"
501
501
  msgstr ""
502
502
 
503
- #: contrib/example_app/models.py:473
503
+ #: contrib/example_app/models.py:475
504
504
  msgid "Are you sure you want to end the match?"
505
505
  msgstr ""
506
506
 
507
- #: contrib/example_app/models.py:587
507
+ #: contrib/example_app/models.py:589
508
508
  #: contrib/example_app/viewsets/menu/menus.py:67
509
509
  #: contrib/example_app/viewsets/titles/match.py:9
510
510
  msgid "Matches"
511
511
  msgstr ""
512
512
 
513
- #: contrib/example_app/models.py:665
513
+ #: contrib/example_app/models.py:667
514
514
  #: contrib/example_app/viewsets/buttons/team.py:17
515
515
  #: contrib/example_app/viewsets/displays/team.py:20
516
516
  msgid "Coach"
517
517
  msgstr ""
518
518
 
519
- #: contrib/example_app/models.py:673
519
+ #: contrib/example_app/models.py:675
520
520
  #: contrib/example_app/serializers/person_team.py:86
521
521
  #: contrib/example_app/viewsets/displays/team.py:21
522
522
  msgid "Home Stadium"
523
523
  msgstr ""
524
524
 
525
- #: contrib/example_app/models.py:680
525
+ #: contrib/example_app/models.py:682
526
526
  msgid "Opponents"
527
527
  msgstr ""
528
528
 
529
- #: contrib/example_app/models.py:686
529
+ #: contrib/example_app/models.py:688
530
530
  msgid "Email Address"
531
531
  msgstr ""
532
532
 
533
- #: contrib/example_app/models.py:687
533
+ #: contrib/example_app/models.py:689
534
534
  msgid "Phone Number"
535
535
  msgstr ""
536
536
 
537
- #: contrib/example_app/models.py:747
537
+ #: contrib/example_app/models.py:749
538
538
  #: contrib/example_app/viewsets/displays/person.py:17
539
539
  msgid "Position"
540
540
  msgstr ""
541
541
 
542
- #: contrib/example_app/models.py:754
542
+ #: contrib/example_app/models.py:756
543
543
  #: contrib/example_app/serializers/person_team.py:214
544
544
  #: contrib/example_app/viewsets/displays/person.py:18
545
545
  msgid "Current Team"
546
546
  msgstr ""
547
547
 
548
- #: contrib/example_app/models.py:768
548
+ #: contrib/example_app/models.py:770
549
549
  msgid "Is Active"
550
550
  msgstr ""
551
551
 
552
- #: contrib/example_app/models.py:769
552
+ #: contrib/example_app/models.py:771
553
553
  msgid "Is Injured"
554
554
  msgstr ""
555
555
 
556
- #: contrib/example_app/models.py:773
556
+ #: contrib/example_app/models.py:775
557
557
  msgid "Player Strength"
558
558
  msgstr ""
559
559
 
560
- #: contrib/example_app/models.py:778
560
+ #: contrib/example_app/models.py:780
561
561
  msgid "Game Activity"
562
562
  msgstr ""
563
563
 
564
- #: contrib/example_app/models.py:790
564
+ #: contrib/example_app/models.py:792
565
565
  #, python-brace-format
566
566
  msgid " ({self.position} at {self.current_team.name})"
567
567
  msgstr ""
568
568
 
569
- #: contrib/example_app/models.py:792
569
+ #: contrib/example_app/models.py:794
570
570
  #, python-brace-format
571
571
  msgid " ({self.current_team.name})"
572
572
  msgstr ""
573
573
 
574
- #: contrib/example_app/models.py:813
574
+ #: contrib/example_app/models.py:815
575
575
  #: contrib/example_app/viewsets/displays/person.py:113
576
576
  #: contrib/example_app/viewsets/displays/person.py:220
577
577
  #: contrib/example_app/viewsets/menus.py:46
@@ -579,7 +579,7 @@ msgstr ""
579
579
  msgid "Player"
580
580
  msgstr ""
581
581
 
582
- #: contrib/example_app/models.py:814
582
+ #: contrib/example_app/models.py:816
583
583
  #: contrib/example_app/viewsets/displays/team.py:54
584
584
  #: contrib/example_app/viewsets/displays/team.py:58
585
585
  #: contrib/example_app/viewsets/menu/menus.py:51
@@ -587,22 +587,22 @@ msgstr ""
587
587
  msgid "Players"
588
588
  msgstr ""
589
589
 
590
- #: contrib/example_app/models.py:818
590
+ #: contrib/example_app/models.py:820
591
591
  msgid "Event Description"
592
592
  msgstr ""
593
593
 
594
- #: contrib/example_app/models.py:836 contrib/example_app/models.py:922
594
+ #: contrib/example_app/models.py:838 contrib/example_app/models.py:924
595
595
  #: contrib/example_app/viewsets/displays/event.py:18
596
596
  #: contrib/example_app/viewsets/titles/event.py:32
597
597
  msgid "Event Type"
598
598
  msgstr ""
599
599
 
600
- #: contrib/example_app/models.py:870
600
+ #: contrib/example_app/models.py:872
601
601
  #: contrib/example_app/viewsets/titles/event.py:15
602
602
  msgid "Event"
603
603
  msgstr ""
604
604
 
605
- #: contrib/example_app/models.py:871
605
+ #: contrib/example_app/models.py:873
606
606
  #: contrib/example_app/viewsets/displays/match.py:60
607
607
  #: contrib/example_app/viewsets/displays/match.py:64
608
608
  #: contrib/example_app/viewsets/menu/menus.py:75
@@ -611,22 +611,22 @@ msgstr ""
611
611
  msgid "Events"
612
612
  msgstr ""
613
613
 
614
- #: contrib/example_app/models.py:884
614
+ #: contrib/example_app/models.py:886
615
615
  msgid "Number of points awarded to a player's team per event"
616
616
  msgstr ""
617
617
 
618
- #: contrib/example_app/models.py:895
619
- #: contrib/example_app/viewsets/displays/event.py:13 utils/models.py:259
618
+ #: contrib/example_app/models.py:897
619
+ #: contrib/example_app/viewsets/displays/event.py:13 utils/models.py:267
620
620
  msgid "Icon"
621
621
  msgstr "Icon"
622
622
 
623
- #: contrib/example_app/models.py:975
623
+ #: contrib/example_app/models.py:977
624
624
  #: contrib/example_app/viewsets/displays/season.py:37
625
625
  #: contrib/example_app/viewsets/menu/menus.py:46
626
626
  msgid "Season"
627
627
  msgstr ""
628
628
 
629
- #: contrib/example_app/models.py:976
629
+ #: contrib/example_app/models.py:978
630
630
  msgid "Seasons"
631
631
  msgstr ""
632
632
 
@@ -725,7 +725,7 @@ msgstr ""
725
725
  msgid "Homepage"
726
726
  msgstr ""
727
727
 
728
- #: contrib/example_app/viewsets/displays/event.py:14 utils/models.py:249
728
+ #: contrib/example_app/viewsets/displays/event.py:14 utils/models.py:257
729
729
  msgid "Color"
730
730
  msgstr "Farbe"
731
731
 
@@ -928,23 +928,23 @@ msgstr ""
928
928
  msgid "Create Team In {}"
929
929
  msgstr ""
930
930
 
931
- #: contrib/guardian/models/mixins.py:25
931
+ #: contrib/guardian/models/mixins.py:27
932
932
  msgid "Internal"
933
933
  msgstr "Intern"
934
934
 
935
- #: contrib/guardian/models/mixins.py:26
935
+ #: contrib/guardian/models/mixins.py:28
936
936
  msgid "Public"
937
937
  msgstr "Öffentlich"
938
938
 
939
- #: contrib/guardian/models/mixins.py:27
939
+ #: contrib/guardian/models/mixins.py:29
940
940
  msgid "Private"
941
941
  msgstr "Privat"
942
942
 
943
- #: dynamic_preferences_registry.py:18
943
+ #: dynamic_preferences_registry.py:19
944
944
  msgid "Retention Period in Days"
945
945
  msgstr "Dateinspeicherungszeitraum"
946
946
 
947
- #: dynamic_preferences_registry.py:20
947
+ #: dynamic_preferences_registry.py:21
948
948
  msgid ""
949
949
  "When an object cannot be deleted and is disabled instead, it gets hidden "
950
950
  "from the queryset but not deleted. For compliance reasons we enable the "
@@ -955,35 +955,65 @@ msgstr ""
955
955
  "Compliance-Gründen speichern wir die Daten nur für einen bestimmten Zeitraum"
956
956
  " (standardmäßig ein Jahr)"
957
957
 
958
- #: dynamic_preferences_registry.py:31 dynamic_preferences_registry.py:32
958
+ #: dynamic_preferences_registry.py:32 dynamic_preferences_registry.py:33
959
959
  msgid "System User Email"
960
960
  msgstr ""
961
961
 
962
- #: dynamic_preferences_registry.py:48 dynamic_preferences_registry.py:49
962
+ #: dynamic_preferences_registry.py:49
963
963
  msgid "System Language"
964
964
  msgstr ""
965
965
 
966
- #: dynamic_preferences_registry.py:74 dynamic_preferences_registry.py:75
966
+ #: dynamic_preferences_registry.py:50
967
+ msgid "Select the language you want the Workbench to display."
968
+ msgstr ""
969
+
970
+ #: dynamic_preferences_registry.py:62
971
+ msgid "Timezone"
972
+ msgstr ""
973
+
974
+ #: dynamic_preferences_registry.py:63
975
+ msgid ""
976
+ "Pick the timezone in which you want the workbench's dates to be displayed "
977
+ "in."
978
+ msgstr ""
979
+
980
+ #: dynamic_preferences_registry.py:88
967
981
  msgid "Date Format"
968
982
  msgstr ""
969
983
 
970
- #: dynamic_preferences_registry.py:97 dynamic_preferences_registry.py:98
984
+ #: dynamic_preferences_registry.py:89
985
+ msgid "Choose how you want dates to appear throughout the Workbench."
986
+ msgstr ""
987
+
988
+ #: dynamic_preferences_registry.py:111
971
989
  msgid "Time Format"
972
990
  msgstr ""
973
991
 
974
- #: frontend_user_configuration.py:40 frontend_user_configuration.py:41
992
+ #: dynamic_preferences_registry.py:112
993
+ msgid "Choose how you want times to appear throughout the Workbench."
994
+ msgstr ""
995
+
996
+ #: dynamic_preferences_registry.py:130
997
+ msgid "Number Format"
998
+ msgstr ""
999
+
1000
+ #: dynamic_preferences_registry.py:131
1001
+ msgid "Choose how you want numbers to appear throughout the Workbench."
1002
+ msgstr ""
1003
+
1004
+ #: frontend_user_configuration.py:41 frontend_user_configuration.py:42
975
1005
  msgid "Frontend User Settings"
976
1006
  msgstr "Frontend Benutzereinstellungen"
977
1007
 
978
- #: frontend_user_configuration.py:60
1008
+ #: frontend_user_configuration.py:61
979
1009
  msgid "Is Root"
980
1010
  msgstr "Ist Stammverzeichnis"
981
1011
 
982
- #: frontend_user_configuration.py:62
1012
+ #: frontend_user_configuration.py:63
983
1013
  msgid "Parent Configuration"
984
1014
  msgstr "Elternkonfiguration"
985
1015
 
986
- #: frontend_user_configuration.py:64
1016
+ #: frontend_user_configuration.py:65
987
1017
  msgid "Config"
988
1018
  msgstr "Konfiguration"
989
1019
 
@@ -995,24 +1025,24 @@ msgstr "Standard Bildplatzhalter"
995
1025
  msgid "Default empty image placeholder URL"
996
1026
  msgstr "URL für den Standardplatzhalter für fehlende Bilder"
997
1027
 
998
- #: markdown/models.py:29
1028
+ #: markdown/models.py:23
999
1029
  msgid "Asset"
1000
1030
  msgstr "Asset"
1001
1031
 
1002
- #: markdown/models.py:30
1032
+ #: markdown/models.py:24
1003
1033
  msgid "Assets"
1004
1034
  msgstr "Assets"
1005
1035
 
1006
- #: metadata/configs/buttons/buttons.py:93
1036
+ #: metadata/configs/buttons/buttons.py:88
1007
1037
  msgid "<p>Are you sure you want to proceed?</p>"
1008
1038
  msgstr "<p>Sind Sie sich sicher, dass Sie fortfahren wollen?</p>"
1009
1039
 
1010
- #: metadata/configs/buttons/buttons.py:96 viewsets/utils.py:14
1040
+ #: metadata/configs/buttons/buttons.py:91 viewsets/utils.py:14
1011
1041
  msgid "Confirm"
1012
1042
  msgstr "Bestätigen"
1013
1043
 
1014
- #: metadata/configs/buttons/buttons.py:98
1015
- #: metadata/configs/buttons/buttons.py:99 release_notes/buttons.py:22
1044
+ #: metadata/configs/buttons/buttons.py:93
1045
+ #: metadata/configs/buttons/buttons.py:94 release_notes/buttons.py:22
1016
1046
  #: viewsets/utils.py:15
1017
1047
  msgid "Cancel"
1018
1048
  msgstr "Abbrechen"
@@ -1085,11 +1115,11 @@ msgstr "Eine kurze Zusammenfassung der Veröffentlichung"
1085
1115
  msgid "What's new? What's improved? What's fixed?"
1086
1116
  msgstr "Was ist neu? Was ist verbessert? Was wurde behoben?"
1087
1117
 
1088
- #: release_notes/models.py:59
1118
+ #: release_notes/models.py:57
1089
1119
  msgid "Release Note"
1090
1120
  msgstr "Versionshinweis"
1091
1121
 
1092
- #: release_notes/models.py:60
1122
+ #: release_notes/models.py:58
1093
1123
  msgid "Release Notes"
1094
1124
  msgstr "Versionshinweise"
1095
1125
 
@@ -1141,7 +1171,7 @@ msgstr "Erstellt Am"
1141
1171
  msgid "User"
1142
1172
  msgstr "Benutzer*in"
1143
1173
 
1144
- #: reversion/viewsets/displays.py:27 reversion/viewsets/titles.py:18
1174
+ #: reversion/viewsets/displays.py:27 reversion/viewsets/titles.py:19
1145
1175
  msgid "Versions"
1146
1176
  msgstr "Versionen"
1147
1177
 
@@ -1157,7 +1187,7 @@ msgstr "Reversion"
1157
1187
  msgid "Creation Date"
1158
1188
  msgstr "Erstelldatum"
1159
1189
 
1160
- #: reversion/viewsets/titles.py:15
1190
+ #: reversion/viewsets/titles.py:18
1161
1191
  #, python-brace-format
1162
1192
  msgid "Versions For {obj}"
1163
1193
  msgstr "Versionen Für {obj}"
@@ -1223,30 +1253,30 @@ msgstr ""
1223
1253
  msgid "You need to enable JavaScript to run this app."
1224
1254
  msgstr "Sie benötigen JavaScript um diese Anwendung ausführen zu können."
1225
1255
 
1226
- #: utils/models.py:103
1256
+ #: utils/models.py:107
1227
1257
  msgid "Pending"
1228
1258
  msgstr "Ausstehend"
1229
1259
 
1230
- #: utils/models.py:104
1260
+ #: utils/models.py:108
1231
1261
  msgid "Denied"
1232
1262
  msgstr "Abgelehnt"
1233
1263
 
1234
- #: utils/models.py:105
1264
+ #: utils/models.py:109
1235
1265
  msgid "Approved"
1236
1266
  msgstr "Genehmigt"
1237
1267
 
1238
- #: utils/models.py:189
1268
+ #: utils/models.py:197
1239
1269
  msgid "Default"
1240
1270
  msgstr "Standard"
1241
1271
 
1242
- #: utils/views.py:117 utils/views.py:118 utils/views.py:119
1272
+ #: utils/views.py:119 utils/views.py:120 utils/views.py:121
1243
1273
  msgid "Clone"
1244
1274
  msgstr "Klonen"
1245
1275
 
1246
- #: utils/views.py:120
1276
+ #: utils/views.py:122
1247
1277
  msgid "<strong>Clone {}</strong> \"{}\""
1248
1278
  msgstr ""
1249
1279
 
1250
- #: utils/views.py:201 utils/views.py:202 utils/views.py:203
1280
+ #: utils/views.py:188 utils/views.py:189 utils/views.py:190
1251
1281
  msgid "Merge"
1252
1282
  msgstr ""