27 from django.conf.urls
import url, patterns, include
28 from django.utils.translation
import ungettext, ugettext_lazy
as _
30 from common.states
import image_access
31 from wi.forms.node
import NodeForm, EditNodeForm
32 from wi.forms.vm
import CreateVMOnNodeForm
33 from wi.utils.decorators
import admin_cm_permission
34 from wi.utils.views
import generic_multiple_id, form_generic_id, \
35 direct_to_template, simple_generic_id, form_generic
38 node_patterns = patterns(
'wi.views.admin_cm.node',
39 url(
r'^nodes/$',
admin_cm_permission(direct_to_template), {
'template_name':
'admin_cm/nodes.html'}, name=
'cma_nodes'),
40 url(
r'^ajax/get_table_nodes/$',
'cma_ajax_get_table_nodes', name=
'cma_ajax_get_table_nodes'),
41 url(
r'^ajax/node_details/(?P<node_id>\d+)/$',
'cma_ajax_node_details', name=
'cma_ajax_node_details'),
43 {
'template_name':
'generic/simple.html',
44 'success_msg': (
lambda desc: _(
'You have successfully deleted node <b>%(desc)s</b>.') % {
'desc': desc}),
45 'ask_msg': (
lambda desc: _(
'Do you want to delete node <b>%(desc)s</b>?') % {
'desc': desc}),
46 'request_url':
'admin_cm/node/delete/',
47 'id_key':
'node_id', },
48 name=
'cma_ajax_delete_node'),
51 {
'template_name':
'generic/simple.html',
52 'success_msg': (
lambda desc, count: ungettext(
'You have successfully locked node <b>%(desc)s</b>.',
'You have successfully locked %(count)d nodes (<b>%(desc)s</b>).', count) % {
'desc': desc,
'count': count}),
53 'ask_msg': (
lambda desc, count: ungettext(
'Do you want to lock node <b>%(desc)s</b>?',
'Do you want to lock %(count)d nodes <b>%(desc)s</b>?', count) % {
'desc': desc,
'count': count}),
54 'request_url':
'admin_cm/node/lock/',
55 'id_key':
'node_id_list'
57 name=
'cma_ajax_lock_node'),
60 {
'template_name':
'generic/simple.html',
61 'success_msg': (
lambda desc, count: ungettext(
'Node <b>%(desc)s</b> queued for validation.',
'%(count)d nodes (<b>%(desc)s</b>) queued for validation.', count) % {
'desc': desc,
'count': count}),
62 'ask_msg': (
lambda desc, count: ungettext(
'Do you want to validate node <b>%(desc)s</b>?',
'Do you want to validate %(count)d nodes <b>%(desc)s</b>?', count) % {
'desc': desc,
'count': count}),
63 'request_url':
'admin_cm/node/check/',
64 'id_key':
'node_id_list'
66 name=
'cma_ajax_check_node'),
69 {
'template_name':
'generic/simple.html',
70 'success_msg': (
lambda desc: _(
'You have successfully hardlocked node <b>%(desc)s</b>.') % {
'desc': desc}),
71 'ask_msg': (
lambda desc: _(
'Do you want to hardlock node <b>%(desc)s</b>?') % {
'desc': desc}),
72 'request_url':
'admin_cm/node/hardlock/',
73 'id_key':
'node_id', },
74 name=
'cma_ajax_hardlock_node'),
77 {
'template_name':
'generic/simple.html',
78 'success_msg': (
lambda desc, count: ungettext(
'You have successfully unlocked node <b>%(desc)s</b>.',
'You have successfully unlocked %(count)d nodes (<b>%(desc)s</b>).', count) % {
'desc': desc,
'count': count}),
79 'ask_msg': (
lambda desc, count: ungettext(
'Do you want to unlock node <b>%(desc)s</b>?',
'Do you want to unlock %(count)d nodes <b>%(desc)s</b>?', count) % {
'desc': desc,
'count': count}),
80 'request_url':
'admin_cm/node/unlock/',
81 'id_key':
'node_id_list'
83 name=
'cma_ajax_unlock_node'),
86 {
'template_name':
'generic/form.html',
87 'success_msg': (
lambda desc, data: _(
'You have successfully created a node.') % {
'desc': desc}),
88 'confirmation': _(
'Create'),
89 'request_url_post':
'admin_cm/node/add/',
90 'form_class': NodeForm},
91 name=
'cma_ajax_add_node'),
93 {
'template_name':
'generic/form.html',
94 'success_msg': (
lambda desc, data: _(
'You have successfully edited selected node.') % {
'desc': desc}),
95 'confirmation': _(
'Save'),
96 'request_url_post':
'admin_cm/node/edit/',
97 'request_url_get':
'admin_cm/node/get_by_id/',
99 'form_class': EditNodeForm},
100 name=
'cma_ajax_edit_node'),
102 {
'template_name':
'generic/form.html',
103 'success_msg': (
lambda desc, data: _(
'You have successfully created a virtual machine on selected node (address: %(desc)s).') % {
'desc': desc}),
104 'confirmation': _(
'Create'),
105 'request_url_post':
'admin_cm/vm/create/',
107 'form_class': CreateVMOnNodeForm,
108 'request_url_both': {
'images_public': (
'user/system_image/get_list/', {
'access': image_access[
'public']}),
109 'images_private': (
'user/system_image/get_list/', {
'access': image_access[
'private']}),
110 'images_group': (
'user/system_image/get_list/', {
'access': image_access[
'group']}),
111 'templates':
'user/template/get_list/',
112 'ips':
'user/public_ip/get_list/',
113 'disks':
'user/storage_image/get_list/',
114 'iso':
'user/iso_image/get_list/',
117 name=
'cma_ajax_create_vm'),
118 url(
r'^ajax/mount_storage/(?P<node_id>\d+)/$',
'cma_ajax_mount_storage', name=
'cma_ajax_mount_storage'),
122 urlpatterns = patterns(
'',
123 url(
r'^admin_cm/', include(node_patterns)),