cc1  v2.1
CC1 source code docs
All Classes Namespaces Files Functions Variables Pages
network.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.network
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 ugettext_lazy as _, ungettext
29 
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
36 
37 
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'),
42  url(r'^ajax/remove_network/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
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'),
49 
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'),
53  url(r'^ajax/add_pool/$', admin_cm_permission(form_generic),
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'
60  ),
61  url(r'^ajax/delete_pool/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
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/',
66  'id_key': 'pool_id',
67  },
68  name='cma_ajax_delete_pool'),
69  url(r'^ajax/lock_pool/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
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'),
76  url(r'^ajax/unlock_pool/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
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'),
83 
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'),
87  url(r'^ajax/add_publicip/$', admin_cm_permission(form_generic),
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'),
94  url(r'^ajax/cm/publicip_delete/$', admin_cm_permission(generic_multiple_id),
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'),
101  url(r'^ajax/cm/publicip_revoke/(?P<id1>\d+)/$', admin_cm_permission(simple_generic_id),
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'),
108  url(r'^ajax/cm/publicip_release/$', admin_cm_permission(generic_multiple_id),
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'),
115 
116  url(r'^ajax/monitoring/(?P<id1>\d+)/$', admin_cm_permission(form_generic_id),
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'),
123 )
124 
125 urlpatterns = patterns('',
126  url(r'^admin_cm/', include(network_patterns)),
127 )
128