[Zope] Recursive Calling the same DTML Method is not validated?

iap@y2fun.com iap@y2fun.com
Tue, 30 Oct 2001 16:49:20 +0800


Well, I answer myself:
change the lib/python/OFS/DTMLMethod.py in line 203:
from
    del self.__dict__['validate']
to
    if self.__dict__.has_key('validate'): del self.__dict__['validate']
Then, it works again.
But maybe this is just a skin-deep solution.
I have no idea if this will cause another problem, such as security hole?


----- Original Message ----- 
From: <iap@y2fun.com>
To: <zope@zope.org>
Sent: Tuesday, October 30, 2001 4:33 PM
Subject: [Zope] Recursive Calling the same DTML Method is not validated?


> Suppose we have a DTML Method named "A"
> ---------------------------------------------------------
> <dtml-unless "REQUEST.has_key('aa')">
>     <dtml-call "REQUEST.set('aa',0)">
> </dtml-unless>
> 
> <dtml-call "REQUEST.set('aa',REQUEST['aa']+1)">
> <dtml-var "REQUEST['aa']">
> 
> <dtml-if "REQUEST['aa']>10">
>    <dtml-return "''"><dtml-comment>Stop here</dtml-comment>
> <dtml-else>
>    <dtml-var A><dtml-comment>Go deeper</dtml-comment>
> </dtml-if>
> ---------------------------------------------------------
> Excute it, then got the result:
> 
> Error Type: KeyError
> Error Value: validate
> ---------------------------------------------------------
> This is a sample method abstracted from my another more complex method
> which works in the previous version of Zope.
> I know that there are something changed in the SecurityManager.
> But I have no idea how to make this sort of recursive method works again.
> Any suggestion?
> Thanks.
> Iap, Singuan
> 
> 
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> 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 )
>