cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
vm.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 # @COPYRIGHT_begin
3 #
4 # Copyright [2010-2014] Institute of Nuclear Physics PAN, Krakow, Poland
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 # http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # @COPYRIGHT_end
19 
20 ##
21 # @package src.wi.urls.admin_cm.vm
22 #
23 # @author Krzysztof Danielowski, Piotr Wojcik
24 # @date 17.03.2011
25 #
26 
27 from django.conf.urls import url, patterns, include
28 from django.utils.translation import ungettext, ugettext_lazy as _
29 
30 from wi.forms.vm import EditVMForm
31 from wi.utils.decorators import admin_cm_permission
32 from wi.utils.views import generic_multiple_id, simple_generic_id, form_generic_id
33 
34 
35 vm_patterns = patterns('wi.views.admin_cm.vm',
36  url(r'^vms/$', 'cma_vms', name='cma_vms'),
37  url(r'^ajax/cm/vms_get_table/(?P<user_id>\d+)/$', 'cma_vms_ajax_get_table', name='cma_vms_ajax_get_table'),
38  url(r'^ajax/cm/vm_details/(?P<vm_id>\d+)/$', 'cma_vms_ajax_vm_details', name='cma_vms_ajax_vm_details'),
39  url(r'^ajax/cm/vm_destroy/$', admin_cm_permission(generic_multiple_id),
40  {'template_name': 'generic/simple.html',
41  'success_msg': (lambda desc, count: ungettext('You have successfully destroyed virtual machine <b>%(desc)s</b>.', 'You have successfully destroyed %(count)d virtual machines (<b>%(desc)s</b>).', count) % {'desc': desc, 'count': count}),
42  'ask_msg': (lambda desc, count: ungettext('Do you want to destroy virtual machine <b>%(desc)s</b>?', 'Do you want to destroy %(count)d virtual machines <b>%(desc)s</b>?', count) % {'desc': desc, 'count': count}),
43  'request_url': 'admin_cm/vm/destroy/',
44  'id_key': 'vm_id_list'
45  },
46  name='cma_vms_ajax_destroy'),
47  url(r'^ajax/cm/vm_erase/$', admin_cm_permission(generic_multiple_id),
48  {'template_name': 'generic/simple.html',
49  'success_msg': (lambda desc, count: ungettext('You have successfully erased virtual machine <b>%(desc)s</b>.', 'You have successfully erased %(count)d virtuals machines (<b>%(desc)s</b>).', count) % {'desc': desc, 'count': count}),
50  'ask_msg': (lambda desc, count: ungettext('Do you want to erase virtual machine <b>%(desc)s</b>?', 'Do you want to erase %(count)d virtual machines <b>%(desc)s</b>?', count) % {'desc': desc, 'count': count}),
51  'request_url': 'admin_cm/vm/erase/',
52  'id_key': 'vm_id_list'
53  },
54  name='cma_vms_ajax_erase'),
55  url(r'^ajax/cm/revoke_ip/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
56  {'template_name': 'generic/simple.html',
57  'success_msg': (lambda desc: _('You have successfully revoked IP address.') % {'desc': desc}),
58  'ask_msg': (lambda desc: _('Do you want to revoke IP address?') % {'desc': desc}),
59  'request_url': 'admin_cm/public_ip/unassign/',
60  'id_key': 'lease_id', },
61  name='cma_vms_ajax_revoke_ip'),
62  url(r'^ajax/cm/vm_save_and_shutdown/(?P<id1>\d+)/$', admin_cm_permission(form_generic_id),
63  {'template_name': 'generic/form.html',
64  'success_msg': (lambda desc, data: _('Virtual machine will be saved.') % {'desc': desc}),
65  'confirmation': _('Save and shutdown'),
66  'request_url_post': 'admin_cm/vm/save_and_shutdown/',
67  'request_url_get': 'admin_cm/vm/get_by_id/',
68  'id_key': 'vm_id',
69  'form_class': EditVMForm},
70  name='cma_vms_ajax_save_and_shutdown'),
71 
72  url(r'^ajax/cm/set_vnc/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
73  {'template_name': 'generic/simple.html',
74  'success_msg': (lambda desc: _('You have successfully enabled VNC.') % {'desc': desc}),
75  'ask_msg': (lambda desc: _('Do you want to enable VNC?') % {'desc': desc}),
76  'request_url': 'admin_cm/vm/attach_vnc/',
77  'id_key': 'vm_id'
78  },
79  name='cma_vms_ajax_set_vnc'),
80  url(r'^ajax/cm/unset_vnc/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
81  {'template_name': 'generic/simple.html',
82  'success_msg': (lambda desc: _('You have successfully disabled VNC.') % {'desc': desc}),
83  'ask_msg': (lambda desc: _('Do you want to disable VNC?') % {'desc': desc}),
84  'request_url': 'admin_cm/vm/detach_vnc/',
85  'id_key': 'vm_id'
86  },
87  name='cma_vms_ajax_unset_vnc'),
88 
89 )
90 
91 urlpatterns = patterns('',
92  url(r'^admin_cm/', include(vm_patterns)),
93 )
94