wbcore 1.59.15__py2.py3-none-any.whl → 1.60.0__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 (105) 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/backends/firebase/backends.py +2 -2
  54. wbcore/contrib/notifications/dispatch.py +1 -3
  55. wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +2 -3
  56. wbcore/contrib/notifications/locale/en/LC_MESSAGES/django.po +2 -2
  57. wbcore/contrib/notifications/locale/fr/LC_MESSAGES/django.po +2 -3
  58. wbcore/contrib/notifications/models/notification_types.py +5 -7
  59. wbcore/contrib/notifications/models/notifications.py +2 -2
  60. wbcore/contrib/notifications/models/tokens.py +2 -2
  61. wbcore/contrib/tags/filters.py +1 -1
  62. wbcore/contrib/tags/serializers.py +2 -2
  63. wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +75 -76
  64. wbcore/contrib/workflow/locale/en/LC_MESSAGES/django.po +75 -75
  65. wbcore/contrib/workflow/locale/fr/LC_MESSAGES/django.po +75 -76
  66. wbcore/contrib/workflow/serializers/process.py +4 -4
  67. wbcore/contrib/workflow/serializers/workflow.py +1 -1
  68. wbcore/filters/__init__.py +0 -1
  69. wbcore/filters/fields/__init__.py +0 -1
  70. wbcore/frontend_user_configuration.py +3 -2
  71. wbcore/locale/de/LC_MESSAGES/django.po +159 -129
  72. wbcore/locale/en/LC_MESSAGES/django.po +158 -129
  73. wbcore/locale/fr/LC_MESSAGES/django.po +159 -129
  74. wbcore/menus/menus.py +8 -5
  75. wbcore/metadata/configs/buttons/view_config.py +4 -1
  76. wbcore/metadata/configs/display/models.py +4 -5
  77. wbcore/metadata/configs/endpoints.py +7 -5
  78. wbcore/migrations/0015_delete_genericmodel.py +16 -0
  79. wbcore/models/base.py +0 -11
  80. wbcore/release_notes/models.py +2 -4
  81. wbcore/serializers/fields/fields.py +4 -2
  82. wbcore/serializers/fields/number.py +9 -0
  83. wbcore/shares/config.py +2 -2
  84. wbcore/signals/merge.py +1 -0
  85. wbcore/test/utils.py +3 -1
  86. wbcore/tests/test_permissions/test_backend.py +1 -3
  87. wbcore/tests/test_something.py +2 -2
  88. wbcore/urls.py +5 -10
  89. wbcore/utils/models.py +73 -4
  90. wbcore/utils/views.py +54 -53
  91. wbcore/viewsets/mixins.py +1 -1
  92. wbcore/viewsets/viewsets.py +1 -1
  93. {wbcore-1.59.15.dist-info → wbcore-1.60.0.dist-info}/METADATA +1 -1
  94. {wbcore-1.59.15.dist-info → wbcore-1.60.0.dist-info}/RECORD +99 -99
  95. wbcore/content_type/filters.py +0 -20
  96. wbcore/pandas/__init__.py +0 -53
  97. wbcore/pandas/fields.py +0 -25
  98. wbcore/pandas/filterset.py +0 -9
  99. wbcore/pandas/utils.py +0 -25
  100. wbcore/pandas/views.py +0 -9
  101. /wbcore/{content_type → contrib/color}/__init__.py +0 -0
  102. /wbcore/{content_type → contrib/content_type}/admin.py +0 -0
  103. /wbcore/{content_type → contrib/content_type}/utils.py +0 -0
  104. /wbcore/{content_type → contrib/content_type}/viewsets.py +0 -0
  105. {wbcore-1.59.15.dist-info → wbcore-1.60.0.dist-info}/WHEEL +0 -0
wbcore/admin.py CHANGED
@@ -14,7 +14,6 @@ from django.shortcuts import redirect, render
14
14
  from django.urls import path
15
15
  from django.utils.translation import gettext_lazy as _
16
16
 
17
- from .content_type.admin import ContentTypeModelAdmin # noqa: F401
18
17
  from .forms import NonrelatedInlineFormSet, nonrelated_inlineformset_factory
