## Script (Python) "register" ##title=Register a user ##parameters=with_role,cvsfile REQUEST=context.REQUEST portal_properties = context.portal_properties portal_registration = context.portal_registration lines = cvsfile.readlines() message = "" for line in lines: dat = line.split(',') if len(dat)!=4: continue # bad line uname, name, email, password = line.split(',') if not password: password = portal_registration.generatePassword() suss = REQUEST if email: suss.set('username',uname) suss.set('fullname',name) suss.set('email', email) suss.set('username', uname) failure = portal_registration.addMember(uname, password,roles=(with_role,),properties=suss) message += "\n"+uname+' '+password+str(failure) if REQUEST.get('mail_me', 0): portal_registration.registeredNotify(uname) return state.set( portal_status_message=message ) if not portal_properties.validate_email: failMessage = portal_registration.testPasswordValidity(password, confirm) if failMessage: REQUEST.set( 'error', failMessage ) return context.join_form( context, REQUEST, error=failMessage ) failMessage = portal_registration.testPropertiesValidity(REQUEST) if failMessage: REQUEST.set( 'error', failMessage ) return context.join_form( context, REQUEST, error=failMessage ) else: password=REQUEST.get('password') or portal_registration.generatePassword() portal_registration.addMember(REQUEST['username'], password, properties=REQUEST) if portal_properties.validate_email or REQUEST.get('mail_me', 0): portal_registration.registeredNotify(REQUEST['username']) return context.registered( context, REQUEST )