def parseCreate(user, fields):
name = fields.getfirst('name')
if not validation.validMachineName(name):
- raise InvalidInput('name', name, 'You must provide a machine name.')
+ raise InvalidInput('name', name, 'You must provide a machine name. Max 22 chars, alnum plus \'-\' and \'_\'.')
name = name.lower()
if Machine.get_by(name=name):
owner=user,
cdrom='gutsy-i386')
checkpoint.checkpoint('Got defaults')
+ def sortkey(machine):
+ return (machine.owner != user, machine.owner, machine.name)
+ machines = sorted(machines, key=sortkey)
d = dict(user=user,
cant_add_vm=validation.cantAddVm(user),
max_memory=max_memory,
return templates.list(searchList=[d])
elif back == 'info':
machine = validation.testMachineId(user, fields.getfirst('machine_id'))
- d = infoDict(user, machine)
- d['result'] = result
- return templates.info(searchList=[d])
+ return ({'Status': '302',
+ 'Location': '/info?machine_id=%d' % machine.machine_id},
+ "You shouldn't see this message.")
else:
raise InvalidInput('back', back, 'Not a known back page.')
power on and off the machine. This can be either a user or a moira
group.""",
quotas="""
-Quotas are determined on a per-locker basis. Each quota may have a
+Quotas are determined on a per-locker basis. Each locker may have a
maximum of 512 megabytes of active ram, 50 gigabytes of disk, and 4
active machines.""",
console="""
output_string = str(output)
checkpoint.checkpoint('output as a string')
print output_string
- print '<pre>%s</pre>' % checkpoint
+ print '<!-- <pre>%s</pre> -->' % checkpoint
except Exception, err:
if not fields.has_key('js'):
if isinstance(err, CodeError):