[Zope] acessing parameters in a "helper class"
Max M
maxmcorp@worldonline.dk
Tue, 7 Nov 2000 22:51:56 +0100
I have the below class "mxm_guestbook_base" that is subclassed by a zClass.
So far so good.
But when in a "index_html" dtml-method I try to acces the value "author" of
the "aComment" class returned in the "getAllComments" method like so:
<dtml-in getAllComments>
<dtml-var author>
<dtml-var comment fmt=structured-text>
</dtml-in>
I get the following traceback:
-----------------------------------------------
Traceback (innermost last):
File C:\mxmZope\lib\python\ZPublisher\Publish.py, line 222, in
publish_module
File C:\mxmZope\lib\python\ZPublisher\Publish.py, line 187, in publish
File C:\mxmZope\lib\python\ZPublisher\Publish.py, line 171, in publish
File C:\mxmZope\lib\python\ZPublisher\mapply.py, line 160, in mapply
(Object: index_html)
File C:\mxmZope\lib\python\ZPublisher\Publish.py, line 112, in call_object
(Object: index_html)
File C:\mxmZope\lib\python\OFS\DTMLMethod.py, line 172, in __call__
(Object: index_html)
File C:\mxmZope\lib\python\DocumentTemplate\DT_String.py, line 528, in
__call__
(Object: index_html)
File C:\mxmZope\lib\python\DocumentTemplate\DT_In.py, line 691, in
renderwob
(Object: comments)
File C:\mxmZope\lib\python\OFS\DTMLMethod.py, line 194, in validate
(Object: index_html)
File C:\mxmZope\lib\python\AccessControl\SecurityManager.py, line 139, in
validate
File C:\mxmZope\lib\python\AccessControl\ZopeSecurityPolicy.py, line 159,
in validate
Unauthorized: author
-----------------------------------------------
It seems that I have a problem accessing values in the objects inserted in
self.comments list.
If I just self.append('some comment') directly as a string I have no
problems acessing the comments as "sequence-item". It is only when inserting
an object into the list I cannot access it.
Anybody has any ideas?
-----------------------------------------------
index_html (dtml-method):
-----------------------------------------------
<dtml-var standard_html_header>
[<a href="add_comment">Ny kommentar</a>]<br>
<dtml-in getAllComments>
<i><dtml-var author></i><br>
<dtml-var comment fmt=structured-text><p>
<center><hr height=1 noshade width=90%></center>
</dtml-in><br>
[<a href="add_comment">Ny kommentar</a>]<br>
<dtml-var standard_html_footer>
-----------------------------------------------
class aComment:
' '
def __init__(self, comment, author):
self.comment = comment
self.author = author
class mxm_guestbook_base:
"""
A base class for guestbook products
"""
def __init__(self):
self.comments = []
def addComment(self, comment='', author='' , RESPONSE=None):
"Adds a comment"
self.comments.append(aComment(comment, author))
self._p_changed = 1 # Trigger persistence
RESPONSE.redirect('index_html')
def deleteAllComments(self, RESPONSE=None):
"Deletes all comments"
self.comments = []
RESPONSE.redirect('index_html')
def deleteComment(self, id, RESPONSE=None):
"Deletes a single comment"
del(self.comments[id])
self._p_changed = 1 # Trigger persistence
RESPONSE.redirect('index_html')
def getAllComments(self):
"returns a list of all comments"
return self.comments
-----------------------------------------------
Regards
Max M
Max M. W. Rasmussen, Denmark. New Media Director
private: maxmcorp@worldonline.dk work: maxm@normik.dk
-----------------------------------------------------
Specialization is for insects. - Robert A. Heinlein