From eae4f70e8b3a04e5aed98885a03577646071f0bc Mon Sep 17 00:00:00 2001 From: Quentin Smith Date: Mon, 10 Aug 2009 00:41:46 -0400 Subject: [PATCH] Show installer status on the front page, and unbreak the autoinstall fields in validation logic svn path=/package_branches/invirt-web/cherrypy-rebased/; revision=2687 --- code/main.py | 10 +++++++--- code/templates/list.mako | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/main.py b/code/main.py index 7ab52b5..00a79ae 100755 --- a/code/main.py +++ b/code/main.py @@ -147,7 +147,7 @@ console will suffer artifacts. help._cp_config['tools.require_login.on'] = False def parseCreate(self, fields): - kws = dict([(kw, fields.get(kw)) for kw in 'name description owner memory disksize vmtype cdrom autoinstall'.split()]) + kws = dict([(kw, fields.get(kw)) for kw in 'name description owner memory disksize vmtype cdrom autoinstall'.split() if fields.get(kw)]) validate = validation.Validate(cherrypy.request.login, cherrypy.request.state, strict=True, **kws) return dict(contact=cherrypy.request.login, name=validate.name, description=validate.description, memory=validate.memory, disksize=validate.disksize, owner=validate.owner, machine_type=getattr(validate, 'vmtype', Defaults.type), @@ -374,9 +374,9 @@ def getListDict(username, state): checkpoint.checkpoint('Got my machines') on = {} has_vnc = {} + installing = {} xmlist = state.xmlist checkpoint.checkpoint('Got uptimes') - can_clone = 'ice3' not in state.xmlist_raw for m in machines: if m not in xmlist: has_vnc[m] = 'Off' @@ -389,6 +389,10 @@ def getListDict(username, state): has_vnc[m] = "WTF?" else: has_vnc[m] = "ParaVM" + if xmlist[m].get('autoinstall'): + installing[m] = True + else: + installing[m] = False max_memory = validation.maxMemory(username, state) max_disk = validation.maxDisk(username) checkpoint.checkpoint('Got max mem/disk') @@ -406,7 +410,7 @@ def getListDict(username, state): defaults=defaults, machines=machines, has_vnc=has_vnc, - can_clone=can_clone) + installing=installing) return d def getHostname(nic): diff --git a/code/templates/list.mako b/code/templates/list.mako index 176fe14..7b1fd92 100644 --- a/code/templates/list.mako +++ b/code/templates/list.mako @@ -84,6 +84,9 @@ ${self.fn.cdromList(defaults.cdrom, "$('cd_or_auto_cd').checked = true;$('autoin <%def name="machineRow(machine)"> + % if machine.uptime and installing[machine]: + Installing... + % else:
+ % endif ${machine.name} ${machine.memory}M -- 1.7.9.5