=?iso-8859-1?Q?Max=5FM=F8ller=5FRasmussen?= writes:
I have an objectmanager that implements:
def _getNewId(self): """ generates a new unique id for a message get new id and make a zero-padded string """ # 12 chars long, 999,999,999,999 messages max in one discussion! newID = '%012d' % self._newId self._newId += 1 self._p_changed = 1 return newID
And it works nicely if I call it directly.
But when I try to call the method from an object being added to the objectmanager like this:
------------------------------------------------------
def manage_addMessageAction(self, title='No title', comment='No comment', author='No author', email='', parent=None, REQUEST=None, RESPONSE=None):
"Adds a message to the objectmanager"
id = self._getNewId()
.... etc. Your "self" is here not your Object Manager but a factory instance. The Object Manager is in the acquisition chain of the factory and by this way, you can usually acquire method of the Object Manager. However, "_getNewId" begins with a "_" and such attributes are not acquired unless explicitly requested.
Dieter