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
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2025-05-30 13:27+0200\n"
10
+ "POT-Creation-Date: 2026-01-16 14:04+0100\n"
11
11
  "PO-Revision-Date: 2025-05-30 09:40+0000\n"
12
12
  "Language-Team: French (https://app.transifex.com/stainly/teams/171242/fr/)\n"
13
13
  "MIME-Version: 1.0\n"
@@ -16,7 +16,7 @@ msgstr ""
16
16
  "Language: fr\n"
17
17
  "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
18
18
 
19
- #: admin.py:38 contrib/example_app/viewsets/displays/league.py:151
19
+ #: admin.py:37 contrib/example_app/viewsets/displays/league.py:151
20
20
  #: contrib/example_app/viewsets/displays/league.py:271
21
21
  #: contrib/example_app/viewsets/displays/league.py:346
22
22
  #: contrib/example_app/viewsets/displays/team.py:101
@@ -24,7 +24,7 @@ msgstr ""
24
24
  msgid "Main Information"
25
25
  msgstr ""
26
26
 
27
- #: admin.py:109
27
+ #: admin.py:108
28
28
  #, python-brace-format
29
29
  msgid ""
30
30
  "Your CSV file has been imported ( {imports} imported, {errors} errors)"
@@ -35,7 +35,7 @@ msgstr ""
35
35
  msgid "Clear Cache"
36
36
  msgstr ""
37
37
 
38
- #: configurations/configurations/wbcore.py:22
38
+ #: configurations/configurations/wbcore.py:21
39
39
  msgid "Check out our upcoming beta version"
40
40
  msgstr ""
41
41
 
@@ -43,7 +43,7 @@ msgstr ""
43
43
  msgid "Rates"
44
44
  msgstr ""
45
45
 
46
- #: contrib/example_app/filters/event.py:18 contrib/example_app/models.py:125
46
+ #: contrib/example_app/filters/event.py:18 contrib/example_app/models.py:127
47
47
  #: contrib/example_app/viewsets/menu/menus.py:30
48
48
  #: contrib/example_app/viewsets/menu/menus.py:94
49
49
  #: contrib/example_app/viewsets/titles/person.py:9
@@ -53,13 +53,13 @@ msgstr ""
53
53
  #: contrib/example_app/filters/event.py:24
54
54
  #: contrib/example_app/filters/event.py:25
55
55
  #: contrib/example_app/filters/event.py:72
56
- #: contrib/example_app/filters/event.py:73 contrib/example_app/models.py:831
56
+ #: contrib/example_app/filters/event.py:73 contrib/example_app/models.py:833
57
57
  #: contrib/example_app/serializers/match_event.py:129
58
58
  #: contrib/example_app/viewsets/displays/event.py:20
59
59
  msgid "Minute"
60
60
  msgstr ""
61
61
 
62
- #: contrib/example_app/filters/event.py:27 contrib/example_app/models.py:923
62
+ #: contrib/example_app/filters/event.py:27 contrib/example_app/models.py:925
63
63
  #: contrib/example_app/viewsets/displays/sport.py:52
64
64
  #: contrib/example_app/viewsets/displays/sport.py:56
65
65
  #: contrib/example_app/viewsets/menu/menus.py:83
@@ -67,8 +67,8 @@ msgstr ""
67
67
  msgid "Event Types"
68
68
  msgstr ""
69
69
 
70
- #: contrib/example_app/filters/event.py:41 contrib/example_app/models.py:586
71
- #: contrib/example_app/models.py:829
70
+ #: contrib/example_app/filters/event.py:41 contrib/example_app/models.py:588
71
+ #: contrib/example_app/models.py:831
72
72
  #: contrib/example_app/viewsets/displays/event.py:17
73
73
  #: contrib/example_app/viewsets/titles/match.py:15
74
74
  msgid "Match"
@@ -79,7 +79,7 @@ msgstr ""
79
79
  #: contrib/example_app/filters/teamresult.py:15
80
80
  #: contrib/example_app/filters/teamresult.py:16
81
81
  #: contrib/example_app/filters/teamresult.py:30
82
- #: contrib/example_app/models.py:267 contrib/example_app/models.py:883
82
+ #: contrib/example_app/models.py:269 contrib/example_app/models.py:885
83
83
  #: contrib/example_app/viewsets/displays/event.py:12
84
84
  #: contrib/example_app/viewsets/displays/teamresult.py:17
85
85
  msgid "Points"
@@ -87,7 +87,7 @@ msgstr ""
87
87
 
88
88
  #: contrib/example_app/filters/event.py:63
89
89
  #: contrib/example_app/filters/league.py:70
90
- #: contrib/example_app/filters/match.py:54 contrib/example_app/models.py:163
90
+ #: contrib/example_app/filters/match.py:54 contrib/example_app/models.py:165
91
91
  #: contrib/example_app/viewsets/menu/menus.py:38
92
92
  #: contrib/example_app/viewsets/titles/sport.py:8
93
93
  msgid "Sports"
@@ -98,7 +98,7 @@ msgid "Period"
98
98
  msgstr ""
99
99
 
100
100
  #: contrib/example_app/filters/league.py:10
101
- #: contrib/example_app/filters/league.py:15 contrib/example_app/models.py:193
101
+ #: contrib/example_app/filters/league.py:15 contrib/example_app/models.py:195
102
102
  msgid "Established Date"
103
103
  msgstr ""
104
104
 
@@ -112,7 +112,7 @@ msgstr ""
112
112
 
113
113
  #: contrib/example_app/filters/league.py:35
114
114
  #: contrib/example_app/filters/teamresult.py:9
115
- #: contrib/example_app/models.py:258 contrib/example_app/models.py:722
115
+ #: contrib/example_app/models.py:260 contrib/example_app/models.py:724
116
116
  #: contrib/example_app/viewsets/displays/event.py:70
117
117
  #: contrib/example_app/viewsets/displays/teamresult.py:9
118
118
  #: contrib/example_app/viewsets/menus.py:6
@@ -121,47 +121,47 @@ msgid "Team"
121
121
  msgstr ""
122
122
 
123
123
  #: contrib/example_app/filters/league.py:42
124
- #: contrib/example_app/filters/league.py:45 contrib/example_app/models.py:203
124
+ #: contrib/example_app/filters/league.py:45 contrib/example_app/models.py:205
125
125
  #: contrib/example_app/viewsets/displays/league.py:23
126
126
  msgid "Points Per Win"
127
127
  msgstr ""
128
128
 
129
129
  #: contrib/example_app/filters/league.py:48
130
- #: contrib/example_app/filters/league.py:51 contrib/example_app/models.py:204
130
+ #: contrib/example_app/filters/league.py:51 contrib/example_app/models.py:206
131
131
  #: contrib/example_app/viewsets/displays/league.py:24
132
132
  msgid "Points Per Draw"
133
133
  msgstr ""
134
134
 
135
135
  #: contrib/example_app/filters/league.py:54
136
- #: contrib/example_app/filters/league.py:57 contrib/example_app/models.py:205
136
+ #: contrib/example_app/filters/league.py:57 contrib/example_app/models.py:207
137
137
  #: contrib/example_app/viewsets/displays/league.py:25
138
138
  msgid "Points Per Loss"
139
139
  msgstr ""
140
140
 
141
141
  #: contrib/example_app/filters/match.py:16
142
- #: contrib/example_app/filters/match.py:21 contrib/example_app/models.py:389
142
+ #: contrib/example_app/filters/match.py:21 contrib/example_app/models.py:391
143
143
  #: contrib/example_app/viewsets/displays/match.py:24
144
144
  msgid "Date Time"
145
145
  msgstr ""
146
146
 
147
- #: contrib/example_app/filters/match.py:26 contrib/example_app/models.py:381
147
+ #: contrib/example_app/filters/match.py:26 contrib/example_app/models.py:383
148
148
  #: contrib/example_app/viewsets/displays/match.py:19
149
149
  msgid "Home"
150
150
  msgstr ""
151
151
 
152
- #: contrib/example_app/filters/match.py:33 contrib/example_app/models.py:387
152
+ #: contrib/example_app/filters/match.py:33 contrib/example_app/models.py:389
153
153
  #: contrib/example_app/viewsets/displays/match.py:21
154
154
  msgid "Away"
155
155
  msgstr ""
156
156
 
157
157
  #: contrib/example_app/filters/match.py:39
158
- #: contrib/example_app/filters/match.py:40 contrib/example_app/models.py:401
158
+ #: contrib/example_app/filters/match.py:40 contrib/example_app/models.py:403
159
159
  #: contrib/example_app/viewsets/displays/match.py:20
160
160
  msgid "Home Score"
161
161
  msgstr ""
162
162
 
163
163
  #: contrib/example_app/filters/match.py:41
164
- #: contrib/example_app/filters/match.py:42 contrib/example_app/models.py:402
164
+ #: contrib/example_app/filters/match.py:42 contrib/example_app/models.py:404
165
165
  #: contrib/example_app/viewsets/displays/match.py:22
166
166
  msgid "Away Score"
167
167
  msgstr ""
@@ -170,19 +170,19 @@ msgstr ""
170
170
  msgid "Referees"
171
171
  msgstr ""
172
172
 
173
- #: contrib/example_app/filters/match.py:51 contrib/example_app/models.py:398
173
+ #: contrib/example_app/filters/match.py:51 contrib/example_app/models.py:400
174
174
  msgid "Status"
175
175
  msgstr ""
176
176
 
177
177
  #: contrib/example_app/filters/match.py:68
178
178
  #: contrib/example_app/filters/match.py:88
179
- #: contrib/example_app/filters/team.py:73 contrib/example_app/models.py:359
179
+ #: contrib/example_app/filters/team.py:73 contrib/example_app/models.py:361
180
180
  #: contrib/example_app/viewsets/menu/menus.py:22
181
181
  #: contrib/example_app/viewsets/titles/stadium.py:8
182
182
  msgid "Stadiums"
183
183
  msgstr ""
184
184
 
185
- #: contrib/example_app/filters/match.py:78 contrib/example_app/models.py:227
185
+ #: contrib/example_app/filters/match.py:78 contrib/example_app/models.py:229
186
186
  #: contrib/example_app/viewsets/displays/sport.py:31
187
187
  #: contrib/example_app/viewsets/displays/sport.py:35
188
188
  #: contrib/example_app/viewsets/menu/menus.py:14
@@ -199,8 +199,8 @@ msgstr ""
199
199
  msgid "All persons participating in a selected Match."
200
200
  msgstr ""
201
201
 
202
- #: contrib/example_app/filters/person.py:38 contrib/example_app/models.py:69
203
- #: contrib/example_app/models.py:73
202
+ #: contrib/example_app/filters/person.py:38 contrib/example_app/models.py:71
203
+ #: contrib/example_app/models.py:75
204
204
  #: contrib/example_app/serializers/person_team.py:209
205
205
  #: contrib/example_app/viewsets/displays/person.py:13
206
206
  #: contrib/example_app/viewsets/menu/menus.py:59
@@ -208,13 +208,13 @@ msgstr ""
208
208
  msgid "Roles"
209
209
  msgstr ""
210
210
 
211
- #: contrib/example_app/filters/person.py:55 contrib/example_app/models.py:760
211
+ #: contrib/example_app/filters/person.py:55 contrib/example_app/models.py:762
212
212
  #: contrib/example_app/viewsets/displays/person.py:19
213
213
  msgid "Former Teams"
214
214
  msgstr ""
215
215
 
216
216
  #: contrib/example_app/filters/person.py:61
217
- #: contrib/example_app/filters/person.py:62 contrib/example_app/models.py:766
217
+ #: contrib/example_app/filters/person.py:62 contrib/example_app/models.py:768
218
218
  #: contrib/example_app/viewsets/displays/person.py:22
219
219
  msgid "Market Value"
220
220
  msgstr ""
@@ -253,7 +253,7 @@ msgid "Cities"
253
253
  msgstr ""
254
254
 
255
255
  #: contrib/example_app/filters/team.py:11
256
- #: contrib/example_app/filters/team.py:16 contrib/example_app/models.py:658
256
+ #: contrib/example_app/filters/team.py:16 contrib/example_app/models.py:660
257
257
  #: contrib/example_app/viewsets/displays/team.py:19
258
258
  msgid "Founded Date"
259
259
  msgstr ""
@@ -276,41 +276,41 @@ msgstr ""
276
276
 
277
277
  #: contrib/example_app/filters/teamresult.py:18
278
278
  #: contrib/example_app/filters/teamresult.py:21
279
- #: contrib/example_app/models.py:268
279
+ #: contrib/example_app/models.py:270
280
280
  #: contrib/example_app/viewsets/displays/teamresult.py:14
281
281
  msgid "Match Points For"
282
282
  msgstr ""
283
283
 
284
284
  #: contrib/example_app/filters/teamresult.py:24
285
285
  #: contrib/example_app/filters/teamresult.py:27
286
- #: contrib/example_app/models.py:269
286
+ #: contrib/example_app/models.py:271
287
287
  #: contrib/example_app/viewsets/displays/teamresult.py:15
288
288
  msgid "Match Points Against"
289
289
  msgstr ""
290
290
 
291
291
  #: contrib/example_app/filters/teamresult.py:29
292
- #: contrib/example_app/models.py:271
292
+ #: contrib/example_app/models.py:273
293
293
  #: contrib/example_app/viewsets/displays/teamresult.py:11
294
294
  msgid "Wins"
295
295
  msgstr ""
296
296
 
297
297
  #: contrib/example_app/filters/teamresult.py:31
298
298
  #: contrib/example_app/filters/teamresult.py:32
299
- #: contrib/example_app/models.py:272
299
+ #: contrib/example_app/models.py:274
300
300
  #: contrib/example_app/viewsets/displays/teamresult.py:12
301
301
  msgid "Draws"
302
302
  msgstr ""
303
303
 
304
304
  #: contrib/example_app/filters/teamresult.py:33
305
305
  #: contrib/example_app/filters/teamresult.py:34
306
- #: contrib/example_app/models.py:273
306
+ #: contrib/example_app/models.py:275
307
307
  #: contrib/example_app/viewsets/displays/teamresult.py:13
308
308
  msgid "Losses"
309
309
  msgstr ""
310
310
 
311
311
  #: contrib/example_app/filters/teamresult.py:43
312
- #: contrib/example_app/models.py:226 contrib/example_app/models.py:264
313
- #: contrib/example_app/models.py:416
312
+ #: contrib/example_app/models.py:228 contrib/example_app/models.py:266
313
+ #: contrib/example_app/models.py:418
314
314
  #: contrib/example_app/viewsets/displays/match.py:23
315
315
  #: contrib/example_app/viewsets/displays/season.py:12
316
316
  #: contrib/example_app/viewsets/displays/season.py:25
@@ -321,36 +321,36 @@ msgstr ""
321
321
  msgid "League"
322
322
  msgstr ""
323
323
 
324
- #: contrib/example_app/models.py:39
324
+ #: contrib/example_app/models.py:41
325
325
  #: contrib/example_app/viewsets/displays/role.py:14