19
18
  from .markdown.admin import AssetModelAdmin # noqa: F401
20
19
  from .models import AppliedPreset, FrontendUserConfiguration, Preset
@@ -21,6 +21,7 @@ class Apps:
21
21
  "wbcore.contrib.agenda",
22
22
  "wbcore.contrib.directory",
23
23
  "wbcore.contrib.authentication",
24
+ "wbcore.contrib.content_type",
24
25
  "wbcore.contrib.notifications",
25
26
  "wbcore.contrib.io",
26
27
  "wbcore.contrib.currency",
@@ -6,12 +6,11 @@
6
6
  # Translators:
7
7
  # Kevin Decoster, 2025
8
8
  #
9
- #, fuzzy
10
9
  msgid ""
11
10
  msgstr ""
12
11
  "Project-Id-Version: PACKAGE VERSION\n"
13
12
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2025-05-30 11:37+0200\n"
13
+ "POT-Creation-Date: 2026-01-16 14:04+0100\n"
15
14
  "PO-Revision-Date: 2025-05-30 09:40+0000\n"
16
15
  "Last-Translator: Kevin Decoster, 2025\n"
17
16
  "Language-Team: German (https://app.transifex.com/stainly/teams/171242/de/)\n"
@@ -32,7 +31,7 @@ msgid "Inside Conference Room"
32
31
  msgstr ""
33
32
 
34
33
  #: contrib/agenda/filters/calendar_item.py:52
35
- #: contrib/agenda/models/calendar_item.py:48
34
+ #: contrib/agenda/models/calendar_item.py:50
36
35
  msgid "Type"
37
36
  msgstr "Typ"
38
37
 
@@ -50,65 +49,65 @@ msgstr ""
50
49
  msgid "Addresses"
51
50
  msgstr ""
52
51
 
53
- #: contrib/agenda/models/calendar_item.py:24
52
+ #: contrib/agenda/models/calendar_item.py:26
54
53
  msgid "Public"
55
54
  msgstr "Öffentlich"
56
55
 
57
- #: contrib/agenda/models/calendar_item.py:25
56
+ #: contrib/agenda/models/calendar_item.py:27
58
57
  msgid "Private"
59
58
  msgstr "Privat"
60
59
 
61
- #: contrib/agenda/models/calendar_item.py:26
60
+ #: contrib/agenda/models/calendar_item.py:28
62
61
  msgid "Confidential"
63
62
  msgstr "Vertraulich"
64
63
 
65
- #: contrib/agenda/models/calendar_item.py:33
64
+ #: contrib/agenda/models/calendar_item.py:35
66
65
  msgid "Entities"
67
66
  msgstr "Entitäten"
68
67
 
69
- #: contrib/agenda/models/calendar_item.py:38
68
+ #: contrib/agenda/models/calendar_item.py:40
70
69
  msgid "Icon"
71
70
  msgstr ""
72
71
 
73
- #: contrib/agenda/models/calendar_item.py:45
72
+ #: contrib/agenda/models/calendar_item.py:47
74
73
  msgid "Visibility"
75
74
  msgstr "Zugriffsbeschränkung"
76
75
 
77
- #: contrib/agenda/models/calendar_item.py:54
76
+ #: contrib/agenda/models/calendar_item.py:56
78
77
  msgid "Period"
79
78
  msgstr "Zeitrahmen"
80
79
 
81
- #: contrib/agenda/models/calendar_item.py:56
80
+ #: contrib/agenda/models/calendar_item.py:58
82
81
  msgid "Title"
83
82
  msgstr "Titel"
84
83
 
85
- #: contrib/agenda/models/calendar_item.py:59
84
+ #: contrib/agenda/models/calendar_item.py:61
86
85
  #: contrib/agenda/models/conference_room.py:90
87
86
  msgid "Conference Room"
88
87
  msgstr "Konferenzraum"
89
88
 
90
- #: contrib/agenda/models/calendar_item.py:66
89
+ #: contrib/agenda/models/calendar_item.py:68
91
90
  msgid "All Day"
92
91
  msgstr "Ganztägig"
93
92
 
94
- #: contrib/agenda/models/calendar_item.py:66
93
+ #: contrib/agenda/models/calendar_item.py:68
95
94
  msgid "Check this if the activity spans throughout the day"
96
95
  msgstr ""
97
96
  "Wählen Sie diese Option aus, wenn diese Aktivität ganztägig stattfindet"
98
97
 
99
- #: contrib/agenda/models/calendar_item.py:68
98
+ #: contrib/agenda/models/calendar_item.py:70
100
99
  msgid "Is Cancelled"
101
100
  msgstr "Ist Abgesagt"
102
101
 
103
- #: contrib/agenda/models/calendar_item.py:69
102
+ #: contrib/agenda/models/calendar_item.py:71
104
103
  msgid "Is Deletable"
105
104
  msgstr ""
106
105
 
107
- #: contrib/agenda/models/calendar_item.py:208
106
+ #: contrib/agenda/models/calendar_item.py:210
108
107
  msgid "Calendar Item"
109
108
  msgstr "Kalendareintrag"
110
109
 
111
- #: contrib/agenda/models/calendar_item.py:209
110
+ #: contrib/agenda/models/calendar_item.py:211
112
111
  msgid "Calendar Items"
113
112
  msgstr "Kalendareinträge"
114
113
 
@@ -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 11:37+0200\n"
10
+ "POT-Creation-Date: 2026-01-16 14:04+0100\n"
11
11
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -27,7 +27,7 @@ msgid "Inside Conference Room"
27
27
  msgstr ""
28
28
 
29
29
  #: contrib/agenda/filters/calendar_item.py:52
30
- #: contrib/agenda/models/calendar_item.py:48
30
+ #: contrib/agenda/models/calendar_item.py:50
31
31
  msgid "Type"
32
32
  msgstr ""
33
33
 
@@ -45,64 +45,64 @@ msgstr ""
45
45
  msgid "Addresses"
46
46
  msgstr ""
47
47
 
48
- #: contrib/agenda/models/calendar_item.py:24
48
+ #: contrib/agenda/models/calendar_item.py:26
49
49
  msgid "Public"
50
50
  msgstr ""
51
51
 
52
- #: contrib/agenda/models/calendar_item.py:25
52
+ #: contrib/agenda/models/calendar_item.py:27
53
53
  msgid "Private"
54
54
  msgstr ""
55
55
 
56
- #: contrib/agenda/models/calendar_item.py:26
56
+ #: contrib/agenda/models/calendar_item.py:28
57
57
  msgid "Confidential"
58
58
  msgstr ""
59
59
 
60
- #: contrib/agenda/models/calendar_item.py:33
60
+ #: contrib/agenda/models/calendar_item.py:35
61
61
  msgid "Entities"
62
62
  msgstr ""
63
63
 
64
- #: contrib/agenda/models/calendar_item.py:38
64
+ #: contrib/agenda/models/calendar_item.py:40
65
65
  msgid "Icon"
66
66
  msgstr ""
67
67
 
68
- #: contrib/agenda/models/calendar_item.py:45
68
+ #: contrib/agenda/models/calendar_item.py:47
69
69
  msgid "Visibility"
70
70
  msgstr ""
71
71
 
72
- #: contrib/agenda/models/calendar_item.py:54
72
+ #: contrib/agenda/models/calendar_item.py:56
73
73
  msgid "Period"
74
74
  msgstr ""
75
75
 
76
- #: contrib/agenda/models/calendar_item.py:56
76
+ #: contrib/agenda/models/calendar_item.py:58
77
77
  msgid "Title"
78
78
  msgstr ""
79
79
 
80
- #: contrib/agenda/models/calendar_item.py:59
80
+ #: contrib/agenda/models/calendar_item.py:61
81
81
  #: contrib/agenda/models/conference_room.py:90
82
82
  msgid "Conference Room"
83
83
  msgstr ""
84
84
 
85
- #: contrib/agenda/models/calendar_item.py:66
85
+ #: contrib/agenda/models/calendar_item.py:68
86
86
  msgid "All Day"
87
87
  msgstr ""
88
88
 
89
- #: contrib/agenda/models/calendar_item.py:66
89
+ #: contrib/agenda/models/calendar_item.py:68
90
90
  msgid "Check this if the activity spans throughout the day"
