wbcore 1.59.16__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.
- wbcore/admin.py +0 -1
- wbcore/configurations/configurations/apps.py +1 -0
- wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po +17 -18
- wbcore/contrib/agenda/locale/en/LC_MESSAGES/django.po +17 -17
- wbcore/contrib/agenda/locale/fr/LC_MESSAGES/django.po +17 -18
- wbcore/contrib/agenda/models/calendar_item.py +9 -0
- wbcore/contrib/authentication/authentication.py +1 -3
- wbcore/contrib/authentication/configurations.py +0 -1
- wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po +47 -48
- wbcore/contrib/authentication/locale/en/LC_MESSAGES/django.po +47 -47
- wbcore/contrib/authentication/locale/fr/LC_MESSAGES/django.po +47 -48
- wbcore/contrib/authentication/models/users.py +18 -0
- wbcore/contrib/color/admin.py +1 -0
- wbcore/contrib/color/factories.py +1 -0
- wbcore/contrib/content_type/__init__.py +0 -0
- wbcore/contrib/content_type/apps.py +5 -0
- wbcore/{filters/fields/content_type.py → contrib/content_type/filters.py} +18 -0
- wbcore/{content_type → contrib/content_type}/serializers.py +2 -2
- wbcore/contrib/content_type/urls.py +15 -0
- wbcore/contrib/directory/factories/contacts.py +1 -0
- wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po +307 -271
- wbcore/contrib/directory/locale/en/LC_MESSAGES/django.po +305 -268
- wbcore/contrib/directory/locale/fr/LC_MESSAGES/django.po +305 -269
- wbcore/contrib/directory/migrations/0015_alter_emailcontact_address_and_more.py +47 -0
- wbcore/contrib/directory/models/contacts.py +15 -22
- wbcore/contrib/directory/models/entries.py +82 -2
- wbcore/contrib/directory/models/relationships.py +5 -9
- wbcore/contrib/directory/tests/test_models.py +5 -3
- wbcore/contrib/directory/viewsets/endpoints/__init__.py +2 -0
- wbcore/contrib/directory/viewsets/endpoints/entries.py +10 -0
- wbcore/contrib/directory/viewsets/entries.py +9 -2
- wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po +26 -23
- wbcore/contrib/documents/locale/en/LC_MESSAGES/django.po +26 -22
- wbcore/contrib/documents/locale/fr/LC_MESSAGES/django.po +26 -23
- wbcore/contrib/documents/serializers/document_model_relationships.py +1 -1
- wbcore/contrib/documents/viewsets/documents.py +1 -1
- wbcore/contrib/guardian/__init__.py +0 -0
- wbcore/contrib/guardian/filters.py +1 -0
- wbcore/contrib/guardian/models/mixins.py +1 -0
- wbcore/contrib/guardian/tasks.py +1 -0
- wbcore/contrib/guardian/tests/test_model_mixins.py +1 -0
- wbcore/contrib/guardian/tests/test_tasks.py +1 -0
- wbcore/contrib/guardian/tests/test_utils.py +1 -0
- wbcore/contrib/guardian/tests/test_viewsets.py +1 -0
- wbcore/contrib/guardian/urls.py +1 -0
- wbcore/contrib/guardian/utils.py +1 -0
- wbcore/contrib/guardian/viewsets/configs/buttons.py +1 -0
- wbcore/contrib/guardian/viewsets/configs/endpoints.py +1 -0
- wbcore/contrib/guardian/viewsets/viewsets.py +1 -0
- wbcore/contrib/io/locale/de/LC_MESSAGES/django.po +28 -28
- wbcore/contrib/io/locale/en/LC_MESSAGES/django.po +28 -28
- wbcore/contrib/io/locale/fr/LC_MESSAGES/django.po +28 -28
- wbcore/contrib/notifications/dispatch.py +1 -3
- wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +2 -3
- wbcore/contrib/notifications/locale/en/LC_MESSAGES/django.po +2 -2
- wbcore/contrib/notifications/locale/fr/LC_MESSAGES/django.po +2 -3
- wbcore/contrib/notifications/models/notification_types.py +5 -7
- wbcore/contrib/notifications/models/notifications.py +2 -2
- wbcore/contrib/notifications/models/tokens.py +2 -2
- wbcore/contrib/tags/filters.py +1 -1
- wbcore/contrib/tags/serializers.py +2 -2
- wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +75 -76
- wbcore/contrib/workflow/locale/en/LC_MESSAGES/django.po +75 -75
- wbcore/contrib/workflow/locale/fr/LC_MESSAGES/django.po +75 -76
- wbcore/contrib/workflow/serializers/process.py +4 -4
- wbcore/contrib/workflow/serializers/workflow.py +1 -1
- wbcore/filters/__init__.py +0 -1
- wbcore/filters/fields/__init__.py +0 -1
- wbcore/frontend_user_configuration.py +3 -2
- wbcore/locale/de/LC_MESSAGES/django.po +159 -129
- wbcore/locale/en/LC_MESSAGES/django.po +158 -129
- wbcore/locale/fr/LC_MESSAGES/django.po +159 -129
- wbcore/menus/menus.py +8 -5
- wbcore/metadata/configs/buttons/view_config.py +4 -1
- wbcore/metadata/configs/display/models.py +4 -5
- wbcore/metadata/configs/endpoints.py +7 -5
- wbcore/migrations/0015_delete_genericmodel.py +16 -0
- wbcore/models/base.py +0 -11
- wbcore/release_notes/models.py +2 -4
- wbcore/serializers/fields/fields.py +4 -2
- wbcore/serializers/fields/number.py +9 -0
- wbcore/shares/config.py +2 -2
- wbcore/signals/merge.py +1 -0
- wbcore/test/utils.py +3 -1
- wbcore/tests/test_permissions/test_backend.py +1 -3
- wbcore/tests/test_something.py +2 -2
- wbcore/urls.py +5 -10
- wbcore/utils/models.py +73 -4
- wbcore/utils/views.py +54 -53
- wbcore/viewsets/mixins.py +1 -1
- wbcore/viewsets/viewsets.py +1 -1
- {wbcore-1.59.16.dist-info → wbcore-1.60.0.dist-info}/METADATA +1 -1
- {wbcore-1.59.16.dist-info → wbcore-1.60.0.dist-info}/RECORD +98 -98
- wbcore/content_type/filters.py +0 -20
- wbcore/pandas/__init__.py +0 -53
- wbcore/pandas/fields.py +0 -25
- wbcore/pandas/filterset.py +0 -9
- wbcore/pandas/utils.py +0 -25
- wbcore/pandas/views.py +0 -9
- /wbcore/{content_type → contrib/color}/__init__.py +0 -0
- /wbcore/{content_type → contrib/content_type}/admin.py +0 -0
- /wbcore/{content_type → contrib/content_type}/utils.py +0 -0
- /wbcore/{content_type → contrib/content_type}/viewsets.py +0 -0
- {wbcore-1.59.16.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
|
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
68
|
+
#: contrib/agenda/models/calendar_item.py:40
|
|
70
69
|
msgid "Icon"
|
|
71
70
|
msgstr ""
|
|
72
71
|
|
|
73
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
48
|
+
#: contrib/agenda/models/calendar_item.py:26
|
|
49
49
|
msgid "Public"
|
|
50
50
|
msgstr ""
|
|
51
51
|
|
|
52
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
52
|
+
#: contrib/agenda/models/calendar_item.py:27
|
|
53
53
|
msgid "Private"
|
|
54
54
|
msgstr ""
|
|
55
55
|
|
|
56
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
56
|
+
#: contrib/agenda/models/calendar_item.py:28
|
|
57
57
|
msgid "Confidential"
|
|
58
58
|
msgstr ""
|
|
59
59
|
|
|
60
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
60
|
+
#: contrib/agenda/models/calendar_item.py:35
|
|
61
61
|
msgid "Entities"
|
|
62
62
|
msgstr ""
|
|
63
63
|
|
|
64
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
64
|
+
#: contrib/agenda/models/calendar_item.py:40
|
|
65
65
|
msgid "Icon"
|
|
66
66
|
msgstr ""
|
|
67
67
|
|
|
68
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
68
|
+
#: contrib/agenda/models/calendar_item.py:47
|
|
69
69
|
msgid "Visibility"
|
|
70
70
|
msgstr ""
|
|
71
71
|
|
|
72
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
72
|
+
#: contrib/agenda/models/calendar_item.py:56
|
|
73
73
|
msgid "Period"
|
|
74
74
|
msgstr ""
|
|
75
75
|
|
|
76
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
76
|
+
#: contrib/agenda/models/calendar_item.py:58
|
|
77
77
|
msgid "Title"
|
|
78
78
|
msgstr ""
|
|
79
79
|
|
|
80
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
48
|
+
#: contrib/agenda/models/calendar_item.py:26
|
|
50
49
|
msgid "Public"
|
|
51
50
|
msgstr ""
|
|
52
51
|
|
|
53
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
52
|
+
#: contrib/agenda/models/calendar_item.py:27
|
|
54
53
|
msgid "Private"
|
|
55
54
|
msgstr ""
|
|
56
55
|
|
|
57
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
56
|
+
#: contrib/agenda/models/calendar_item.py:28
|
|
58
57
|
msgid "Confidential"
|
|
59
58
|
msgstr ""
|
|
60
59
|
|
|
61
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
60
|
+
#: contrib/agenda/models/calendar_item.py:35
|
|
62
61
|
msgid "Entities"
|
|
63
62
|
msgstr ""
|
|
64
63
|
|
|
65
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
64
|
+
#: contrib/agenda/models/calendar_item.py:40
|
|
66
65
|
msgid "Icon"
|
|
67
66
|
msgstr ""
|
|
68
67
|
|
|
69
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
68
|
+
#: contrib/agenda/models/calendar_item.py:47
|
|
70
69
|
msgid "Visibility"
|
|
71
70
|
msgstr ""
|
|
72
71
|
|
|
73
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
72
|
+
#: contrib/agenda/models/calendar_item.py:56
|
|
74
73
|
msgid "Period"
|
|
75
74
|
msgstr ""
|
|
76
75
|
|
|
77
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
76
|
+
#: contrib/agenda/models/calendar_item.py:58
|
|
78
77
|
msgid "Title"
|
|
79
78
|
msgstr ""
|
|
80
79
|
|
|
81
|
-
#: contrib/agenda/models/calendar_item.py:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
122
|
+
#: contrib/authentication/models/users.py:63
|
|
124
123
|
msgid "username"
|
|
125
124
|
msgstr "benutzername"
|
|
126
125
|
|
|
127
|
-
#: contrib/authentication/models/users.py:
|
|
126
|
+
#: contrib/authentication/models/users.py:66
|
|
128
127
|
msgid "staff status"
|
|
129
128
|
msgstr "Personal"
|
|
130
129
|
|
|
131
|
-
#: contrib/authentication/models/users.py:
|
|
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:
|
|
136
|
+
#: contrib/authentication/models/users.py:71
|
|
138
137
|
msgid "active"
|
|
139
138
|
msgstr "Aktiv"
|
|
140
139
|
|
|
141
|
-
#: contrib/authentication/models/users.py:
|
|
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:
|
|
148
|
+
#: contrib/authentication/models/users.py:78
|
|
150
149
|
msgid "register"
|
|
151
150
|
msgstr "registrieren"
|
|
152
151
|
|
|
153
|
-
#: contrib/authentication/models/users.py:
|
|
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:
|
|
156
|
+
#: contrib/authentication/models/users.py:80
|
|
158
157
|
msgid "date joined"
|
|
159
158
|
msgstr "beitrittsdatum"
|
|
160
159
|
|
|
161
|
-
#: contrib/authentication/models/users.py:
|
|
160
|
+
#: contrib/authentication/models/users.py:89
|
|
162
161
|
msgid "user"
|
|
163
162
|
msgstr "benutzer*in"
|
|
164
163
|
|
|
165
|
-
#: contrib/authentication/models/users.py:
|
|
164
|
+
#: contrib/authentication/models/users.py:90
|
|
166
165
|
msgid "users"
|
|
167
166
|
msgstr "benutzer*innen"
|
|
168
167
|
|
|
169
|
-
#: contrib/authentication/models/users.py:
|
|
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:
|
|
174
|
-
#: contrib/authentication/models/users_activities.py:
|
|
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:
|
|
182
|
+
#: contrib/authentication/models/users_activities.py:26
|
|
184
183
|
#: contrib/authentication/templates/password_reset_done.html:11
|
|
185
|
-
#: contrib/authentication/viewsets/users.py:
|
|
184
|
+
#: contrib/authentication/viewsets/users.py:174
|
|
186
185
|
msgid "Login"
|
|
187
186
|
msgstr "Einloggen"
|
|
188
187
|
|
|
189
|
-
#: contrib/authentication/models/users_activities.py:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
545
|
+
#: contrib/authentication/viewsets/user_activities.py:207
|
|
547
546
|
msgid "Month"
|
|
548
547
|
msgstr "Monat"
|
|
549
548
|
|
|
550
|
-
#: contrib/authentication/viewsets/users.py:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
613
|
+
#: contrib/authentication/viewsets/users.py:190
|
|
615
614
|
msgid "Register"
|
|
616
615
|
msgstr "Registrieren"
|
|
617
616
|
|
|
618
|
-
#: contrib/authentication/viewsets/users.py:
|
|
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:
|
|
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:
|
|
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 "
|