X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/d678a204ee408e18f71061a6437ac88db561b5c6..8e82f8a06885dd31effe9015467834fbbbc98f47:/templates/main.py diff --git a/templates/main.py b/templates/main.py index bf40069..c708752 100755 --- a/templates/main.py +++ b/templates/main.py @@ -34,7 +34,7 @@ class InvalidInput(MyException): the select box). """ def __init__(self, err_field, err_value, expl=None): - super(InvalidInput, self).__init__(expl) + MyException.__init__(self, expl) self.err_field = err_field self.err_value = err_value @@ -585,6 +585,8 @@ def testDisk(user, disksize, machine=None): def testName(user, name, machine=None): if Machine.select_by(name=name) == []: return name + if name == machine.name: + return name raise InvalidInput('name', name, "Already taken") @@ -610,20 +612,21 @@ def modify(user, fields): contact = testContact(user, fields.getfirst('contact')) hostname = testHostname(owner, fields.getfirst('hostname'), machine) - name = testName(user, fields.getfirst('name')) + name = testName(user, fields.getfirst('name'), machine) oldname = machine.name olddisk = {} memory = fields.getfirst('memory') if memory is not None: memory = validMemory(user, memory, machine) + else: + memory = machine.memory if memory != machine.memory: machine.memory = memory disksize = testDisk(user, fields.getfirst('disk')) if disksize is not None: disksize = validDisk(user, disksize, machine) - for disk in machine.disks: disk.size = disksize olddisk[disk.guest_device_name] = disk.size