91
91
  msgstr ""
92
92
 
93
- #: contrib/agenda/models/calendar_item.py:68
93
+ #: contrib/agenda/models/calendar_item.py:70
94
94
  msgid "Is Cancelled"
95
95
  msgstr ""
96
96
 
97
- #: contrib/agenda/models/calendar_item.py:69
97
+ #: contrib/agenda/models/calendar_item.py:71
98
98
  msgid "Is Deletable"
99
99
  msgstr ""
100
100
 
101
- #: contrib/agenda/models/calendar_item.py:208
101
+ #: contrib/agenda/models/calendar_item.py:210
102
102
  msgid "Calendar Item"
103
103
  msgstr ""
104
104
 
105
- #: contrib/agenda/models/calendar_item.py:209
105
+ #: contrib/agenda/models/calendar_item.py:211
106
106
  msgid "Calendar Items"
107
107
  msgstr ""
108
108
 
@@ -3,12 +3,11 @@
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
- #, fuzzy
7
6
  msgid ""
8
7
  msgstr ""
9
8
  "Project-Id-Version: PACKAGE VERSION\n"
10
9
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2025-05-30 11:37+0200\n"
10
+ "POT-Creation-Date: 2026-01-16 14:04+0100\n"
12
11
  "PO-Revision-Date: 2025-05-30 09:40+0000\n"
13
12
  "Language-Team: French (https://app.transifex.com/stainly/teams/171242/fr/)\n"
14
13
  "MIME-Version: 1.0\n"
@@ -28,7 +27,7 @@ msgid "Inside Conference Room"
28
27
  msgstr ""
29
28
 
30
29
  #: contrib/agenda/filters/calendar_item.py:52
31
- #: contrib/agenda/models/calendar_item.py:48
30
+ #: contrib/agenda/models/calendar_item.py:50
32
31
  msgid "Type"
33
32
  msgstr ""
34
33
 
@@ -46,64 +45,64 @@ msgstr ""
46
45
  msgid "Addresses"
47
46
  msgstr ""
48
47
 
49
- #: contrib/agenda/models/calendar_item.py:24
48
+ #: contrib/agenda/models/calendar_item.py:26
50
49
  msgid "Public"
51
50
  msgstr ""
52
51
 
53
- #: contrib/agenda/models/calendar_item.py:25
52
+ #: contrib/agenda/models/calendar_item.py:27
54
53
  msgid "Private"
55
54
  msgstr ""
56
55
 
57
- #: contrib/agenda/models/calendar_item.py:26
56
+ #: contrib/agenda/models/calendar_item.py:28
58
57
  msgid "Confidential"
59
58
  msgstr ""
60
59
 
61
- #: contrib/agenda/models/calendar_item.py:33
60
+ #: contrib/agenda/models/calendar_item.py:35
62
61
  msgid "Entities"
63
62
  msgstr ""
64
63
 
65
- #: contrib/agenda/models/calendar_item.py:38
64
+ #: contrib/agenda/models/calendar_item.py:40
66
65
  msgid "Icon"
67
66
  msgstr ""
68
67
 
69
- #: contrib/agenda/models/calendar_item.py:45
68
+ #: contrib/agenda/models/calendar_item.py:47
70
69
  msgid "Visibility"
71
70
  msgstr ""
72
71
 
73
- #: contrib/agenda/models/calendar_item.py:54
72
+ #: contrib/agenda/models/calendar_item.py:56
74
73
  msgid "Period"
75
74
  msgstr ""
76
75
 
77
- #: contrib/agenda/models/calendar_item.py:56
76
+ #: contrib/agenda/models/calendar_item.py:58
78
77
  msgid "Title"
79
78
  msgstr ""
80
79
 
81
- #: contrib/agenda/models/calendar_item.py:59
80
+ #: contrib/agenda/models/calendar_item.py:61
82
81
  #: contrib/agenda/models/conference_room.py:90
83
82
  msgid "Conference Room"
84
83
  msgstr ""
85
84
 
86
- #: contrib/agenda/models/calendar_item.py:66
85
+ #: contrib/agenda/models/calendar_item.py:68
87
86
  msgid "All Day"
