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

Reply via email to