Remove the useless User class (now user is a string)
[invirt/packages/invirt-web.git] / templates / main.py
index ab70cdd..0bf16b9 100755 (executable)
@@ -47,12 +47,6 @@ def helppopup(subj):
             '&simple=true" target="_blank" ' + 
             'onclick="return helppopup(\'' + subj + '\')">(?)</a></span>')
 
-class User:
-    """User class (sort of useless, I admit)"""
-    def __init__(self, username, email):
-        self.username = username
-        self.email = email
-
 def makeErrorPre(old, addition):
     if addition is None:
         return
@@ -133,6 +127,8 @@ def parseCreate(user, fields):
         raise InvalidInput('name', name,
                            "Name already exists.")
     
+    owner = validation.testOwner(user, fields.getfirst('owner'))
+
     memory = fields.getfirst('memory')
     memory = validation.validMemory(user, memory, on=True)
     
@@ -147,8 +143,8 @@ def parseCreate(user, fields):
     cdrom = fields.getfirst('cdrom')
     if cdrom is not None and not CDROM.get(cdrom):
         raise CodeError("Invalid cdrom type '%s'" % cdrom)
-    return dict(user=user, name=name, memory=memory, disk=disk,
-                is_hvm=is_hvm, cdrom=cdrom)
+    return dict(contact=user, name=name, memory=memory, disk=disk,
+                owner=owner, is_hvm=is_hvm, cdrom=cdrom)
 
 def create(user, fields):
     """Handler for create requests."""
@@ -188,6 +184,7 @@ def getListDict(user):
     max_disk = validation.maxDisk(user)
     defaults = Defaults(max_memory=max_memory,
                         max_disk=max_disk,
+                        owner=user,
                         cdrom='gutsy-i386')
     d = dict(user=user,
              cant_add_vm=validation.cantAddVm(user),
@@ -230,7 +227,7 @@ def vnc(user, fields):
     TOKEN_KEY = "0M6W0U1IXexThi5idy8mnkqPKEq1LtEnlK/pZSn0cDrN"
 
     data = {}
-    data["user"] = user.username
+    data["user"] = user
     data["machine"] = machine.name
     data["expires"] = time.time()+(5*60)
     pickled_data = cPickle.dumps(data)
@@ -258,15 +255,16 @@ def getNicInfo(data_dict, machine):
     of (key, name) pairs to display "name: data_dict[key]" to the user.
     """
     data_dict['num_nics'] = len(machine.nics)
-    nic_fields_template = [('nic%s_hostname', 'NIC %s hostname'),
+    nic_fields_template = [('nic%s_hostname', 'NIC %s Hostname'),
                            ('nic%s_mac', 'NIC %s MAC Addr'),
                            ('nic%s_ip', 'NIC %s IP'),
                            ]
     nic_fields = []
     for i in range(len(machine.nics)):
         nic_fields.extend([(x % i, y % i) for x, y in nic_fields_template])
-        data_dict['nic%s_hostname' % i] = (machine.nics[i].hostname + 
-                                           '.servers.csail.mit.edu')
+        if not i:
+            data_dict['nic%s_hostname' % i] = (machine.name + 
+                                               '.servers.csail.mit.edu')
         data_dict['nic%s_mac' % i] = machine.nics[i].mac_addr
         data_dict['nic%s_ip' % i] = machine.nics[i].ip
     if len(machine.nics) == 1:
@@ -286,7 +284,7 @@ def getDiskInfo(data_dict, machine):
         name = disk.guest_device_name
         disk_fields.extend([(x % name, y % name) for x, y in 
                             disk_fields_template])
-        data_dict['%s_size' % name] = "%0.1f GB" % (disk.size / 1024.)
+        data_dict['%s_size' % name] = "%0.1f GiB" % (disk.size / 1024.)
     return disk_fields
 
 def command(user, fields):
@@ -328,8 +326,6 @@ def modifyDict(user, fields):
                                      machine)
         contact = validation.testContact(user, fields.getfirst('contact'),
                                          machine)
-        hostname = validation.testHostname(owner, fields.getfirst('hostname'),
-                                           machine)
         name = validation.testName(user, fields.getfirst('name'), machine)
         oldname = machine.name
         command = "modify"
@@ -348,12 +344,6 @@ def modifyDict(user, fields):
                 disk.size = disksize
                 ctx.current.save(disk)
         
-        # XXX first NIC gets hostname on change?  
-        # Interface doesn't support more.
-        for nic in machine.nics[:1]:
-            nic.hostname = hostname
-            ctx.current.save(nic)
-
         if owner is not None:
             machine.owner = owner
         if name is not None:
@@ -496,7 +486,7 @@ def infoDict(user, machine):
     display_fields = (display_fields[:disk_point] + disk_fields + 
                       display_fields[disk_point+1:])
     
-    main_status['memory'] += ' MB'
+    main_status['memory'] += ' MiB'
     for field, disp in display_fields:
         if field in ('uptime', 'cputime') and locals()[field] is not None:
             fields.append((disp, locals()[field]))
@@ -512,8 +502,6 @@ def infoDict(user, machine):
     defaults = Defaults()
     for name in 'machine_id name administrator owner memory contact'.split():
         setattr(defaults, name, getattr(machine, name))
-    if machine.nics:
-        defaults.hostname = machine.nics[0].hostname
     defaults.disk = "%0.2f" % (machine.disks[0].size/1024.)
     d = dict(user=user,
              cdroms=CDROM.select(),
@@ -553,9 +541,9 @@ def getUser():
     """Return the current user based on the SSL environment variables"""
     if 'SSL_CLIENT_S_DN_Email' in os.environ:
         username = os.environ['SSL_CLIENT_S_DN_Email'].split("@")[0]
-        return User(username, os.environ['SSL_CLIENT_S_DN_Email'])
+        return username
     else:
-        return User('moo', 'nobody')
+        return 'moo'
 
 def main(operation, user, fields):    
     fun = mapping.get(operation, badOperation)