Hi Brayton, createObject return the id of the object created or raise an exception. You need to traverse to it: mytopic = context.restrictedTraverse(id) or sth like this (get, unrestricted, ....)
You also can use event handler or there is a PythonScript called to create content on registration time, i can't remember the name of this one; JeanMichel FRANCOIS aka ToutPT Le Thursday 24 July 2008 02:13:26 Brayton Osgood, vous avez écrit : > Hi, > > I'm trying to automatically create Collections for each user that I > register. I haven't quite been able to figure out how to do this. > > If I add the following code to the end of my register.cpy: > >context.portal_factory.createObject(id='collection_for_'+username, > > type_name='Topic') > > it takes me to the TTW Collection creation page, but this isn't really > what I want. > > Alternatively I've tried calling another script from register.cpy > > where I have the following: > >##Python Script (addCollection) > >##parameters=user=None > > > >pf = context.portal_factory > > > >member = pm.getMemberById(user) > >id='collection_for_'+member > > > >mytopic = pf.createObject(id=id,type_name='Topic') > >mytopic.addIndex(friendlyName='Collection for '+fullname, > > description='Automatically refreshing folder with all content tagged > for '+fullname, enabled='True', criteria='user') > > >pf.doCreate(mytopic,id) > > return mytopic > > > This gives me the following error: > Exception Type AttributeError > Exception Value 'str' object has no attribute 'addIndex' > > which implies that mytopic was created as a string, not a collection. > Any ideas on how I might fix this, or if it's even possible to do what > I'm trying? > > Thanks very much, > Brayton > > _______________________________________________ > Product-Developers mailing list > [email protected] > http://lists.plone.org/mailman/listinfo/product-developers _______________________________________________ Product-Developers mailing list [email protected] http://lists.plone.org/mailman/listinfo/product-developers
