Skip to content
Commits on Source (16)
......@@ -6,6 +6,29 @@ All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog`_,
and this project adheres to `Semantic Versioning`_.
`2.0b2` - 2021-06-15
--------------------
Changed
~~~~~~~
* Add verbose names for all preference sections.
* Add verbose names for all openid connect scopes and show them in grant
view.
* Include public dashboard in navigation
* Update German translations.
Fixed
~~~~~
* Fix broken backup health check
* Make error recovery in about page work
Removed
~~~~~~~
* Drop all leftovers of DataTables.
`2.0b1`_ - 2021-06-01
---------------------
......@@ -229,3 +252,4 @@ Fixed
.. _2.0a2: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.0a2
.. _2.0b0: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.0b0
.. _2.0b1: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.0b1
.. _2.0b2: https://edugit.org/AlekSIS/Official/AlekSIS/-/tags/2.0b2
......@@ -38,9 +38,9 @@ class BaseBackupHealthCheck(BaseHealthCheckBackend):
self.add_error(_("The backup folder doesn't exist."))
return
if backups:
last_backup = backups[-1]
last_backup_time = dbbackup_utils.filename_to_date(last_backup)
time_gone_since_backup = last_backup_time - datetime.now()
last_backup = backups[:1]
last_backup_time = dbbackup_utils.filename_to_date(last_backup[0])
time_gone_since_backup = datetime.now() - last_backup_time
# Check if backup is older than configured time
if time_gone_since_backup.seconds > self.configured_seconds:
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: AlekSIS (School Information System) 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -261,11 +261,13 @@ msgid "Preferences"
msgstr ""
#: aleksis/core/menus.py:97
msgid "Social accounts"
msgid "Third-party accounts"
msgstr ""
#: aleksis/core/menus.py:106
msgid "Authorized tokens"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/menus.py:117
......@@ -355,7 +357,7 @@ msgstr ""
msgid "Assign child groups to groups"
msgstr ""
#: aleksis/core/mixins.py:476
#: aleksis/core/mixins.py:475
msgid "Linked school term"
msgstr ""
......@@ -904,139 +906,143 @@ msgstr ""
msgid "Internationalisation"
msgstr ""
#: aleksis/core/preferences.py:39
#: aleksis/core/preferences.py:41
msgid "Site title"
msgstr ""
#: aleksis/core/preferences.py:48
#: aleksis/core/preferences.py:52
msgid "Site description"
msgstr ""
#: aleksis/core/preferences.py:57
#: aleksis/core/preferences.py:63
msgid "Primary colour"
msgstr ""
#: aleksis/core/preferences.py:67
#: aleksis/core/preferences.py:75
msgid "Secondary colour"
msgstr ""
#: aleksis/core/preferences.py:76
#: aleksis/core/preferences.py:86
msgid "Logo"
msgstr ""
#: aleksis/core/preferences.py:84
#: aleksis/core/preferences.py:96
msgid "Favicon"
msgstr ""
#: aleksis/core/preferences.py:92
#: aleksis/core/preferences.py:106
msgid "PWA-Icon"
msgstr ""
#: aleksis/core/preferences.py:101
#: aleksis/core/preferences.py:117
msgid "Mail out name"
msgstr ""
#: aleksis/core/preferences.py:110
#: aleksis/core/preferences.py:128
msgid "Mail out address"
msgstr ""
#: aleksis/core/preferences.py:120
#: aleksis/core/preferences.py:140
msgid "Link to privacy policy"
msgstr ""
#: aleksis/core/preferences.py:130
#: aleksis/core/preferences.py:152
msgid "Link to imprint"
msgstr ""
#: aleksis/core/preferences.py:140
#: aleksis/core/preferences.py:164
msgid "Name format for addressing"
msgstr ""
#: aleksis/core/preferences.py:154
#: aleksis/core/preferences.py:180
msgid "Channels to use for notifications"
msgstr ""
#: aleksis/core/preferences.py:164
#: aleksis/core/preferences.py:192
msgid "Regular expression to match primary group, e.g. '^Class .*'"
msgstr ""
#: aleksis/core/preferences.py:173
#: aleksis/core/preferences.py:203
msgid "Field on person to match primary group against"
msgstr ""
#: aleksis/core/preferences.py:185
#: aleksis/core/preferences.py:215
msgid "Automatically create new persons for new users"
msgstr ""
#: aleksis/core/preferences.py:194
#: aleksis/core/preferences.py:224
msgid "Automatically link existing persons to new users by their e-mail address"
msgstr ""
#: aleksis/core/preferences.py:203
#: aleksis/core/preferences.py:235
msgid "Display name of the school"
msgstr ""
#: aleksis/core/preferences.py:212
#: aleksis/core/preferences.py:246
msgid "Official name of the school, e.g. as given by supervisory authority"
msgstr ""
#: aleksis/core/preferences.py:220
#: aleksis/core/preferences.py:256
msgid "Enabled custom authentication backends"
msgstr ""
#: aleksis/core/preferences.py:268
msgid "Allow users to change their passwords"
msgstr ""
#: aleksis/core/preferences.py:228
#: aleksis/core/preferences.py:276
msgid "Enable signup"
msgstr ""
#: aleksis/core/preferences.py:237
#: aleksis/core/preferences.py:287
msgid "Available languages"
msgstr ""
#: aleksis/core/preferences.py:249
#: aleksis/core/preferences.py:299
msgid "Send emails if data checks detect problems"
msgstr ""
#: aleksis/core/preferences.py:260
#: aleksis/core/preferences.py:310
msgid "Email recipients for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:271
#: aleksis/core/preferences.py:321
msgid "Email recipient groups for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:280
#: aleksis/core/preferences.py:330
msgid "Show dashboard to users without login"
msgstr ""
#: aleksis/core/preferences.py:289
#: aleksis/core/preferences.py:339
msgid "Allow users to edit their dashboard"
msgstr ""
#: aleksis/core/preferences.py:300
#: aleksis/core/preferences.py:350
msgid "Fields on person model which are editable by themselves."
msgstr ""
#: aleksis/core/preferences.py:314
#: aleksis/core/preferences.py:364
msgid "Editable fields on person model which should trigger a notification on change"
msgstr ""
#: aleksis/core/preferences.py:327
#: aleksis/core/preferences.py:377
msgid "Contact for notification if a person changes their data"
msgstr ""
#: aleksis/core/preferences.py:337
#: aleksis/core/preferences.py:387
msgid "PDF file expiration duration"
msgstr ""
#: aleksis/core/preferences.py:338
#: aleksis/core/preferences.py:388
msgid "in minutes"
msgstr ""
#: aleksis/core/settings.py:477
#: aleksis/core/settings.py:470
msgid "English"
msgstr ""
#: aleksis/core/settings.py:478
#: aleksis/core/settings.py:471
msgid "German"
msgstr ""
......@@ -2110,25 +2116,20 @@ msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
msgid "Revoke token"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke access"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:12
msgid "Are you sure to revoke this token?"
msgid "Are you sure to revoke the access for this application?"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:20
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
msgid "No authorized tokens defined."
msgid "No authorized applications."
msgstr ""
#: aleksis/core/templates/offline.html:5
......@@ -2172,17 +2173,17 @@ msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:5
#: aleksis/core/templates/socialaccount/authentication_error.html:6
msgid "Social Network Login Failure"
msgid "Third-party Account Login Failure"
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:13
msgid "Social Network Login Failure."
msgid "Third-party Account Login Failure."
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:15
msgid ""
"\n"
" An error occurred while attempting to login via your social network account.\n"
" An error occurred while attempting to login via your third-party account.\n"
" Please contact one of your site administrators.\n"
" "
msgstr ""
......@@ -2197,11 +2198,11 @@ msgid "Remove"
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:34
msgid "You currently have no social network accounts connected to this account."
msgid "You currently have no third-party accounts connected to this account."
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:37
msgid "Add a 3rd Party Account"
msgid "Add a Third-party Account"
msgstr ""
#: aleksis/core/templates/socialaccount/login_cancelled.html:5
......@@ -2244,7 +2245,7 @@ msgstr ""
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:30
msgid ""
"\n"
" No 3rd party account providers available.\n"
" No third-party account providers available.\n"
" "
msgstr ""
......@@ -2709,107 +2710,107 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: aleksis/core/views.py:195
#: aleksis/core/views.py:249
msgid "The school term has been created."
msgstr ""
#: aleksis/core/views.py:207
#: aleksis/core/views.py:261
msgid "The school term has been saved."
msgstr ""
#: aleksis/core/views.py:352
#: aleksis/core/views.py:406
msgid "The child groups were successfully saved."
msgstr ""
#: aleksis/core/views.py:413
#: aleksis/core/views.py:467
msgid "The person has been saved."
msgstr ""
#: aleksis/core/views.py:452
#: aleksis/core/views.py:506
msgid "The group has been saved."
msgstr ""
#: aleksis/core/views.py:549
#: aleksis/core/views.py:603
msgid "The announcement has been saved."
msgstr ""
#: aleksis/core/views.py:565
#: aleksis/core/views.py:619
msgid "The announcement has been deleted."
msgstr ""
#: aleksis/core/views.py:649
#: aleksis/core/views.py:703
msgid "The preferences have been saved successfully."
msgstr ""
#: aleksis/core/views.py:673
#: aleksis/core/views.py:727
msgid "The person has been deleted."
msgstr ""
#: aleksis/core/views.py:687
#: aleksis/core/views.py:741
msgid "The group has been deleted."
msgstr ""
#: aleksis/core/views.py:719
#: aleksis/core/views.py:773
msgid "The additional_field has been saved."
msgstr ""
#: aleksis/core/views.py:753
#: aleksis/core/views.py:807
msgid "The additional field has been deleted."
msgstr ""
#: aleksis/core/views.py:778
#: aleksis/core/views.py:832
msgid "The group type has been saved."
msgstr ""
#: aleksis/core/views.py:808
#: aleksis/core/views.py:862
msgid "The group type has been deleted."
msgstr ""
#: aleksis/core/views.py:841
#: aleksis/core/views.py:895
msgid "Progress: Run data checks"
msgstr ""
#: aleksis/core/views.py:842
#: aleksis/core/views.py:896
msgid "Run data checks …"
msgstr ""
#: aleksis/core/views.py:843
#: aleksis/core/views.py:897
msgid "The data checks were run successfully."
msgstr ""
#: aleksis/core/views.py:844
#: aleksis/core/views.py:898
msgid "There was a problem while running data checks."
msgstr ""
#: aleksis/core/views.py:860
#: aleksis/core/views.py:914
#, python-brace-format
msgid "The solve option '{solve_option_obj.verbose_name}' "
msgstr ""
#: aleksis/core/views.py:902
#: aleksis/core/views.py:956
msgid "The dashboard widget has been saved."
msgstr ""
#: aleksis/core/views.py:932
#: aleksis/core/views.py:986
msgid "The dashboard widget has been created."
msgstr ""
#: aleksis/core/views.py:942
#: aleksis/core/views.py:996
msgid "The dashboard widget has been deleted."
msgstr ""
#: aleksis/core/views.py:1009
#: aleksis/core/views.py:1063
msgid "Your dashboard configuration has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1011
#: aleksis/core/views.py:1065
msgid "The configuration of the default dashboard has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1137
msgid "The social account could not be disconnected because it is the only login method available."
#: aleksis/core/views.py:1191
msgid "The third-party account could not be disconnected because it is the only login method available."
msgstr ""
#: aleksis/core/views.py:1144
msgid "The social account has been successfully disconnected."
#: aleksis/core/views.py:1198
msgid "The third-party account has been successfully disconnected."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -30,6 +30,6 @@ msgstr ""
msgid "OK"
msgstr ""
#: aleksis/core/static/js/main.js:121
#: aleksis/core/static/js/main.js:133
msgid "This page may contain outdated information since there is no internet connection."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -29,6 +29,6 @@ msgstr ""
msgid "OK"
msgstr ""
#: aleksis/core/static/js/main.js:121
#: aleksis/core/static/js/main.js:133
msgid "This page may contain outdated information since there is no internet connection."
msgstr ""
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: AlekSIS (School Information System) 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: 2020-04-27 13:03+0000\n"
"Last-Translator: Marlene Grundey <grundema@katharineum.de>\n"
"Language-Team: French <https://translate.edugit.org/projects/aleksis/aleksis/fr/>\n"
......@@ -277,11 +277,13 @@ msgid "Preferences"
msgstr ""
#: aleksis/core/menus.py:97
msgid "Social accounts"
msgid "Third-party accounts"
msgstr ""
#: aleksis/core/menus.py:106
msgid "Authorized tokens"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/menus.py:117
......@@ -373,7 +375,7 @@ msgstr ""
msgid "Assign child groups to groups"
msgstr ""
#: aleksis/core/mixins.py:476
#: aleksis/core/mixins.py:475
msgid "Linked school term"
msgstr ""
......@@ -952,143 +954,147 @@ msgstr ""
msgid "Internationalisation"
msgstr ""
#: aleksis/core/preferences.py:39
#: aleksis/core/preferences.py:41
msgid "Site title"
msgstr ""
#: aleksis/core/preferences.py:48
#: aleksis/core/preferences.py:52
#, fuzzy
#| msgid "Description"
msgid "Site description"
msgstr "Description"
#: aleksis/core/preferences.py:57
#: aleksis/core/preferences.py:63
msgid "Primary colour"
msgstr ""
#: aleksis/core/preferences.py:67
#: aleksis/core/preferences.py:75
msgid "Secondary colour"
msgstr ""
#: aleksis/core/preferences.py:76
#: aleksis/core/preferences.py:86
msgid "Logo"
msgstr ""
#: aleksis/core/preferences.py:84
#: aleksis/core/preferences.py:96
msgid "Favicon"
msgstr ""
#: aleksis/core/preferences.py:92
#: aleksis/core/preferences.py:106
msgid "PWA-Icon"
msgstr ""
#: aleksis/core/preferences.py:101
#: aleksis/core/preferences.py:117
#, fuzzy
#| msgid "Last name"
msgid "Mail out name"
msgstr "Nom de famille"
#: aleksis/core/preferences.py:110
#: aleksis/core/preferences.py:128
msgid "Mail out address"
msgstr ""
#: aleksis/core/preferences.py:120
#: aleksis/core/preferences.py:140
msgid "Link to privacy policy"
msgstr ""
#: aleksis/core/preferences.py:130
#: aleksis/core/preferences.py:152
msgid "Link to imprint"
msgstr ""
#: aleksis/core/preferences.py:140
#: aleksis/core/preferences.py:164
msgid "Name format for addressing"
msgstr ""
#: aleksis/core/preferences.py:154
#: aleksis/core/preferences.py:180
msgid "Channels to use for notifications"
msgstr ""
#: aleksis/core/preferences.py:164
#: aleksis/core/preferences.py:192
msgid "Regular expression to match primary group, e.g. '^Class .*'"
msgstr ""
#: aleksis/core/preferences.py:173
#: aleksis/core/preferences.py:203
msgid "Field on person to match primary group against"
msgstr ""
#: aleksis/core/preferences.py:185
#: aleksis/core/preferences.py:215
msgid "Automatically create new persons for new users"
msgstr ""
#: aleksis/core/preferences.py:194
#: aleksis/core/preferences.py:224
msgid "Automatically link existing persons to new users by their e-mail address"
msgstr ""
#: aleksis/core/preferences.py:203
#: aleksis/core/preferences.py:235
msgid "Display name of the school"
msgstr ""
#: aleksis/core/preferences.py:212
#: aleksis/core/preferences.py:246
msgid "Official name of the school, e.g. as given by supervisory authority"
msgstr ""
#: aleksis/core/preferences.py:220
#: aleksis/core/preferences.py:256
msgid "Enabled custom authentication backends"
msgstr ""
#: aleksis/core/preferences.py:268
msgid "Allow users to change their passwords"
msgstr ""
#: aleksis/core/preferences.py:228
#: aleksis/core/preferences.py:276
msgid "Enable signup"
msgstr ""
#: aleksis/core/preferences.py:237
#: aleksis/core/preferences.py:287
msgid "Available languages"
msgstr ""
#: aleksis/core/preferences.py:249
#: aleksis/core/preferences.py:299
msgid "Send emails if data checks detect problems"
msgstr ""
#: aleksis/core/preferences.py:260
#: aleksis/core/preferences.py:310
msgid "Email recipients for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:271
#: aleksis/core/preferences.py:321
msgid "Email recipient groups for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:280
#: aleksis/core/preferences.py:330
msgid "Show dashboard to users without login"
msgstr ""
#: aleksis/core/preferences.py:289
#: aleksis/core/preferences.py:339
msgid "Allow users to edit their dashboard"
msgstr ""
#: aleksis/core/preferences.py:300
#: aleksis/core/preferences.py:350
msgid "Fields on person model which are editable by themselves."
msgstr ""
#: aleksis/core/preferences.py:314
#: aleksis/core/preferences.py:364
msgid "Editable fields on person model which should trigger a notification on change"
msgstr ""
#: aleksis/core/preferences.py:327
#: aleksis/core/preferences.py:377
msgid "Contact for notification if a person changes their data"
msgstr ""
#: aleksis/core/preferences.py:337
#: aleksis/core/preferences.py:387
msgid "PDF file expiration duration"
msgstr ""
#: aleksis/core/preferences.py:338
#: aleksis/core/preferences.py:388
msgid "in minutes"
msgstr ""
#: aleksis/core/settings.py:477
#: aleksis/core/settings.py:470
msgid "English"
msgstr ""
#: aleksis/core/settings.py:478
#: aleksis/core/settings.py:471
msgid "German"
msgstr ""
......@@ -2178,26 +2184,23 @@ msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
msgid "Revoke token"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke access"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:12
msgid "Are you sure to revoke this token?"
msgid "Are you sure to revoke the access for this application?"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:20
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
msgid "No authorized tokens defined."
msgstr ""
#, fuzzy
#| msgid "Contact details"
msgid "No authorized applications."
msgstr "Détails de contact"
#: aleksis/core/templates/offline.html:5
msgid "Network error"
......@@ -2240,17 +2243,17 @@ msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:5
#: aleksis/core/templates/socialaccount/authentication_error.html:6
msgid "Social Network Login Failure"
msgid "Third-party Account Login Failure"
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:13
msgid "Social Network Login Failure."
msgid "Third-party Account Login Failure."
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:15
msgid ""
"\n"
" An error occurred while attempting to login via your social network account.\n"
" An error occurred while attempting to login via your third-party account.\n"
" Please contact one of your site administrators.\n"
" "
msgstr ""
......@@ -2265,11 +2268,11 @@ msgid "Remove"
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:34
msgid "You currently have no social network accounts connected to this account."
msgid "You currently have no third-party accounts connected to this account."
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:37
msgid "Add a 3rd Party Account"
msgid "Add a Third-party Account"
msgstr ""
#: aleksis/core/templates/socialaccount/login_cancelled.html:5
......@@ -2312,7 +2315,7 @@ msgstr ""
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:30
msgid ""
"\n"
" No 3rd party account providers available.\n"
" No third-party account providers available.\n"
" "
msgstr ""
......@@ -2775,107 +2778,107 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: aleksis/core/views.py:195
#: aleksis/core/views.py:249
msgid "The school term has been created."
msgstr ""
#: aleksis/core/views.py:207
#: aleksis/core/views.py:261
msgid "The school term has been saved."
msgstr ""
#: aleksis/core/views.py:352
#: aleksis/core/views.py:406
msgid "The child groups were successfully saved."
msgstr ""
#: aleksis/core/views.py:413
#: aleksis/core/views.py:467
msgid "The person has been saved."
msgstr ""
#: aleksis/core/views.py:452
#: aleksis/core/views.py:506
msgid "The group has been saved."
msgstr ""
#: aleksis/core/views.py:549
#: aleksis/core/views.py:603
msgid "The announcement has been saved."
msgstr ""
#: aleksis/core/views.py:565
#: aleksis/core/views.py:619
msgid "The announcement has been deleted."
msgstr ""
#: aleksis/core/views.py:649
#: aleksis/core/views.py:703
msgid "The preferences have been saved successfully."
msgstr ""
#: aleksis/core/views.py:673
#: aleksis/core/views.py:727
msgid "The person has been deleted."
msgstr ""
#: aleksis/core/views.py:687
#: aleksis/core/views.py:741
msgid "The group has been deleted."
msgstr ""
#: aleksis/core/views.py:719
#: aleksis/core/views.py:773
msgid "The additional_field has been saved."
msgstr ""
#: aleksis/core/views.py:753
#: aleksis/core/views.py:807
msgid "The additional field has been deleted."
msgstr ""
#: aleksis/core/views.py:778
#: aleksis/core/views.py:832
msgid "The group type has been saved."
msgstr ""
#: aleksis/core/views.py:808
#: aleksis/core/views.py:862
msgid "The group type has been deleted."
msgstr ""
#: aleksis/core/views.py:841
#: aleksis/core/views.py:895
msgid "Progress: Run data checks"
msgstr ""
#: aleksis/core/views.py:842
#: aleksis/core/views.py:896
msgid "Run data checks …"
msgstr ""
#: aleksis/core/views.py:843
#: aleksis/core/views.py:897
msgid "The data checks were run successfully."
msgstr ""
#: aleksis/core/views.py:844
#: aleksis/core/views.py:898
msgid "There was a problem while running data checks."
msgstr ""
#: aleksis/core/views.py:860
#: aleksis/core/views.py:914
#, python-brace-format
msgid "The solve option '{solve_option_obj.verbose_name}' "
msgstr ""
#: aleksis/core/views.py:902
#: aleksis/core/views.py:956
msgid "The dashboard widget has been saved."
msgstr ""
#: aleksis/core/views.py:932
#: aleksis/core/views.py:986
msgid "The dashboard widget has been created."
msgstr ""
#: aleksis/core/views.py:942
#: aleksis/core/views.py:996
msgid "The dashboard widget has been deleted."
msgstr ""
#: aleksis/core/views.py:1009
#: aleksis/core/views.py:1063
msgid "Your dashboard configuration has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1011
#: aleksis/core/views.py:1065
msgid "The configuration of the default dashboard has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1137
msgid "The social account could not be disconnected because it is the only login method available."
#: aleksis/core/views.py:1191
msgid "The third-party account could not be disconnected because it is the only login method available."
msgstr ""
#: aleksis/core/views.py:1144
msgid "The social account has been successfully disconnected."
#: aleksis/core/views.py:1198
msgid "The third-party account has been successfully disconnected."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -30,6 +30,6 @@ msgstr ""
msgid "OK"
msgstr ""
#: aleksis/core/static/js/main.js:121
#: aleksis/core/static/js/main.js:133
msgid "This page may contain outdated information since there is no internet connection."
msgstr ""
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: 2020-12-19 12:57+0000\n"
"Last-Translator: Julian <leuckerj@gmail.com>\n"
"Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis/la/>\n"
......@@ -279,12 +279,16 @@ msgstr ""
#: aleksis/core/menus.py:97
#, fuzzy
#| msgid "Persons and accounts"
msgid "Social accounts"
msgid "Third-party accounts"
msgstr "Personae et computi"
#: aleksis/core/menus.py:106
msgid "Authorized tokens"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
#, fuzzy
#| msgid "Notifications"
msgid "Authorized applications"
msgstr "Nuntii"
#: aleksis/core/menus.py:117
msgid "Admin"
......@@ -385,7 +389,7 @@ msgstr "addita nomines"
msgid "Assign child groups to groups"
msgstr ""
#: aleksis/core/mixins.py:476
#: aleksis/core/mixins.py:475
#, fuzzy
#| msgid "Edit school term"
msgid "Linked school term"
......@@ -1002,147 +1006,151 @@ msgstr "Nuntii"
msgid "Internationalisation"
msgstr "Simulare aliquem"
#: aleksis/core/preferences.py:39
#: aleksis/core/preferences.py:41
msgid "Site title"
msgstr "Titulus paginae"
#: aleksis/core/preferences.py:48
#: aleksis/core/preferences.py:52
msgid "Site description"
msgstr "Descriptio paginae"
#: aleksis/core/preferences.py:57
#: aleksis/core/preferences.py:63
msgid "Primary colour"
msgstr ""
#: aleksis/core/preferences.py:67
#: aleksis/core/preferences.py:75
msgid "Secondary colour"
msgstr ""
#: aleksis/core/preferences.py:76
#: aleksis/core/preferences.py:86
#, fuzzy
#| msgid "Logout"
msgid "Logo"
msgstr "nomen retractare"
#: aleksis/core/preferences.py:84
#: aleksis/core/preferences.py:96
msgid "Favicon"
msgstr ""
#: aleksis/core/preferences.py:92
#: aleksis/core/preferences.py:106
#, fuzzy
#| msgid "Icon"
msgid "PWA-Icon"
msgstr "Nota"
#: aleksis/core/preferences.py:101
#: aleksis/core/preferences.py:117
#, fuzzy
#| msgid "Last name"
msgid "Mail out name"
msgstr "Secondus nomen"
#: aleksis/core/preferences.py:110
#: aleksis/core/preferences.py:128
#, fuzzy
#| msgid "E-mail address"
msgid "Mail out address"
msgstr "Inscriptio electronica"
#: aleksis/core/preferences.py:120
#: aleksis/core/preferences.py:140
msgid "Link to privacy policy"
msgstr ""
#: aleksis/core/preferences.py:130
#: aleksis/core/preferences.py:152
msgid "Link to imprint"
msgstr ""
#: aleksis/core/preferences.py:140
#: aleksis/core/preferences.py:164
msgid "Name format for addressing"
msgstr ""
#: aleksis/core/preferences.py:154
#: aleksis/core/preferences.py:180
msgid "Channels to use for notifications"
msgstr ""
#: aleksis/core/preferences.py:164
#: aleksis/core/preferences.py:192
msgid "Regular expression to match primary group, e.g. '^Class .*'"
msgstr ""
#: aleksis/core/preferences.py:173
#: aleksis/core/preferences.py:203
msgid "Field on person to match primary group against"
msgstr ""
#: aleksis/core/preferences.py:185
#: aleksis/core/preferences.py:215
msgid "Automatically create new persons for new users"
msgstr ""
#: aleksis/core/preferences.py:194
#: aleksis/core/preferences.py:224
msgid "Automatically link existing persons to new users by their e-mail address"
msgstr ""
#: aleksis/core/preferences.py:203
#: aleksis/core/preferences.py:235
msgid "Display name of the school"
msgstr ""
#: aleksis/core/preferences.py:212
#: aleksis/core/preferences.py:246
msgid "Official name of the school, e.g. as given by supervisory authority"
msgstr "Officialis nomen scolae, e. g."
#: aleksis/core/preferences.py:220
#: aleksis/core/preferences.py:256
msgid "Enabled custom authentication backends"
msgstr ""
#: aleksis/core/preferences.py:268
msgid "Allow users to change their passwords"
msgstr ""
#: aleksis/core/preferences.py:228
#: aleksis/core/preferences.py:276
msgid "Enable signup"
msgstr ""
#: aleksis/core/preferences.py:237
#: aleksis/core/preferences.py:287
msgid "Available languages"
msgstr ""
#: aleksis/core/preferences.py:249
#: aleksis/core/preferences.py:299
msgid "Send emails if data checks detect problems"
msgstr ""
#: aleksis/core/preferences.py:260
#: aleksis/core/preferences.py:310
msgid "Email recipients for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:271
#: aleksis/core/preferences.py:321
msgid "Email recipient groups for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:280
#: aleksis/core/preferences.py:330
msgid "Show dashboard to users without login"
msgstr ""
#: aleksis/core/preferences.py:289
#: aleksis/core/preferences.py:339
msgid "Allow users to edit their dashboard"
msgstr ""
#: aleksis/core/preferences.py:300
#: aleksis/core/preferences.py:350
msgid "Fields on person model which are editable by themselves."
msgstr ""
#: aleksis/core/preferences.py:314
#: aleksis/core/preferences.py:364
msgid "Editable fields on person model which should trigger a notification on change"
msgstr ""
#: aleksis/core/preferences.py:327
#: aleksis/core/preferences.py:377
msgid "Contact for notification if a person changes their data"
msgstr ""
#: aleksis/core/preferences.py:337
#: aleksis/core/preferences.py:387
msgid "PDF file expiration duration"
msgstr ""
#: aleksis/core/preferences.py:338
#: aleksis/core/preferences.py:388
msgid "in minutes"
msgstr ""
#: aleksis/core/settings.py:477
#: aleksis/core/settings.py:470
msgid "English"
msgstr "Britannicus"
#: aleksis/core/settings.py:478
#: aleksis/core/settings.py:471
msgid "German"
msgstr "Germanus"
......@@ -2286,29 +2294,24 @@ msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
msgid "Revoke token"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke access"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:12
msgid "Are you sure to revoke this token?"
msgid "Are you sure to revoke the access for this application?"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:20
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
#, fuzzy
#| msgid "Notifications"
msgid "Authorized applications"
msgid "No authorized applications."
msgstr "Nuntii"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
msgid "No authorized tokens defined."
msgstr ""
#: aleksis/core/templates/offline.html:5
msgid "Network error"
msgstr ""
......@@ -2350,17 +2353,17 @@ msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:5
#: aleksis/core/templates/socialaccount/authentication_error.html:6
msgid "Social Network Login Failure"
msgid "Third-party Account Login Failure"
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:13
msgid "Social Network Login Failure."
msgid "Third-party Account Login Failure."
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:15
msgid ""
"\n"
" An error occurred while attempting to login via your social network account.\n"
" An error occurred while attempting to login via your third-party account.\n"
" Please contact one of your site administrators.\n"
" "
msgstr ""
......@@ -2377,11 +2380,11 @@ msgid "Remove"
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:34
msgid "You currently have no social network accounts connected to this account."
msgid "You currently have no third-party accounts connected to this account."
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:37
msgid "Add a 3rd Party Account"
msgid "Add a Third-party Account"
msgstr ""
#: aleksis/core/templates/socialaccount/login_cancelled.html:5
......@@ -2424,7 +2427,7 @@ msgstr ""
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:30
msgid ""
"\n"
" No 3rd party account providers available.\n"
" No third-party account providers available.\n"
" "
msgstr ""
......@@ -2894,111 +2897,111 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: aleksis/core/views.py:195
#: aleksis/core/views.py:249
msgid "The school term has been created."
msgstr ""
#: aleksis/core/views.py:207
#: aleksis/core/views.py:261
msgid "The school term has been saved."
msgstr ""
#: aleksis/core/views.py:352
#: aleksis/core/views.py:406
msgid "The child groups were successfully saved."
msgstr ""
#: aleksis/core/views.py:413
#: aleksis/core/views.py:467
msgid "The person has been saved."
msgstr ""
#: aleksis/core/views.py:452
#: aleksis/core/views.py:506
msgid "The group has been saved."
msgstr ""
#: aleksis/core/views.py:549
#: aleksis/core/views.py:603
msgid "The announcement has been saved."
msgstr ""
#: aleksis/core/views.py:565
#: aleksis/core/views.py:619
msgid "The announcement has been deleted."
msgstr ""
#: aleksis/core/views.py:649
#: aleksis/core/views.py:703
msgid "The preferences have been saved successfully."
msgstr ""
#: aleksis/core/views.py:673
#: aleksis/core/views.py:727
msgid "The person has been deleted."
msgstr ""
#: aleksis/core/views.py:687
#: aleksis/core/views.py:741
msgid "The group has been deleted."
msgstr ""
#: aleksis/core/views.py:719
#: aleksis/core/views.py:773
msgid "The additional_field has been saved."
msgstr ""
#: aleksis/core/views.py:753
#: aleksis/core/views.py:807
msgid "The additional field has been deleted."
msgstr ""
#: aleksis/core/views.py:778
#: aleksis/core/views.py:832
msgid "The group type has been saved."
msgstr ""
#: aleksis/core/views.py:808
#: aleksis/core/views.py:862
msgid "The group type has been deleted."
msgstr ""
#: aleksis/core/views.py:841
#: aleksis/core/views.py:895
msgid "Progress: Run data checks"
msgstr ""
#: aleksis/core/views.py:842
#: aleksis/core/views.py:896
#, fuzzy
#| msgid "System status"
msgid "Run data checks …"
msgstr "Status systemae"
#: aleksis/core/views.py:843
#: aleksis/core/views.py:897
msgid "The data checks were run successfully."
msgstr ""
#: aleksis/core/views.py:844
#: aleksis/core/views.py:898
msgid "There was a problem while running data checks."
msgstr ""
#: aleksis/core/views.py:860
#: aleksis/core/views.py:914
#, python-brace-format
msgid "The solve option '{solve_option_obj.verbose_name}' "
msgstr ""
#: aleksis/core/views.py:902
#: aleksis/core/views.py:956
msgid "The dashboard widget has been saved."
msgstr ""
#: aleksis/core/views.py:932
#: aleksis/core/views.py:986
msgid "The dashboard widget has been created."
msgstr ""
#: aleksis/core/views.py:942
#: aleksis/core/views.py:996
msgid "The dashboard widget has been deleted."
msgstr ""
#: aleksis/core/views.py:1009
#: aleksis/core/views.py:1063
msgid "Your dashboard configuration has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1011
#: aleksis/core/views.py:1065
msgid "The configuration of the default dashboard has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1137
msgid "The social account could not be disconnected because it is the only login method available."
#: aleksis/core/views.py:1191
msgid "The third-party account could not be disconnected because it is the only login method available."
msgstr ""
#: aleksis/core/views.py:1144
msgid "The social account has been successfully disconnected."
#: aleksis/core/views.py:1198
msgid "The third-party account has been successfully disconnected."
msgstr ""
#~ msgid "School logo"
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -29,6 +29,6 @@ msgstr ""
msgid "OK"
msgstr ""
#: aleksis/core/static/js/main.js:121
#: aleksis/core/static/js/main.js:133
msgid "This page may contain outdated information since there is no internet connection."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: AlekSIS (School Information System) 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -260,11 +260,13 @@ msgid "Preferences"
msgstr ""
#: aleksis/core/menus.py:97
msgid "Social accounts"
msgid "Third-party accounts"
msgstr ""
#: aleksis/core/menus.py:106
msgid "Authorized tokens"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/menus.py:117
......@@ -354,7 +356,7 @@ msgstr ""
msgid "Assign child groups to groups"
msgstr ""
#: aleksis/core/mixins.py:476
#: aleksis/core/mixins.py:475
msgid "Linked school term"
msgstr ""
......@@ -903,139 +905,143 @@ msgstr ""
msgid "Internationalisation"
msgstr ""
#: aleksis/core/preferences.py:39
#: aleksis/core/preferences.py:41
msgid "Site title"
msgstr ""
#: aleksis/core/preferences.py:48
#: aleksis/core/preferences.py:52
msgid "Site description"
msgstr ""
#: aleksis/core/preferences.py:57
#: aleksis/core/preferences.py:63
msgid "Primary colour"
msgstr ""
#: aleksis/core/preferences.py:67
#: aleksis/core/preferences.py:75
msgid "Secondary colour"
msgstr ""
#: aleksis/core/preferences.py:76
#: aleksis/core/preferences.py:86
msgid "Logo"
msgstr ""
#: aleksis/core/preferences.py:84
#: aleksis/core/preferences.py:96
msgid "Favicon"
msgstr ""
#: aleksis/core/preferences.py:92
#: aleksis/core/preferences.py:106
msgid "PWA-Icon"
msgstr ""
#: aleksis/core/preferences.py:101
#: aleksis/core/preferences.py:117
msgid "Mail out name"
msgstr ""
#: aleksis/core/preferences.py:110
#: aleksis/core/preferences.py:128
msgid "Mail out address"
msgstr ""
#: aleksis/core/preferences.py:120
#: aleksis/core/preferences.py:140
msgid "Link to privacy policy"
msgstr ""
#: aleksis/core/preferences.py:130
#: aleksis/core/preferences.py:152
msgid "Link to imprint"
msgstr ""
#: aleksis/core/preferences.py:140
#: aleksis/core/preferences.py:164
msgid "Name format for addressing"
msgstr ""
#: aleksis/core/preferences.py:154
#: aleksis/core/preferences.py:180
msgid "Channels to use for notifications"
msgstr ""
#: aleksis/core/preferences.py:164
#: aleksis/core/preferences.py:192
msgid "Regular expression to match primary group, e.g. '^Class .*'"
msgstr ""
#: aleksis/core/preferences.py:173
#: aleksis/core/preferences.py:203
msgid "Field on person to match primary group against"
msgstr ""
#: aleksis/core/preferences.py:185
#: aleksis/core/preferences.py:215
msgid "Automatically create new persons for new users"
msgstr ""
#: aleksis/core/preferences.py:194
#: aleksis/core/preferences.py:224
msgid "Automatically link existing persons to new users by their e-mail address"
msgstr ""
#: aleksis/core/preferences.py:203
#: aleksis/core/preferences.py:235
msgid "Display name of the school"
msgstr ""
#: aleksis/core/preferences.py:212
#: aleksis/core/preferences.py:246
msgid "Official name of the school, e.g. as given by supervisory authority"
msgstr ""
#: aleksis/core/preferences.py:220
#: aleksis/core/preferences.py:256
msgid "Enabled custom authentication backends"
msgstr ""
#: aleksis/core/preferences.py:268
msgid "Allow users to change their passwords"
msgstr ""
#: aleksis/core/preferences.py:228
#: aleksis/core/preferences.py:276
msgid "Enable signup"
msgstr ""
#: aleksis/core/preferences.py:237
#: aleksis/core/preferences.py:287
msgid "Available languages"
msgstr ""
#: aleksis/core/preferences.py:249
#: aleksis/core/preferences.py:299
msgid "Send emails if data checks detect problems"
msgstr ""
#: aleksis/core/preferences.py:260
#: aleksis/core/preferences.py:310
msgid "Email recipients for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:271
#: aleksis/core/preferences.py:321
msgid "Email recipient groups for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:280
#: aleksis/core/preferences.py:330
msgid "Show dashboard to users without login"
msgstr ""
#: aleksis/core/preferences.py:289
#: aleksis/core/preferences.py:339
msgid "Allow users to edit their dashboard"
msgstr ""
#: aleksis/core/preferences.py:300
#: aleksis/core/preferences.py:350
msgid "Fields on person model which are editable by themselves."
msgstr ""
#: aleksis/core/preferences.py:314
#: aleksis/core/preferences.py:364
msgid "Editable fields on person model which should trigger a notification on change"
msgstr ""
#: aleksis/core/preferences.py:327
#: aleksis/core/preferences.py:377
msgid "Contact for notification if a person changes their data"
msgstr ""
#: aleksis/core/preferences.py:337
#: aleksis/core/preferences.py:387
msgid "PDF file expiration duration"
msgstr ""
#: aleksis/core/preferences.py:338
#: aleksis/core/preferences.py:388
msgid "in minutes"
msgstr ""
#: aleksis/core/settings.py:477
#: aleksis/core/settings.py:470
msgid "English"
msgstr ""
#: aleksis/core/settings.py:478
#: aleksis/core/settings.py:471
msgid "German"
msgstr ""
......@@ -2109,25 +2115,20 @@ msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
msgid "Revoke token"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke access"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:12
msgid "Are you sure to revoke this token?"
msgid "Are you sure to revoke the access for this application?"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:20
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
msgid "No authorized tokens defined."
msgid "No authorized applications."
msgstr ""
#: aleksis/core/templates/offline.html:5
......@@ -2171,17 +2172,17 @@ msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:5
#: aleksis/core/templates/socialaccount/authentication_error.html:6
msgid "Social Network Login Failure"
msgid "Third-party Account Login Failure"
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:13
msgid "Social Network Login Failure."
msgid "Third-party Account Login Failure."
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:15
msgid ""
"\n"
" An error occurred while attempting to login via your social network account.\n"
" An error occurred while attempting to login via your third-party account.\n"
" Please contact one of your site administrators.\n"
" "
msgstr ""
......@@ -2196,11 +2197,11 @@ msgid "Remove"
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:34
msgid "You currently have no social network accounts connected to this account."
msgid "You currently have no third-party accounts connected to this account."
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:37
msgid "Add a 3rd Party Account"
msgid "Add a Third-party Account"
msgstr ""
#: aleksis/core/templates/socialaccount/login_cancelled.html:5
......@@ -2243,7 +2244,7 @@ msgstr ""
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:30
msgid ""
"\n"
" No 3rd party account providers available.\n"
" No third-party account providers available.\n"
" "
msgstr ""
......@@ -2704,109 +2705,109 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: aleksis/core/views.py:195
#: aleksis/core/views.py:249
msgid "The school term has been created."
msgstr ""
#: aleksis/core/views.py:207
#: aleksis/core/views.py:261
msgid "The school term has been saved."
msgstr ""
#: aleksis/core/views.py:352
#: aleksis/core/views.py:406
msgid "The child groups were successfully saved."
msgstr ""
#: aleksis/core/views.py:413
#: aleksis/core/views.py:467
msgid "The person has been saved."
msgstr ""
#: aleksis/core/views.py:452
#: aleksis/core/views.py:506
msgid "The group has been saved."
msgstr ""
#: aleksis/core/views.py:549
#: aleksis/core/views.py:603
msgid "The announcement has been saved."
msgstr ""
#: aleksis/core/views.py:565
#: aleksis/core/views.py:619
msgid "The announcement has been deleted."
msgstr ""
#: aleksis/core/views.py:649
#: aleksis/core/views.py:703
msgid "The preferences have been saved successfully."
msgstr ""
#: aleksis/core/views.py:673
#: aleksis/core/views.py:727
msgid "The person has been deleted."
msgstr ""
#: aleksis/core/views.py:687
#: aleksis/core/views.py:741
msgid "The group has been deleted."
msgstr ""
#: aleksis/core/views.py:719
#: aleksis/core/views.py:773
msgid "The additional_field has been saved."
msgstr ""
#: aleksis/core/views.py:753
#: aleksis/core/views.py:807
msgid "The additional field has been deleted."
msgstr ""
#: aleksis/core/views.py:778
#: aleksis/core/views.py:832
msgid "The group type has been saved."
msgstr ""
#: aleksis/core/views.py:808
#: aleksis/core/views.py:862
msgid "The group type has been deleted."
msgstr ""
#: aleksis/core/views.py:841
#: aleksis/core/views.py:895
msgid "Progress: Run data checks"
msgstr ""
#: aleksis/core/views.py:842
#: aleksis/core/views.py:896
msgid "Run data checks …"
msgstr ""
#: aleksis/core/views.py:843
#: aleksis/core/views.py:897
msgid "The data checks were run successfully."
msgstr ""
#: aleksis/core/views.py:844
#: aleksis/core/views.py:898
msgid "There was a problem while running data checks."
msgstr ""
#: aleksis/core/views.py:860
#: aleksis/core/views.py:914
#, python-brace-format
msgid "The solve option '{solve_option_obj.verbose_name}' "
msgstr ""
#: aleksis/core/views.py:902
#: aleksis/core/views.py:956
msgid "The dashboard widget has been saved."
msgstr ""
#: aleksis/core/views.py:932
#: aleksis/core/views.py:986
msgid "The dashboard widget has been created."
msgstr ""
#: aleksis/core/views.py:942
#: aleksis/core/views.py:996
msgid "The dashboard widget has been deleted."
msgstr ""
#: aleksis/core/views.py:1009
#: aleksis/core/views.py:1063
msgid "Your dashboard configuration has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1011
#: aleksis/core/views.py:1065
msgid "The configuration of the default dashboard has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1137
msgid "The social account could not be disconnected because it is the only login method available."
#: aleksis/core/views.py:1191
msgid "The third-party account could not be disconnected because it is the only login method available."
msgstr ""
#: aleksis/core/views.py:1144
msgid "The social account has been successfully disconnected."
#: aleksis/core/views.py:1198
msgid "The third-party account has been successfully disconnected."
msgstr ""
#~ msgid "Norwegian (bokmål)"
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -29,6 +29,6 @@ msgstr ""
msgid "OK"
msgstr ""
#: aleksis/core/static/js/main.js:121
#: aleksis/core/static/js/main.js:133
msgid "This page may contain outdated information since there is no internet connection."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: AlekSIS (School Information System) 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -260,11 +260,13 @@ msgid "Preferences"
msgstr ""
#: aleksis/core/menus.py:97
msgid "Social accounts"
msgid "Third-party accounts"
msgstr ""
#: aleksis/core/menus.py:106
msgid "Authorized tokens"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/menus.py:117
......@@ -354,7 +356,7 @@ msgstr ""
msgid "Assign child groups to groups"
msgstr ""
#: aleksis/core/mixins.py:476
#: aleksis/core/mixins.py:475
msgid "Linked school term"
msgstr ""
......@@ -903,139 +905,143 @@ msgstr ""
msgid "Internationalisation"
msgstr ""
#: aleksis/core/preferences.py:39
#: aleksis/core/preferences.py:41
msgid "Site title"
msgstr ""
#: aleksis/core/preferences.py:48
#: aleksis/core/preferences.py:52
msgid "Site description"
msgstr ""
#: aleksis/core/preferences.py:57
#: aleksis/core/preferences.py:63
msgid "Primary colour"
msgstr ""
#: aleksis/core/preferences.py:67
#: aleksis/core/preferences.py:75
msgid "Secondary colour"
msgstr ""
#: aleksis/core/preferences.py:76
#: aleksis/core/preferences.py:86
msgid "Logo"
msgstr ""
#: aleksis/core/preferences.py:84
#: aleksis/core/preferences.py:96
msgid "Favicon"
msgstr ""
#: aleksis/core/preferences.py:92
#: aleksis/core/preferences.py:106
msgid "PWA-Icon"
msgstr ""
#: aleksis/core/preferences.py:101
#: aleksis/core/preferences.py:117
msgid "Mail out name"
msgstr ""
#: aleksis/core/preferences.py:110
#: aleksis/core/preferences.py:128
msgid "Mail out address"
msgstr ""
#: aleksis/core/preferences.py:120
#: aleksis/core/preferences.py:140
msgid "Link to privacy policy"
msgstr ""
#: aleksis/core/preferences.py:130
#: aleksis/core/preferences.py:152
msgid "Link to imprint"
msgstr ""
#: aleksis/core/preferences.py:140
#: aleksis/core/preferences.py:164
msgid "Name format for addressing"
msgstr ""
#: aleksis/core/preferences.py:154
#: aleksis/core/preferences.py:180
msgid "Channels to use for notifications"
msgstr ""
#: aleksis/core/preferences.py:164
#: aleksis/core/preferences.py:192
msgid "Regular expression to match primary group, e.g. '^Class .*'"
msgstr ""
#: aleksis/core/preferences.py:173
#: aleksis/core/preferences.py:203
msgid "Field on person to match primary group against"
msgstr ""
#: aleksis/core/preferences.py:185
#: aleksis/core/preferences.py:215
msgid "Automatically create new persons for new users"
msgstr ""
#: aleksis/core/preferences.py:194
#: aleksis/core/preferences.py:224
msgid "Automatically link existing persons to new users by their e-mail address"
msgstr ""
#: aleksis/core/preferences.py:203
#: aleksis/core/preferences.py:235
msgid "Display name of the school"
msgstr ""
#: aleksis/core/preferences.py:212
#: aleksis/core/preferences.py:246
msgid "Official name of the school, e.g. as given by supervisory authority"
msgstr ""
#: aleksis/core/preferences.py:220
#: aleksis/core/preferences.py:256
msgid "Enabled custom authentication backends"
msgstr ""
#: aleksis/core/preferences.py:268
msgid "Allow users to change their passwords"
msgstr ""
#: aleksis/core/preferences.py:228
#: aleksis/core/preferences.py:276
msgid "Enable signup"
msgstr ""
#: aleksis/core/preferences.py:237
#: aleksis/core/preferences.py:287
msgid "Available languages"
msgstr ""
#: aleksis/core/preferences.py:249
#: aleksis/core/preferences.py:299
msgid "Send emails if data checks detect problems"
msgstr ""
#: aleksis/core/preferences.py:260
#: aleksis/core/preferences.py:310
msgid "Email recipients for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:271
#: aleksis/core/preferences.py:321
msgid "Email recipient groups for data checks problem emails"
msgstr ""
#: aleksis/core/preferences.py:280
#: aleksis/core/preferences.py:330
msgid "Show dashboard to users without login"
msgstr ""
#: aleksis/core/preferences.py:289
#: aleksis/core/preferences.py:339
msgid "Allow users to edit their dashboard"
msgstr ""
#: aleksis/core/preferences.py:300
#: aleksis/core/preferences.py:350
msgid "Fields on person model which are editable by themselves."
msgstr ""
#: aleksis/core/preferences.py:314
#: aleksis/core/preferences.py:364
msgid "Editable fields on person model which should trigger a notification on change"
msgstr ""
#: aleksis/core/preferences.py:327
#: aleksis/core/preferences.py:377
msgid "Contact for notification if a person changes their data"
msgstr ""
#: aleksis/core/preferences.py:337
#: aleksis/core/preferences.py:387
msgid "PDF file expiration duration"
msgstr ""
#: aleksis/core/preferences.py:338
#: aleksis/core/preferences.py:388
msgid "in minutes"
msgstr ""
#: aleksis/core/settings.py:477
#: aleksis/core/settings.py:470
msgid "English"
msgstr ""
#: aleksis/core/settings.py:478
#: aleksis/core/settings.py:471
msgid "German"
msgstr ""
......@@ -2109,25 +2115,20 @@ msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:5
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:6
msgid "Revoke token"
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke access"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:12
msgid "Are you sure to revoke this token?"
msgid "Are you sure to revoke the access for this application?"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-token-delete.html:20
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:23
msgid "Revoke"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:5
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:6
msgid "Authorized applications"
msgstr ""
#: aleksis/core/templates/oauth2_provider/authorized-tokens.html:33
msgid "No authorized tokens defined."
msgid "No authorized applications."
msgstr ""
#: aleksis/core/templates/offline.html:5
......@@ -2171,17 +2172,17 @@ msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:5
#: aleksis/core/templates/socialaccount/authentication_error.html:6
msgid "Social Network Login Failure"
msgid "Third-party Account Login Failure"
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:13
msgid "Social Network Login Failure."
msgid "Third-party Account Login Failure."
msgstr ""
#: aleksis/core/templates/socialaccount/authentication_error.html:15
msgid ""
"\n"
" An error occurred while attempting to login via your social network account.\n"
" An error occurred while attempting to login via your third-party account.\n"
" Please contact one of your site administrators.\n"
" "
msgstr ""
......@@ -2196,11 +2197,11 @@ msgid "Remove"
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:34
msgid "You currently have no social network accounts connected to this account."
msgid "You currently have no third-party accounts connected to this account."
msgstr ""
#: aleksis/core/templates/socialaccount/connections.html:37
msgid "Add a 3rd Party Account"
msgid "Add a Third-party Account"
msgstr ""
#: aleksis/core/templates/socialaccount/login_cancelled.html:5
......@@ -2243,7 +2244,7 @@ msgstr ""
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:30
msgid ""
"\n"
" No 3rd party account providers available.\n"
" No third-party account providers available.\n"
" "
msgstr ""
......@@ -2704,107 +2705,107 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: aleksis/core/views.py:195
#: aleksis/core/views.py:249
msgid "The school term has been created."
msgstr ""
#: aleksis/core/views.py:207
#: aleksis/core/views.py:261
msgid "The school term has been saved."
msgstr ""
#: aleksis/core/views.py:352
#: aleksis/core/views.py:406
msgid "The child groups were successfully saved."
msgstr ""
#: aleksis/core/views.py:413
#: aleksis/core/views.py:467
msgid "The person has been saved."
msgstr ""
#: aleksis/core/views.py:452
#: aleksis/core/views.py:506
msgid "The group has been saved."
msgstr ""
#: aleksis/core/views.py:549
#: aleksis/core/views.py:603
msgid "The announcement has been saved."
msgstr ""
#: aleksis/core/views.py:565
#: aleksis/core/views.py:619
msgid "The announcement has been deleted."
msgstr ""
#: aleksis/core/views.py:649
#: aleksis/core/views.py:703
msgid "The preferences have been saved successfully."
msgstr ""
#: aleksis/core/views.py:673
#: aleksis/core/views.py:727
msgid "The person has been deleted."
msgstr ""
#: aleksis/core/views.py:687
#: aleksis/core/views.py:741
msgid "The group has been deleted."
msgstr ""
#: aleksis/core/views.py:719
#: aleksis/core/views.py:773
msgid "The additional_field has been saved."
msgstr ""
#: aleksis/core/views.py:753
#: aleksis/core/views.py:807
msgid "The additional field has been deleted."
msgstr ""
#: aleksis/core/views.py:778
#: aleksis/core/views.py:832
msgid "The group type has been saved."
msgstr ""
#: aleksis/core/views.py:808
#: aleksis/core/views.py:862
msgid "The group type has been deleted."
msgstr ""
#: aleksis/core/views.py:841
#: aleksis/core/views.py:895
msgid "Progress: Run data checks"
msgstr ""
#: aleksis/core/views.py:842
#: aleksis/core/views.py:896
msgid "Run data checks …"
msgstr ""
#: aleksis/core/views.py:843
#: aleksis/core/views.py:897
msgid "The data checks were run successfully."
msgstr ""
#: aleksis/core/views.py:844
#: aleksis/core/views.py:898
msgid "There was a problem while running data checks."
msgstr ""
#: aleksis/core/views.py:860
#: aleksis/core/views.py:914
#, python-brace-format
msgid "The solve option '{solve_option_obj.verbose_name}' "
msgstr ""
#: aleksis/core/views.py:902
#: aleksis/core/views.py:956
msgid "The dashboard widget has been saved."
msgstr ""
#: aleksis/core/views.py:932
#: aleksis/core/views.py:986
msgid "The dashboard widget has been created."
msgstr ""
#: aleksis/core/views.py:942
#: aleksis/core/views.py:996
msgid "The dashboard widget has been deleted."
msgstr ""
#: aleksis/core/views.py:1009
#: aleksis/core/views.py:1063
msgid "Your dashboard configuration has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1011
#: aleksis/core/views.py:1065
msgid "The configuration of the default dashboard has been saved successfully."
msgstr ""
#: aleksis/core/views.py:1137
msgid "The social account could not be disconnected because it is the only login method available."
#: aleksis/core/views.py:1191
msgid "The third-party account could not be disconnected because it is the only login method available."
msgstr ""
#: aleksis/core/views.py:1144
msgid "The social account has been successfully disconnected."
#: aleksis/core/views.py:1198
msgid "The third-party account has been successfully disconnected."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-21 19:54+0200\n"
"POT-Creation-Date: 2021-06-08 16:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -29,6 +29,6 @@ msgstr ""
msgid "OK"
msgstr ""
#: aleksis/core/static/js/main.js:121
#: aleksis/core/static/js/main.js:133
msgid "This page may contain outdated information since there is no internet connection."
msgstr ""
......@@ -24,7 +24,9 @@ MENUS = {
"name": _("Dashboard"),
"url": "index",
"icon": "home",
"validators": ["menu_generator.validators.is_authenticated"],
"validators": [
("aleksis.core.util.predicates.permission_validator", "core.view_dashboard_rule")
],
},
{
"name": _("Notifications"),
......
......@@ -19,13 +19,13 @@ from .models import Group, Person
from .registries import person_preferences_registry, site_preferences_registry
from .util.notifications import get_notification_choices_lazy
general = Section("general")
school = Section("school")
theme = Section("theme")
mail = Section("mail")
notification = Section("notification")
footer = Section("footer")
account = Section("account")
general = Section("general", verbose_name=_("General"))
school = Section("school", verbose_name=_("School"))
theme = Section("theme", verbose_name=_("Theme"))
mail = Section("mail", verbose_name=_("Mail"))
notification = Section("notification", verbose_name=_("Notifications"))
footer = Section("footer", verbose_name=_("Footer"))
account = Section("account", verbose_name=_("Accounts"))
auth = Section("auth", verbose_name=_("Authentication"))
internationalisation = Section("internationalisation", verbose_name=_("Internationalisation"))
......
......@@ -342,11 +342,11 @@ if _settings.get("oauth2.oidc.enabled", False):
)
OAUTH2_PROVIDER["SCOPES"].update(
{
"openid": "OpenID Connect scope",
"profile": "Profile scope",
"phone": "Phone scope",
"email": "Email scope",
"address": "Address scope",
"openid": _("OpenID Connect scope"),
"profile": _("Given name, family name, link to profile and picture if existing."),
"address": _("Full home postal address"),
"email": _("Email address"),
"phone": _("Home and mobile phone"),
}
)
......@@ -492,7 +492,6 @@ NODE_MODULES_ROOT = _settings.get("node_modules.root", os.path.join(BASE_DIR, "n
YARN_INSTALLED_APPS = [
"@fontsource/roboto",
"datatables",
"jquery",
"materialize-css",
"material-design-icons-iconfont",
......@@ -513,7 +512,6 @@ SELECT2_JS = JS_URL + "/select2/dist/js/select2.min.js"
SELECT2_I18N_PATH = JS_URL + "/select2/dist/js/i18n"
ANY_JS = {
"DataTables": {"js_url": JS_URL + "/datatables/media/js/jquery.dataTables.min.js"},
"materialize": {"js_url": JS_URL + "/materialize-css/dist/js/materialize.min.js"},
"jQuery": {"js_url": JS_URL + "/jquery/dist/jquery.min.js"},
"material-design-icons": {
......
......@@ -91,12 +91,6 @@ $(document).ready(function () {
$("#" + $(this).data("preview")).css("color", $(this).val());
});
$('table.datatable').each(function (index) {
$(this).DataTable({
"paging": false
});
});
// Initialise auto-completion for search bar
window.autocomplete = new Autocomplete({minimum_length: 2});
window.autocomplete.setup();
......
......@@ -513,6 +513,16 @@ th.orderable.desc > a {
margin: 0;
}
.alert strong {
font-weight: 700;
}
.alert h1 {
font-weight: 700;
font-size: 17px;
margin: auto;
}
.alert > p, .alert > div {
margin: 10px;
padding: 10px;
......
......@@ -30,7 +30,7 @@
</a>
</div>
<strong>{{ notification.title }}</strong>
<h1>{{ notification.title }}</h1>
<p>{{ notification.description|linebreaks }}</p>
</div>
</div>
......