member registration: use info and feedback pages; configurable sender email; login/register portlet

This commit is contained in:
Helmut Merz 2013-06-05 09:15:50 +02:00
parent 3f1ffdb8f4
commit 45eeac9a41
5 changed files with 49 additions and 22 deletions

View file

@ -314,8 +314,13 @@
<metal:login define-macro="login"> <metal:login define-macro="login">
<div><a href="login.html" <div>
<a href="login.html"
i18n:translate="">Log in</a></div> i18n:translate="">Log in</a></div>
<div tal:define="register python:view.globalOptions('provideLogin')"
tal:condition="register">
<a tal:attributes="href python:register[0]"
i18n:translate="">Register new member</a></div>
</metal:login> </metal:login>

Binary file not shown.

View file

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: 0.13.0\n" "Project-Id-Version: 0.13.0\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\n" "POT-Creation-Date: 2007-05-22 12:00 CET\n"
"PO-Revision-Date: 2013-05-05 12:00 CET\n" "PO-Revision-Date: 2013-06-05 12:00 CET\n"
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n" "Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n" "Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -762,6 +762,9 @@ msgstr "Teilnehmerregistrierung"
msgid "Register" msgid "Register"
msgstr "Benutzer registrieren" msgstr "Benutzer registrieren"
msgid "Register new member"
msgstr "Neu registrieren"
msgid "Login name already taken." msgid "Login name already taken."
msgstr "Die von Ihnen eingegebene Benutzerkennung ist schon vergeben." msgstr "Die von Ihnen eingegebene Benutzerkennung ist schon vergeben."
@ -775,7 +778,7 @@ msgid "confirmation_mail_subject"
msgstr "Benutzer-Registrierung" msgstr "Benutzer-Registrierung"
msgid "confirmation_mail_text" msgid "confirmation_mail_text"
msgstr "Bitte clicken Sie auf den folgenden Link, um die Anmeldung abzschließen." msgstr "Bitte clicken Sie auf den folgenden Link, um die Anmeldung abzuschließen."
msgid "The user account has been created." msgid "The user account has been created."
msgstr "Ihr Benutzerkonto wurde eingerichtet." msgstr "Ihr Benutzerkonto wurde eingerichtet."

View file

@ -92,6 +92,7 @@ class BaseMemberRegistration(NodeView):
label = _(u'Member Registration') label = _(u'Member Registration')
label_submit = _(u'Register') label_submit = _(u'Register')
title = _('Member Registration')
permissions_key = u'registration.permissions' permissions_key = u'registration.permissions'
roles_key = u'registration.roles' roles_key = u'registration.roles'
@ -104,6 +105,7 @@ class BaseMemberRegistration(NodeView):
isInnerHtml = False isInnerHtml = False
showAssignments = False showAssignments = False
form_action = 'register' form_action = 'register'
versionInfo = None
def closeAction(self, submit=True): def closeAction(self, submit=True):
return u'' return u''
@ -202,6 +204,7 @@ class SecureMemberRegistration(BaseMemberRegistration, CreateForm):
permissions_key = u'secure_registration.permissions' permissions_key = u'secure_registration.permissions'
roles_key = u'secure_registration.roles' roles_key = u'secure_registration.roles'
email_key = 'reg_email'
@Lazy @Lazy
def schema(self): def schema(self):
@ -265,17 +268,19 @@ class SecureMemberRegistration(BaseMemberRegistration, CreateForm):
baseUrl, userid, id,) baseUrl, userid, id,)
recipients = [recipient] recipients = [recipient]
subject = _(u'confirmation_mail_subject') subject = _(u'confirmation_mail_subject')
name = '.'.join((self.text_names_prefix, self.feedback_key)) name = '.'.join((self.text_names_prefix, self.email_key))
text = self.resourceManager.get(name) text = self.resourceManager.get(name)
if text: if text:
message = text.data % url message = (text.data % url).encode('UTF-8')
subject = text.description or subject subject = text.description or subject
else: else:
message = _(u'confirmation_mail_text') + u':\n\n' message = _(u'confirmation_mail_text') + u':\n\n'
message = (message + url).encode('UTF-8') message = (message + url).encode('UTF-8')
sender = 'helmutm@cy55.de' senderInfo = self.globalOptions('email.sender')
sender = senderInfo and senderInfo[0] or 'info@loops.cy55.de'
sender = sender.encode('UTF-8')
msg = MIMEText(message, 'plain', 'utf-8') msg = MIMEText(message, 'plain', 'utf-8')
msg['Subject'] = subject msg['Subject'] = subject.encode('UTF-8')
msg['From'] = sender msg['From'] = sender
msg['To'] = ', '.join(recipients) msg['To'] = ', '.join(recipients)
mailhost = component.getUtility(IMailDelivery, 'Mail') mailhost = component.getUtility(IMailDelivery, 'Mail')
@ -286,8 +291,9 @@ class ConfirmMemberRegistration(BaseMemberRegistration, Form):
permissions_key = u'secure_registration.permissions' permissions_key = u'secure_registration.permissions'
roles_key = u'secure_registration.roles' roles_key = u'secure_registration.roles'
info_key = 'conf_info' info_key = 'confirm_info'
feedback_key = 'conf_feedback' feedback_key = 'confirm_feedback'
email_key = 'confirm_email'
form_action = 'confirm_registration' form_action = 'confirm_registration'
@ -303,6 +309,8 @@ class ConfirmMemberRegistration(BaseMemberRegistration, Form):
@Lazy @Lazy
def schema(self): def schema(self):
schema = super(ConfirmMemberRegistration, self).schema schema = super(ConfirmMemberRegistration, self).schema
schema.fields.remove('salutation')
schema.fields.remove('academicTitle')
schema.fields.remove('birthDate') schema.fields.remove('birthDate')
schema.fields.remove('phoneNumbers') schema.fields.remove('phoneNumbers')
schema.fields.remove('loginName') schema.fields.remove('loginName')

View file

@ -2,16 +2,26 @@
<metal:block define-macro="register"> <metal:block define-macro="register">
<metal:data use-macro="view/form_macros/edit">
<metal:custom fill-slot="custom_header">
<tbody>
<tr><td colspan="5">
<tal:info content="structure item/infoText" /> <tal:info content="structure item/infoText" />
<metal:data use-macro="view/form_macros/edit" /> </td></tr>
</tbody>
</metal:custom>
</metal:data>
</metal:block> </metal:block>
<metal:block define-macro="confirm"> <metal:block define-macro="confirm">
<tal:info content="structure item/infoText" />
<metal:data use-macro="view/form_macros/edit"> <metal:data use-macro="view/form_macros/edit">
<metal:custom fill-slot="custom_header"> <metal:custom fill-slot="custom_header">
<tbody><tr><td colspan="5"> <tbody>
<tr><td colspan="5">
<tal:info content="structure item/infoText" />
</td></tr>
<tr><td colspan="5">
<input type="hidden" name="login" <input type="hidden" name="login"
tal:attributes="value item/data/loginName" /> tal:attributes="value item/data/loginName" />
<input type="hidden" name="id" <input type="hidden" name="id"
@ -20,7 +30,8 @@
<td i18n:translate="">Login Name</td> <td i18n:translate="">Login Name</td>
<td tal:content="item/data/loginName" /> <td tal:content="item/data/loginName" />
</tr></table> </tr></table>
</td></tr></tbody> </td></tr>
</tbody>
</metal:custom> </metal:custom>
</metal:data> </metal:data>
</metal:block> </metal:block>