Re: GSoC 2014 Collective Ploneboard : Attachment issue
Asko Soukka <[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Aman and Timo,
if this issue is still current, could it be possible that Aman is doing
everything right, but there's something broken in
++conversation++-traverser, which prevents comment inheriting
permissions from its context (which should be properly acquisition
wrapped for permission checks to work)?
It would help, if Aman could create a failing integration test case for
this into either PloneBoard or p.a.discussion (probably p.a.discussion
is the right place, but if PloneBoard is ok, if it's easier to do that
there at first).
Regards,
Asko
Aman Arora wrote:
> Hello
>
> I'm Aman Arora and am working under GSoC 2014 on
> Collective.Ploneboard with Timo Stollenwerk.
> https://github.com/collective/collective.ploneboard/tree/gsoc2014
> I'm stuck with an issue and need advice.
>
> We want to add attachment to our comments. For comments we are using
> plone.app.discussion (default framework). Using comment extender we
> added an attachment field using NamedBlobFile from
> plone.namedfile.field. The view comes fine. It is able to open the
> browsing window to attach file.
>
> Problem arises when the download link of the file is clicked.
> <a tal:condition="reply/attachment|nothing"
> tal:content="reply/attachment/filename"
> tal:attributes="href
> string:${reply/absolute_url}/@@download/attachment/${reply/attachment/filename}">Attachment</a>
>
> http://pastie.org/9223627
> Unauthorized: The container has no security assertions. Access to 'attachment' of (plone.app.discussion.comment.Comment object at 0x7f23d8a9f668) denied.
> Problem is probably NamedBlobFile expecting a container-like object
> whereas comments are stored as annotations.
>
> With this mail I've forwarded the pdb trace.
>
> Thanks
> Aman
>
>
> ---------- Forwarded message ----------
> From: *Aman Arora* <[email protected] <mailto:[email protected]>>
> Date: Wed, Jun 11, 2014 at 12:43 PM
> Subject: Attachment pdb trace
> To: Timo Stollenwerk <tisto-z4DKO/[email protected] <mailto:tisto-z4DKO/[email protected]>>
>
>
> Hi,
>
> Here is the trace I got using pdb. I'm new to it, so am not getting much.
> I added the pdb.set_trace() in commentextender.py
> http://pastie.org/9279268
> This is basically the traceback I get when I click on the download link.
>
> (Pdb) 2014-06-11 12:27:30 ERROR Zope.SiteErrorLog
> 1402469850.220.167440919453
> http://localhost:8080/Plone/forumboard/topic1/conv1/++conversation++default/1402464054437830/@@download/attachment/garga.txt
> Traceback (innermost last):
> Module ZPublisher.Publish, line 138, in publish
> Module ZPublisher.mapply, line 77, in mapply
> Module ZPublisher.Publish, line 48, in call_object
> Module plone.namedfile.browser, line 43, in __call__
> Module plone.namedfile.browser, line 62, in _getFile
> Module AccessControl.ImplPython, line 716, in guarded_getattr
> Module AccessControl.ImplPython, line 658, in aq_validate
> Module AccessControl.ImplPython, line 552, in validate
> Module AccessControl.ImplPython, line 322, in validate
> Module AccessControl.ImplPython, line 797, in raiseVerbose
> Unauthorized: The container has no security assertions. Access to
> 'attachment' of (plone.app.discussion.comment.Comment object at
> 0x7a5e848) denied.
>
> ---------------------------------------------------------------------------------------------------------------------
>
>
> aman@aman-E530 ~/gsoc/collective.ploneboard $ bin/instance fg
> 2014-06-11 12:24:08 INFO ZServer HTTP server started at Wed Jun 11
> 12:24:08 2014
> Hostname: 0.0.0.0
> Port: 8080
> 2014-06-11 12:24:15 INFO Zope Ready to handle requests
> /home/aman/gsoc/collective.ploneboard/eggs/Products.CMFCore-2.2.7-py2.7.egg/Products/CMFCore/DirectoryView.py:493:
> UserWarning: DirectoryView simpleattachment refers to a non-existing
> path 'Products.SimpleAttachment:skins/simpleattachment'
> (self.id <http://self.id>, reg_key), UserWarning)
> /home/aman/gsoc/collective.ploneboard/eggs/Products.CMFCore-2.2.7-py2.7.egg/Products/CMFCore/DirectoryView.py:493:
> UserWarning: DirectoryView attachment_widgets refers to a non-existing
> path 'Products.SimpleAttachment:skins/attachment_widgets'
> (self.id <http://self.id>, reg_key), UserWarning)
> >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(45)__init__()
> -> self.context = context
> (Pdb) n
> >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(46)__init__()
> -> self.request = request
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(47)__init__()
> -> self.form = form
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(47)__init__()->None
> -> self.form = form
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(251)getAdapters()
> -> if adapter is not None:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(252)getAdapters()
> -> yield name, adapter
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(252)getAdapters()->(u'',
> <collect...8c945710>)
> -> yield name, adapter
> (Pdb)
> --Call--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(252)getAdapters()->(u'',
> <collect...8c945710>)
> -> yield name, adapter
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(249)getAdapters()->(u'',
> <collect...8c945710>)
> -> provided):
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(249)getAdapters()->None
> -> provided):
> (Pdb)
> --Call--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(13)order_key()
> -> def order_key(adapter_tuple):
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(14)order_key()
> -> return adapter_tuple[1].order
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(14)order_key()->0
> -> return adapter_tuple[1].order
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(64)updateFields()
> -> extender.update()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(63)updateFields()
> -> for name, extender in sorted(extenders, key=order_key):
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(63)updateFields()->None
> -> for name, extender in sorted(extenders, key=order_key):
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.app.discussion-2.2.12-py2.7.egg/plone/app/discussion/browser/comments.py(87)updateFields()
> -> SingleCheckBoxFieldWidget
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.app.discussion-2.2.12-py2.7.egg/plone/app/discussion/browser/comments.py(87)updateFields()->None
> -> SingleCheckBoxFieldWidget
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(59)update()
> -> super(ExtensibleForm, self).update()
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.z3cform-0.8.0-py2.7.egg/plone/z3cform/fieldsets/extensible.py(59)update()->None
> -> super(ExtensibleForm, self).update()
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.app.discussion-2.2.12-py2.7.egg/plone/app/discussion/browser/comments.py(282)update()->None
> -> self.form.update()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.viewlet-3.7.2-py2.7.egg/zope/viewlet/manager.py(116)_updateViewlets()
> -> for viewlet in self.viewlets:
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.viewlet-3.7.2-py2.7.egg/zope/viewlet/manager.py(116)_updateViewlets()->None
> -> for viewlet in self.viewlets:
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.viewlet-3.7.2-py2.7.egg/zope/viewlet/manager.py(112)update()->None
> -> self._updateViewlets()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.contentprovider-3.7.2-py2.7.egg/zope/contentprovider/tales.py(80)__call__()
> -> return provider.render()
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.contentprovider-3.7.2-py2.7.egg/zope/contentprovider/tales.py(80)__call__()->u'\n\n\n...v>\n\n\n'
> -> return provider.render()
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py(696)evaluate()->u'\n\n\n...v>\n\n\n'
> -> return expression(self)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/Products/PageTemplates/Expressions.py(219)evaluateStructure()
> -> return self._handleText(text, expr)
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/Products/PageTemplates/Expressions.py(219)evaluateStructure()->u'\n\n\n...v>\n\n\n'
> -> return self._handleText(text, expr)
> (Pdb)
>
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(743)do_insertStructure_tal()
> -> if structure is None:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(745)do_insertStructure_tal()
> -> if structure is self.Default:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(748)do_insertStructure_tal()
> -> if isinstance(structure, I18nMessageTypes):
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(751)do_insertStructure_tal()
> -> text = unicode(structure)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(752)do_insertStructure_tal()
> -> if not (repldict or self.strictinsert):
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(754)do_insertStructure_tal()
> -> self.stream_write(text)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(755)do_insertStructure_tal()
> -> return
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(755)do_insertStructure_tal()->None
> -> return
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()
> -> self.level = oldlevel
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()->None
> -> self.level = oldlevel
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(852)do_condition()->None
> -> self.interpret(block)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
>
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()
> -> self.level = oldlevel
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()->None
> -> self.level = oldlevel
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(513)no_tag()->None
> -> self.interpret(program)
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(518)do_optTag()->None
> -> return self.no_tag(start, program)
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(533)do_optTag_tal()->None
> -> self.do_optTag(stuff)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()
> -> self.level = oldlevel
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()->None
> -> self.level = oldlevel
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(889)do_useMacro()
> -> self.inUseDirective = wasInUse
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(891)do_useMacro()
> -> if self.sourceFile != prev_source:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(892)do_useMacro()
> -> self.engine.setSourceFile(prev_source)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(893)do_useMacro()
> -> self.sourceFile = prev_source
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(894)do_useMacro()
> -> self.popMacro()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(896)do_useMacro()
> -> self.engine.setLocal('macroname', outer)
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(896)do_useMacro()->None
> -> self.engine.setLocal('macroname', outer)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(343)interpret()
> -> handlers[opcode](self, args)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(342)interpret()
> -> for (opcode, args) in program:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()
> -> self.level = oldlevel
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(345)interpret()->None
> -> self.level = oldlevel
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(272)__call__()
> -> assert self.level == 0
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(273)__call__()
> -> assert self.scopeLevel == 0
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(274)__call__()
> -> assert self.i18nContext.parent is None
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py(274)__call__()->None
> -> assert self.i18nContext.parent is None
> (Pdb)
>
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.pagetemplate-3.6.3-py2.7.egg/zope/pagetemplate/pagetemplate.py(241)__call__()
> -> return output.getvalue()
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.pagetemplate-3.6.3-py2.7.egg/zope/pagetemplate/pagetemplate.py(241)__call__()->u'\n<!DO...l>\n\n\n'
> -> return output.getvalue()
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.pagetemplate-3.6.3-py2.7.egg/zope/pagetemplate/pagetemplate.py(132)pt_render()->u'\n<!DO...l>\n\n\n'
> -> strictinsert=0, sourceAnnotations=sourceAnnotations
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/Products/Five/browser/pagetemplatefile.py(61)__call__()
> -> response = instance.request.response
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/Products/Five/browser/pagetemplatefile.py(62)__call__()
> -> if not response.getHeader("Content-Type"):
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/Products/Five/browser/pagetemplatefile.py(64)__call__()
> -> return s
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/Products/Five/browser/pagetemplatefile.py(64)__call__()->u'\n<!DO...l>\n\n\n'
> -> return s
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/Products/Five/browser/pagetemplatefile.py(125)__call__()->u'\n<!DO...l>\n\n\n'
> -> return self.im_func(im_self, *args, **kw)
> (Pdb)
> --Return--
>
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.autoform-1.6-py2.7.egg/plone/autoform/view.py(40)render()->u'\n<!DO...l>\n\n\n'
> -> return self.index()
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/plone.autoform-1.6-py2.7.egg/plone/autoform/view.py(49)__call__()->u'\n<!DO...l>\n\n\n'
> -> return self.render()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(49)call_object()
> -> return result
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(49)call_object()->u'\n<!DO...l>\n\n\n'
> -> return result
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/mapply.py(77)mapply()->u'\n<!DO...l>\n\n\n'
> -> if debug is not None: return debug(object,args,context)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(140)publish()
> -> if result is not response:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(141)publish()
> -> response.setBody(result)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(143)publish()
> -> notify(PubBeforeCommit(request))
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(145)publish()
> -> if transactions_manager:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(146)publish()
> -> transactions_manager.commit()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(147)publish()
> -> endInteraction()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(149)publish()
> -> notify(PubSuccess(request))
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(151)publish()
> -> return response
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(151)publish()->ZServerHTTPRe.../html>\n\n\n')
> -> return response
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(264)publish_module_standard()
> -> if response:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(265)publish_module_standard()
> -> outputBody=getattr(response, 'outputBody', None)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(266)publish_module_standard()
> -> if outputBody is not None:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(267)publish_module_standard()
> -> outputBody()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(273)publish_module_standard()
> -> if after_list[0] is not None: after_list[0]()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(276)publish_module_standard()
> -> if request is not None: request.close()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(278)publish_module_standard()
> -> if must_die:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(292)publish_module_standard()
> -> return status
> (Pdb)
> --Return--
>
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(292)publish_module_standard()->200
> -> return status
> (Pdb)
> --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py(455)publish_module()->200
> -> environ, debug, request, response)
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(33)__init__()
> -> b._finish()
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(34)__init__()
> -> a=b=None
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(24)__init__()
> -> try:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(25)__init__()
> -> name, a, b=accept()
> (Pdb)
>
>
> l
> l
> n
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(26)__init__()
> -> if name == "Zope2":
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(27)__init__()
> -> try:
> (Pdb)
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(28)__init__()
> -> publish_module(
> (Pdb) l
> 23 while 1:
> 24 try:
> 25 name, a, b=accept()
> 26 if name == "Zope2":
> 27 try:
> 28 -> publish_module(
> 29 name,
> 30 request=a,
> 31 response=b)
> 32 finally:
> 33 b._finish()
> (Pdb) l
> 34 a=b=None
> 35
> 36 elif name == "Zope2WSGI":
> 37 try:
> 38 res = publish_wsgi(a, b)
> 39 for r in res:
> 40 a['wsgi.output'].write(r)
> 41 finally:
> 42 # TODO: Support keeping connections open.
> 43 a['wsgi.output']._close = 1
> 44 a['wsgi.output'].close()
> (Pdb) n
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(29)__init__()
> -> name,
> (Pdb) 2014-06-11 12:27:30 ERROR Zope.SiteErrorLog
> 1402469850.220.167440919453
> http://localhost:8080/Plone/forumboard/topic1/conv1/++conversation++default/1402464054437830/@@download/attachment/garga.txt
> Traceback (innermost last):
> Module ZPublisher.Publish, line 138, in publish
> Module ZPublisher.mapply, line 77, in mapply
> Module ZPublisher.Publish, line 48, in call_object
> Module plone.namedfile.browser, line 43, in __call__
> Module plone.namedfile.browser, line 62, in _getFile
> Module AccessControl.ImplPython, line 716, in guarded_getattr
> Module AccessControl.ImplPython, line 658, in aq_validate
> Module AccessControl.ImplPython, line 552, in validate
> Module AccessControl.ImplPython, line 322, in validate
> Module AccessControl.ImplPython, line 797, in raiseVerbose
> Unauthorized: The container has no security assertions. Access to
> 'attachment' of (plone.app.discussion.comment.Comment object at
> 0x7a5e848) denied.
> l
> 24 try:
> 25 name, a, b=accept()
> 26 if name == "Zope2":
> 27 try:
> 28 publish_module(
> 29 -> name,
> 30 request=a,
> 31 response=b)
> 32 finally:
> 33 b._finish()
> 34 a=b=None
> (Pdb) l
> 35
> 36 elif name == "Zope2WSGI":
> 37 try:
> 38 res = publish_wsgi(a, b)
> 39 for r in res:
> 40 a['wsgi.output'].write(r)
> 41 finally:
> 42 # TODO: Support keeping connections open.
> 43 a['wsgi.output']._close = 1
> 44 a['wsgi.output'].close()
> 45 except:
> (Pdb) >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(45)__init__()
> -> self.context = context
> l
> (Pdb) 46 LOG.error('exception caught', exc_info=True)
> [EOF]
> n
> (Pdb) >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(46)__init__()
> -> self.request = request
>
> (Pdb) [EOF]
>
> (Pdb) >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(47)__init__()
> -> self.form = form
>
> [EOF]
> (Pdb)
> (Pdb) [EOF]
>
> (Pdb) --Return--
> >
> /home/aman/gsoc/collective.ploneboard/src/collective/ploneboard/browser/commentextender.py(47)__init__()->None
> -> self.form = form
>
> (Pdb) [EOF]
> n
> (Pdb) >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(251)getAdapters()
> -> if adapter is not None:
> n
> (Pdb) >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(30)__init__()
> -> request=a,
>
> (Pdb) >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(252)getAdapters()
> -> yield name, adapter
>
> (Pdb) >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(31)__init__()
> -> response=b)
>
> (Pdb) --Return--
> >
> /home/aman/gsoc/collective.ploneboard/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py(252)getAdapters()->(u'',
> <collect...843fe1d0>)
> -> yield name, adapter
>
> (Pdb) 2014-06-11 12:29:38 ERROR Zope.SiteErrorLog
> 1402469978.430.350819275202
> http://localhost:8080/Plone/forumboard/topic1/conv1/++conversation++default/1402464054437830/@@download/attachment/garga.txt
> Traceback (innermost last):
> Module ZPublisher.Publish, line 138, in publish
> Module ZPublisher.mapply, line 77, in mapply
> Module ZPublisher.Publish, line 48, in call_object
> Module plone.namedfile.browser, line 43, in __call__
> Module plone.namedfile.browser, line 62, in _getFile
> Module AccessControl.ImplPython, line 716, in guarded_getattr
> Module AccessControl.ImplPython, line 658, in aq_validate
> Module AccessControl.ImplPython, line 552, in validate
> Module AccessControl.ImplPython, line 322, in validate
> Module AccessControl.ImplPython, line 797, in raiseVerbose
> Unauthorized: The container has no security assertions. Access to
> 'attachment' of (plone.app.discussion.comment.Comment object at
> 0x7fae842f2aa0) denied.
> >
> /home/aman/gsoc/collective.ploneboard/eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py(33)__init__()
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft