[Zope3-Users] 403 error upon using addform
Florian Lindner
mailinglists at xgm.de
Fri Nov 19 05:37:47 EST 2004
Mmhh, too trvial, too complicated are you too busy? ;-)
I would really appreciate an answer, cause I'm stuck at this point...
Thanks Stephan,
Florian
Florian Lindner schrieb:
> Stephan Richter schrieb:
>
>> On Sunday 14 November 2004 11:11, Florian Lindner wrote:
>>
>>> But when I fill in the id input field in the form and submit I just get
>>> a Unauthorized (403) error message, also I am logged in as a manager.
>
>
> One addition: It's exactly the same behavior when I'm not logged in
> (working as anonymous).
>
>> Can you provide the traceback? Just because you are a manager, you
>> cannot do everything. If a particular attribute has no security
>> declaration, it is accessible by noone.
>
>
> I haven't translated it, but I'm sure you know what the fields are:
>
> Zeit: Tue Nov 16 11:41:50 2004
> Benutzer: florian, zope.manager, Manager,
> Anfrage-URL:
> http://localhost:8080/++skin++centershock/eventfolder/+/AddCSEvent.html%3Dabc
>
> Ausnahmetyp: Unauthorized
> Ausnahmewert: ('browserDefault', 'zope.Public')
>
> Zurückverfolgung:
>
> Traceback (innermost last):
>
> * Module zope.publisher.publish, line 135, in publish
> object = request.traverse(object)
> * Module zope.publisher.browser, line 507, in traverse
> ob, add_steps = publication.getDefaultTraversal(self, ob)
> * Module zope.app.publication.browser, line 52, in getDefaultTraversal
> return ob.browserDefault(request)
>
> Unauthorized: ('browserDefault', 'zope.Public')
>
>
>>> Another questions is why there is only one field although the schema at
>>> CS.interfaces.IEvent definied some other fields?
>>
>>
>>
>> This is strange. Did you setup something incorreclty?
>
>
> Probably... But what?
>
>>> The ZCML reference says:
>>> "The fields and the order in which to display them. If this is not
>>> specified, all schema fields will be displayed in the order specified in
>>> the schema itself."
>>
>>
>>
>> This is the doc string for the "fields" attribute. As you can read,
>> all fields should be displayed. It might be good to also send us your
>> IEvent interface.
>
>
> I know, that's why I copied it here.
>
> This is my complete CS.interfaces (CS\interfaces.py)
>
> from zope.interface import Interface
> from zope.app.container.interfaces import IContainer, IContained
> from zope.schema import TextLine, Text, Field
> from zope.app.container.constraints import ItemTypePrecondition,
> ContainerTypesConstraint
>
> class IEvent(Interface):
> """This interface stores information about a event."""
>
> def __setitem__(name, object):
> """Add a IEvent object."""
>
> name = TextLine(
> title = u"Name",
> description = u"Short name",
> required = True)
>
> description = Text (
> title = u"Description",
> description = u"Longer description of the event",
> default = u"",
> required = False)
>
> location = Text (
> title = u"Location",
> description = u"The location where the event take place.",
> default = u"",
> required = False)
>
> class IEventFolder(IContainer):
> def __setitem__(name, object):
> """Adds a IEventFolder object."""
>
> __setitem__.precondition = ItemTypePrecondition(IEvent)
>
>
> class IEventContained(IContained):
> __parent__ = Field( constraint =
> ContainerTypesConstraint(IEventFolder))
>
>
> And my configure.zcml (CS\configure.zcml)
>
> <configure xmlns="http://namespaces.zope.org/zope">
> <include package=".Principal" />
> <include package=".browser" />
>
> <interface interface=".interfaces.IEventFolder"
> type="zope.app.content.interfaces.IContentType" />
> <content class=".event.EventFolder">
> <implements
> interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
> <implements
> interface="zope.app.container.interfaces.IContentContainer" />
> <factory id="CS.event.EventFolder" description="CS EventFolder"/>
> <require permission="zope.Public"
> interface=".interfaces.IEventFolder" />
> <require permission="zope.Public"
> set_schema=".interfaces.IEventFolder" />
> </content>
>
> <interface interface=".interfaces.IEvent"
> type="zope.app.content.interfaces.IContentType" />
> <content class=".event.Event">
> <implements
> interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
> <factory id="CS.event.Event" description="CS Event"/>
> <require permission="zope.Public" interface=".interfaces.IEvent" />
> <require permission="zope.Public" set_schema=".interfaces.IEvent" />
> </content>
>
> </configure>
>
> Anything else you need?
>
> TIA,
More information about the Zope3-users
mailing list