Skip to content
Snippets Groups Projects
Verified Commit cdcb273a authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Merge branch 'master' into 158-documentation-needed-for-first-release

parents ab9ff654 26bef1a9
No related branches found
No related tags found
1 merge request!333Documentation for beta release (Documentation for first release part 1)
Pipeline #12648 canceled
......@@ -8,9 +8,10 @@ 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"
"PO-Revision-Date: 2021-05-21 15:58+0000\n"
"PO-Revision-Date: 2021-05-21 18:38+0000\n"
"Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis/de/>\n"
"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis/"
"de/>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
......@@ -148,31 +149,31 @@ msgid "You need at least one recipient."
msgstr "Sie benötigen mindestens einen Empfänger."
#: aleksis/core/forms.py:414
#, fuzzy
#| msgid "Account"
msgid "Account data"
msgstr "Konto"
msgstr "Kontodaten"
#: aleksis/core/forms.py:416
msgid "Consents"
msgstr ""
msgstr "Zustimmungen"
#: aleksis/core/forms.py:421
msgid "Password"
msgstr ""
msgstr "Passwort"
#: aleksis/core/forms.py:427
msgid "Password (again)"
msgstr ""
msgstr "Passwort wiederholen"
#: aleksis/core/forms.py:436
#, python-brace-format
msgid "I have read the <a href='{privacy_policy}'>Privacy policy</a> and agree with them."
msgstr ""
"Ich habe die <a href='{privacy_policy}'>Datenschutzerklärung</a> gelesen und "
"stimme ihr zu."
#: aleksis/core/forms.py:460
msgid "You must type the same password each time."
msgstr ""
msgstr "Sie müssen zweimal das gleiche Passwort eingeben."
#: aleksis/core/forms.py:605
msgid "No valid selection."
......@@ -213,7 +214,7 @@ msgstr "Anmelden"
#: aleksis/core/menus.py:15 aleksis/core/templates/account/signup.html:20
#: aleksis/core/templates/socialaccount/signup.html:23
msgid "Sign up"
msgstr ""
msgstr "Registrieren"
#: aleksis/core/menus.py:24
msgid "Dashboard"
......@@ -251,7 +252,7 @@ msgstr "2FA"
#: aleksis/core/templates/account/password_reset_from_key_done.html:5
#: aleksis/core/templates/account/password_reset_from_key_done.html:6
msgid "Change password"
msgstr ""
msgstr "Passwort ändern"
#: aleksis/core/menus.py:79
msgid "Me"
......@@ -263,10 +264,8 @@ msgid "Preferences"
msgstr "Einstellungen"
#: aleksis/core/menus.py:97
#, fuzzy
#| msgid "Persons and accounts"
msgid "Social accounts"
msgstr "Personen und Konten"
msgstr "Soziale Konten"
#: aleksis/core/menus.py:106
msgid "Authorized tokens"
......@@ -985,14 +984,12 @@ msgid "Official name of the school, e.g. as given by supervisory authority"
msgstr "Offizieller Name der Schule, wie er z.B. von der Behörde vorgegeben ist"
#: aleksis/core/preferences.py:220
#, fuzzy
#| msgid "Allow users to edit their dashboard"
msgid "Allow users to change their passwords"
msgstr "Erlaube Benutzern, ihr Dashboard zu bearbeiten"
msgstr "Erlaube Benutzern, ihr Passwort zu ändern"
#: aleksis/core/preferences.py:228
msgid "Enable signup"
msgstr ""
msgstr "Registrierung aktivieren"
#: aleksis/core/preferences.py:237
msgid "Available languages"
......@@ -1157,23 +1154,14 @@ msgstr ""
#: aleksis/core/templates/account/account_inactive.html:5
#: aleksis/core/templates/account/account_inactive.html:6
#, fuzzy
#| msgid "Account Security"
msgid "Account inactive"
msgstr "Kontosicherheit"
msgstr "Konto inaktiv"
#: aleksis/core/templates/account/account_inactive.html:13
#, fuzzy
#| msgid "Account Security"
msgid "Account inactive."
msgstr "Kontosicherheit"
msgstr "Konto inaktiv."
#: aleksis/core/templates/account/account_inactive.html:15
#, fuzzy
#| msgid ""
#| "\n"
#| " This page is currently unavailable. If this error persists, contact your site administrators:\n"
#| " "
msgid ""
"\n"
" This account is currently inactive. If you think this is an\n"
......@@ -1181,14 +1169,13 @@ msgid ""
" "
msgstr ""
"\n"
" Diese Seite ist aktuell nicht erreichbar. Wenn dieser Fehler bestehen bleibt, kontaktieren Sie bitte einen Ihrer Systemadministratoren:\n"
" Dieses Konto ist aktuell inaktiv. Wenn Sie denken,\n"
"dass dies ein Fehler ist, kontaktieren Sie einen der Administratoren:\n"
" "
#: aleksis/core/templates/account/email/base_message.txt:5
#, fuzzy
#| msgid "Hello,"
msgid "Hello!"
msgstr "Hallo,"
msgstr "Hallo!"
#: aleksis/core/templates/account/email/base_message.txt:9
#: aleksis/core/templates/templated_email/notification.email:22
......@@ -1199,45 +1186,43 @@ msgstr "Ihr AlekSIS-Team"
#: aleksis/core/templates/account/email_confirm.html:5
#: aleksis/core/templates/account/email_confirm.html:6
#: aleksis/core/templates/account/email_confirm.html:17
#, fuzzy
#| msgid "Configuration"
msgid "Confirm"
msgstr "Konfiguration"
msgstr "Bestätigen"
#: aleksis/core/templates/account/email_confirm.html:12
#, python-format
msgid "Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail address for user %(user_display)s."
msgstr ""
"Bitte bestätigen Sie, dass <a href=\"mailto:%(email)s\">%(email)s</a> eine E"
"-Mail-Adresse für den Benutzer %(user_display)s ist."
#: aleksis/core/templates/account/email_confirm.html:25
#, python-format
msgid "This e-mail confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new e-mail confirmation request</a>."
msgstr ""
"Dieser E-Mail-Bestätigungslink ist abgelaufen oder nicht gültig. Bitte <a "
"href=\"%(email_url)s\">fragen Sie eine neue E-Mail-Bestätigung an</a>."
#: aleksis/core/templates/account/password_change.html:12
msgid "Forgot your current password? Click here to reset it:"
msgstr ""
"Haben Sie Ihr aktuelles Passwort vergessen? Klicken Sie hier, um es "
"zurückzusetzen:"
#: aleksis/core/templates/account/password_change.html:12
msgid "Forgot Password?"
msgstr ""
msgstr "Passwort vergessen?"
#: aleksis/core/templates/account/password_change_disabled.html:5
#: aleksis/core/templates/account/password_change_disabled.html:6
msgid "Changing of password disabled"
msgstr ""
msgstr "Passwortänderung deaktiviert"
#: aleksis/core/templates/account/password_change_disabled.html:13
msgid "Changing of password disabled."
msgstr ""
msgstr "Passwortänderung deaktiviert."
#: aleksis/core/templates/account/password_change_disabled.html:15
#, fuzzy
#| msgid ""
#| "\n"
#| " If you think this is an error in AlekSIS, please contact your site\n"
#| " administrators:\n"
#| " "
msgid ""
"\n"
" Users are not allowed to edit their own passwords. If you think\n"
......@@ -1245,8 +1230,9 @@ msgid ""
" "
msgstr ""
"\n"
" Wenn Sie der Meinung sind, dass es sich um einen Fehler in AlekSIS handelt, kontaktieren Sie bitte einen Ihrer\n"
" Systemadministratoren:\n"
" Benutzer dürfen ihre eigenen Passwörter nicht ändern. Wenn Sie "
"denken, \n"
"dass dies ein Fehler ist, kontaktieren Sie bitte einen der Administratoren:\n"
" "
#: aleksis/core/templates/account/password_reset.html:5
......@@ -1257,30 +1243,28 @@ msgstr ""
#: aleksis/core/templates/account/verification_email_required.html:6
#: aleksis/core/templates/two_factor/core/login.html:100
msgid "Reset password"
msgstr ""
msgstr "Passwort zurücksetzen"
#: aleksis/core/templates/account/password_reset.html:17
msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
msgstr ""
"Passwort vergessen? Geben Sie Ihre E-Mail-Adresse hier ein und wir werden "
"Ihnen eine E-Mail zum Zurücksetzen des Passwortes schicken."
#: aleksis/core/templates/account/password_reset.html:30
msgid ""
"Please contact one of your site administrators, if you\n"
" have any trouble resetting your password:"
msgstr ""
"Bitte kontaktieren Sie einen der Administratoren, \n"
"wenn Sie irgendwelche Probleme beim Zurücksetzen des Passwortes haben:"
#: aleksis/core/templates/account/password_reset_done.html:15
msgid "Password reset mail sent"
msgstr ""
msgstr "E-Mail zum Zurücksetzen des Passwortes versendet"
#: aleksis/core/templates/account/password_reset_done.html:18
#: aleksis/core/templates/account/verification_email_required.html:16
#, fuzzy
#| msgid ""
#| "\n"
#| " If you think this is an error in AlekSIS, please contact your site\n"
#| " administrators:\n"
#| " "
msgid ""
"\n"
" We have sent you an e-mail. Please contact one of your site\n"
......@@ -1288,15 +1272,14 @@ msgid ""
" "
msgstr ""
"\n"
" Wenn Sie der Meinung sind, dass es sich um einen Fehler in AlekSIS handelt, kontaktieren Sie bitte einen Ihrer\n"
" Systemadministratoren:\n"
" Wir haben Ihnen eine E-Mail gesendet. Bitte kontaktieren Sie "
"einen der Administratoren,\n"
"wenn Sie diese nicht innerhalb weniger Minuten erhalten.\n"
" "
#: aleksis/core/templates/account/password_reset_from_key.html:15
#, fuzzy
#| msgid "Backup Tokens"
msgid "Bad token"
msgstr "Backup-Token"
msgstr "Ungültiges Token"
#: aleksis/core/templates/account/password_reset_from_key.html:19
#, python-format
......@@ -1306,14 +1289,14 @@ msgid ""
" class=\"blue-text text-lighten-2\">new password reset</a>.\n"
" "
msgstr ""
"\n"
" Der Link zum Zurücksetzen des Passwortes war falsch, "
"wahrscheinlich, weil er bereits benutzt wurde. Bitte starten Sie eine neue "
"Anfrage <a href=\"%(passwd_reset_url)s\" class=\"blue-text text-"
"lighten-2\">zum Zurücksetzen des Passwortes</a>.\n"
" "
#: aleksis/core/templates/account/password_reset_from_key.html:25
#, fuzzy
#| msgid ""
#| "\n"
#| " If you think this is an error in AlekSIS, please contact your site\n"
#| " administrators:\n"
#| " "
msgid ""
"\n"
" If this issue persists, please contact one of your site\n"
......@@ -1321,69 +1304,59 @@ msgid ""
" "
msgstr ""
"\n"
" Wenn Sie der Meinung sind, dass es sich um einen Fehler in AlekSIS handelt, kontaktieren Sie bitte einen Ihrer\n"
" Systemadministratoren:\n"
" "
" Wenn dieser Fehler bestehen bleibt,\n"
"kontaktieren Sie bitte einen der Administratoren:\n"
" "
#: aleksis/core/templates/account/password_reset_from_key.html:56
#: aleksis/core/templates/account/password_reset_from_key_done.html:15
#, fuzzy
#| msgid ""
#| "\n"
#| " Updated by %(person)s\n"
#| " "
msgid ""
"\n"
" Your password is now changed!\n"
" "
msgstr ""
"\n"
" Aktualisiert von %(person)s\n"
" "
" Ihr Password wurde geändert!\n"
" "
#: aleksis/core/templates/account/password_reset_from_key.html:61
#, fuzzy
#| msgid "Back to Profile"
msgid "Back to login"
msgstr "Zurück zum Profil"
msgstr "Zurück zur Anmeldung"
#: aleksis/core/templates/account/password_reset_from_key_done.html:13
msgid "Password changed!"
msgstr ""
msgstr "Passwort geändert!"
#: aleksis/core/templates/account/password_set.html:5
#: aleksis/core/templates/account/password_set.html:6
#: aleksis/core/templates/account/password_set.html:12
msgid "Set password"
msgstr ""
msgstr "Password setzen"
#: aleksis/core/templates/account/signup.html:5
#: aleksis/core/templates/account/signup.html:6
#: aleksis/core/templates/socialaccount/signup.html:5
#: aleksis/core/templates/socialaccount/signup.html:6
msgid "Signup"
msgstr ""
msgstr "Registrierung"
#: aleksis/core/templates/account/signup.html:12
#, python-format
msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
msgstr ""
"Haben Sie bereits ein Konto? Dann <a href=\"%(login_url)s\">melden Sie sich "
"bitte an</a>."
#: aleksis/core/templates/account/signup_closed.html:5
#: aleksis/core/templates/account/signup_closed.html:6
msgid "Signup closed"
msgstr ""
msgstr "Registrierung geschlossen"
#: aleksis/core/templates/account/signup_closed.html:13
msgid "Signup closed."
msgstr ""
msgstr "Registrierung geschlossen."
#: aleksis/core/templates/account/signup_closed.html:15
#, fuzzy
#| msgid ""
#| "\n"
#| " This page is currently unavailable. If this error persists, contact your site administrators:\n"
#| " "
msgid ""
"\n"
" This sign up is currently closed. If you think this is an\n"
......@@ -1391,23 +1364,23 @@ msgid ""
" "
msgstr ""
"\n"
" Diese Seite ist aktuell nicht erreichbar. Wenn dieser Fehler bestehen bleibt, kontaktieren Sie bitte einen Ihrer Systemadministratoren:\n"
" Die Registrierung ist aktuell geschlossen. Wenn Sie denken, dass "
"dies ein Fehler ist,\n"
" kontaktieren Sie bitte einen Ihrer Systemadministratoren.\n"
" "
#: aleksis/core/templates/account/verification_email_required.html:14
msgid "Password reset mail sent!"
msgstr ""
msgstr "E-Mail zum Zurücksetzen des Passwortes versendet!"
#: aleksis/core/templates/account/verification_sent.html:5
#: aleksis/core/templates/account/verification_sent.html:6
#, fuzzy
#| msgid "E-mail address"
msgid "Verify your email address"
msgstr "E-Mail-Adresse"
msgstr "Verifizieren Sie Ihre E-Mail-Adresse"
#: aleksis/core/templates/account/verification_sent.html:14
msgid "Verify your email!"
msgstr ""
msgstr "Verifizieren Sie Ihre E-Mail!"
#: aleksis/core/templates/account/verification_sent.html:16
msgid ""
......@@ -1416,6 +1389,12 @@ msgid ""
" For this purpose, we require that you verify ownership of your e-mail address.\n"
" "
msgstr ""
"\n"
" Dieser Teil der Anwendung setzt voraus, dass wir verifizieren, "
"dass Sie die Person sind, die sie vorgeben, zu sein.\n"
"Zu diesem Zweck setzen wir voraus, dass Sie die Inhaberschaft Ihrer E-Mail-"
"Adresse bestätigen.\n"
" "
#: aleksis/core/templates/account/verification_sent.html:22
msgid ""
......@@ -1425,11 +1404,19 @@ msgid ""
" contact us if you do not receive it within a few minutes.\n"
" "
msgstr ""
"\n"
" Wir haben Ihnen eine E-Mail zur Verifizierung geschickt.\n"
"Bitte klicken Sie auf den Link in dieser E-Mail.\n"
"Bitte kontaktieren Sie uns, wenn Sie diese nicht binnen weniger Minuten "
"erhalten.\n"
" "
#: aleksis/core/templates/account/verification_sent.html:30
#, python-format
msgid "<strong>Note:</strong> you can still <a href=\"%(email_url)s\">change your e-mail address</a>"
msgstr ""
"<strong>Hinweis:</strong> Sie können immer noch <a href=\"%(email_url)s\"> "
"Ihre E-Mail-Adresse ändern</a>"
#: aleksis/core/templates/core/additional_field/edit.html:6
#: aleksis/core/templates/core/additional_field/edit.html:7
......@@ -2367,19 +2354,13 @@ msgstr "Bitte geben Sie einen Suchausdruck ein."
#: aleksis/core/templates/socialaccount/authentication_error.html:5
#: aleksis/core/templates/socialaccount/authentication_error.html:6
msgid "Social Network Login Failure"
msgstr ""
msgstr "Anmeldung über soziales Netzwerk fehlgeschlagen"
#: aleksis/core/templates/socialaccount/authentication_error.html:13
msgid "Social Network Login Failure."
msgstr ""
msgstr "Anmeldung über soziales Netzwerk fehlgeschlagen."
#: aleksis/core/templates/socialaccount/authentication_error.html:15
#, fuzzy
#| msgid ""
#| "\n"
#| " If you think this is an error in AlekSIS, please contact your site\n"
#| " administrators:\n"
#| " "
msgid ""
"\n"
" An error occurred while attempting to login via your social network account.\n"
......@@ -2387,34 +2368,35 @@ msgid ""
" "
msgstr ""
"\n"
" Wenn Sie der Meinung sind, dass es sich um einen Fehler in AlekSIS handelt, kontaktieren Sie bitte einen Ihrer\n"
" Systemadministratoren:\n"
" Beim dem Versuch, die Anmeldung über Ihr soziales Netzwerk "
"durchzuführen, ist ein Fehler aufgetreten.\n"
" Kontaktieren Sie bitte einen Ihrer Systemadministratoren:\n"
" "
#: aleksis/core/templates/socialaccount/connections.html:5
#: aleksis/core/templates/socialaccount/connections.html:6
#, fuzzy
#| msgid "Actions"
msgid "Connections"
msgstr "Aktionen"
msgstr "Verbindungen"
#: aleksis/core/templates/socialaccount/connections.html:24
msgid "Remove"
msgstr ""
msgstr "Löschen"
#: aleksis/core/templates/socialaccount/connections.html:34
msgid "You currently have no social network accounts connected to this account."
msgstr ""
"Sie haben aktuell keine Konten von sozialen Netzwerken mit Ihrem Konto "
"verbunden."
#: aleksis/core/templates/socialaccount/connections.html:37
msgid "Add a 3rd Party Account"
msgstr ""
msgstr "Ein Drittanbieterkonto hinzufügen"
#: aleksis/core/templates/socialaccount/login_cancelled.html:5
#: aleksis/core/templates/socialaccount/login_cancelled.html:6
#: aleksis/core/templates/socialaccount/login_cancelled.html:13
msgid "Login cancelled"
msgstr ""
msgstr "Login abgebrochen"
#: aleksis/core/templates/socialaccount/login_cancelled.html:15
#, python-format
......@@ -2423,6 +2405,11 @@ msgid ""
" You decided to cancel logging in to our site using one of your existing accounts. If this was a mistake, please proceed to <a href=\"%(login_url)s\">sign in</a>.\n"
" "
msgstr ""
"\n"
" Sie haben sich entschieden, die Anmeldung mit einem Ihrer "
"bestehenden Konten bei uns abzubrechen. Wenn dies ein Fehler war, <a href=\""
"%(login_url)s\">fahren Sie bitte mit dem Login fort</a>.\n"
" "
#: aleksis/core/templates/socialaccount/signup.html:12
#, python-format
......@@ -2430,36 +2417,31 @@ msgid ""
"You are about to use your %(provider_name)s account to login to\n"
" %(site_name)s. As a final step, please complete the following form:"
msgstr ""
"Sie sind dabei, Ihr %(provider_name)s-Konto zur Anmeldung bei %(site_name)s "
"zu nutzen. \n"
"Als ein letzter Schritt vervollständigen Sie bitte das folgende Formular:"
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:12
#, fuzzy, python-format
#| msgid ""
#| "\n"
#| " Valid for %(from)s\n"
#| " "
#, python-format
msgid ""
"\n"
" Login with %(name)s\n"
" "
msgstr ""
"\n"
" Gültig für %(from)s\n"
" "
" Anmelden mit %(name)s\n"
" "
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:21
#, fuzzy, python-format
#| msgid ""
#| "\n"
#| " Valid for %(from)s\n"
#| " "
#, python-format
msgid ""
"\n"
" Login with %(name)s\n"
" "
msgstr ""
"\n"
" Gültig für %(from)s\n"
" "
" Anmelden mit %(name)s\n"
" "
#: aleksis/core/templates/socialaccount/snippets/provider_list.html:30
msgid ""
......@@ -2467,6 +2449,9 @@ msgid ""
" No 3rd party account providers available.\n"
" "
msgstr ""
"\n"
" Keine Drittanbieter verfügbar.\n"
" "
#: aleksis/core/templates/templated_email/data_checks.email:4
msgid "The system detected some new problems with your data."
......@@ -2645,11 +2630,6 @@ msgid "Please login to see this page."
msgstr "Bitte melden Sie sich an, um diese Seite zu sehen."
#: aleksis/core/templates/two_factor/core/login.html:43
#, fuzzy
#| msgid ""
#| "\n"
#| " We are calling your phone right now, please enter the digits you hear.\n"
#| " "
msgid ""
"\n"
" We are calling your phone right now, please enter the\n"
......@@ -2657,15 +2637,11 @@ msgid ""
" "
msgstr ""
"\n"
" Wir rufen Ihr Telefon jetzt an, bitte geben Sie die Zahlen ein, die Sie hören.\n"
" "
" Wir rufen Ihr Telefon jetzt an, \n"
" bitte geben Sie die Zahlen ein, die Sie hören.\n"
" "
#: aleksis/core/templates/two_factor/core/login.html:48
#, fuzzy
#| msgid ""
#| "\n"
#| " We sent you a text message, please enter the tokens we sent.\n"
#| " "
msgid ""
"\n"
" We sent you a text message, please enter the tokens we\n"
......@@ -2673,29 +2649,23 @@ msgid ""
" "
msgstr ""
"\n"
" Wir haben Ihnen per SMS einen Token geschickt, bitte geben Sie diesen ein.\n"
" "
" Wir haben Ihnen per SMS einen Token geschickt, \n"
" bitte geben Sie diesen ein.\n"
" "
#: aleksis/core/templates/two_factor/core/login.html:53
#, fuzzy
#| msgid ""
#| "Please enter the tokens generated by your token\n"
#| " generator."
msgid ""
"\n"
" Please enter the tokens generated by your token\n"
" generator.\n"
" "
msgstr ""
"Bitte geben Sie den von Ihrem Token-Generator\n"
" generierten Token ein."
"\n"
" Bitte geben Sie den von Ihrem Token-Generator\n"
" generierten Token ein.\n"
" "
#: aleksis/core/templates/two_factor/core/login.html:59
#, fuzzy
#| msgid ""
#| "Use this form for entering backup tokens for logging in.\n"
#| " These tokens have been generated for you to print and keep safe. Please\n"
#| " enter one of these backup tokens to login to your account."
msgid ""
"\n"
" Use this form for entering backup tokens for logging in.\n"
......@@ -2703,9 +2673,13 @@ msgid ""
" enter one of these backup tokens to login to your account.\n"
" "
msgstr ""
"Nutzen Sie dieses Formular um Ihre Backup-Tokens zum Anmelden einzugeben.\n"
" Diese Tokens wurden für Sie generiert, um diese gut aufzubewahren. Bitte\n"
" geben Sie einen dieser Tokens ein, um sich einzuloggen."
"\n"
" Nutzen Sie dieses Formular um Ihre Backup-Tokens zum "
"Anmelden einzugeben.\n"
" Diese Tokens wurden für Sie generiert, um diese gut "
"aufzubewahren. Bitte\n"
" geben Sie einen dieser Tokens ein, um sich einzuloggen.\n"
" "
#: aleksis/core/templates/two_factor/core/login.html:74
msgid "Or, alternatively, use one of your backup phones:"
......
......@@ -29,7 +29,6 @@ class Migration(migrations.Migration):
'verbose_name_plural': 'Dashboard widget orders',
},
managers=[
('objects', django.contrib.sites.managers.CurrentSiteManager()),
],
),
]
......@@ -11,22 +11,41 @@ framework and selected apps.
Also, `Yarn`_ is needed to resolve JavaScript dependencies.
For repository management, `myrepos` is required.
Setup database and message broker
---------------------------------
AlekSIS requires `PostgreSQL`_ (version 13 or newer) as database
backend. To provide a database names `aleksis` with a user named
`aleksis` on Debian::
sudo apt install postgresql-13
sudo -u postgres createuser -P aleksis
sudo -u postgres createdb -O aleksis aleksis
Additionally, `Redis`_ is used as message broker and for caching.
The default configuration of the server in Debian is sufficient::
sudo apt install redis-server
Get the source tree
-------------------
To download AlekSIS and all officially bundled apps in their
development version, use Git like so::
git clone --recurse-submodules https://edugit.org/AlekSIS/AlekSIS
git clone https://edugit.org/AlekSIS/official/AlekSIS
If you do not want to download the bundled apps, leave out the
``--recurse-submodules`` option.
This first downloads a meta repository that contains a config file for mr.
To clone the AlekSIS-Core and all official (and onboarding) apps, run::
mr update
Install native dependencies
---------------------------
Some system libraries are required to install AlekSIS::
Some system libraries are required to install AlekSIS. On Debian, for example, this would be done with::
sudo apt install build-essential libpq-dev libpq5 libssl-dev python3-dev python3-pip python3-venv yarnpkg gettext chromium
......@@ -36,7 +55,7 @@ Get Poetry
Make sure to have Poetry installed like described in its
documentation. Right now, we encourage using pip to install Poetry
once system-wide (this will change once distributions pick up
Poetry). On Debian, for example, this would be done with::
Poetry).::
sudo pip3 install poetry
......@@ -47,10 +66,15 @@ Install AlekSIS in its own virtual environment
----------------------------------------------
Poetry will automatically manage virtual environments per project, so
installing AlekSIS is a matter of::
installing AlekSIS is a matter of switching into the Core's directory and running the initial AlekSIS installation::
cd apps/official/AlekSIS-Core
poetry install
Now it's recommended to run a shell that uses the newly created venv::
poetry shell
Regular tasks
-------------
......@@ -63,13 +87,13 @@ some maintenance tasks need to be done:
3. Run database migrations
All three steps can be done with the ``poetry run`` command and
``manage.py``::
``aleksis-admin``::
poetry run ./manage.py yarn install
poetry run ./manage.py collectstatic
poetry run ./manage.py compilemessages
poetry run ./manage.py migrate
poetry run ./manage.py createinitialrevisions
poetry run aleksis-admin yarn install
poetry run aleksis-admin collectstatic
poetry run aleksis-admin compilemessages
poetry run aleksis-admin migrate
poetry run aleksis-admin createinitialrevisions
(You might need database settings for the `migrate` command; see below.)
......@@ -78,13 +102,13 @@ Running the development server
The development server can be started using Django's ``runserver`` command.
If you want to automatically start other necessary tools in development,
like the `Celery` worker and scheduler, use ``runuwsgi`` instead.
like the `Celery`_ worker and scheduler, use ``runuwsgi`` instead.
You can either configure AlekSIS like in a production environment, or pass
basic settings in as environment variable. Here is an example that runs the
development server against a local PostgreSQL database with password
`aleksis` (all else remains default) and with the `debug` setting enabled::
ALEKSIS_debug=true ALEKSIS_database__password=aleksis poetry run ./manage.py runuwsgi
ALEKSIS_debug=true ALEKSIS_database__password=aleksis poetry run aleksis-admin runuwsgi
.. figure:: /screenshots/index.png
:scale: 50%
......@@ -96,4 +120,6 @@ development server against a local PostgreSQL database with password
.. _Poetry: https://poetry.eustace.io/
.. _Poetry installation methods: https://poetry.eustace.io/docs/#installation
.. _Yarn: https://yarnpkg.com
.. _PostgreSQL: https://www.postgresql.org/
.. _Redis: https://redis.io/
.. _Celery: https://celeryproject.org/
......@@ -4,18 +4,18 @@ Installing apps into development environment
Officially bundled apps
-----------------------
Officially bundlede apps are available in the ``apps/official/``
sub-folder as Git submodules. If you followed the documentation, they
Officially bundled apps are available in the ``apps/official/``
sub-folder of the meta repository. If you followed the documentation, they
will already be checked out in the version required for the bundle you
are running.
Installing apps into the existing virtual environment is a bit awkward::
Installing apps into the existing virtual environment of `AlekSIS-Core` can
be easily done after starting `poetry shell`::
poetry run sh -c "cd apps/official/AlekSIS-App-Exlibris; poetry install"
This will install the Exlibris app (library management) app by using a
shell for first ``cd``'ing into the app directory and then using
poetry to install the app.
poetry install
Do not forget to run the maintenance tasks described earlier after
installing any app.
**Heads up:** This is not suitable for working on the core, because it
will install the `AlekSIS-Core` version used by the app using `pip` again.
......@@ -1124,7 +1124,7 @@ tablib = ["tablib"]
[[package]]
name = "django-templated-email"
version = "2.3.0"
version = "2.4.0"
description = "A Django oriented templated / transaction email abstraction"
category = "main"
optional = false
......@@ -1132,7 +1132,6 @@ python-versions = "*"
[package.dependencies]
django-render-block = ">=0.5"
six = ">=1"
[[package]]
name = "django-timezone-field"
......@@ -1630,7 +1629,7 @@ zookeeper = ["kazoo (>=1.3.1)"]
[[package]]
name = "libsass"
version = "0.20.1"
version = "0.21.0"
description = "Sass for Python: A straightforward binding of libsass for Python."
category = "main"
optional = false
......@@ -2671,7 +2670,7 @@ s3 = ["boto3", "django-storages"]
[metadata]
lock-version = "1.1"
python-versions = "^3.9"
content-hash = "ea255c70cdcfee06fa1ba40233d5ddc8cc8f10409ca2f24d1ddb66a5cfae0d51"
content-hash = "9009e40aa54a752649e5539cba2b0b12dc0580c7e93999d177b19f041bdaf85b"
[metadata.files]
alabaster = [
......@@ -3136,7 +3135,7 @@ django-tables2 = [
{file = "django_tables2-2.4.0-py2.py3-none-any.whl", hash = "sha256:0f10ecef25708385a9d32d68d7c9478ca8dda31569410cb05a025be3f2c57593"},
]
django-templated-email = [
{file = "django-templated-email-2.3.0.tar.gz", hash = "sha256:536c4e5ae099eabfb9aab36087d4d7799948c654e73da55a744213d086d5bb33"},
{file = "django-templated-email-2.4.0.tar.gz", hash = "sha256:3bcd95cb806070b13c9919a72fec944b5ce319e30e8828a08180767bb1f84027"},
]
django-timezone-field = [
{file = "django-timezone-field-4.1.2.tar.gz", hash = "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df"},
......@@ -3289,19 +3288,15 @@ kombu = [
{file = "kombu-5.0.2.tar.gz", hash = "sha256:f4965fba0a4718d47d470beeb5d6446e3357a62402b16c510b6a2f251e05ac3c"},
]
libsass = [
{file = "libsass-0.20.1-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:4a246e4b88fd279abef8b669206228c92534d96ddcd0770d7012088c408dff23"},
{file = "libsass-0.20.1-cp27-cp27m-win32.whl", hash = "sha256:697f0f9fa8a1367ca9ec6869437cb235b1c537fc8519983d1d890178614a8903"},
{file = "libsass-0.20.1-cp27-cp27m-win_amd64.whl", hash = "sha256:1b2d415bbf6fa7da33ef46e549db1418498267b459978eff8357e5e823962d35"},
{file = "libsass-0.20.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1521d2a8d4b397c6ec90640a1f6b5529077035efc48ef1c2e53095544e713d1b"},
{file = "libsass-0.20.1-cp36-abi3-macosx_10_14_x86_64.whl", hash = "sha256:2ae806427b28bc1bb7cb0258666d854fcf92ba52a04656b0b17ba5e190fb48a9"},
{file = "libsass-0.20.1-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:25ebc2085f5eee574761ccc8d9cd29a9b436fc970546d5ef08c6fa41eb57dff1"},
{file = "libsass-0.20.1-cp36-cp36m-win32.whl", hash = "sha256:553e5096414a8d4fb48d0a48f5a038d3411abe254d79deac5e008516c019e63a"},
{file = "libsass-0.20.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e64ae2587f1a683e831409aad03ba547c245ef997e1329fffadf7a866d2510b8"},
{file = "libsass-0.20.1-cp37-cp37m-win32.whl", hash = "sha256:c9411fec76f480ffbacc97d8188322e02a5abca6fc78e70b86a2a2b421eae8a2"},
{file = "libsass-0.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a8fd4af9f853e8bf42b1425c5e48dd90b504fa2e70d7dac5ac80b8c0a5a5fe85"},
{file = "libsass-0.20.1-cp38-cp38-win32.whl", hash = "sha256:f6852828e9e104d2ce0358b73c550d26dd86cc3a69439438c3b618811b9584f5"},
{file = "libsass-0.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:daa98a51086d92aa7e9c8871cf1a8258124b90e2abf4697852a3dca619838618"},
{file = "libsass-0.20.1.tar.gz", hash = "sha256:e0e60836eccbf2d9e24ec978a805cd6642fa92515fbd95e3493fee276af76f8a"},
{file = "libsass-0.21.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:06c8776417fe930714bdc930a3d7e795ae3d72be6ac883ff72a1b8f7c49e5ffb"},
{file = "libsass-0.21.0-cp27-cp27m-win32.whl", hash = "sha256:a005f298f64624f313a3ac618ab03f844c71d84ae4f4a4aec4b68d2a4ffe75eb"},
{file = "libsass-0.21.0-cp27-cp27m-win_amd64.whl", hash = "sha256:6b984510ed94993708c0d697b4fef2d118929bbfffc3b90037be0f5ccadf55e7"},
{file = "libsass-0.21.0-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e25dd9047a9392d3c59a0b869e0404f2b325a03871ee45285ee33b3664f5613"},
{file = "libsass-0.21.0-cp36-abi3-macosx_10_14_x86_64.whl", hash = "sha256:12f39712de38689a8b785b7db41d3ba2ea1d46f9379d81ea4595802d91fa6529"},
{file = "libsass-0.21.0-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e2b1a7d093f2e76dc694c17c0c285e846d0b0deb0e8b21dc852ba1a3a4e2f1d6"},
{file = "libsass-0.21.0-cp36-abi3-win32.whl", hash = "sha256:abc29357ee540849faf1383e1746d40d69ed5cb6d4c346df276b258f5aa8977a"},
{file = "libsass-0.21.0-cp36-abi3-win_amd64.whl", hash = "sha256:659ae41af8708681fa3ec73f47b9735a6725e71c3b66ff570bfce78952f2314e"},
{file = "libsass-0.21.0.tar.gz", hash = "sha256:d5ba529d9ce668be9380563279f3ffe988f27bc5b299c5a28453df2e0b0fbaf2"},
]
license-expression = [
{file = "license-expression-1.2.tar.gz", hash = "sha256:7960e1dfdf20d127e75ead931476f2b5c7556df05b117a73880b22ade17d1abc"},
......
......@@ -41,7 +41,7 @@ django-menu-generator-ng = "^1.2.3"
django-tables2 = "^2.1"
django-phonenumber-field = {version = "<5.2", extras = ["phonenumbers"]}
django-sass-processor = "^1.0"
libsass = "^0.20.0"
libsass = "^0.21.0"
colour = "^0.1.5"
dynaconf = {version = "^3.1", extras = ["yaml", "toml", "ini"]}
django-auth-ldap = { version = "^2.2", optional = true }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment