From ee4774ada4ceb3692348e1576f2099f1b3af6c2e Mon Sep 17 00:00:00 2001 From: Eric Price Date: Sat, 20 Oct 2007 10:14:51 -0400 Subject: [PATCH] Removed the Javascript, since I realized that - The way it was was worthless - The architecture has serious trouble supporting useful js svn path=/trunk/web/; revision=207 --- templates/functions.py | 4 +- templates/info.tmpl | 22 ++------ templates/list.tmpl | 8 ++- templates/main.py | 76 ++++++++------------------ templates/skeleton.py | 139 +++++++++++++++++++---------------------------- templates/skeleton.tmpl | 54 ++---------------- 6 files changed, 95 insertions(+), 208 deletions(-) diff --git a/templates/functions.py b/templates/functions.py index 27caad7..3cfd8f2 100644 --- a/templates/functions.py +++ b/templates/functions.py @@ -33,8 +33,8 @@ VFN=valueForName currentTime=time.time __CHEETAH_version__ = '2.0rc8' __CHEETAH_versionTuple__ = (2, 0, 0, 'candidate', 8) -__CHEETAH_genTime__ = 1192883107.2568331 -__CHEETAH_genTimestamp__ = 'Sat Oct 20 08:25:07 2007' +__CHEETAH_genTime__ = 1192889324.134064 +__CHEETAH_genTimestamp__ = 'Sat Oct 20 10:08:44 2007' __CHEETAH_src__ = 'functions.tmpl' __CHEETAH_srcLastModified__ = 'Sat Oct 20 07:34:59 2007' __CHEETAH_docstring__ = 'Autogenerated by CHEETAH: The Python-Powered Template Engine' diff --git a/templates/info.tmpl b/templates/info.tmpl index 29b5907..8baeab7 100644 --- a/templates/info.tmpl +++ b/templates/info.tmpl @@ -15,18 +15,8 @@ Info on $machine.name #end def #def commands() -
+ @@ -43,11 +33,11 @@ function commandButton(elt, action){ #if $on - - - + + + #else - + #end if @@ -69,7 +59,7 @@ function commandButton(elt, action){ (To edit ram, disk size, or machine name, turn off the machine first.) #end if

- +
Boot CD: $cdromList($cdroms)
diff --git a/templates/list.tmpl b/templates/list.tmpl index 68f0858..50022b2 100644 --- a/templates/list.tmpl +++ b/templates/list.tmpl @@ -16,7 +16,8 @@ List of your VMs #else if $varExists('new_machine')

Congratulations! You successfully created a new VM called $new_machine.

#end if - + +
Owner${helppopup("owner")}:
$errorRow('create', $err) @@ -84,7 +85,8 @@ $has_vnc[$machine] #end if
- + + refresh

+

refresh

$machineList($machines)
diff --git a/templates/main.py b/templates/main.py index 6ec853d..d7b557f 100755 --- a/templates/main.py +++ b/templates/main.py @@ -494,19 +494,13 @@ def parseCreate(user, fields): def create(user, fields): """Handler for create requests.""" - js = fields.getfirst('js') try: parsed_fields = parseCreate(user, fields) machine = createVm(**parsed_fields) except InvalidInput, err: - if not js: - raise + pass else: err = None - if not js: - d = dict(user=user, - machine=machine) - return Template(file='create.tmpl', searchList=[d]) g.clear() #Changed global state d = getListDict(user) d['err'] = err @@ -515,9 +509,7 @@ def create(user, fields): setattr(d['defaults'], field, fields.getfirst(field)) else: d['new_machine'] = parsed_fields['name'] - t = Template(file='list.tmpl', searchList=[d]) - return JsonDict(createtable=t.createTable(), - machinelist=t.machineList(d['machines'])) + return Template(file='list.tmpl', searchList=[d]) def getListDict(user): @@ -556,18 +548,7 @@ def getListDict(user): def listVms(user, fields): """Handler for list requests.""" d = getListDict(user) - t = Template(file='list.tmpl', searchList=[d]) - js = fields.getfirst('js') - if not js: - return t - if js == 'machinelist': - return t.machineList(d['machines']) - elif js.startswith('machinerow-'): - request_machine_id = int(js.split('-')[1]) - m = [x for x in d['machines'] if x.id == request_machine_id] - return t.machineRow(m) - elif js == 'createtable': - return t.createTable() + return Template(file='list.tmpl', searchList=[d]) def testMachineId(user, machineId, exists=True): """Parse, validate and check authorization for a given machineId. @@ -757,37 +738,32 @@ def commandResult(user, fields): def command(user, fields): """Handler for running commands like boot and delete on a VM.""" - js = fields.getfirst('js') + back = fields.getfirst('back') try: d = commandResult(user, fields) + if d['command'] == 'Delete VM': + back = 'list' except InvalidInput, err: - if not js: + if not back: raise + print >> sys.stderr, err result = None else: - err = None result = 'Success!' - if not js: + if not back: return Template(file='command.tmpl', searchList=[d]) - if js == 'list': + if back == 'list': g.clear() #Changed global state d = getListDict(user) - t = Template(file='list.tmpl', searchList=[d]) - return JsonDict(createtable=t.createTable(), - machinelist=t.machineList(d['machines']), - result=result, - err=err) - elif js == 'info': + d['result'] = result + return Template(file='list.tmpl', searchList=[d]) + elif back == 'info': machine = testMachineId(user, fields.getfirst('machine_id')) d = infoDict(user, machine) - t = Template(file='info.tmpl', searchList=[d]) - return JsonDict(info=t.infoTable(), - commands=t.commands(), - modify=t.modifyForm(), - result=result, - err=err) + d['result'] = result + return Template(file='info.tmpl', searchList=[d]) else: - raise InvalidInput('js', js, 'Not a known js type.') + raise InvalidInput('back', back, 'Not a known back page.') def testAdmin(user, admin, machine): if admin in (None, machine.administrator): @@ -799,8 +775,9 @@ def testAdmin(user, admin, machine): if getafsgroups.checkAfsGroup(user.username, 'system:'+admin, 'athena.mit.edu'): return 'system:'+admin - raise InvalidInput('administrator', admin, - 'You must control the group you move it to.') + return admin + #raise InvalidInput('administrator', admin, + # 'You must control the group you move it to.') def testOwner(user, owner, machine): if owner in (None, machine.owner): @@ -899,31 +876,22 @@ def modifyDict(user, fields): def modify(user, fields): """Handler for modifying attributes of a machine.""" - js = fields.getfirst('js') try: modify_dict = modifyDict(user, fields) except InvalidInput, err: - if not js: - raise - result = '' + result = None machine = testMachineId(user, fields.getfirst('machine_id')) else: machine = modify_dict['machine'] result='Success!' err = None - if not js: - return Template(file='command.tmpl', searchList=[modify_dict]) info_dict = infoDict(user, machine) info_dict['err'] = err if err: for field in fields.keys(): setattr(info_dict['defaults'], field, fields.getfirst(field)) - t = Template(file='info.tmpl', searchList=[info_dict]) - return JsonDict(info=t.infoTable(), - commands=t.commands(), - modify=t.modifyForm(), - result=result, - err=err) + info_dict['result'] = result + return Template(file='info.tmpl', searchList=[info_dict]) def helpHandler(user, fields): diff --git a/templates/skeleton.py b/templates/skeleton.py index dc00887..e752e5f 100644 --- a/templates/skeleton.py +++ b/templates/skeleton.py @@ -32,12 +32,12 @@ VFFSL=valueFromFrameOrSearchList VFSL=valueFromSearchList VFN=valueForName currentTime=time.time -__CHEETAH_version__ = '2.0rc7' -__CHEETAH_versionTuple__ = (2, 0, 0, 'candidate', 7) -__CHEETAH_genTime__ = 1192883610.434917 -__CHEETAH_genTimestamp__ = 'Sat Oct 20 08:33:30 2007' +__CHEETAH_version__ = '2.0rc8' +__CHEETAH_versionTuple__ = (2, 0, 0, 'candidate', 8) +__CHEETAH_genTime__ = 1192889324.1837969 +__CHEETAH_genTimestamp__ = 'Sat Oct 20 10:08:44 2007' __CHEETAH_src__ = 'skeleton.tmpl' -__CHEETAH_srcLastModified__ = 'Sat Oct 20 08:33:05 2007' +__CHEETAH_srcLastModified__ = 'Sat Oct 20 10:08:36 2007' __CHEETAH_docstring__ = 'Autogenerated by CHEETAH: The Python-Powered Template Engine' if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple: @@ -100,10 +100,10 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
''') - if VFFSL(SL,"varExists",False)('error_text'): # generated from line 83, col 1 - write('

STDERR:

')
-            _v = VFFSL(SL,"error_text",True) # '$error_text' on line 84, col 20
-            if _v is not None: write(_filter(_v, rawExpr='$error_text')) # from line 84, col 20.
-            write('
\n') - write('
\n\n') - if not VFFSL(SL,"varExists",False)('simple') or not VFFSL(SL,"simple",True): # generated from line 88, col 1 - write('

[You are logged in as ') - _v = VFFSL(SL,"user.username",True) # '$user.username' on line 89, col 26 - if _v is not None: write(_filter(_v, rawExpr='$user.username')) # from line 89, col 26. + if VFFSL(SL,"varExists",False)('error_text'): # generated from line 35, col 1 + write('''

STDERR:

''')
+            _v = VFFSL(SL,"error_text",True) # '$error_text' on line 36, col 20
+            if _v is not None: write(_filter(_v, rawExpr='$error_text')) # from line 36, col 20.
+            write('''
+''') + write(''' + +''') + if not VFFSL(SL,"varExists",False)('simple') or not VFFSL(SL,"simple",True): # generated from line 40, col 1 + write('''

[You are logged in as ''') + _v = VFFSL(SL,"user.username",True) # '$user.username' on line 41, col 26 + if _v is not None: write(_filter(_v, rawExpr='$user.username')) # from line 41, col 26. write('''.]

LOADING
-
+
+''') + if VFFSL(SL,"varExists",False)('result'): # generated from line 55, col 1 + _v = VFFSL(SL,"result",True) # '$result' on line 56, col 1 + if _v is not None: write(_filter(_v, rawExpr='$result')) # from line 56, col 1. + write(''' +''') + write('''
''') - _v = VFFSL(SL,"body",True) # '$body' on line 104, col 1 - if _v is not None: write(_filter(_v, rawExpr='$body')) # from line 104, col 1. - write('\n') - if not VFFSL(SL,"varExists",False)('simple') or not VFFSL(SL,"simple",True): # generated from line 105, col 1 - write('
\nQuestions? Contact sipb-xen-dev@mit.edu.\n') - write('\n\n') + _v = VFFSL(SL,"body",True) # '$body' on line 60, col 1 + if _v is not None: write(_filter(_v, rawExpr='$body')) # from line 60, col 1. + write(''' +''') + if not VFFSL(SL,"varExists",False)('simple') or not VFFSL(SL,"simple",True): # generated from line 61, col 1 + write('''
+Questions? Contact sipb-xen-dev@mit.edu. +''') + write(''' + +''') ######################################## ## END - generated method body @@ -229,7 +199,8 @@ window.onload = function (){ ######################################## ## START - generated method body - write('\n') + write(''' +''') ######################################## ## END - generated method body diff --git a/templates/skeleton.tmpl b/templates/skeleton.tmpl index dab9ab0..ae7431b 100644 --- a/templates/skeleton.tmpl +++ b/templates/skeleton.tmpl @@ -27,54 +27,6 @@ function helppopup(name){ if (window.focus){helpWin.focus();} return false; } - -Ajax.Responders.register({ - onCreate: function(){ - if (Ajax.activeRequestCount > 0) { - document.getElementById("loadingnotice").style.display = 'block'; - } - }, - onComplete: function(){ - if (Ajax.activeRequestCount == 0) { - document.getElementById("loadingnotice").style.display = 'none'; - } - } -}); -function replaceFunc(transport) { - try { - d = transport.responseText.evalJSON(); - } catch (e) { - \$('body').innerHTML = '
'+transport.responseText+'
' - return; - } - for(key in d) { - \$(key).innerHTML = d[key]; - } -} - -function jsFormSubmit(location, elt){ - new Ajax.Request(location, {method: 'post', - parameters: Form.serialize(elt)+'&js=true', - onSuccess: replaceFunc, - onComplete: function() {Form.enable(elt);} - }); - Form.disable(elt); - return false; -} - -function rowFormSubmit(elt, retpage){ - new Ajax.Request('command', {method: 'post', - parameters: Form.serialize(elt)+'&js='+retpage, - onSuccess: replaceFunc - }); - return false; -} - -window.onload = function (){ - //Fix bug with disabled elements - \$\$('form').each(Form.enable); -} - @@ -99,7 +51,11 @@ window.onload = function (){
LOADING
-
+
+#if $varExists('result') +$result +#end if +
$body #if not $varExists('simple') or not $simple -- 1.7.9.5