Issue 2550582
Created on 2009-08-31 11:53 by etaum, last changed 2010-02-02 05:23 by richard.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | Remove |
| rdbms_common.patch | etaum, 2009-08-31 11:53 | patch file | ||
| Messages | |||
|---|---|---|---|
| msg3862 | Author: [hidden] (etaum) | Date: 2009-08-31 11:53 | |
observed in roundup versions 1.4.4 and higher
using a construct like
tal:content="structure
python:context.assignedto.menu(filterspec={'user_projects':
path('context/project/id')})"
does not work; we end up with an exception like this:
File "/usr/lib/python2.6/dist-packages/roundup/cgi/client.py", line
959, in renderContext
result = pt.render(self, None, None, **args)
File "/usr/lib/python2.6/dist-packages/roundup/cgi/templating.py",
line 327, in render
getEngine().getContext(c), output, tal=1, strictinsert=0)()
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 192, in __call__
self.interpret(self.program)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 236, in interpret
handlers[opcode](self, args)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 666, in do_useMacro
self.interpret(macro)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 236, in interpret
handlers[opcode](self, args)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 411, in do_optTag_tal
self.do_optTag(stuff)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 396, in do_optTag
return self.no_tag(start, program)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 391, in no_tag
self.interpret(program)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 236, in interpret
handlers[opcode](self, args)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 689, in do_defineSlot
self.interpret(slot)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 236, in interpret
handlers[opcode](self, args)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 632, in do_condition
self.interpret(block)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 236, in interpret
handlers[opcode](self, args)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/TAL/TALInterpreter.py",
line 564, in do_insertStructure_tal
structure = self.engine.evaluateStructure(expr)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/PageTemplates/TALES.py",
line 227, in evaluate
return expression(self)
File
"/usr/lib/python2.6/dist-packages/roundup/cgi/PageTemplates/PythonExpr.py",
line 69, in __call__
return f()
File "<string>", line 2, in f
File "/usr/lib/python2.6/dist-packages/roundup/cgi/templating.py",
line 1940, in menu
for opt in linkcl.filter(None, conditions, sort_on, (None, None))
File
"/usr/lib/python2.6/dist-packages/roundup/backends/rdbms_common.py",
line 2174, in filter
proptree = self._proptree(filterspec, sortattr)
File "/usr/lib/python2.6/dist-packages/roundup/hyperdb.py", line 1057,
in _proptree
p = p.append(k)
File "/usr/lib/python2.6/dist-packages/roundup/hyperdb.py", line 345,
in append
propclass = self.props[name]
KeyError: 'filterspec'
I append a patch the implements a rought and ready workaround for this
problem ...
|
|||
| msg4016 | Author: [hidden] (richard) | Date: 2010-02-02 05:23 | |
The correct usage of menu() is:
python:context.assignedto.menu(user_projects=path('context/project/id'))
ie. the additional keyword arguments are used as the filterspec.
|
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2010-02-02 05:23:29 | richard | set | status: new -> closed nosy: + richard messages: + msg4016 |
| 2009-08-31 11:53:12 | etaum | create | |