Skip to content
Snippets Groups Projects
Commit 0ca77edc authored by sistason's avatar sistason
Browse files

Use translation on the signup/invite validation messages (and fix a typo)

parent 23726002
Branches
Tags
No related merge requests found
import datetime import datetime
from flask_babel import gettext as _
from flask import current_app from flask import current_app
from sqlalchemy import Column, String, Integer, ForeignKey, DateTime, Boolean from sqlalchemy import Column, String, Integer, ForeignKey, DateTime, Boolean
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
...@@ -77,16 +78,16 @@ class InviteGrant(db.Model): ...@@ -77,16 +78,16 @@ class InviteGrant(db.Model):
def apply(self): def apply(self):
if not self.invite.active: if not self.invite.active:
return False, 'Invite link is invalid' return False, _('Invite link is invalid')
if not self.invite.roles: if not self.invite.roles:
return False, 'Invite link does not grant any roles' return False, _('Invite link does not grant any roles')
if set(self.invite.roles).issubset(self.user.roles): if set(self.invite.roles).issubset(self.user.roles):
return False, 'Invite link does not grant any new roles' return False, _('Invite link does not grant any new roles')
for role in self.invite.roles: for role in self.invite.roles:
self.user.roles.append(role) self.user.roles.append(role)
self.user.update_groups() self.user.update_groups()
self.invite.used = True self.invite.used = True
return True, 'Success' return True, _('Success')
class InviteSignup(Signup): class InviteSignup(Signup):
__tablename__ = 'invite_signup' __tablename__ = 'invite_signup'
...@@ -100,12 +101,12 @@ class InviteSignup(Signup): ...@@ -100,12 +101,12 @@ class InviteSignup(Signup):
def validate(self): def validate(self):
if not self.invite.active or not self.invite.allow_signup: if not self.invite.active or not self.invite.allow_signup:
return False, 'Invite link is invalid' return False, _('Invite link is invalid')
return super().validate() return super().validate()
def finish(self, password): def finish(self, password):
if not self.invite.active or not self.invite.allow_signup: if not self.invite.active or not self.invite.allow_signup:
return None, 'Invite link is invalid' return None, _('Invite link is invalid')
user, msg = super().finish(password) user, msg = super().finish(password)
if user is not None: if user is not None:
for role in self.invite.roles: for role in self.invite.roles:
......
...@@ -192,6 +192,6 @@ def signup_submit(invite_id, token): ...@@ -192,6 +192,6 @@ def signup_submit(invite_id, token):
db.session.commit() db.session.commit()
sent = sendmail(signup.mail, 'Confirm your mail address', 'signup/mail.txt', signup=signup) sent = sendmail(signup.mail, 'Confirm your mail address', 'signup/mail.txt', signup=signup)
if not sent: if not sent:
return render_template('signup/start.html', error=_('Cound not send mail')) return render_template('signup/start.html', error=_('Could not send mail'))
signup_ratelimit.log(request.form['mail']) signup_ratelimit.log(request.form['mail'])
return render_template('signup/submitted.html', signup=signup) return render_template('signup/submitted.html', signup=signup)
import datetime import datetime
from flask_babel import gettext as _
from sqlalchemy import Column, Integer, String, DateTime, Text, ForeignKey from sqlalchemy import Column, Integer, String, DateTime, Text, ForeignKey
from sqlalchemy.orm import relationship, backref from sqlalchemy.orm import relationship, backref
from sqlalchemy.ext.hybrid import hybrid_property from sqlalchemy.ext.hybrid import hybrid_property
...@@ -73,18 +74,18 @@ class Signup(db.Model): ...@@ -73,18 +74,18 @@ class Signup(db.Model):
is False and `errmsg` contains a string describing why. Otherwise is False and `errmsg` contains a string describing why. Otherwise
`valid` is True.''' `valid` is True.'''
if self.completed or self.expired: if self.completed or self.expired:
return False, 'Invalid signup request' return False, _('Invalid signup request')
if not User().set_loginname(self.loginname): if not User().set_loginname(self.loginname):
return False, 'Login name is invalid' return False, _('Login name is invalid')
if not User().set_displayname(self.displayname): if not User().set_displayname(self.displayname):
return False, 'Display name is invalid' return False, _('Display name is invalid')
if not User().set_mail(self.mail): if not User().set_mail(self.mail):
return False, 'Mail address is invalid' return False, _('Mail address is invalid')
if not self.password: if not self.password:
return False, 'Invalid password' return False, _('Invalid password')
if User.query.filter_by(loginname=self.loginname).all(): if User.query.filter_by(loginname=self.loginname).all():
return False, 'A user with this login name already exists' return False, _('A user with this login name already exists')
return True, 'Valid' return True, _('Valid')
def finish(self, password): def finish(self, password):
'''Complete the signup procedure and return the new user '''Complete the signup procedure and return the new user
...@@ -98,11 +99,11 @@ class Signup(db.Model): ...@@ -98,11 +99,11 @@ class Signup(db.Model):
`errmsg` contains a string describing why. Otherwise `user` is a `errmsg` contains a string describing why. Otherwise `user` is a
User object.''' User object.'''
if self.completed or self.expired: if self.completed or self.expired:
return None, 'Invalid signup request' return None, _('Invalid signup request')
if not self.password.verify(password): if not self.password.verify(password):
return None, 'Wrong password' return None, _('Wrong password')
if User.query.filter_by(loginname=self.loginname).all(): if User.query.filter_by(loginname=self.loginname).all():
return None, 'A user with this login name already exists' return None, _('A user with this login name already exists')
user = User(loginname=self.loginname, displayname=self.displayname, mail=self.mail, password=self.password) user = User(loginname=self.loginname, displayname=self.displayname, mail=self.mail, password=self.password)
db.session.add(user) db.session.add(user)
user.update_groups() # pylint: disable=no-member user.update_groups() # pylint: disable=no-member
...@@ -111,4 +112,4 @@ class Signup(db.Model): ...@@ -111,4 +112,4 @@ class Signup(db.Model):
self.displayname = None self.displayname = None
self.mail = None self.mail = None
self.password = None self.password = None
return user, 'Success' return user, _('Success')
...@@ -69,7 +69,7 @@ def signup_submit(): ...@@ -69,7 +69,7 @@ def signup_submit():
db.session.commit() db.session.commit()
sent = sendmail(signup.mail, 'Confirm your mail address', 'signup/mail.txt', signup=signup) sent = sendmail(signup.mail, 'Confirm your mail address', 'signup/mail.txt', signup=signup)
if not sent: if not sent:
return render_template('signup/start.html', error=_('Cound not send mail')) return render_template('signup/start.html', error=_('Could not send mail'))
signup_ratelimit.log(request.form['mail']) signup_ratelimit.log(request.form['mail'])
return render_template('signup/submitted.html', signup=signup) return render_template('signup/submitted.html', signup=signup)
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-02-18 04:41+0100\n" "POT-Creation-Date: 2022-03-20 13:07+0100\n"
"PO-Revision-Date: 2021-05-25 21:18+0200\n" "PO-Revision-Date: 2021-05-25 21:18+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: de\n" "Language: de\n"
...@@ -44,6 +44,22 @@ msgstr "eine Stunde" ...@@ -44,6 +44,22 @@ msgstr "eine Stunde"
msgid "%(hours)d hours" msgid "%(hours)d hours"
msgstr "%(hours)d Stunden" msgstr "%(hours)d Stunden"
#: uffd/invite/models.py:81 uffd/invite/models.py:104 uffd/invite/models.py:109
msgid "Invite link is invalid"
msgstr "Einladungslink ist ungültig"
#: uffd/invite/models.py:83
msgid "Invite link does not grant any roles"
msgstr "Einladungslink weist keine Rollen zu"
#: uffd/invite/models.py:85
msgid "Invite link does not grant any new roles"
msgstr "Einladungslink weist keine neuen Rollen zu"
#: uffd/invite/models.py:90 uffd/signup/models.py:115
msgid "Success"
msgstr "Erfolgreich"
#: uffd/invite/views.py:46 #: uffd/invite/views.py:46
msgid "Invites" msgid "Invites"
msgstr "Einladungslinks" msgstr "Einladungslinks"
...@@ -92,7 +108,7 @@ msgid "Too many requests! Please wait %(delay)s." ...@@ -92,7 +108,7 @@ msgid "Too many requests! Please wait %(delay)s."
msgstr "Zu viele Anfragen! Bitte warte %(delay)s." msgstr "Zu viele Anfragen! Bitte warte %(delay)s."
#: uffd/invite/views.py:195 uffd/signup/views.py:72 #: uffd/invite/views.py:195 uffd/signup/views.py:72
msgid "Cound not send mail" msgid "Could not send mail"
msgstr "Mailversand fehlgeschlagen" msgstr "Mailversand fehlgeschlagen"
#: uffd/invite/templates/invite/list.html:6 #: uffd/invite/templates/invite/list.html:6
...@@ -801,11 +817,11 @@ msgstr "Abmeldung bei allen Diensten ..." ...@@ -801,11 +817,11 @@ msgstr "Abmeldung bei allen Diensten ..."
msgid "Skip this and continue" msgid "Skip this and continue"
msgstr "Automatisches Abmelden überspringen" msgstr "Automatisches Abmelden überspringen"
#: uffd/oauth2/templates/oauth2/logout.html:75 #: uffd/oauth2/templates/oauth2/logout.html:72
msgid "Done, redirecting ..." msgid "Done, redirecting ..."
msgstr "Abgeschlossen, leite weiter ..." msgstr "Abgeschlossen, leite weiter ..."
#: uffd/oauth2/templates/oauth2/logout.html:79 #: uffd/oauth2/templates/oauth2/logout.html:76
msgid "Log out failed on some services. Retry?" msgid "Log out failed on some services. Retry?"
msgstr "" msgstr ""
"Automatisches Abmelden bei einigen Diensten fehlgeschlagen. Nochmal " "Automatisches Abmelden bei einigen Diensten fehlgeschlagen. Nochmal "
...@@ -969,7 +985,7 @@ msgstr "Wir haben dir eine E-Mail gesendet, bitte prüfe deine E-Mail-Adresse." ...@@ -969,7 +985,7 @@ msgstr "Wir haben dir eine E-Mail gesendet, bitte prüfe deine E-Mail-Adresse."
msgid "Password changed" msgid "Password changed"
msgstr "Passwort geändert" msgstr "Passwort geändert"
#: uffd/selfservice/views.py:54 #: uffd/selfservice/views.py:54 uffd/signup/models.py:85
msgid "Invalid password" msgid "Invalid password"
msgstr "Passwort ungültig" msgstr "Passwort ungültig"
...@@ -1195,7 +1211,7 @@ msgstr "Passwort zurücksetzen" ...@@ -1195,7 +1211,7 @@ msgstr "Passwort zurücksetzen"
msgid "Set password" msgid "Set password"
msgstr "Passwort setzen" msgstr "Passwort setzen"
#: uffd/service/views.py:22 #: uffd/service/views.py:34
msgid "Services" msgid "Services"
msgstr "Dienste" msgstr "Dienste"
...@@ -1419,6 +1435,34 @@ msgstr "Registrieren" ...@@ -1419,6 +1435,34 @@ msgstr "Registrieren"
msgid "Forgot Password?" msgid "Forgot Password?"
msgstr "Passwort vergessen?" msgstr "Passwort vergessen?"
#: uffd/signup/models.py:77 uffd/signup/models.py:102
msgid "Invalid signup request"
msgstr "Ungültiger Account-Registrierungs-Link"
#: uffd/signup/models.py:79
msgid "Login name is invalid"
msgstr "Anmeldename ist ungültig"
#: uffd/signup/models.py:81
msgid "Display name is invalid"
msgstr "Anzeigename ist ungültig"
#: uffd/signup/models.py:83
msgid "Mail address is invalid"
msgstr "E-Mail-Adresse nicht valide"
#: uffd/signup/models.py:87 uffd/signup/models.py:106
msgid "A user with this login name already exists"
msgstr "Ein Account mit diesem Anmeldenamen existiert bereits"
#: uffd/signup/models.py:88
msgid "Valid"
msgstr "Gültig"
#: uffd/signup/models.py:104 uffd/signup/views.py:100
msgid "Wrong password"
msgstr "Falsches Passwort"
#: uffd/signup/views.py:23 #: uffd/signup/views.py:23
msgid "Signup not enabled" msgid "Signup not enabled"
msgstr "Account-Registrierung ist deaktiviert" msgstr "Account-Registrierung ist deaktiviert"
...@@ -1432,10 +1476,6 @@ msgstr "Ungültiger Account-Registrierungs-Link" ...@@ -1432,10 +1476,6 @@ msgstr "Ungültiger Account-Registrierungs-Link"
msgid "Too many failed attempts! Please wait %(delay)s." msgid "Too many failed attempts! Please wait %(delay)s."
msgstr "Zu viele fehlgeschlagene Versuche! Bitte warte mindestens %(delay)s." msgstr "Zu viele fehlgeschlagene Versuche! Bitte warte mindestens %(delay)s."
#: uffd/signup/views.py:100
msgid "Wrong password"
msgstr "Falsches Passwort"
#: uffd/signup/views.py:106 #: uffd/signup/views.py:106
msgid "Your account was successfully created" msgid "Your account was successfully created"
msgstr "Account erfolgreich erstellt" msgstr "Account erfolgreich erstellt"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment