# HG changeset patch # User sylvain.thenault@logilab.fr # Date 1242205367 -7200 # Node ID e11b0dcc26bd3faf599930f3cc6b9305bdf186d2 # Parent 311026c9073a0676538f0433eea67fdf39c0ba9d# Parent 7bd776052e2b407583ae1cf02b608b71fd1d49f8 merge diff -r 7bd776052e2b -r e11b0dcc26bd devtools/devctl.py --- a/devtools/devctl.py Wed May 13 10:56:24 2009 +0200 +++ b/devtools/devctl.py Wed May 13 11:02:47 2009 +0200 @@ -36,7 +36,7 @@ if cube is None: self._cubes = () else: - self._cubes = self.expand_cubes(self.my_cubes(cube)) + self._cubes = self.reorder_cubes(self.expand_cubes(self.my_cubes(cube))) def my_cubes(self, cube): return (cube,) + self.cube_dependencies(cube) + self.cube_recommends(cube) @@ -96,6 +96,7 @@ cleanup_sys_modules(libconfig) if cubedir: config = DevCubeConfiguration(cube) + config.cleanup_interface_sobjects = False else: config = libconfig libconfig = None diff -r 7bd776052e2b -r e11b0dcc26bd devtools/testlib.py --- a/devtools/testlib.py Wed May 13 10:56:24 2009 +0200 +++ b/devtools/testlib.py Wed May 13 11:02:47 2009 +0200 @@ -194,7 +194,7 @@ else: self.set_description("testing %s, mod=%s (no rset)" % (vid, view.__module__)) if template is None: # raw view testing, no template - viewfunc = view.dispatch + viewfunc = view.render else: templateview = self.vreg.select_view(template, req, rset, view=view, **kwargs) kwargs['view'] = view @@ -249,9 +249,11 @@ etypes = self.to_test_etypes() for etype in etypes: yield self.execute('Any X LIMIT %s WHERE X is %s' % (limit, etype)) - etype1 = etypes.pop() - etype2 = etypes.pop() + try: + etype2 = etypes.pop() + except KeyError: + etype2 = etype1 # test a mixed query (DISTINCT/GROUP to avoid getting duplicate # X which make muledit view failing for instance (html validation fails # because of some duplicate "id" attributes) @@ -327,7 +329,7 @@ for action in self.list_actions_for(rset): yield InnerTest(self._testname(rset, action.id, 'action'), action.url) for box in self.list_boxes_for(rset): - yield InnerTest(self._testname(rset, box.id, 'box'), box.dispatch) + yield InnerTest(self._testname(rset, box.id, 'box'), box.render) @staticmethod def _testname(rset, objid, objtype): diff -r 7bd776052e2b -r e11b0dcc26bd web/views/editforms.py --- a/web/views/editforms.py Wed May 13 10:56:24 2009 +0200 +++ b/web/views/editforms.py Wed May 13 11:02:47 2009 +0200 @@ -102,10 +102,11 @@ if getattr(entity, rtype) is None: value = default or self.req._('not specified') else: - value = entity.printable_value(rtype) + value = html_escape(entity.printable_value(rtype)) else: rset = entity.related(rtype, role) - value = self.view(vid, rset, 'null') or default + # XXX html_escape but that depends of the actual vid + value = html_escape(self.view(vid, rset, 'null') or default) if not entity.has_perm('update'): self.w(value) return