[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Zope] Re: Acquiring object from Products instances


On Thu, 2 May 2002, Dieter Maurer wrote:

> Luca Manini writes:
>  > I've a product that defines a classe ageForm.
>  > I've a PythonScript that adds an ageForm instance to a folder.
>  > After adding the instance it calls a method on it.
>  > This methods tries to access an objects using acquisition.
>  > ...
> Apparently, you do not tell us what your problem is...
>
> I expect, the problems cause is that constructors in Zope
> usually do not return the constructed object (but either "None"
> or the id of the constructed object).
>
> The standard idiom is:
>
>     om.manage_addProduct[<product_name>].<constructor>(id,....)
>     obj= getattr(om,id)
I tried it this way and it works perfectly if the new object is
a folder or a dtml-document, but not for a tinytable object.
A complete very simple example you can find at:

   http://www.foodborne-net.de/~tillea/MyFolder/MyFolder.tgz

The relevant part is shown here:


    ob=MyFolder()
    ob.id=str(id)
    ob.title=title
    self._setObject(id, ob)
    ob=self._getOb(id)

    checkPermission=getSecurityManager().checkPermission

### From the example ... but does not work anyway
##    ob = getattr(self, id) #we basically get the instance from the ZODB, now has AqWrapper

    ob.manage_addFolder('someid') #works as expected
    ob.manage_addTinyTable(id='link_table',
                               title='TinyTableObject for '+ob.id,
                               columns=column_names)

The last line does not work because it does not put the TinyTable object
into the new folder (where I was able to create the example folder named
'someid' but it will be created in the folder below.

Is this perhaps a TinyTable bug?

Kind regards

         Andreas.


_______________________________________________
Zope maillist  -  Zope@xxxxxxxx
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )



This mailing list archive is a service of Copilotco.