Re: [Zope3-Users] Still trying am to build an EditForm

2007-09-04 Thread Stephan Richter
On Sunday 02 September 2007 15:39, Florian Lindner wrote:
 I have also tried some variations of the above like not using z3c:pagelet
 but an normal page directive, registered it without an layer directive and
 so on.

 So please... whats wrong there?

Do you have z3c.formui installed and the ZCML linked up?

Does Andreas' package help you?

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Still trying am to build an EditForm

2007-09-02 Thread Florian Lindner
Hello,
I am still trying to build an EditForm using z3c.form. Since my previous 
thread is rather old I dare to open a new one.

I've tried a number of variations and will post the one which is the closest 
to the example.

This is the interface:

class IBlogEntry(IContainer):
Interface for blog entry objects.
contains(IBlogComment)

title = TextLine(
title = _(uBlog entry title),
description = _(uBlog entry title.),
default = u,
required = True)

content = Text(
title = _(uBlog entry content),
description = _(uBlog entry content.),
default = u,
required = True) 

inputType = Choice(
title = _(uType of input),
description = _(uSpecify the input type),
required = True,
default = ureStructeredText,
values = [ureStructeredText, uHTML] )

The view is configured like that:

z3c:pagelet
name=EditEntry.html
for=..interfaces.IBlogEntry
class=.views.EditEntry
permission=Blog.EditEntry
layer=Blog.interfaces.IBlogLayer
/

The code in .views.EditEntry is:

class EditEntry(layout.FormLayoutSupport, form.EditForm):
fields = field.Fields(IBlogEntry).select(title, content)

The layer is registered like that:

interface
interface=.interfaces.IBlogLayer
name=BlogSkin
type=zope.publisher.interfaces.browser.IBrowserSkinType
/

and

class IBlogLayer(IFormLayer, IPageletBrowserLayer):
Demo browser layer using div-form layout template.


Now I call the URL.

http://localhost:8080/++skin++BlogSkin/Blog/2007_08_16_abc/EditEntry

2007_08_16_abc ist an BlogEntry object.

Now there comes an ComponentLookupError. A server error occurred.  up.

Traceback (most recent call last):
  Module zope.publisher.publish, line 133, in publish
result = publication.callObject(request, obj)
  Module zope.app.publication.zopepublication, line 167, in callObject
return mapply(ob, request.getPositionalArguments(), request)
  Module zope.publisher.publish, line 108, in mapply
return debug_call(obj, args)
   - __traceback_info__: security proxied z3c.pagelet.zcml.EditEntry instance 
at 0xa0248cc
  Module zope.publisher.publish, line 114, in debug_call
return obj(*args)
  Module z3c.formui.layout, line 27, in __call__
ILayoutTemplate)
  Module zope.component._api, line 103, in getMultiAdapter
raise ComponentLookupError(objects, interface, name)
ComponentLookupError: ((z3c.pagelet.zcml.EditEntry object at 0xa0248cc, 
zope.publisher.browser.BrowserRequest instance 
URL=http://localhost:8080/++skin++BlogSkin/Blog/2007_08_16_abc/EditEntry.html),
 
InterfaceClass z3c.template.interfaces.ILayoutTemplate, u'')


I have also tried some variations of the above like not using z3c:pagelet but 
an normal page directive, registered it without an layer directive and so on.

So please... whats wrong there?

Thanks,

Florian
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] Still trying am to build an EditForm

2007-09-02 Thread Andreas Reuleaux
Hi Florian,

I have been playing with your example, try this:

download http://user.cs.tu-berlin.de/~reuleaux/blogs.tgz

unpack and cd into blogs

edit buildout.cfg as you see fit: especially the eggs-directory 
should be changed, right now: /home/reuleaux/z3eggs

$ python bootstrap.py

$ ./bin/buildout

$ ./bin/instance start|stop|restart|debug