88
87
  msgstr ""
89
88
 
90
- #: contrib/agenda/models/calendar_item.py:66
89
+ #: contrib/agenda/models/calendar_item.py:68
91
90
  msgid "Check this if the activity spans throughout the day"
92
91
  msgstr ""
93
92
 
94
- #: contrib/agenda/models/calendar_item.py:68
93
+ #: contrib/agenda/models/calendar_item.py:70
95
94
  msgid "Is Cancelled"
96
95
  msgstr ""
97
96
 
98
- #: contrib/agenda/models/calendar_item.py:69
97
+ #: contrib/agenda/models/calendar_item.py:71
99
98
  msgid "Is Deletable"
100
99
  msgstr ""
101
100
 
102
- #: contrib/agenda/models/calendar_item.py:208
101
+ #: contrib/agenda/models/calendar_item.py:210
103
102
  msgid "Calendar Item"
104
103
  msgstr ""
105
104
 
106
- #: contrib/agenda/models/calendar_item.py:209
105
+ #: contrib/agenda/models/calendar_item.py:211
107
106
  msgid "Calendar Items"
108
107
  msgstr ""
109
108
 
@@ -13,6 +13,7 @@ from wbcore.contrib.color.fields import ColorField
13
13
  from wbcore.contrib.icons import WBIcon
14
14
  from wbcore.contrib.icons.models import IconField
15
15
  from wbcore.models import WBModel
16
+ from wbcore.signals import pre_merge
16
17
  from wbcore.utils.itertools import get_inheriting_subclasses
17
18
  from wbcore.utils.models import DeleteToDisableMixin
18
19
  from wbcore.workers import Queue
@@ -238,3 +239,11 @@ def set_entity_list(calendar_item_id: int):
238
239
  )
239
240
  instance.entity_list = frontend_list
240
241
  instance.save()
242
+
243
+
244
+ @receiver(pre_merge, sender="directory.Entry")
245
+ def pre_merge_entry_calendaritem(sender: models.Model, merged_object, main_object, **kwargs):
246
+ for item in CalendarItem.objects.filter(entities=merged_object):
247
+ item.entities.remove(merged_object)
248
+ if main_object not in item.entities.all():
249
+ item.entities.add(main_object)
@@ -16,9 +16,7 @@ AUTH_HEADER_TYPES = api_settings.AUTH_HEADER_TYPES
16
16
  if TYPE_CHECKING:
17
17
  from wbcore.contrib.authentication.models import User
18
18
  else:
19
- from django.contrib.auth import get_user_model
20
-
21
- User = get_user_model()
19
+ from wbcore.contrib.authentication.models.users import User
22
20
 
23
21
 
24
22
  class TokenAuthentication(DRFTokenAuthentication):
@@ -48,7 +48,6 @@ def auth_method(request):
48
48
  if "WB_SHOW_RESET_PASSWORD" in os.environ:
49
49
  config["config"]["reset_password"] = {
50
50
  "endpoint": reverse("wbcore:authentication:reset_password_email", request=request),
51
- "method": "post",
52
51
  "key": "email",
53
52
  "success_message": "An e-mail has been sent to your address with instructions to reset your password.",
54
53
  }
@@ -6,12 +6,11 @@
6
6
  # Translators:
7
7
  # Kevin Decoster, 2025
8
8
  #
9
- #, fuzzy
10
9
  msgid ""
11
10
  msgstr ""
12
11
  "Project-Id-Version: PACKAGE VERSION\n"
13
12
  "Report-Msgid-Bugs-To: \n"
14
- "POT-Creation-Date: 2025-05-30 11:37+0200\n"
13
+ "POT-Creation-Date: 2026-01-16 14:04+0100\n"
15
14
  "PO-Revision-Date: 2025-05-30 09:40+0000\n"
16
15
  "Last-Translator: Kevin Decoster, 2025\n"
17
16
  "Language-Team: German (https://app.transifex.com/stainly/teams/171242/de/)\n"
@@ -107,38 +106,38 @@ msgstr "Token"
107
106
  msgid "Tokens"
108
107
  msgstr "Token"
109
108
 
110
- #: contrib/authentication/models/users.py:25
109
+ #: contrib/authentication/models/users.py:30
111
110
  msgid "No E-Mail provided"
112
111
  msgstr "Keine E-Mail-Adresse angegeben"
113
112
 
114
- #: contrib/authentication/models/users.py:28
113
+ #: contrib/authentication/models/users.py:33
115
114
  msgid "No Username provided"
116
115
  msgstr "Kein Benutzername angegeben"
117
116
 
118
- #: contrib/authentication/models/users.py:57
117
+ #: contrib/authentication/models/users.py:62
119
118
  #: contrib/authentication/serializers/users.py:144
120
119
  msgid "E-Mail"
121
120
  msgstr "E-Mail"
122
121
 
123
- #: contrib/authentication/models/users.py:58
122
+ #: contrib/authentication/models/users.py:63
124
123
  msgid "username"
125
124
  msgstr "benutzername"
126
125
 
127
- #: contrib/authentication/models/users.py:61
126
+ #: contrib/authentication/models/users.py:66
128
127
  msgid "staff status"
129
128
  msgstr "Personal"
130
129
 
131
- #: contrib/authentication/models/users.py:63
130
+ #: contrib/authentication/models/users.py:68
132
131
  msgid "Specifies whether the user can log into this admin site."
133
132
  msgstr ""
134
133
  "Gibt an, ob ein*e Nutzer*in sich auf dieser Administrator-Seite einloggen "
135
134
  "kann."
136
135
 
137
- #: contrib/authentication/models/users.py:66
136
+ #: contrib/authentication/models/users.py:71
138
137
  msgid "active"
139
138
  msgstr "Aktiv"
140
139
 
141
- #: contrib/authentication/models/users.py:69
140
+ #: contrib/authentication/models/users.py:74
142
141
  msgid ""
143
142
  "Specifies whether this user should be treated as active. Unselect this "
144
143
  "instead of deleting accounts."
@@ -146,56 +145,56 @@ msgstr ""
146
145
  "Gibt an, ob ein*e Nutzer*in als aktiv betrachtet werden sollte. Wählen Sie "
147
146
  "diese Option ab anstatt Konten zu löschen."
148
147
 
149
- #: contrib/authentication/models/users.py:73
148
+ #: contrib/authentication/models/users.py:78
150
149
  msgid "register"
151
150
  msgstr "registrieren"
152
151
 
153
- #: contrib/authentication/models/users.py:73
152
+ #: contrib/authentication/models/users.py:78
154
153
  msgid "Specifies whether this user has registered its email. "
155
154
  msgstr "Gibt an, ob ein*e Nutzer*in seine E-Mail-Adresse registriert hat. "
156
155
 
157
- #: contrib/authentication/models/users.py:75
156
+ #: contrib/authentication/models/users.py:80
158
157
  msgid "date joined"
159
158
  msgstr "beitrittsdatum"
160
159
 
161
- #: contrib/authentication/models/users.py:84
160
+ #: contrib/authentication/models/users.py:89
162
161
  msgid "user"
163
162
  msgstr "benutzer*in"
164
163
 
165
- #: contrib/authentication/models/users.py:85
164
+ #: contrib/authentication/models/users.py:90
166
165
  msgid "users"
167
166
  msgstr "benutzer*innen"
168
167
 
169
- #: contrib/authentication/models/users.py:140
168
+ #: contrib/authentication/models/users.py:145
170
169
  msgid "You need to specify a username or a pair of first and last name"
171
170
  msgstr "Sie müssen einen Benutzernamen oder einen Vor- und Nachnamen angeben"
172
171
 
173
- #: contrib/authentication/models/users_activities.py:18
174
- #: contrib/authentication/models/users_activities.py:21
172
+ #: contrib/authentication/models/users_activities.py:20
173
+ #: contrib/authentication/models/users_activities.py:23
175
174
  msgid "Success"
176
175
  msgstr "Erfolg"
177
176
 
178
- #: contrib/authentication/models/users_activities.py:19
179
177
  #: contrib/authentication/models/users_activities.py:21
178
+ #: contrib/authentication/models/users_activities.py:23
180
179
  msgid "Failed"
