[Zope3-Users] ComponentLookupError

Egon Frerich e.frerich at nord-com.net
Fri May 12 07:42:28 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Jachin,

with these changes your application works:


(new)
- ---- browser.py ----

from zope.app.form.browser.editview import EditView
from zope.app.form.browser.add import AddView
from zope.app.form import CustomWidgetFactory
from zope.app.form.browser import ObjectWidget

from interfaces import IPerson
from person import Person
from streetAddress import StreetAddress


st = CustomWidgetFactory(ObjectWidget, StreetAddress)

class PersonEditView(EditView):
    __used_for__ = IPerson

    address_widget = st

class PersonAddView(AddView):
    __used_for__ = IPerson

    address_widget = st

- ----- configure.zcml ----

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    i18n_domain="abook">

    <!-- Person -->

    <interface
        interface    = ".interfaces.IPerson"
        type        = "zope.app.content.interfaces.IContentType"
        />

    <content class = ".person.Person">
        <factory
            id            = "simple_abook.person.Person"
            description    = "A Person"
            />
        <require
            permission    = "zope.View"
            interface    = ".interfaces.IPerson"
            />
        <require
            permission    = "zope.View"
            set_schema    = ".interfaces.IPerson"
            />
    </content>

    <content class = ".streetAddress.StreetAddress">
        <factory
            id            = "simple_abook.person.StreetAddress"
            description    = "A Person"
            />
        <require
            permission    = "zope.View"
            interface    = ".interfaces.IStreetAddress"
            />
        <require
            permission    = "zope.View"
            set_schema    = ".interfaces.IStreetAddress"
            />
    </content>


    <browser:addform
        label            = "Add a Person"
        fields            = "firstName lastName address"
        name            = "AddPerson.html"
        schema            = ".interfaces.IPerson"
        content_factory    = ".person.Person"
        class=".browser.PersonAddView"
        permission        = "zope.View"
        />

    <browser:editform
        label            = "Edit a Person"
        schema            = ".interfaces.IPerson"
        for                = ".interfaces.IPerson"
        fields            = "firstName lastName address"
        name            = "edit.html"
        class=".browser.PersonEditView"
        permission        = "zope.View"
        menu            = "zmi_views"
        title            = "Edit"
        />

    <browser:addMenuItem
        title            = "A Person"
        description        = "Add a Person"
        view            = "AddPerson.html"
        class            = ".person.Person"
        permission        = "zope.View"
        />

</configure>
- -------- --------


Regards,

Egon


Jachin Rupe schrieb am 11.05.2006 21:12:

> hi there
>
> opps.... I forgot:
>
> ------------streetAddress.py----------------
>
> from persistent import Persistent
> from zope.interface import implements
>
> from abook.interfaces import IStreetAddress
>
>
> class StreetAddress(Persistent):
>
>     implements(IStreetAddress)
>
>     street = u""
>     city = u""
>     state = u""
>     zipcode = u""
>
>
>
> On May 11, 2006, at 2:02 PM, Egon Frerich wrote:
>
> Hi Jachin,
>
>
> Jachin Rupe schrieb am 11.05.2006 19:12:
>
>>>> ------------interfaces.py----------------
>>>>
>>>> from zope.interface import Interface
>>>> import zope.schema
>>>>
>>>> class IStreetAddress(Interface):
>>>>     """A vine street address"""
>>>>
>>>>     street = zope.schema.Text (
>>>>         title=u"Street 1",
>>>>         description=u"The street address",
>>>>         required = False
>>>>     )
>>>>
>>>>     city = zope.schema.TextLine (
>>>>         title=u"City",
>>>>         description=u"The city.",
>>>>         required = False
>>>>     )
>>>>
>>>>     state = zope.schema.TextLine (
>>>>         title=u"State",
>>>>         description=u"The state.",
>>>>         required = False
>>>>     )
>>>>
>>>>     zipcode = zope.schema.TextLine (
>>>>         title=u"Zip Code",
>>>>         description=u"The zip code",
>>>>         required = False,
>>>>         min_length = 5
>>>>     )
>>>>
>>>>
>>>>
>
> Can you please me your implementation for this?
>
> Egon
>
> --
> Egon Frerich, Freudenbergstr. 16, 28213 Bremen
>
> E-Mail: e.frerich at nord-com.net

- --
Egon Frerich, Freudenbergstr. 16, 28213 Bremen

E-Mail: e.frerich at nord-com.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (MingW32)
Comment: GnuPT 2.7.2
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEZHSiuTzybIiyjvURAjtUAKCBUauLTFzO+soS/N8RWPO4N5SG8ACfalVY
jvkyaY1jfGjM9/I1g/5HbLE=
=Elf8
-----END PGP SIGNATURE-----


More information about the Zope3-users mailing list