27 from django.conf.urls
import url, patterns, include
28 from django.utils.translation
import ugettext_lazy
as _, ungettext
30 from wi.forms.network
import AddPoolForm
31 from wi.forms.public_ip
import AddPublicIPForm
32 from wi.forms.vm
import MonitoringVMForm
33 from wi.utils.decorators
import admin_cm_permission
34 from wi.utils.views
import form_generic_id, direct_to_template, \
35 simple_generic_id, form_generic, get_list_generic, generic_multiple_id
38 network_patterns = patterns(
'wi.views.admin_cm.network',
39 url(
r'^networks/$',
'cma_networks', name=
'cma_networks'),
40 url(
r'^ajax/cm/networks_get_table/(?P<user_id>\d+)/(?P<only_unused>\d)/$',
'cma_networks_ajax_get_table', name=
'cma_networks_ajax_get_table'),
41 url(
r'^ajax/cm/network_details/(?P<network_id>\d+)/$',
'cma_networks_ajax_network_details', name=
'cma_networks_ajax_network_details'),
43 {
'template_name':
'generic/simple.html',
44 'success_msg': (
lambda desc: _(
'You have successfully released network <b>%(desc)s</b>.') % {
'desc': desc}),
45 'ask_msg': (
lambda desc: _(
'Do you want to release network <b>%(desc)s</b>?') % {
'desc': desc}),
46 'request_url':
'admin_cm/network/delete_user_network/',
47 'id_key':
'network_id', },
48 name=
'cma_ajax_remove_network'),
50 url(
r'^pools/$',
admin_cm_permission(direct_to_template), {
'template_name':
'admin_cm/pools.html'}, name=
'cma_pools'),
51 url(
r'^ajax/pools_table/$',
'cma_ajax_get_pool_table',
52 name=
'cma_ajax_get_pool_table'),
54 {
'template_name':
'generic/form.html',
55 'success_msg': (
lambda desc, data: _(
'You have successfully added a pool.') % {
'desc': desc}),
56 'confirmation': _(
'Add'),
57 'request_url_post':
'admin_cm/network/add/',
58 'form_class': AddPoolForm},
59 name=
'cma_ajax_add_pool'
62 {
'template_name':
'generic/simple.html',
63 'success_msg': (
lambda desc: _(
'You have successfully deleted pool <b>%(desc)s</b>.') % {
'desc': desc}),
64 'ask_msg': (
lambda desc: _(
'Do you want to delete pool <b>%(desc)s</b>?') % {
'desc': desc}),
65 'request_url':
'admin_cm/network/delete_available_network/',
68 name=
'cma_ajax_delete_pool'),
70 {
'template_name':
'generic/simple.html',
71 'success_msg': (
lambda desc: _(
'You have successfully locked pool <b>%(desc)s</b>.') % {
'desc': desc}),
72 'ask_msg': (
lambda desc: _(
'Do you want to lock pool <b>%(desc)s</b>?') % {
'desc': desc}),
73 'request_url':
'admin_cm/network/lock/',
74 'id_key':
'pool_id', },
75 name=
'cma_ajax_lock_pool'),
77 {
'template_name':
'generic/simple.html',
78 'success_msg': (
lambda desc: _(
'You have successfully unlocked pool <b>%(desc)s</b>.') % {
'desc': desc}),
79 'ask_msg': (
lambda desc: _(
'Do you want to unlock pool <b>%(desc)s</b>?') % {
'desc': desc}),
80 'request_url':
'admin_cm/network/unlock/',
81 'id_key':
'pool_id', },
82 name=
'cma_ajax_unlock_pool'),
84 url(
r'^publicips/$',
admin_cm_permission(direct_to_template), {
'template_name':
'admin_cm/publicips.html'}, name=
'cma_publicips'),
85 url(
r'^ajax/publicips_table/$',
admin_cm_permission(get_list_generic), {
'request_url':
'admin_cm/public_ip/get_list/'},
86 name=
'cma_ajax_get_publicips_table'),
88 {
'template_name':
'generic/form.html',
89 'success_msg': (
lambda desc, data: _(
'You have successfully added public IPs.') % {
'desc': desc}),
90 'confirmation': _(
'Add'),
91 'request_url_post':
'admin_cm/public_ip/add/',
92 'form_class': AddPublicIPForm},
93 name=
'cma_ajax_add_publicip'),
95 {
'template_name':
'generic/simple.html',
96 'success_msg': (
lambda desc, count: ungettext(
'You have successfully deleted Public IP <b>%(desc)s</b>.',
'You have successfully deleted %(count)d pulic IPs (<b>%(desc)s</b>).', count) % {
'desc': desc,
'count': count}),
97 'ask_msg': (
lambda desc, count: ungettext(
'Do you want to delete public IP <b>%(desc)s</b>?',
'Do you want to delete %(count)d public IPs <b>%(desc)s</b>?', count) % {
'desc': desc,
'count': count}),
98 'request_url':
'admin_cm/public_ip/delete/',
99 'id_key':
'public_ip_id_list', },
100 name=
'cma_ajax_delete_publicips'),
102 {
'template_name':
'generic/simple.html',
103 'success_msg': (
lambda desc: _(
'IP address <b>%(desc)s</b> has been released.') % {
'desc': desc}),
104 'ask_msg': (
lambda desc: _(
'Do you want to release IP address <b>%(desc)s</b>?') % {
'desc': desc}),
105 'request_url':
'admin_cm/public_ip/revoke/',
106 'id_key':
'public_ip_id', },
107 name=
'cma_ajax_revoke_publicip'),
109 {
'template_name':
'generic/simple.html',
110 'success_msg': (
lambda desc, count: ungettext(
'You have successfully released Public IP <b>%(desc)s</b>.',
'You have successfully released %(count)d pulic IPs (<b>%(desc)s</b>).', count) % {
'desc': desc,
'count': count}),
111 'ask_msg': (
lambda desc, count: ungettext(
'Do you want to release public IP <b>%(desc)s</b>?',
'Do you want to release %(count)d public IPs <b>%(desc)s</b>?', count) % {
'desc': desc,
'count': count}),
112 'request_url':
'admin_cm/public_ip/release/',
113 'id_key':
'public_ip_id_list', },
114 name=
'cma_ajax_release_publicips'),
117 {
'template_name':
'vms/ajax/monitoring.html',
118 'form_class': MonitoringVMForm,
119 'success_msg': (
lambda desc, data: data),
120 'request_url_post':
'admin_cm/monia/vm_stats/',
121 'id_key':
'vm_id', },
122 name=
'cma_ajax_vm_monitoring'),
125 urlpatterns = patterns(
'',
126 url(
r'^admin_cm/', include(network_patterns)),