326
326
  msgid "Title"
327
327
  msgstr ""
328
328
 
329
- #: contrib/example_app/models.py:68
329
+ #: contrib/example_app/models.py:70
330
330
  #: contrib/example_app/viewsets/titles/role.py:14
331
331
  msgid "Role"
332
332
  msgstr ""
333
333
 
334
- #: contrib/example_app/models.py:74
334
+ #: contrib/example_app/models.py:76
335
335
  #: contrib/example_app/viewsets/displays/person.py:11
336
336
  msgid "First Name"
337
337
  msgstr ""
338
338
 
339
- #: contrib/example_app/models.py:75
339
+ #: contrib/example_app/models.py:77
340
340
  #: contrib/example_app/viewsets/displays/person.py:12
341
341
  msgid "Last Name"
342
342
  msgstr ""
343
343
 
344
- #: contrib/example_app/models.py:93
344
+ #: contrib/example_app/models.py:95
345
345
  #, python-brace-format
346
346
  msgid " (Coach of {self.coached_team.name})"
347
347
  msgstr ""
348
348
 
349
- #: contrib/example_app/models.py:95
349
+ #: contrib/example_app/models.py:97
350
350
  msgid " (Commissioner of {self.commissioned_leagues.first().name})"
351
351
  msgstr ""
352
352
 
353
- #: contrib/example_app/models.py:124 contrib/example_app/models.py:823
353
+ #: contrib/example_app/models.py:126 contrib/example_app/models.py:825
354
354
  #: contrib/example_app/serializers/match_event.py:117
355
355
  #: contrib/example_app/viewsets/displays/event.py:19
356
356
  #: contrib/example_app/viewsets/displays/event.py:63
@@ -361,29 +361,29 @@ msgstr ""
361
361
  msgid "Person"
362
362
  msgstr ""
363
363
 
364
- #: contrib/example_app/models.py:129 contrib/example_app/models.py:177
365
- #: contrib/example_app/models.py:308 contrib/example_app/models.py:881
364
+ #: contrib/example_app/models.py:131 contrib/example_app/models.py:179
365
+ #: contrib/example_app/models.py:310 contrib/example_app/models.py:883
366
366
  #: contrib/example_app/viewsets/displays/event.py:10
367
367
  #: contrib/example_app/viewsets/displays/league.py:21
368
368
  #: contrib/example_app/viewsets/displays/person.py:171
369
369
  #: contrib/example_app/viewsets/displays/sport.py:21
370
370
  #: contrib/example_app/viewsets/displays/stadium.py:21
371
371
  #: contrib/example_app/viewsets/displays/team.py:24
372
- #: contrib/example_app/viewsets/displays/team.py:197 utils/models.py:64
372
+ #: contrib/example_app/viewsets/displays/team.py:197 utils/models.py:68
373
373
  msgid "Name"
374
374
  msgstr ""
375
375
 
376
- #: contrib/example_app/models.py:131
376
+ #: contrib/example_app/models.py:133
377
377
  #: contrib/example_app/viewsets/displays/sport.py:23
378
378
  msgid "Rules"
379
379
  msgstr ""
380
380
 
381
- #: contrib/example_app/models.py:132
381
+ #: contrib/example_app/models.py:134
382
382
  msgid "Match Duration (min)"
383
383
  msgstr ""
384
384
 
385
- #: contrib/example_app/models.py:162 contrib/example_app/models.py:182
386
- #: contrib/example_app/models.py:429 contrib/example_app/models.py:891
385
+ #: contrib/example_app/models.py:164 contrib/example_app/models.py:184
386
+ #: contrib/example_app/models.py:431 contrib/example_app/models.py:893
387
387
  #: contrib/example_app/viewsets/displays/event.py:11
388
388
  #: contrib/example_app/viewsets/displays/league.py:22
389
389
  #: contrib/example_app/viewsets/menus.py:38
@@ -391,22 +391,22 @@ msgstr ""
391
391
  msgid "Sport"
392
392
  msgstr ""
393
393
 
394
- #: contrib/example_app/models.py:191
394
+ #: contrib/example_app/models.py:193
395
395
  #: contrib/example_app/viewsets/displays/league.py:26
396
396
  msgid "Country"
397
397
  msgstr ""
398
398
 
399
- #: contrib/example_app/models.py:200
399
+ #: contrib/example_app/models.py:202
400
400
  #: contrib/example_app/viewsets/displays/league.py:28
401
401
  msgid "Commissioner"
402
402
  msgstr ""
403
403
 
404
- #: contrib/example_app/models.py:202 contrib/example_app/models.py:689
404
+ #: contrib/example_app/models.py:204 contrib/example_app/models.py:691
405
405
  #: contrib/example_app/viewsets/displays/league.py:29
406
406
  msgid "Website"
407
407
  msgstr ""
408
408
 
409
- #: contrib/example_app/models.py:212 contrib/example_app/models.py:723
409
+ #: contrib/example_app/models.py:214 contrib/example_app/models.py:725
410
410
  #: contrib/example_app/viewsets/displays/stadium.py:62
