[commits] r58 -
selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme
tim at mail.se.linux.org
tim at mail.se.linux.org
Fre Juli 20 09:41:40 CEST 2007
Author: tim
Date: 2007-07-20 09:41:40 +0200 (Fri, 20 Jul 2007)
New Revision: 58
Removed:
selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form_validate.vpy
Modified:
selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt
selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt.metadata
selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/register.cpy
Log:
Instead of specifying password during registration an email is sent to the email address. The email contains a link, when it's visited the account is activated.
Modified: selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt 2007-07-19 22:53:31 UTC (rev 57)
+++ selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt 2007-07-20 07:41:40 UTC (rev 58)
@@ -289,59 +289,14 @@
<!-- Registrera -->
- <div class="field"
- tal:define="error errors/password | nothing;
- password request/password | nothing;"
- tal:attributes="class python:test(error, 'field error', 'field')">
-
- <label for="password"
- i18n:translate="label_password">Password</label>
-
- <span class="fieldRequired" title="Required"
- i18n:attributes="title title_required;"
- i18n:translate="label_required">(Required)</span>
-
- <div class="formHelp" i18n:translate="help_password_creation">
- Minimum 5 characters.
- </div>
-
- <div tal:content="error">Validation error output</div>
-
- <input type="password"
- name="password"
- id="password"
- size="10"
- value=""
- />
+ <div class="field">
+ <div class="formHelp" i18n:translate="label_password_change_mail">
+ A URL will be generated and e-mailed to you; follow the link
+ to reach a page where you can change your password and
+ complete the registration process.
+ </div>
</div>
- <div class="field"
- tal:define="error errors/password_confirm | nothing;
- password_confirm request/password_confirm | nothing;"
- tal:attributes="class python:test(error, 'field error', 'field')">
-
-
- <label for="password_confirm"
- i18n:translate="label_confirm_password">Confirm password</label>
-
- <span class="fieldRequired" title="Required"
- i18n:attributes="title title_required;"
- i18n:translate="label_required">(Required)</span>
-
- <div class="formHelp" i18n:translate="help_confirm_password">
- Re-enter the password. Make sure the passwords are identical.
- </div>
-
- <div tal:content="error">Validation error output</div>
-
- <input type="password"
- name="password_confirm"
- id="password_confirm"
- size="10"
- value=""
- />
- </div>
-
<div class="formControls">
<input class="context"
type="submit"
Modified: selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt.metadata
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt.metadata 2007-07-19 22:53:31 UTC (rev 57)
+++ selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form.cpt.metadata 2007-07-20 07:41:40 UTC (rev 58)
@@ -6,5 +6,5 @@
validators = validate_emailaddr,join_form_validate
[actions]
-action.success = traverse_to:string:register
+action.success = traverse_to:string:selinux_register
action.failure = traverse_to:string:join_form
Deleted: selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form_validate.vpy
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form_validate.vpy 2007-07-19 22:53:31 UTC (rev 57)
+++ selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/join_form_validate.vpy 2007-07-20 07:41:40 UTC (rev 58)
@@ -1,55 +0,0 @@
-## Controller Python Script "validate_registration"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind state=state
-##bind subpath=traverse_subpath
-##parameters=username='',email='',password='',password_confirm=''
-##title=validates the Registration of a User
-
-from Products.CMFPlone import PloneMessageFactory as _
-
-reg_tool=context.portal_registration
-def missing(field):
- state.setError(field, _(u'This field is required, please provide some information.'), 'input_required')
-def nomatch(field):
- state.setError(field, _(u'Passwords do not match.'), 'nomatch_password')
-def minlimit(field):
- state.setError(field, _(u'Passwords must contain at least 5 letters.'), 'min_password')
-def notallowed(field):
- state.setError(field, _(u'This username is reserved. Please choose a different name.'), 'not_allowed')
-
-if not username:
- missing('username')
-if not email:
- missing('email')
-if username and username == context.portal_url.getPortalObject().getId():
- notallowed('username')
-
-properties = context.portal_properties.site_properties
-if not properties.validate_email:
- if password!=password_confirm:
- nomatch('password')
- nomatch('password_confirm')
-
- if not password:
- missing('password')
- if not password_confirm:
- missing('password_confirm')
-
- if not state.getError('password') and len(password) < 5:
- minlimit('password')
- minlimit('password_confirm')
-
-if not state.getError('username') and not reg_tool.isMemberIdAllowed(username):
- state.setError('username',
- _(u'The login name you selected is already in use or is not valid. Please choose another.'),
- 'username_invalid' )
-
-if state.getErrors():
- context.plone_utils.addPortalMessage(_(u'Please correct the indicated errors.'), 'error')
- return state.set(status='failure')
-else:
- context.plone_utils.addPortalMessage(_(u'You have been registered.'))
- return state
Modified: selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/register.cpy
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/register.cpy 2007-07-19 22:53:31 UTC (rev 57)
+++ selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/register.cpy 2007-07-20 07:41:40 UTC (rev 58)
@@ -9,58 +9,6 @@
##title=Register a User
##
-from Products.CMFPlone import PloneMessageFactory as _
-from ZODB.POSException import ConflictError
-
-REQUEST = context.REQUEST
-
-portal_registration = context.portal_registration
-site_properties = context.portal_properties.site_properties
-
-username = REQUEST['username']
-
-password=REQUEST.get('password') or portal_registration.generatePassword()
REQUEST.form['fullname'] = REQUEST['givenName'] + ' ' + REQUEST['surname']
-# This is a temporary work-around for an issue with CMF not properly
-# reserving some existing ids (FSDV skin elements, for example). Until
-# this is fixed in the CMF we can at least fail nicely. See
-# http://dev.plone.org/plone/ticket/2982 and http://plone.org/collector/3028
-# for more info. (rohrer 2004-10-24)
-try:
- portal_registration.addMember(username, password, properties=REQUEST, REQUEST=context.REQUEST)
-except AttributeError:
- state.setError('username', _(u'The login name you selected is already in use or is not valid. Please choose another.'))
- context.plone_utils.addPortalMessage(_(u'Please correct the indicated errors.'), 'error')
- return state.set(status='failure')
-
-if site_properties.validate_email or REQUEST.get('mail_me', 0):
- try:
- portal_registration.registeredNotify(username)
- except ConflictError:
- raise
- except Exception, err:
-
- # TODO registerdNotify calls into various levels. Lets catch all
- # exceptions. Should not fail. They cant CHANGE their password ;-)
- # We should notify them.
- #
- # (MSL 12/28/03) We also need to delete the just made member and return to the join_form.
- msg = _(u'We were unable to send your password to your email address: ${address}',
- mapping={u'address' : str(err)})
- state.setError('email', msg)
- state.set(came_from='login_success')
- context.acl_users.userFolderDelUsers([username,], REQUEST=context.REQUEST)
- context.plone_utils.addPortalMessage(_(u'Please enter a valid email address.'), 'error')
- return state.set(status='failure')
-
-state.set(came_from=REQUEST.get('came_from','login_success'))
-
-if came_from_prefs:
- context.plone_utils.addPortalMessage(_(u'User added.'))
- state.set(status='prefs')
-
-from Products.CMFPlone.utils import transaction_note
-transaction_note('%s registered' % username)
-
-return state
+return context.register(password=password, password_confirm=password_confirm, came_from_prefs=came_from_prefs)
More information about the commits
mailing list