[Zope] Can't create ZClass from within Member folders???

chip johansen pearlzope@hotmail.com
Thu, 02 Nov 2000 16:06:38 EST


I have the PTK.8 installed with Zope 2.2.

I have created a demo portal and implemented membership using ZODBMembership 
Folders.

I have also created several folderish ZClasses to use as content types. I 
have given the add methods of these classes "manager" proxy.  I also created 
some user interfaces for adding these content instances from the app rather 
than the management interface.

The problem is that a user with "manager" role can create and delete content 
instances from within the app while in their member user folder or from the 
management interface, but users with "Member" role can only do so from 
within the management interface, but not the interface I created to be 
called from within there folder.

The funny thing is that if I create a copy of these methods at a level above 
the "Members" folder, it works fine, but go down 2 levels to the 
Members/user folder and it won't let me do it.

I have given every method involved "manager" proxy, and just for the heck of 
it, given "Member" the same permissions as "manager" from the top level 
down, but I still get prompted for authentication when I try to add or 
delete an instance from my method????

Is it something particular to the Members/users folders of the PTK or am I 
missing something else?  I would appreciate any insight.

Thanks, Chip Johansen

Trace back:

<H2>Zope Error</H2>
  <P>Zope has encountered an error while publishing this resource.
  </P>
  <P><STRONG>Unauthorized</STRONG></P>

  You are not authorized to access <em>PressReleaseClass_add</em>.
DEBUG-----------------------------------------------------------
Owner:Anonymous User - Roles:('Manager', 'Member', 'Owner') - 
Value:&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;Add PressRelease&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY BGCOLOR=&quot;#FFFFFF&quot; LINK=&quot;#000099&quot; 
VLINK=&quot;#555555&quot;&gt;

&lt;dtml-call &quot;REQUEST.set('title', 
REQUEST.form['PressReleaseTitle'])&quot;&gt;

&lt;dtml-with 
&quot;PressReleaseClass.createInObjectManager(REQUEST['ItemID'], 
REQUEST)&quot;&gt;
  &lt;dtml-call 
&quot;propertysheets.PressRelease.manage_editProperties(REQUEST)&quot;&gt;
  &lt;dtml-call reindex_object&gt;
&lt;/dtml-with&gt;

&lt;dtml-if NoRedir&gt;
&lt;dtml-else&gt;

&lt;dtml-if DestinationURL&gt;

&lt;dtml-call &quot;RESPONSE.redirect(
       DestinationURL+'/manage_workspace')&quot;&gt;

&lt;dtml-else&gt;

    &lt;dtml-call &quot;RESPONSE.redirect(
           URL2+'/manage_workspace')&quot;&gt;
&lt;/dtml-if&gt;
&lt;/dtml-if&gt;
&lt;/body&gt;&lt;/html&gt;
-------------------------------------------------------------------
<!--
Traceback (innermost last):
  File C:\PROGRA~1\PearlNet\lib\python\ZPublisher\Publish.py, line 222, in 
publish_module
  File C:\PROGRA~1\PearlNet\lib\python\ZPublisher\Publish.py, line 187, in 
publish
  File C:\PROGRA~1\PearlNet\lib\python\ZPublisher\Publish.py, line 171, in 
publish
  File C:\PROGRA~1\PearlNet\lib\python\ZPublisher\mapply.py, line 160, in 
mapply
    (Object: pressReleaseInstance_add)
  File C:\PROGRA~1\PearlNet\lib\python\ZPublisher\Publish.py, line 112, in 
call_object
    (Object: pressReleaseInstance_add)
  File C:\PROGRA~1\PearlNet\lib\python\OFS\DTMLMethod.py, line 172, in 
__call__
    (Object: pressReleaseInstance_add)
  File C:\PROGRA~1\PearlNet\lib\python\DocumentTemplate\DT_String.py, line 
528, in __call__
    (Object: pressReleaseInstance_add)
  File C:\PROGRA~1\PearlNet\lib\python\DocumentTemplate\DT_With.py, line 
146, in render
    (Object: manage_addProduct['P2B_ContentItems'])
  File C:\PROGRA~1\PearlNet\lib\python\DocumentTemplate\DT_Util.py, line 
331, in eval
    (Object: PressReleaseClass_add(_.None,_, NoRedir=1))
    (Info: PressReleaseClass_add)
  File C:\PROGRA~1\PearlNet\lib\python\OFS\DTMLMethod.py, line 194, in 
validate
    (Object: pressReleaseInstance_add)
  File C:\PROGRA~1\PearlNet\lib\python\AccessControl\SecurityManager.py, 
line 139, in validate
  File C:\PROGRA~1\PearlNet\lib\python\AccessControl\ZopeSecurityPolicy.py, 
line 183, in validate
Unauthorized: (see above)


_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at 
http://profiles.msn.com.