diff mercurial/hgweb/hgweb_mod.py @ 3362:887da2247b57

hgweb: Keep session variables (currently only style) in HTML forms, too. Adjusted default and gitweb template for this.
author Thomas Arendsen Hein <thomas@intevation.de>
date Wed, 11 Oct 2006 20:59:37 +0200
parents 41741218504d
children ce8f31e0b3b8
line wrap: on
line diff
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -708,6 +708,16 @@ class hgweb(object):
                         req.form['node'] = [fn[:-len(ext)]]
                         req.form['type'] = [type_]
 
+        def sessionvars(**map):
+            fields = []
+            if req.form.has_key('style'):
+                style = req.form['style'][0]
+                if style != self.repo.ui.config('web', 'style', ''):
+                    fields.append(('style', style))
+
+            for name, value in fields:
+                yield dict(name=name, value=value)
+
         def queryprefix(**map):
             return req.url[-1] == '?' and ';' or '?'
 
@@ -754,6 +764,7 @@ class hgweb(object):
                                                "header": header,
                                                "footer": footer,
                                                "rawfileheader": rawfileheader,
+                                               "sessionvars": sessionvars,
                                                "queryprefix": queryprefix,
                                                "getentries": getentries
                                                })