[Zope] Problem with understanding Yihaw

Tony Flanagan tony.flanagan@engitech.ie
Wed, 22 May 2002 17:37:35 +0100


Hi all
I am having a problem with the Yihaw directory product on my site. I am
attempting to allow a user(who has the role of contributor) add new
YihawEvents to the site and so I have created them in the root acl_users
folder and provided them with all of the neccessary permissions in the root
directory("Add Yihaw Objects", "Delete Objects", "Manage properties", "Use
mailhost services", "View management screens" and "Manage Yihaw Objects". ),
they then acquire these permissions throughout the rest of the site. However
when I log in as this user and attempt to add an event I receive the
following error:
Site Error
An error was encountered while publishing this resource.

NameError

Sorry, a site error occurred.

Traceback (innermost last):
  File /usr/local/Zope-2.4.3-linux2-x86/lib/python/ZPublisher/Publish.py,
line 223, in publish_module
  File /usr/local/Zope-2.4.3-linux2-x86/lib/python/ZPublisher/Publish.py,
line 187, in publish
  File /usr/local/Zope-2.4.3-linux2-x86/lib/python/Zope/__init__.py, line
226, in zpublisher_exception_hook
    (Object: YihawEventsItem_factory)
  File /usr/local/Zope-2.4.3-linux2-x86/lib/python/ZPublisher/Publish.py,
line 171, in publish
  File /usr/local/Zope-2.4.3-linux2-x86/lib/python/ZPublisher/mapply.py,
line 160, in mapply
    (Object: add_YihawEvents)
  File /usr/local/Zope-2.4.3-linux2-x86/lib/python/ZPublisher/Publish.py,
line 112, in call_object
    (Object: add_YihawEvents)
  File /usr/local/Zope-2.4.3-linux2-x86/lib/python/OFS/DTMLMethod.py, line
199, in __call__
    (Object: add_YihawEvents)
  File
/usr/local/Zope-2.4.3-linux2-x86/lib/python/DocumentTemplate/DT_String.py,
line 546, in __call__
    (Object: add_YihawEvents)
  File
/usr/local/Zope-2.4.3-linux2-x86/lib/python/DocumentTemplate/DT_With.py,
line 133, in render
    (Object: YihawEventsItem.createInObjectManager(REQUEST['id'], REQUEST))
  File
/usr/local/Zope-2.4.3-linux2-x86/lib/python/DocumentTemplate/DT_Util.py,
line 231, in eval
    (Object: YihawEventsItem.createInObjectManager(REQUEST['id'], REQUEST))
    (Info: REQUEST)
  File <string>, line 2, in f
    (Object: guarded_getitem)
NameError: global name 'YihawEventsItem' is not defined

I have discovered that this error returned is actually a bug in
"guarded_getitem", that instead of returning a NameError it should be
requesting authorisation. My question is, why is my user not already
authorised seeing as they have been given the proper permissions to carry
out this task? I should point out also that I have attempted to add an event
using the manager role(who should be authorised), with the same outcome. Has
anyone encountered a similiar problem?  If somebody could even outline the
steps for the proper authorisation of my user I would appreciate it.
Thanks
Tony