Changeset 207 for trunk/web/templates/main.py
- Timestamp:
- Oct 20, 2007, 10:14:51 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web/templates/main.py
r205 r207 495 495 def create(user, fields): 496 496 """Handler for create requests.""" 497 js = fields.getfirst('js')498 497 try: 499 498 parsed_fields = parseCreate(user, fields) 500 499 machine = createVm(**parsed_fields) 501 500 except InvalidInput, err: 502 if not js: 503 raise 501 pass 504 502 else: 505 503 err = None 506 if not js:507 d = dict(user=user,508 machine=machine)509 return Template(file='create.tmpl', searchList=[d])510 504 g.clear() #Changed global state 511 505 d = getListDict(user) … … 516 510 else: 517 511 d['new_machine'] = parsed_fields['name'] 518 t = Template(file='list.tmpl', searchList=[d]) 519 return JsonDict(createtable=t.createTable(), 520 machinelist=t.machineList(d['machines'])) 512 return Template(file='list.tmpl', searchList=[d]) 521 513 522 514 … … 557 549 """Handler for list requests.""" 558 550 d = getListDict(user) 559 t = Template(file='list.tmpl', searchList=[d]) 560 js = fields.getfirst('js') 561 if not js: 562 return t 563 if js == 'machinelist': 564 return t.machineList(d['machines']) 565 elif js.startswith('machinerow-'): 566 request_machine_id = int(js.split('-')[1]) 567 m = [x for x in d['machines'] if x.id == request_machine_id] 568 return t.machineRow(m) 569 elif js == 'createtable': 570 return t.createTable() 551 return Template(file='list.tmpl', searchList=[d]) 571 552 572 553 def testMachineId(user, machineId, exists=True): … … 758 739 def command(user, fields): 759 740 """Handler for running commands like boot and delete on a VM.""" 760 js = fields.getfirst('js')741 back = fields.getfirst('back') 761 742 try: 762 743 d = commandResult(user, fields) 744 if d['command'] == 'Delete VM': 745 back = 'list' 763 746 except InvalidInput, err: 764 if not js:747 if not back: 765 748 raise 749 print >> sys.stderr, err 766 750 result = None 767 751 else: 768 err = None769 752 result = 'Success!' 770 if not js:753 if not back: 771 754 return Template(file='command.tmpl', searchList=[d]) 772 if js== 'list':755 if back == 'list': 773 756 g.clear() #Changed global state 774 757 d = getListDict(user) 775 t = Template(file='list.tmpl', searchList=[d]) 776 return JsonDict(createtable=t.createTable(), 777 machinelist=t.machineList(d['machines']), 778 result=result, 779 err=err) 780 elif js == 'info': 758 d['result'] = result 759 return Template(file='list.tmpl', searchList=[d]) 760 elif back == 'info': 781 761 machine = testMachineId(user, fields.getfirst('machine_id')) 782 762 d = infoDict(user, machine) 783 t = Template(file='info.tmpl', searchList=[d]) 784 return JsonDict(info=t.infoTable(), 785 commands=t.commands(), 786 modify=t.modifyForm(), 787 result=result, 788 err=err) 763 d['result'] = result 764 return Template(file='info.tmpl', searchList=[d]) 789 765 else: 790 raise InvalidInput(' js', js, 'Not a known js type.')766 raise InvalidInput('back', back, 'Not a known back page.') 791 767 792 768 def testAdmin(user, admin, machine): … … 800 776 'athena.mit.edu'): 801 777 return 'system:'+admin 802 raise InvalidInput('administrator', admin, 803 'You must control the group you move it to.') 778 return admin 779 #raise InvalidInput('administrator', admin, 780 # 'You must control the group you move it to.') 804 781 805 782 def testOwner(user, owner, machine): … … 900 877 def modify(user, fields): 901 878 """Handler for modifying attributes of a machine.""" 902 js = fields.getfirst('js')903 879 try: 904 880 modify_dict = modifyDict(user, fields) 905 881 except InvalidInput, err: 906 if not js: 907 raise 908 result = '' 882 result = None 909 883 machine = testMachineId(user, fields.getfirst('machine_id')) 910 884 else: … … 912 886 result='Success!' 913 887 err = None 914 if not js:915 return Template(file='command.tmpl', searchList=[modify_dict])916 888 info_dict = infoDict(user, machine) 917 889 info_dict['err'] = err … … 919 891 for field in fields.keys(): 920 892 setattr(info_dict['defaults'], field, fields.getfirst(field)) 921 t = Template(file='info.tmpl', searchList=[info_dict]) 922 return JsonDict(info=t.infoTable(), 923 commands=t.commands(), 924 modify=t.modifyForm(), 925 result=result, 926 err=err) 893 info_dict['result'] = result 894 return Template(file='info.tmpl', searchList=[info_dict]) 927 895 928 896
Note: See TracChangeset
for help on using the changeset viewer.