Ooops that should be
<page for="">zope.app.container.interfaces.IAdding" name="AddContent.html" class=".forms.MyContentAddForm" permission="zope.ManageContent" /> Mats On Tue, 20 Jun 2006 23:37:35 -0500, mats.nordgren wrote > John, > > I have never done it with the addform approach but it is very easily done with formlib. > > class MyContentAddForm(form.AddForm): > form_fields = form.Fields(IMyContent) > > def __init__(self, context, request): > self.context = context > self.request = request > > def create(self, data): > mycontent = MyContent() > mycontent.title = data['title'] > mycontent.user = self.request.principal.id > return mycontent > > Register it as a page in your config file > > <page > for="" > name="AddContent.html" > class=".forms.MyContentAddForm" > permission="zope.ManageContent" /> > > Cheers, > > Mats > > > > On Tue, 20 Jun 2006 22:42:18 +0100 (BST), John Smith wrote > > Hi, > > > > I am trying to add some request related data into a content object (eg authenticated user etc). > > > > The content is being added using a normal addform/content_factory zcml approach. > > > > The class __init__ method does not receive any arguments, and the context/request pair are only available inside of views. > > > > So I am stumped. > > > > How do I get at the request object? A utility? An adaptor? > > > > Thanks, > > > > John > > > > Try the all-new Yahoo! Mail . "The New Version is radically easier to use" The Wall Street Journal > > |
_______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users