181
180
  msgstr "Fehlgeschlagen"
182
181
 
183
- #: contrib/authentication/models/users_activities.py:24
182
+ #: contrib/authentication/models/users_activities.py:26
184
183
  #: contrib/authentication/templates/password_reset_done.html:11
185
- #: contrib/authentication/viewsets/users.py:172
184
+ #: contrib/authentication/viewsets/users.py:174
186
185
  msgid "Login"
187
186
  msgstr "Einloggen"
188
187
 
189
- #: contrib/authentication/models/users_activities.py:38
188
+ #: contrib/authentication/models/users_activities.py:40
190
189
  #, python-brace-format
191
190
  msgid "Activity of {user} at {date}"
192
191
  msgstr "Aktivität von {user} an {date}"
193
192
 
194
- #: contrib/authentication/models/users_activities.py:41
193
+ #: contrib/authentication/models/users_activities.py:43
195
194
  msgid "User Login Activity"
196
195
  msgstr "Anmeldeaktivität des*der Nutzer*innen"
197
196
 
198
- #: contrib/authentication/models/users_activities.py:42
197
+ #: contrib/authentication/models/users_activities.py:44
199
198
  msgid "User Login Activities"
200
199
  msgstr "Anmeldeaktivitäten des*der Nutzer*innen"
201
200
 
@@ -519,35 +518,35 @@ msgstr "Benutzer*in: {{email}}"
519
518
  msgid "New User"
520
519
  msgstr "Neue*r Benutzer*in"
521
520
 
522
- #: contrib/authentication/viewsets/user_activities.py:178
521
+ #: contrib/authentication/viewsets/user_activities.py:179
523
522
  msgid "<b>User Activity</b>"
524
523
  msgstr "<b>Nutzeraktivität</b>"
525
524
 
526
- #: contrib/authentication/viewsets/user_activities.py:179
525
+ #: contrib/authentication/viewsets/user_activities.py:180
527
526
  msgid "Time"
528
527
  msgstr "Zeit"
529
528
 
530
- #: contrib/authentication/viewsets/user_activities.py:180
529
+ #: contrib/authentication/viewsets/user_activities.py:181
531
530
  msgid "Cummulative time"
532
531
  msgstr "Kumulierte Zeit"
533
532
 
534
- #: contrib/authentication/viewsets/user_activities.py:191
533
+ #: contrib/authentication/viewsets/user_activities.py:192
535
534
  msgid "Hour"
536
535
  msgstr "Stunde"
537
536
 
538
- #: contrib/authentication/viewsets/user_activities.py:196
537
+ #: contrib/authentication/viewsets/user_activities.py:197
539
538
  msgid "Day"
540
539
  msgstr "Tag"
541
540
 
542
- #: contrib/authentication/viewsets/user_activities.py:201
541
+ #: contrib/authentication/viewsets/user_activities.py:202
543
542
  msgid "Week"
544
543
  msgstr "Woche"
545
544
 
546
- #: contrib/authentication/viewsets/user_activities.py:206
545
+ #: contrib/authentication/viewsets/user_activities.py:207
547
546
  msgid "Month"
548
547
  msgstr "Monat"
549
548
 
550
- #: contrib/authentication/viewsets/users.py:77
549
+ #: contrib/authentication/viewsets/users.py:79
551
550
  msgid ""
552
551
  "If the email matches a user, it will receive an email inviting him to reset "
553
552
  "his password."
@@ -555,55 +554,55 @@ msgstr ""
555
554
  "Wenn die E-Mail zu einem Benutzerkonto gehört bekommt die Person eine E-Mail"
556
555
  " mit einem Link um ihr Passwort zurückzusetzen."
557
556
 
558
- #: contrib/authentication/viewsets/users.py:94
557
+ #: contrib/authentication/viewsets/users.py:96
559
558
  msgid "first and last name are too long. please provider a shorter name."
560
559
  msgstr ""
561
560
 
562
- #: contrib/authentication/viewsets/users.py:101
561
+ #: contrib/authentication/viewsets/users.py:103
563
562
  msgid ""
564
563
  "password is too long. please provider a password shorter than 128 "
565
564
  "characters."
566
565
  msgstr ""
567
566
 
