Use global imports for Mako templates
[invirt/packages/invirt-web.git] / code / main.py
index fd95e84..b160e63 100755 (executable)
@@ -52,6 +52,9 @@ class InvirtWeb(View):
         super(self.__class__,self).__init__()
         connect()
         self._cp_config['tools.require_login.on'] = True
+        self._cp_config['tools.mako.imports'] = ['from invirt.config import structs as config',
+                                                 'from invirt import database']
+
 
     @cherrypy.expose
     @cherrypy.tools.mako(filename="/list.mako")
@@ -93,16 +96,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 +106,6 @@ def makeErrorPre(old, addition):
 
 Template.database = database
 Template.config = config
-Template.helppopup = staticmethod(helppopup)
 Template.err = None
 
 class JsonDict:
@@ -690,21 +682,6 @@ def show_error(op, username, fields, err, emsg, traceback):
     d['details'] = details
     return templates.error(searchList=[d])
 
-def getUser(environ):
-    """Return the current user based on the SSL environment variables"""
-    user = environ.get('REMOTE_USER')
-    if user is None:
-        return
-    
-    if environ.get('AUTH_TYPE') == 'Negotiate':
-        # Convert the krb5 principal into a krb4 username
-        if not user.endswith('@%s' % config.kerberos.realm):
-            return
-        else:
-            return user.split('@')[0].replace('/', '.')
-    else:
-        return user
-
 def handler(username, state, path, fields):
     operation, path = pathSplit(path)
     if not operation: