Good thinking 99 ;)
but unfortunately the client has asked me to autogenerate the usernames
based on a sequential 4 digit number (betahaus.emaillogin just
authenticates directly against the member email addresses) so can't use
that argument unfortunately :(
For your case I'll use a formlib add form. You don't have to write any
UI! Roche came up with this neat approach.
For this example the content type class is called AccountingFolder but
you'll see the pattern.
ZCML:
<browser:page
name="addAccountingFolder" <<< name must match the factory
for="*"
class=".adding.AccountingFolderAddForm"
permission="zope.View"
/>
Class:
class AccountingFolderAddForm(formbase.PageAddForm):
"""
"""
form_fields = form.FormFields(IAccountingFolder)
def create(self, data):
title = data['title']
id = <your algorithm here>
self.contentName = id
folder = AccountingFolder(id, **data)
folder.setTitle(title)
return folder
def nextURL(self):
obj = self.context.get(self.contentName)
return "%s/edit" % obj.absolute_url()
I haven't used this myself but I've seen it in action and it is pretty
damn cool :)
BTW you'll need to modify the member schema. So you can use
schemaextender or monkey it, but you'll need this:
schema['id'].regfield = 0
schema['id'].display_autogenerated = 1
Hedley
--
Archive:
http://www.openplans.org/projects/remember/lists/remember/archive/2009/06/1244111662728
To unsubscribe send an email with subject "unsubscribe" to
[email protected]. Please contact [email protected] for
questions.