[Zope] manage_editProperties Question

Dieter Maurer dieter@handshake.de
Wed, 5 Jan 2000 23:54:47 +0100 (CET)


Ronald L. Roeber writes:
 >      self.manage_editProperties(REQUEST=None,contact=newcontact)
 >      ...
 > 
 > Error Type: TypeError
 > Error Value: unexpected keyword argument: contact

"manage_editProperties" has the following signature:

	def manage_editProperties(self, REQUEST)

As you see, there is indeed no parameter named "contact".

You can do instead:

      self.manage_editProperties({'contact' : newcontact})

This means, you build a dictionary with the new property
values and pass it as REQUEST.


Be WARNED:

   "manage_editProperties" changes *ALL* properties
   of your object, even those not mentioned in the
   dictionary!

What you may want to use instead is "manage_changeProperties".
It will change just the mentioned properties, 'contact'
in your example.


I think, you find this information in the Zope integrated
help system (API Reference, Property Manager).
If not, then look at the source: OFS.PropertyManager.PropertyManager.
It contains good source documentation.


Dieter