[Zope3-Users] RE: Annotations when creating a Principal

2007-05-10 Thread Kevin Gill (Newaddress)
Further to my last email, it appears that my error is using the
FoundPrincipalFactory. I changed the code to use the getPrincipal method
of the PAU and it works fine.

pau = getUtility(IAuthentication)
principal = pau.getPrincipal(principal_id)

Thanks

Kevin

 I am following the example in chapter 22 of Philipps book. I am
setting up
 the PAU so that new users can register with the site. I am extending
the 
 example so that the information entered when creating the Principal is
 copied to the Annotations. Thus I can present the user with a one step

 sign-up.

...


**
www.commuterhomes.ie - MyHome.ie are sponsoring the Commuter Homes Exhibition 
2007 which takes place this Sunday 4th of March in The Lynch Green Isle Hotel, 
Naas Road, Dublin 22 from 1pm – 6pm. FREE ADMISSION.

**
The contents of this email and any attachments are confidential.
They are intended for the named recipient(s) only.
If you have received this email in error please notify the system manager or  
the 
sender immediately and do not disclose the contents to anyone or make copies.

** eSafe scanned this email for viruses, vandals and malicious content. **
**
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Annotations when creating a Principal

2007-05-09 Thread Kevin Gill (Newaddress)
Hi, 

I am following the example in chapter 22 of Philipps book. I am setting
up the PAU so that new users can register with the site. I am extending
the example so that the information entered when creating the Principal
is copied to the Annotations. Thus I can present the user with a one
step sign-up.

I have changed the code on creating the new principal. I retrieve the
principal, adapt it to the IMemberInfo class and set the email
Annotation to the login name. Here is the code.



principal_id = folder.signUp(login, password, title)

pau = getUtility(IAuthentication)

pi = PrincipalInfo(principal_id, login, title, u'')
factory = FoundPrincipalFactory(pi)
principal = factory(pau)

memberinfo = IMemberInfo(principal)
memberinfo.email = login

This code runs but the metadata change is not saved to the database.

My questions are ...

Can I set metadata on an object in the interaction in which the object
is being created?

I am assuming that the principal returned by the FoundPrincipalFactory
is the same as a normal principal when the use is logged in. Is this
assumption valid?

Is the meta data approach the best approach? Would it be easier to
replace the InternalPrincipal with a content object which contains my
new data?  If I do that can I access that data via the standard
principal machinery?


Thanks in advance


Kevin Gill


**
www.commuterhomes.ie - MyHome.ie are sponsoring the Commuter Homes Exhibition 
2007 which takes place this Sunday 4th of March in The Lynch Green Isle Hotel, 
Naas Road, Dublin 22 from 1pm – 6pm. FREE ADMISSION.

**
The contents of this email and any attachments are confidential.
They are intended for the named recipient(s) only.
If you have received this email in error please notify the system manager or  
the 
sender immediately and do not disclose the contents to anyone or make copies.

** eSafe scanned this email for viruses, vandals and malicious content. **
**
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users