Traceback Traceback (most recent call last): Module zope.publisher.publish, line 132, in publish result = publication.callObject(request, obj) Module zope.app.publication.zopepublication, line 207, in callObject return mapply(ob, request.getPositionalArguments(), request) Module zope.publisher.publish, line 107, in mapply return debug_call(obj, args) __traceback_info__: Module zope.publisher.publish, line 113, in debug_call return obj(*args) Module schooltool.skin.flourish.page, line 71, in __call__ result = self.render(*args, **kw) Module schooltool.skin.flourish.page, line 64, in render return self.template(*args, **kw) Module zope.browserpage.viewpagetemplatefile, line 83, in __call__ return self.im_func(im_self, *args, **kw) Module zope.browserpage.viewpagetemplatefile, line 51, in __call__ sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0), Module zope.pagetemplate.pagetemplate, line 113, in pt_render strictinsert=0, sourceAnnotations=sourceAnnotations)() Module zope.tal.talinterpreter, line 271, in __call__ self.interpret(self.program) Module zope.tal.talinterpreter, line 343, in interpret handlers[opcode](self, args) Module zope.tal.talinterpreter, line 533, in do_optTag_tal self.do_optTag(stuff) Module zope.tal.talinterpreter, line 518, in do_optTag return self.no_tag(start, program) Module zope.tal.talinterpreter, line 513, in no_tag self.interpret(program) Module zope.tal.talinterpreter, line 343, in interpret handlers[opcode](self, args) Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal structure = self.engine.evaluateStructure(expr) Module zope.tales.tales, line 696, in evaluate return expression(self) /usr/lib/python2.7/dist-packages/schooltool/skin/flourish/templates/main.pt Line 72, Column 8 Expression: - Names: {'args': (), 'context': , 'default': , 'loop': {}, 'nothing': None, 'options': {}, 'repeat': {}, 'request': , 'template': , 'view': , 'views': } Module zope.tales.expressions, line 217, in __call__ return self._eval(econtext) Module zope.tales.expressions, line 211, in _eval return ob() Module zope.browserpage.viewpagetemplatefile, line 83, in __call__ return self.im_func(im_self, *args, **kw) Module zope.browserpage.viewpagetemplatefile, line 51, in __call__ sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0), Module zope.pagetemplate.pagetemplate, line 113, in pt_render strictinsert=0, sourceAnnotations=sourceAnnotations)() Module zope.tal.talinterpreter, line 271, in __call__ self.interpret(self.program) Module zope.tal.talinterpreter, line 343, in interpret handlers[opcode](self, args) Module zope.tal.talinterpreter, line 583, in do_setLocal_tal self.engine.setLocal(name, self.engine.evaluateValue(expr)) Module zope.tales.tales, line 696, in evaluate return expression(self) /usr/lib/python2.7/dist-packages/schooltool/skin/flourish/templates/page_nosidebar.pt Line 4, Column 2 Expression: - Names: {'args': (), 'context': , 'default': , 'loop': {}, 'nothing': None, 'options': {}, 'repeat': {}, 'request': , 'template': , 'view': , 'views': } Module zope.tales.expressions, line 217, in __call__ return self._eval(econtext) Module zope.tales.expressions, line 211, in _eval return ob() Module zope.browserpage.viewpagetemplatefile, line 83, in __call__ return self.im_func(im_self, *args, **kw) Module zope.browserpage.viewpagetemplatefile, line 51, in __call__ sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0), Module zope.pagetemplate.pagetemplate, line 113, in pt_render strictinsert=0, sourceAnnotations=sourceAnnotations)() Module zope.tal.talinterpreter, line 271, in __call__ self.interpret(self.program) Module zope.tal.talinterpreter, line 343, in interpret handlers[opcode](self, args) Module zope.tal.talinterpreter, line 533, in do_optTag_tal self.do_optTag(stuff) Module zope.tal.talinterpreter, line 518, in do_optTag return self.no_tag(start, program) Module zope.tal.talinterpreter, line 513, in no_tag self.interpret(program) Module zope.tal.talinterpreter, line 343, in interpret handlers[opcode](self, args) Module zope.tal.talinterpreter, line 531, in do_optTag_tal self.no_tag(stuff[-2], stuff[-1]) Module zope.tal.talinterpreter, line 513, in no_tag self.interpret(program) Module zope.tal.talinterpreter, line 343, in interpret handlers[opcode](self, args) Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal structure = self.engine.evaluateStructure(expr) Module zope.tales.tales, line 696, in evaluate return expression(self) /usr/lib/python2.7/dist-packages/schooltool/app/browser/templates/f_edit_relationships.pt Line 35, Column 4 Expression: - Names: {'args': (), 'context': , 'default': , 'loop': {}, 'nothing': None, 'options': {}, 'repeat': {}, 'request': , 'template': , 'view': , 'views': } Module zope.tales.expressions, line 217, in __call__ return self._eval(econtext) Module zope.tales.expressions, line 194, in _eval ob = self._subexprs[-1](econtext) Module zope.tales.expressions, line 124, in _eval ob = self._traverser(ob, element, econtext) Module zope.pagetemplate.engine, line 66, in __call__ request=request) Module zope.traversing.adapters, line 136, in traversePathElement return traversable.traverse(nm, further_path) __traceback_info__: (None, 'render') Module zope.traversing.adapters, line 50, in traverse raise LocationError(subject, name) __traceback_info__: (None, 'render', []) LocationError: (None, 'render')