411
411
  #: contrib/example_app/viewsets/displays/stadium.py:66
412
412
  #: contrib/example_app/viewsets/menu/menus.py:6
@@ -414,159 +414,159 @@ msgstr ""
414
414
  msgid "Teams"
415
415
  msgstr ""
416
416
 
417
- #: contrib/example_app/models.py:270
417
+ #: contrib/example_app/models.py:272
418
418
  #: contrib/example_app/viewsets/displays/teamresult.py:16
419
419
  msgid "Match Point Difference"
420
420
  msgstr ""
421
421
 
422
- #: contrib/example_app/models.py:274
422
+ #: contrib/example_app/models.py:276
423
423
  #: contrib/example_app/viewsets/displays/teamresult.py:18
424
424
  msgid "Form"
425
425
  msgstr ""
426
426
 
427
- #: contrib/example_app/models.py:277
427
+ #: contrib/example_app/models.py:279
428
428
  msgid "{} in {}"
429
429
  msgstr ""
430
430
 
431
- #: contrib/example_app/models.py:284
431
+ #: contrib/example_app/models.py:286
432
432
  msgid "Team Result"
433
433
  msgstr ""
434
434
 
435
- #: contrib/example_app/models.py:285
435
+ #: contrib/example_app/models.py:287
436
436
  #: contrib/example_app/viewsets/titles/teamresult.py:8
437
437
  msgid "Team Results"
438
438
  msgstr ""
439
439
 
440
- #: contrib/example_app/models.py:315 contrib/example_app/models.py:654
440
+ #: contrib/example_app/models.py:317 contrib/example_app/models.py:656
441
441
  #: contrib/example_app/viewsets/displays/stadium.py:22
442
442
  #: contrib/example_app/viewsets/displays/team.py:18
443
443
  msgid "City"
444
444
  msgstr ""
445
445
 
446
- #: contrib/example_app/models.py:319
446
+ #: contrib/example_app/models.py:321
447
447
  msgid "Standing Capacity"
448
448
  msgstr ""
449
449
 
450
- #: contrib/example_app/models.py:320
450
+ #: contrib/example_app/models.py:322
451
451
  msgid "Seating Capacity"
452
452
  msgstr ""
453
453
 
454
- #: contrib/example_app/models.py:324
454
+ #: contrib/example_app/models.py:326
455
455
  msgid "Guest Rating"
456
456
  msgstr ""
457
457
 
458
- #: contrib/example_app/models.py:358 contrib/example_app/models.py:394
458
+ #: contrib/example_app/models.py:360 contrib/example_app/models.py:396
459
459
  #: contrib/example_app/viewsets/displays/match.py:25
460
460
  #: contrib/example_app/viewsets/menus.py:22
461
461
  #: contrib/example_app/viewsets/titles/stadium.py:14
462
462
  msgid "Stadium"
463
463
  msgstr ""
464
464
 
465
- #: contrib/example_app/models.py:364
465
+ #: contrib/example_app/models.py:366
466
466
  msgid "Scheduled"
467
467
  msgstr ""
468
468
 
469
- #: contrib/example_app/models.py:365
469
+ #: contrib/example_app/models.py:367
470
470
  msgid "Ongoing"
471
471
  msgstr ""
472
472
 
473
- #: contrib/example_app/models.py:366
473
+ #: contrib/example_app/models.py:368
474
474
  msgid "Finished"
475
475
  msgstr ""
476
476
 
477
- #: contrib/example_app/models.py:451 reversion/viewsets/buttons.py:44
477
+ #: contrib/example_app/models.py:453 reversion/viewsets/buttons.py:44
478
478
  #: utils/serializers.py:8
479
479
  msgid "Start"
480
480
  msgstr ""
481
481
 
482
- #: contrib/example_app/models.py:452
482
+ #: contrib/example_app/models.py:454
483
483
  msgid "Starting"
484
484
  msgstr ""
485
485
 
486
- #: contrib/example_app/models.py:453
486
+ #: contrib/example_app/models.py:455
487
487
  msgid "Are you sure you want to start the match?"
488
488
  msgstr ""
489
489
 
490
- #: contrib/example_app/models.py:471 utils/serializers.py:9
490
+ #: contrib/example_app/models.py:473 utils/serializers.py:9
491
491
  msgid "End"
492
492
  msgstr ""
493
493
 
494
- #: contrib/example_app/models.py:472
494
+ #: contrib/example_app/models.py:474
495
495
  msgid "Ending"
496
496
  msgstr ""
497
497
 
498
- #: contrib/example_app/models.py:473
498
+ #: contrib/example_app/models.py:475
499
499
  msgid "Are you sure you want to end the match?"
500
500
  msgstr ""
501
501
 
502
- #: contrib/example_app/models.py:587
502
+ #: contrib/example_app/models.py:589
503
503
  #: contrib/example_app/viewsets/menu/menus.py:67
504
504
  #: contrib/example_app/viewsets/titles/match.py:9
505
505
  msgid "Matches"
506
506
  msgstr ""
507
507
 
508
- #: contrib/example_app/models.py:665
508
+ #: contrib/example_app/models.py:667
509
509
  #: contrib/example_app/viewsets/buttons/team.py:17
510
510
  #: contrib/example_app/viewsets/displays/team.py:20
511
511
  msgid "Coach"
512
512
  msgstr ""
513
513
 
514
- #: contrib/example_app/models.py:673
514
+ #: contrib/example_app/models.py:675
515
515
  #: contrib/example_app/serializers/person_team.py:86
516
516
  #: contrib/example_app/viewsets/displays/team.py:21
517
517
  msgid "Home Stadium"
518
518
  msgstr ""
519
519
 
520
- #: contrib/example_app/models.py:680
520
+ #: contrib/example_app/models.py:682
521
521
  msgid "Opponents"
522
522
  msgstr ""
523
523
 
524
- #: contrib/example_app/models.py:686
524
+ #: contrib/example_app/models.py:688
525
525
  msgid "Email Address"
526
526
  msgstr ""
527
527
 
528
- #: contrib/example_app/models.py:687
528
+ #: contrib/example_app/models.py:689
529
529
  msgid "Phone Number"
530
530
  msgstr ""
531
531
 
532
- #: contrib/example_app/models.py:747
532
+ #: contrib/example_app/models.py:749
533
533
  #: contrib/example_app/viewsets/displays/person.py:17
534
534
  msgid "Position"
535
535
  msgstr ""
536
536
 
537
- #: contrib/example_app/models.py:754
537
+ #: contrib/example_app/models.py:756
538
538
  #: contrib/example_app/serializers/person_team.py:214
539
539
  #: contrib/example_app/viewsets/displays/person.py:18
540
540
  msgid "Current Team"
541
541
  msgstr ""
542
542
 
543
- #: contrib/example_app/models.py:768
543
+ #: contrib/example_app/models.py:770
544
544
  msgid "Is Active"
545
545
  msgstr ""
546
546
 
547
- #: contrib/example_app/models.py:769
547
+ #: contrib/example_app/models.py:771
548
548
  msgid "Is Injured"
549
549
  msgstr ""
550
550
 
551
- #: contrib/example_app/models.py:773
551
+ #: contrib/example_app/models.py:775
552
552
  msgid "Player Strength"
553
553
  msgstr ""
554
554
 
555
- #: contrib/example_app/models.py:778
555
+ #: contrib/example_app/models.py:780
556
556
  msgid "Game Activity"
557
557
  msgstr ""
558
558
 
559
- #: contrib/example_app/models.py:790
559
+ #: contrib/example_app/models.py:792
560
560
  #, python-brace-format
561
561
  msgid " ({self.position} at {self.current_team.name})"
562
562
  msgstr ""
563
563
 
564
- #: contrib/example_app/models.py:792
564
+ #: contrib/example_app/models.py:794
565
565
  #, python-brace-format
566
566
  msgid " ({self.current_team.name})"
567
567
  msgstr ""
568
568
 
569
- #: contrib/example_app/models.py:813
569
+ #: contrib/example_app/models.py:815
570
570
  #: contrib/example_app/viewsets/displays/person.py:113
571
571
  #: contrib/example_app/viewsets/displays/person.py:220
572
572
  #: contrib/example_app/viewsets/menus.py:46
@@ -574,7 +574,7 @@ msgstr ""
574
574
  msgid "Player"
575
575
  msgstr ""
576
576
 
577
- #: contrib/example_app/models.py:814
577
+ #: contrib/example_app/models.py:816
578
578
  #: contrib/example_app/viewsets/displays/team.py:54
579
579
  #: contrib/example_app/viewsets/displays/team.py:58
580
580
  #: contrib/example_app/viewsets/menu/menus.py:51
@@ -582,22 +582,22 @@ msgstr ""
582
582
  msgid "Players"
583
583
  msgstr ""
584
584
 
585
- #: contrib/example_app/models.py:818
585
+ #: contrib/example_app/models.py:820
586
586
  msgid "Event Description"
587
587
  msgstr ""
588
588
 
589
- #: contrib/example_app/models.py:836 contrib/example_app/models.py:922
589
+ #: contrib/example_app/models.py:838 contrib/example_app/models.py:924
590
590
  #: contrib/example_app/viewsets/displays/event.py:18
591
591
  #: contrib/example_app/viewsets/titles/event.py:32
592
592
  msgid "Event Type"
593
593
  msgstr ""
594
594
 
595
- #: contrib/example_app/models.py:870
595
+ #: contrib/example_app/models.py:872
596
596
  #: contrib/example_app/viewsets/titles/event.py:15
597
597
  msgid "Event"
598
598
  msgstr ""
599
599
 
600
- #: contrib/example_app/models.py:871
600
+ #: contrib/example_app/models.py:873
601
601
  #: contrib/example_app/viewsets/displays/match.py:60
602
602
  #: contrib/example_app/viewsets/displays/match.py:64
603
603
  #: contrib/example_app/viewsets/menu/menus.py:75
@@ -606,22 +606,22 @@ msgstr ""
606
606
  msgid "Events"
607
607
  msgstr ""
608
608
 
