diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index 9ebc458..b031719 100644 Binary files a/locales/de/LC_MESSAGES/loops.mo and b/locales/de/LC_MESSAGES/loops.mo differ diff --git a/locales/de/LC_MESSAGES/loops.po b/locales/de/LC_MESSAGES/loops.po index c44889e..2e143ef 100644 --- a/locales/de/LC_MESSAGES/loops.po +++ b/locales/de/LC_MESSAGES/loops.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: 0.13.0\n" "POT-Creation-Date: 2007-05-22 12:00 CET\n" -"PO-Revision-Date: 2013-04-06 12:00 CET\n" +"PO-Revision-Date: 2013-05-05 12:00 CET\n" "Last-Translator: Helmut Merz \n" "Language-Team: loops developers \n" "MIME-Version: 1.0\n" @@ -86,6 +86,9 @@ msgstr "Thema bearbeiten..." msgid "Modify topic." msgstr "Thema ändern" +msgid "Please correct the indicated errors." +msgstr "Bitte berichtigen Sie die angezeigten Fehler." + # blog msgid "Edit Blog Post..." @@ -759,12 +762,18 @@ msgstr "Teilnehmerregistrierung" msgid "Register" msgstr "Benutzer registrieren" +msgid "Login name already taken." +msgstr "Die von Ihnen eingegebene Benutzerkennung ist schon vergeben." + msgid "Your old password was not entered correctly." msgstr "Sie haben Ihr altes Passwort nicht korrekt eingegeben." msgid "Password and password confirmation do not match." msgstr "Die Passwort-Wiederholung stimmt nicht mit dem eingegebenen Passwort überein." +msgid "The user account has been created." +msgstr "Ihr Benutzerkonto wurde eingerichtet." + msgid "Your password has been changed." msgstr "Ihr Passwort wurde geändert." diff --git a/organize/browser/member.py b/organize/browser/member.py index 8abe37b..502c71f 100644 --- a/organize/browser/member.py +++ b/organize/browser/member.py @@ -111,6 +111,10 @@ class BaseMemberRegistration(NodeView): def item(self): return self + @Lazy + def data(self): + return self.request.form + def getPrincipalAnnotation(self, principal): return annotations(principal).get(ANNOTATION_KEY, None) @@ -201,12 +205,13 @@ class SecureMemberRegistration(BaseMemberRegistration, CreateForm): regMan = IMemberRegistrationManager(self.context.getLoopsRoot()) pw = generateName() email = form.get('email') - result = regMan.register(login, pw, - form.get('lastName'), form.get('firstName'), - email=email,) - if isinstance(result, dict): - fi = formState.fieldInstances[result['fieldName']] - fi.setError(result['error'], self.formErrors) + try: + result = regMan.register(login, pw, + form.get('lastName'), form.get('firstName'), + email=email,) + except ValueError, e: + fi = formState.fieldInstances['loginName'] + fi.setError('duplicate_loginname', self.formErrors) formState.severity = max(formState.severity, fi.severity) return True self.object = result @@ -225,11 +230,11 @@ class SecureMemberRegistration(BaseMemberRegistration, CreateForm): url = u'%s/selfservice_confirmation.html?login=%s&id=%s' % ( baseUrl, userid, id,) recipients = [recipient] - message = u'Um die Anmeldung abzuschliessen muessen Sie folgenden Link betaetigen:\n\n' + message = _(u'confirmation_mail_text') + u':\n\n' message = (message + url).encode('UTF-8') - sender = 'webmaster@zeitraum-bayern.de' + sender = 'helmutm@cy55.de' msg = MIMEText(message, 'plain', 'utf-8') - msg['Subject'] = 'Benutzer-Registrierung' + msg['Subject'] = _(u'confirmation_mail_subject') msg['From'] = sender msg['To'] = ', '.join(recipients) mailhost = component.getUtility(IMailDelivery, 'Mail') @@ -263,12 +268,10 @@ class ConfirmMemberRegistration(BaseMemberRegistration, Form): schema = super(ConfirmMemberRegistration, self).schema schema.fields.remove('birthDate') schema.fields.remove('phoneNumbers') - schema.fields.loginName.readonly = True - schema.fields.reorder(-2, 'loginName') - schema.fields.firstName.readonly = True - schema.fields.lastName.readonly = True - schema.fields.firstName.readonly = True - schema.fields.email.readonly = True + schema.fields.remove('loginName') + schema.fields.remove('firstName') + schema.fields.remove('lastName') + schema.fields.remove('email') return schema def update(self): @@ -285,11 +288,19 @@ class ConfirmMemberRegistration(BaseMemberRegistration, Form): id = form.get('id') if not id or id != pa.get('id'): return True + instance = component.getAdapter(self.object, IInstance, name='editor') + instance.template = self.schema + self.formState = formState = instance.applyTemplate(data=form, + fieldHandlers=self.fieldHandlers) + #formState = self.formState = self.validate(form) + if formState.severity > 0: + return True pw = form.get('password') pwConfirm = form.get('passwordConfirm') if pw != pwConfirm: - msg = self.errorMessages['confirm_nomatch'] - self.request.form['message'] = msg + fi = formState.fieldInstances['password'] + fi.setError('confirm_nomatch', self.formErrors) + formState.severity = max(formState.severity, fi.severity) return True del pa['id'] del pa['timestamp'] diff --git a/organize/member.py b/organize/member.py index 09e5326..88428aa 100644 --- a/organize/member.py +++ b/organize/member.py @@ -79,7 +79,8 @@ class MemberRegistrationManager(object): if pfName is None: pfName = options(self.principalfolder_key, (self.default_principalfolder,))[0] - self.createPrincipal(pfName, userId, password, lastName, firstName, useExisting=useExisting) + self.createPrincipal(pfName, userId, password, lastName, firstName, + useExisting=useExisting) if len(groups)==0: groups = options(self.groups_key, ()) self.setGroupsForPrincipal(pfName, userId, groups=groups)