Phillip J. Eby wrote:

> Steve Alexander wrote:
>>  As a simpler workaround, you can use 
>>your_object.commitSubtransaction() instead of redirecting to a new page. 
> Um, this shouldn't be the issue here.  _SetAttributeFor() should be called
> when the attribute is set; it's not transaction-driven.  Something weird is
> happening with Christian's situation that I haven't investigated yet.

I agree. However, if Christian's problem can be worked-around by 
redirecting before setting attributes, then it should also be 
workaroundable by calling commitSubtransaction.

> Actually, the status should be AddedStatus, and it should stay that way
> throughout the transaction, unless the object gets deleted in the same
> transaction.

That's what I'd originally thought. Then I (mis-?)read the code again...

The __set_attr__ method of says:


The _objectChanging method says:

     if self._v_status_ is not ChangedStatus:
         d[_v_status_] = ChangedStatus

I don't see an exception for if _v_status is already AddedStatus.

Steve Alexander
Software Engineer
Cat-Box limited

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to