[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