26 from django.shortcuts
import render_to_response
27 from django.template
import RequestContext
28 from django.template.loader
import render_to_string
30 from common.states
import vm_states
31 from wi.models.user
import parse_user
32 from wi.utils
import messages_ajax
33 from wi.utils.decorators
import admin_cm_permission
34 from wi.utils.decorators
import django_view
35 from wi.utils.formatters
import time_from_sec
36 from wi.utils.messages_ajax
import ajax_request
37 from wi.utils.states
import vm_states_reversed
38 from wi.utils.views
import prep_data
47 def cma_vms(request, template_name='admin_cm/show_vm.html'):
48 users =
prep_data((
'admin_cm/user/get_list/', {
'short':
True}), request.session)
49 return render_to_response(template_name, {
'all_users': users}, context_instance=RequestContext(request))
60 if request.method ==
'GET':
62 vms =
prep_data((
'admin_cm/vm/get_list/', {
'user_id': int(user_id)}), request.session)
65 item[
'stateName'] = unicode(vm_states_reversed[item[
'state']])
67 for i
in item[
'leases']:
68 if i[
'public_ip'] !=
"":
69 item[
'pub_ip'].append(i[
'public_ip'][
'address'])
70 item[
'stringIP'] =
', '.join(item[
'pub_ip'])
71 item[
'stringISO'] =
', '.join([iso[
'name']
for iso
in item[
'iso_images']])
72 item[
'stringDisk'] =
', '.join([disk[
'name']
for disk
in item[
'storage_images']])
74 return messages_ajax.success(vms)
85 if request.method ==
'POST':
87 vm =
prep_data((
'admin_cm/vm/get_by_id/', {
'vm_id': vm_id}), request.session)
89 rest_data2 =
prep_data({
'user': (
'admin_cm/user/get_by_id/', {
'user_id': vm[
'user_id']})}, request.session)
92 if vm[
'state'] == vm_states[
'closed']:
93 return messages_ajax.success(
'', status=1)
97 return messages_ajax.success(
98 render_to_string(template_name,
101 'states_reversed': vm_states_reversed,
104 context_instance=RequestContext(request)))