609
- #: contrib/example_app/models.py:884
609
+ #: contrib/example_app/models.py:886
610
610
  msgid "Number of points awarded to a player's team per event"
611
611
  msgstr ""
612
612
 
613
- #: contrib/example_app/models.py:895
614
- #: contrib/example_app/viewsets/displays/event.py:13 utils/models.py:259
613
+ #: contrib/example_app/models.py:897
614
+ #: contrib/example_app/viewsets/displays/event.py:13 utils/models.py:267
615
615
  msgid "Icon"
616
616
  msgstr ""
617
617
 
618
- #: contrib/example_app/models.py:975
618
+ #: contrib/example_app/models.py:977
619
619
  #: contrib/example_app/viewsets/displays/season.py:37
620
620
  #: contrib/example_app/viewsets/menu/menus.py:46
621
621
  msgid "Season"
622
622
  msgstr ""
623
623
 
624
- #: contrib/example_app/models.py:976
624
+ #: contrib/example_app/models.py:978
625
625
  msgid "Seasons"
626
626
  msgstr ""
627
627
 
@@ -720,7 +720,7 @@ msgstr ""
720
720
  msgid "Homepage"
721
721
  msgstr ""
722
722
 
723
- #: contrib/example_app/viewsets/displays/event.py:14 utils/models.py:249
723
+ #: contrib/example_app/viewsets/displays/event.py:14 utils/models.py:257
724
724
  msgid "Color"
725
725
  msgstr ""
726
726
 
@@ -923,58 +923,88 @@ msgstr ""
923
923
  msgid "Create Team In {}"
924
924
  msgstr ""
925
925
 
926
- #: contrib/guardian/models/mixins.py:25
926
+ #: contrib/guardian/models/mixins.py:27
927
927
  msgid "Internal"
928
928
  msgstr ""
929
929
 
930
- #: contrib/guardian/models/mixins.py:26
930
+ #: contrib/guardian/models/mixins.py:28
931
931
  msgid "Public"
932
932
  msgstr ""
933
933
 
934
- #: contrib/guardian/models/mixins.py:27
934
+ #: contrib/guardian/models/mixins.py:29
935
935
  msgid "Private"
936
936
  msgstr ""
937
937
 
938
- #: dynamic_preferences_registry.py:18
938
+ #: dynamic_preferences_registry.py:19
939
939
  msgid "Retention Period in Days"
940
940
  msgstr ""
941
941
 
942
- #: dynamic_preferences_registry.py:20
942
+ #: dynamic_preferences_registry.py:21
943
943
  msgid ""
944
944
  "When an object cannot be deleted and is disabled instead, it gets hidden "
945
945
  "from the queryset but not deleted. For compliance reasons we enable the "
946
946
  "retention for a specific period of days (defaults to a year)"
947
947
  msgstr ""
948
948
 
949
- #: dynamic_preferences_registry.py:31 dynamic_preferences_registry.py:32
949
+ #: dynamic_preferences_registry.py:32 dynamic_preferences_registry.py:33
950
950
  msgid "System User Email"
951
951
  msgstr ""
952
952
 
953
- #: dynamic_preferences_registry.py:48 dynamic_preferences_registry.py:49
953
+ #: dynamic_preferences_registry.py:49
954
954
  msgid "System Language"
955
955
  msgstr ""
956
956
 
957
- #: dynamic_preferences_registry.py:74 dynamic_preferences_registry.py:75
957
+ #: dynamic_preferences_registry.py:50
958
+ msgid "Select the language you want the Workbench to display."
959
+ msgstr ""
960
+
961
+ #: dynamic_preferences_registry.py:62
962
+ msgid "Timezone"
963
+ msgstr ""
964
+
965
+ #: dynamic_preferences_registry.py:63
966
+ msgid ""
967
+ "Pick the timezone in which you want the workbench's dates to be displayed "
968
+ "in."
969
+ msgstr ""
970
+
971
+ #: dynamic_preferences_registry.py:88
958
972
  msgid "Date Format"
959
973
  msgstr ""
960
974
 
961
- #: dynamic_preferences_registry.py:97 dynamic_preferences_registry.py:98
975
+ #: dynamic_preferences_registry.py:89
976
+ msgid "Choose how you want dates to appear throughout the Workbench."
977
+ msgstr ""
978
+
979
+ #: dynamic_preferences_registry.py:111
962
980
  msgid "Time Format"
963
981
  msgstr ""
964
982
 
965
- #: frontend_user_configuration.py:40 frontend_user_configuration.py:41
983
+ #: dynamic_preferences_registry.py:112
984
+ msgid "Choose how you want times to appear throughout the Workbench."
985
+ msgstr ""
986
+
987
+ #: dynamic_preferences_registry.py:130
988
+ msgid "Number Format"
989
+ msgstr ""
990
+
991
+ #: dynamic_preferences_registry.py:131
992
+ msgid "Choose how you want numbers to appear throughout the Workbench."
993
+ msgstr ""
994
+
995
+ #: frontend_user_configuration.py:41 frontend_user_configuration.py:42
966
996
  msgid "Frontend User Settings"
