Well, I always like to do things the way the experts
recommend :)

Are there any suggestions for this use case?:

I have a content class, which consists of 2

1. a user comment
2. the name of the logged in user

So far, I have been using the browser:addform 
directive to add instances, which generates all my
views for me. (I love this and do not want to lose

I have read about annotations and the DublinCore and I
think I can go digging in __annotations__, if I make
my class IAttributeAnnotable and get the logged in
user name.

The thing is, in this use case, the logged-in-user
attribute is not metadata, it is a fundamental
component of this particular content object.

So, my question boils down to: what is the recommended
way to get at the request object in a content factory
when using browser:addform.

The reason I think this matters is that there are so
many adapters and utilities that need a request
object, it seems unnecessary to deprive a content
factory of the use of them, when the developer chooses
to take advantage of browser:addform.

Best wishes,


--- Philipp von Weitershausen

> Marco Mariani wrote:
> > Rupert Redington wrote:
> >> from zope.security.management import
> getInteraction
> >>
> >> request = getInteraction().participations[0]
> >>
> >> Why this works is outlined (IIRC) in
> zope/app/securitypolicy/zopepolicy.txt.
> >>
> >> There may well be better ways to fish for the
> request than this... any
> >> offerings?
> >>   
> > In my understanding, if you need to look for the
> request inside a
> > content object, you're doing something that should
> be done in another
> > place, be it a view or an adapter.
> Indeed.
> > Of course, I've been wrong before :-]
> Not this time :).
> The hack displayed above (going thru the security
> interaction) should
> not be considered a standard procedure for getting
> at the request in
> places where you don't have it. Content objects are
> dull. They do
> nothing. Other stuff does things *to* them. Mats'
> solution is the better
> one.
> Philipp
> _______________________________________________
> Zope3-users mailing list
> Zope3-users@zope.org
> http://mail.zope.org/mailman/listinfo/zope3-users

Inbox full of spam? Get leading spam protection and 1GB storage with All New 
Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html
Zope3-users mailing list

Reply via email to