then goto: localhost:8080
you can e. g. add a folder there, say foo (but you don't have to)
the use the My skin:

  http://localhost:8080/++skin++My/foo

there you can add blog entries, edit them, see the list of all entries,
there is some navigation bar on the left.

Basically this is a mixture of
* the addressbook-example of formdemo
* your interface defs
* Baiju's blog for zc.buildout example
* some of my own stuff, that I learnt from z3c.form so far


some points to note:
* somewhere in a template I was having difficulties with
  widget/content - therefore changed to cntnt
* there are some Makefiles in there that allow you to clean up
  - in the current folder with: make clean
  - recursively with: make rclean
* the example really needs some cleanup
  - lot's of pkgs not needed
  - forms could certainly be used smarter: e g.
I wanted a DisplayForm with a change button - I used form.Form
  however it works for me.

hope this helps.

-Andreas


On Sun, Sep 02, 2007 at 09:39:56PM +0200, Florian Lindner wrote:
 Hello,
 I am still trying to build an EditForm using z3c.form. Since my previous 
 thread is rather old I dare to open a new one.
 
 I've tried a number of variations and will post the one which is the closest 
 to the example.
 
 This is the interface:
 
 class IBlogEntry(IContainer):
 Interface for blog entry objects.
 contains(IBlogComment)
 
 title = TextLine(
 title = _(uBlog entry title),
 description = _(uBlog entry title.),
 default = u,
 required = True)
 
 content = Text(
 title = _(uBlog entry content),
 description = _(uBlog entry content.),
 default = u,
 required = True) 
 
 inputType = Choice(
 title = _(uType of input),
 description = _(uSpecify the input type),
 required = True,
 default = ureStructeredText,
 values = [ureStructeredText, uHTML] )
 
 The view is configured like that:
 
 z3c:pagelet
 name=EditEntry.html
 for=..interfaces.IBlogEntry
 class=.views.EditEntry
 permission=Blog.EditEntry
 layer=Blog.interfaces.IBlogLayer
 /
 
 The code in .views.EditEntry is:
 
 class EditEntry(layout.FormLayoutSupport, form.EditForm):
 fields = field.Fields(IBlogEntry).select(title, content)
 
 The layer is registered like that:
 
 interface
 interface=.interfaces.IBlogLayer
 name=BlogSkin
 type=zope.publisher.interfaces.browser.IBrowserSkinType
 /
 
 and
 
 class IBlogLayer(IFormLayer, IPageletBrowserLayer):
 Demo browser layer using div-form layout template.
 
 
 Now I call the URL.
 
 http://localhost:8080/++skin++BlogSkin/Blog/2007_08_16_abc/EditEntry
 
 2007_08_16_abc ist an BlogEntry object.
 
 Now there comes an ComponentLookupError. A server error occurred.  up.
 
 Traceback (most recent call last):
   Module zope.publisher.publish, line 133, in publish
 result = publication.callObject(request, obj)
   Module zope.app.publication.zopepublication, line 167, in callObject
 return mapply(ob, request.getPositionalArguments(), request)
   Module zope.publisher.publish, line 108, in mapply
 return debug_call(obj, args)
- __traceback_info__: security proxied z3c.pagelet.zcml.EditEntry 
 instance 
 at 0xa0248cc
   Module zope.publisher.publish, line 114, in debug_call
 return obj(*args)
   Module z3c.formui.layout, line 27, in __call__
 ILayoutTemplate)
   Module zope.component._api, line 103, in getMultiAdapter
 raise ComponentLookupError(objects, interface, name)
 ComponentLookupError: ((z3c.pagelet.zcml.EditEntry object at 0xa0248cc, 
 zope.publisher.browser.BrowserRequest instance 
 URL=http://localhost:8080/++skin++BlogSkin/Blog/2007_08_16_abc/EditEntry.html),
  
 InterfaceClass z3c.template.interfaces.ILayoutTemplate, u'')
 
 
 I have also tried some variations of the above like not using z3c:pagelet but 
 an normal page directive, registered it without an layer directive and so on.
 
 So please... whats wrong there?
 
 Thanks,
 
 Florian
 ___
 Zope3-users mailing list
 Zope3-users@zope.org
 http://mail.zope.org/mailman/listinfo/zope3-users
 
 
 !DSPAM:46db201184319549218874!
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users