From: Eric Price Date: Mon, 29 Oct 2007 03:57:32 +0000 (-0400) Subject: Remove the useless User class (now user is a string) X-Git-Tag: sipb-xen-www/1~39 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/commitdiff_plain/ed3be7ee0d8af0cb884233327a3062c2be614d15 Remove the useless User class (now user is a string) Allow creation under another owner. svn path=/trunk/web/; revision=228 --- diff --git a/templates/controls.py b/templates/controls.py index 1e769b0..3671f21 100644 --- a/templates/controls.py +++ b/templates/controls.py @@ -87,14 +87,14 @@ def unregisterMachine(machine): """Unregister a machine to not be controlled by the web interface""" remctl('web', 'unregister', machine.name) -def createVm(user, name, memory, disk, is_hvm, cdrom): +def createVm(owner, contact, name, memory, disk, is_hvm, cdrom): """Create a VM and put it in the database""" # put stuff in the table transaction = ctx.current.create_transaction() try: - validation.validMemory(user, memory) - validation.validDisk(user, disk * 1. / 1024) - validation.validAddVm(user) + validation.validMemory(owner, memory) + validation.validDisk(owner, disk * 1. / 1024) + validation.validAddVm(owner) res = meta.engine.execute('select nextval(' '\'"machines_machine_id_seq"\')') id = res.fetchone()[0] @@ -102,9 +102,9 @@ def createVm(user, name, memory, disk, is_hvm, cdrom): machine.machine_id = id machine.name = name machine.memory = memory - machine.owner = user.username - machine.administrator = user.username - machine.contact = user.email + machine.owner = owner + machine.administrator = owner + machine.contact = contact machine.uuid = uuidToString(randomUUID()) machine.boot_off_cd = True machine_type = Type.get_by(hvm=is_hvm) diff --git a/templates/list.tmpl b/templates/list.tmpl index 67cefdc..95cb96c 100644 --- a/templates/list.tmpl +++ b/templates/list.tmpl @@ -51,6 +51,11 @@ $errorRow('vmtype', $err) $cdromList($cdroms, $defaults.cdrom) $errorRow('cdrom', $err) + + Owner + + + $errorRow('owner', $err) @@ -88,7 +93,7 @@ $has_vnc[$machine] @@ -100,7 +105,7 @@ $has_vnc[$machine] Name Memory - owner + Owner IP Uptime VNC diff --git a/templates/main.py b/templates/main.py index 7e92c8b..0bf16b9 100755 --- a/templates/main.py +++ b/templates/main.py @@ -47,12 +47,6 @@ def helppopup(subj): '&simple=true" target="_blank" ' + 'onclick="return helppopup(\'' + subj + '\')">(?)') -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) @@ -544,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) diff --git a/templates/skeleton.tmpl b/templates/skeleton.tmpl index ae7431b..60cca90 100644 --- a/templates/skeleton.tmpl +++ b/templates/skeleton.tmpl @@ -38,7 +38,7 @@ function helppopup(name){ #if not $varExists('simple') or not $simple -

[You are logged in as $user.username.]

+

[You are logged in as $user.]