# HG changeset patch # User Aurelien Campeas # Date 1265808245 -3600 # Node ID a0571ff0cb5da51c20a56318a2c1cb81e4a5220e # Parent 2eb36514ad6d3ee53760883727fca945ad8b396f [http cache/json controller] ensure json_view does proper cache validation #390986 diff -r 2eb36514ad6d -r a0571ff0cb5d web/controller.py --- a/web/controller.py Tue Feb 09 08:15:20 2010 +0100 +++ b/web/controller.py Wed Feb 10 14:24:05 2010 +0100 @@ -154,6 +154,10 @@ rql = 'SET X %s Y where X eid %%(x)s, Y eid %%(y)s' % rtype execute(rql, {'x': subj, 'y': obj}, ('x', 'y')) + def validate_cache(self, view): + view.set_http_cache_headers() + self.req.validate_cache() + def reset(self): """reset form parameters and redirect to a view determinated by given diff -r 2eb36514ad6d -r a0571ff0cb5d web/views/basecontrollers.py --- a/web/views/basecontrollers.py Tue Feb 09 08:15:20 2010 +0100 +++ b/web/views/basecontrollers.py Wed Feb 10 14:24:05 2010 +0100 @@ -142,10 +142,6 @@ if view.add_to_breadcrumbs and not view.binary: self.req.update_breadcrumbs() - def validate_cache(self, view): - view.set_http_cache_headers() - self.req.validate_cache() - def execute_linkto(self, eid=None): """XXX __linkto parameter may cause security issue @@ -350,6 +346,7 @@ except NoSelectableObject: vid = req.form.get('fallbackvid', 'noresult') view = self.vreg['views'].select(vid, req, rset=rset) + self.validate_cache(view) return self._call_view(view) @xhtmlize