Move the help popup code into the templates where it belongs
authorQuentin Smith <quentin@mit.edu>
Sun, 9 Aug 2009 22:45:28 +0000 (18:45 -0400)
committerQuentin Smith <quentin@mit.edu>
Sun, 9 Aug 2009 22:45:28 +0000 (18:45 -0400)
svn path=/package_branches/invirt-web/cherrypy-rebased/; revision=2672

code/main.py
code/templates/functions.mako

index 17bbd62..ab0d1cd 100755 (executable)
@@ -93,16 +93,6 @@ class Checkpoint:
 
 checkpoint = Checkpoint()
 
-def jquote(string):
-    return "'" + string.replace('\\', '\\\\').replace("'", "\\'").replace('\n', '\\n') + "'"
-
-def helppopup(subj):
-    """Return HTML code for a (?) link to a specified help topic"""
-    return ('<span class="helplink"><a href="help?' +
-            cgi.escape(urllib.urlencode(dict(subject=subj, simple='true')))
-            +'" target="_blank" ' +
-            'onclick="return helppopup(' + cgi.escape(jquote(subj)) + ')">(?)</a></span>')
-
 def makeErrorPre(old, addition):
     if addition is None:
         return
@@ -113,7 +103,6 @@ def makeErrorPre(old, addition):
 
 Template.database = database
 Template.config = config
-Template.helppopup = staticmethod(helppopup)
 Template.err = None
 
 class JsonDict:
index 99c0d30..a72648a 100644 (file)
@@ -39,3 +39,13 @@ ${databaseList(sorted(database.Autoinstall.query(), key=lambda x: x.description)
 </tr>
 % endif
 </%def>
+
+<%!
+def jquote(string):
+    return "'" + string.replace('\\', '\\\\').replace("'", "\\'").replace('\n', '\\n') + "'"
+%>
+
+<%def name="helppopup(subj)">
+## Return HTML code for a (?) link to a specified help topic
+<span class="helplink"><a href="help?simple=true;subject=${subj | u}" target="_blank" onclick="return helppopup(${subj | u,jquote})">(?)</a></span>
+</%def>