568
- #: contrib/authentication/viewsets/users.py:109
567
+ #: contrib/authentication/viewsets/users.py:111
569
568
  msgid ""
570
569
  "email is too long. please provider an email shorter than 255 characters."
571
570
  msgstr ""
572
571
 
573
- #: contrib/authentication/viewsets/users.py:128
572
+ #: contrib/authentication/viewsets/users.py:130
574
573
  msgid "Activate your account."
575
574
  msgstr "Aktivieren Sie Ihr Konto."
576
575
 
577
- #: contrib/authentication/viewsets/users.py:136
576
+ #: contrib/authentication/viewsets/users.py:138
578
577
  msgid "Please confirm your email address to complete the registration"
579
578
  msgstr ""
580
579
  "Bitte bestätigen Sie Ihre E-Mail-Adresse um die Registrierung abzuschließen"
581
580
 
582
- #: contrib/authentication/viewsets/users.py:141
581
+ #: contrib/authentication/viewsets/users.py:143
583
582
  msgid "Your account already exists"
584
583
  msgstr "Ihr Konto existiert bereits"
585
584
 
586
- #: contrib/authentication/viewsets/users.py:145
585
+ #: contrib/authentication/viewsets/users.py:147
587
586
  msgid "Something went wrong with the submitted data, please try again later"
588
587
  msgstr ""
589
588
 
590
- #: contrib/authentication/viewsets/users.py:149
589
+ #: contrib/authentication/viewsets/users.py:151
591
590
  msgid "email, first_name, last_name and password must be provided"
592
591
  msgstr "E-Mail, Vorname, Nachname und Passwort müssen angegeben werden"
593
592
 
594
- #: contrib/authentication/viewsets/users.py:170
593
+ #: contrib/authentication/viewsets/users.py:172
595
594
  msgid "Activation Successful"
596
595
  msgstr "Aktivierung Erfolgreich"
597
596
 
598
- #: contrib/authentication/viewsets/users.py:171
597
+ #: contrib/authentication/viewsets/users.py:173
599
598
  msgid "You are successfully registered. Please login"
600
599
  msgstr "Sie haben sich erfolgreich registriert. Bitte melden Sie sich an"
601
600
 
602
- #: contrib/authentication/viewsets/users.py:184
601
+ #: contrib/authentication/viewsets/users.py:186
603
602
  msgid "Activation Failed"
604
603
  msgstr "Aktivierung Fehlgeschlagen"
605
604
 
606
- #: contrib/authentication/viewsets/users.py:186
605
+ #: contrib/authentication/viewsets/users.py:188
607
606
  msgid ""
608
607
  "The registration link you clicked was probably expired or your account is "
609
608
  "already activated. Please try to register again."
@@ -611,21 +610,21 @@ msgstr ""
611
610
  "Der Registrierungslink war wahrscheinlich abgelaufen oder Ihr Konto bereits "
612
611
  "aktiviert. Bitte versuchen Sie sich erneut zu registrieren."
613
612
 
614
- #: contrib/authentication/viewsets/users.py:188
613
+ #: contrib/authentication/viewsets/users.py:190
615
614
  msgid "Register"
616
615
  msgstr "Registrieren"
617
616
 
618
- #: contrib/authentication/viewsets/users.py:276
617
+ #: contrib/authentication/viewsets/users.py:278
619
618
  msgid "Password changed."
620
619
  msgstr "Passwort geändert."
621
620
 
622
- #: contrib/authentication/viewsets/users.py:319
621
+ #: contrib/authentication/viewsets/users.py:321
623
622
  msgid "Reset Password E-Mail sent: Check your mailbox"
624
623
  msgstr ""
625
624
  "E-Mail zum Zurücksetzen des Passworts gesendet: Bitte schauen Sie in Ihren "
626
625
  "Posteingang"
627
626
 
628
- #: contrib/authentication/viewsets/users.py:321
627
+ #: contrib/authentication/viewsets/users.py:323
629
628
  msgid "Reset Password Failed. Please contact an administrator"
630
629
  msgstr ""
631
630
  "Passwort Zurücksetzen Fehlgeschlagen. Bitte kontaktieren Sie einen "