967
997
  msgstr ""
968
998
 
969
- #: frontend_user_configuration.py:60
999
+ #: frontend_user_configuration.py:61
970
1000
  msgid "Is Root"
971
1001
  msgstr ""
972
1002
 
973
- #: frontend_user_configuration.py:62
1003
+ #: frontend_user_configuration.py:63
974
1004
  msgid "Parent Configuration"
975
1005
  msgstr ""
976
1006
 
977
- #: frontend_user_configuration.py:64
1007
+ #: frontend_user_configuration.py:65
978
1008
  msgid "Config"
979
1009
  msgstr ""
980
1010
 
@@ -986,24 +1016,24 @@ msgstr ""
986
1016
  msgid "Default empty image placeholder URL"
987
1017
  msgstr ""
988
1018
 
989
- #: markdown/models.py:29
1019
+ #: markdown/models.py:23
990
1020
  msgid "Asset"
991
1021
  msgstr ""
992
1022
 
993
- #: markdown/models.py:30
1023
+ #: markdown/models.py:24
994
1024
  msgid "Assets"
995
1025
  msgstr ""
996
1026
 
997
- #: metadata/configs/buttons/buttons.py:93
1027
+ #: metadata/configs/buttons/buttons.py:88
998
1028
  msgid "<p>Are you sure you want to proceed?</p>"
999
1029
  msgstr ""
1000
1030
 
1001
- #: metadata/configs/buttons/buttons.py:96 viewsets/utils.py:14
1031
+ #: metadata/configs/buttons/buttons.py:91 viewsets/utils.py:14
1002
1032
  msgid "Confirm"
1003
1033
  msgstr ""
1004
1034
 
1005
- #: metadata/configs/buttons/buttons.py:98
1006
- #: metadata/configs/buttons/buttons.py:99 release_notes/buttons.py:22
1035
+ #: metadata/configs/buttons/buttons.py:93
1036
+ #: metadata/configs/buttons/buttons.py:94 release_notes/buttons.py:22
1007
1037
  #: viewsets/utils.py:15
1008
1038
  msgid "Cancel"
1009
1039
  msgstr ""
@@ -1076,11 +1106,11 @@ msgstr ""
1076
1106
  msgid "What's new? What's improved? What's fixed?"
1077
1107
  msgstr ""
1078
1108
 
1079
- #: release_notes/models.py:59
1109
+ #: release_notes/models.py:57
1080
1110
  msgid "Release Note"
1081
1111
  msgstr ""
1082
1112
 
1083
- #: release_notes/models.py:60
1113
+ #: release_notes/models.py:58
1084
1114
  msgid "Release Notes"
1085
1115
  msgstr ""
1086
1116
 
@@ -1126,7 +1156,7 @@ msgstr ""
1126
1156
  msgid "User"
1127
1157
  msgstr ""
1128
1158
 
1129
- #: reversion/viewsets/displays.py:27 reversion/viewsets/titles.py:18
1159
+ #: reversion/viewsets/displays.py:27 reversion/viewsets/titles.py:19
1130
1160
  msgid "Versions"
1131
1161
  msgstr ""
1132
1162
 
@@ -1142,7 +1172,7 @@ msgstr ""
1142
1172
  msgid "Creation Date"
1143
1173
  msgstr ""
1144
1174
 
1145
- #: reversion/viewsets/titles.py:15
1175
+ #: reversion/viewsets/titles.py:18
1146
1176
  #, python-brace-format
1147
1177
  msgid "Versions For {obj}"
1148
1178
  msgstr ""
@@ -1206,30 +1236,30 @@ msgstr ""
1206
1236
  msgid "You need to enable JavaScript to run this app."
1207
1237
  msgstr ""
1208
1238
 
1209
- #: utils/models.py:103
1239
+ #: utils/models.py:107
1210
1240
  msgid "Pending"
1211
1241
  msgstr ""
1212
1242
 
1213
- #: utils/models.py:104
1243
+ #: utils/models.py:108
1214
1244
  msgid "Denied"
1215
1245
  msgstr ""
1216
1246
 
1217
- #: utils/models.py:105
1247
+ #: utils/models.py:109
1218
1248
  msgid "Approved"
1219
1249
  msgstr ""
1220
1250
 
1221
- #: utils/models.py:189
1251
+ #: utils/models.py:197
1222
1252
  msgid "Default"
1223
1253
  msgstr ""
1224
1254
 
1225
- #: utils/views.py:117 utils/views.py:118 utils/views.py:119
1255
+ #: utils/views.py:119 utils/views.py:120 utils/views.py:121
1226
1256
  msgid "Clone"
1227
1257
  msgstr ""
1228
1258
 
1229
- #: utils/views.py:120
1259
+ #: utils/views.py:122
1230
1260
  msgid "<strong>Clone {}</strong> \"{}\""
1231
1261
  msgstr ""
1232
1262
 
1233
- #: utils/views.py:201 utils/views.py:202 utils/views.py:203
1263
+ #: utils/views.py:188 utils/views.py:189 utils/views.py:190
1234
1264
  msgid "Merge"
1235
1265
  msgstr ""