[Zope] Product question, third posting

Daniel Rusch drusch@globalcrossing.com
Fri, 18 Aug 2000 09:39:38 -0500


I've created a folderish product. When I select that product from the
available objects list, thus creating an instance of that product, I can
create objects like dtml document and dtml method in the new folderish
object (very similar to what happens when you instantiate a folder
object, you can have a dtml method created in the new folder).

The question is why can't I create objects from the Products directory,
such as Local File System?????


The code below works great, I get a dtml document, two folders each with
a dtml method in them....
HOW CAN I CREATE A LOCAL FILE SYSTEM OR ANY OTHER OBJECT FROM THE
PRODUCTS DIRECTORY IN THIS MANAGE_ADD FUNCTION???????


def manage_addSimpleSite(self, id, title='',
                     createNewFolder=0,
                     createEditFolder=0,
                     REQUEST=None):
    """Add a new SimpleSite object with id *id*.

    If the 'createNewFolder' and 'createEditFolder' parameters are set
to any true
    value, an 'New sub Folder' and an 'edit sub Folder' objects are
created respectively
    in the new SimpleSite.
    """
    ob=SimpleSite()
    ob.id=id
    ob.title=title
    self._setObject(id, ob)
    try: user=REQUEST['AUTHENTICATED_USER']
    except: user=None
    ob.manage_addDTMLDocument(id='index_html', title='')
    if createNewFolder:
        if (user is not None) and not (
            user.has_permission('Add User SimpleSites', self)):
            raise 'Unauthorized', (
                  'You are not authorized to add User SimpleSites.'
                  )
        ob.manage_addFolder(id='New'+id, title='', createPublic=1)
    if createEditFolder:
        if (user is not None) and not (
            user.has_permission('Add Documents, Images, and Files',
self)):
            raise 'Unauthorized', (
                  'You are not authorized to add DTML Documents.'
                  )
        ob.manage_addFolder(id='Edit'+id, title='', createPublic=1)
    if REQUEST is not None:
        return self.manage_main(self, REQUEST, update_menu=1)


Thanks,

Dan