urls.py 7.43 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# Copyright 2014 Budapest University of Technology and Economics (BME IK)
#
# This file is part of CIRCLE Cloud.
#
# CIRCLE is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# CIRCLE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along
# with CIRCLE.  If not, see <http://www.gnu.org/licenses/>.

18 19
from __future__ import absolute_import
from django.conf.urls import patterns, url, include
20

21
from vm.models import Instance
22
from .views import (
Őry Máté committed
23
    AclUpdateView, DiskAddView, FavouriteView, GroupAclUpdateView, GroupDelete,
24
    GroupDetailView, GroupList, IndexView,
25 26 27 28 29 30 31
    InstanceActivityDetail, LeaseCreate, LeaseDelete, LeaseDetail,
    MyPreferencesView, NodeAddTraitView, NodeCreate, NodeDelete,
    NodeDetailView, NodeFlushView, NodeGraphView, NodeList, NodeStatus,
    NotificationView, PortDelete, TemplateAclUpdateView, TemplateCreate,
    TemplateDelete, TemplateDetail, TemplateList, TransferOwnershipConfirmView,
    TransferOwnershipView, vm_activity, VmCreate, VmDelete, VmDetailView,
    VmDetailVncTokenView, VmGraphView, VmList, VmMassDelete, VmMigrateView,
32
    VmRenewView, DiskRemoveView, get_disk_download_status, InterfaceDeleteView,
33 34
    GroupRemoveAclUserView, GroupRemoveAclGroupView, GroupRemoveUserView,
    GroupCreate,
35
    TemplateChoose,
36
    UserCreationView,
37
    get_vm_screenshot,
38
    ProfileView, toggle_use_gravatar,
39
)
40

Kálmán Viktor committed
41 42
urlpatterns = patterns(
    '',
Kálmán Viktor committed
43
    url(r'^$', IndexView.as_view(), name="dashboard.index"),
44 45
    url(r'^lease/(?P<pk>\d+)/$', LeaseDetail.as_view(),
        name="dashboard.views.lease-detail"),
46 47
    url(r'^lease/create/$', LeaseCreate.as_view(),
        name="dashboard.views.lease-create"),
48 49
    url(r'^lease/delete/(?P<pk>\d+)/$', LeaseDelete.as_view(),
        name="dashboard.views.lease-delete"),
50

51 52
    url(r'^template/create/$', TemplateCreate.as_view(),
        name="dashboard.views.template-create"),
53 54
    url(r'^template/choose/$', TemplateChoose.as_view(),
        name="dashboard.views.template-choose"),
55 56
    url(r'template/(?P<pk>\d+)/acl/$', TemplateAclUpdateView.as_view(),
        name='dashboard.views.template-acl'),
57 58
    url(r'^template/(?P<pk>\d+)/$', TemplateDetail.as_view(),
        name='dashboard.views.template-detail'),
59 60
    url(r"^template/list/$", TemplateList.as_view(),
        name="dashboard.views.template-list"),
61 62
    url(r"^template/delete/(?P<pk>\d+)/$", TemplateDelete.as_view(),
        name="dashboard.views.template-delete"),
63

64
    url(r'^vm/(?P<pk>\d+)/op/', include('dashboard.vm.urls')),
65 66
    url(r'^vm/(?P<pk>\d+)/remove_port/(?P<rule>\d+)/$', PortDelete.as_view(),
        name='dashboard.views.remove-port'),
Kálmán Viktor committed
67 68
    url(r'^vm/(?P<pk>\d+)/$', VmDetailView.as_view(),
        name='dashboard.views.detail'),
69 70
    url(r'^vm/(?P<pk>\d+)/vnctoken/$', VmDetailVncTokenView.as_view(),
        name='dashboard.views.detail-vnc'),
71 72
    url(r'^vm/(?P<pk>\d+)/acl/$', AclUpdateView.as_view(model=Instance),
        name='dashboard.views.vm-acl'),
73 74
    url(r'^vm/(?P<pk>\d+)/tx/$', TransferOwnershipView.as_view(),
        name='dashboard.views.vm-transfer-ownership'),
Kálmán Viktor committed
75
    url(r'^vm/list/$', VmList.as_view(), name='dashboard.views.vm-list'),
76 77
    url(r'^vm/create/$', VmCreate.as_view(),
        name='dashboard.views.vm-create'),
78
    url(r'^vm/delete/(?P<pk>\d+)/$', VmDelete.as_view(),
Kálmán Viktor committed
79
        name="dashboard.views.delete-vm"),
80
    url(r'^vm/mass-delete/', VmMassDelete.as_view(),
81
        name='dashboard.view.mass-delete-vm'),
82
    url(r'^vm/(?P<pk>\d+)/activity/$', vm_activity),
83 84
    url(r'^vm/(?P<pk>\d+)/migrate/$', VmMigrateView.as_view(),
        name='dashboard.views.vm-migrate'),
Őry Máté committed
85 86
    url(r'^vm/(?P<pk>\d+)/renew/((?P<key>.*)/?)$', VmRenewView.as_view(),
        name='dashboard.views.vm-renew'),
87 88
    url(r'^vm/activity/(?P<pk>\d+)/$', InstanceActivityDetail.as_view(),
        name='dashboard.views.vm-activity'),
89 90
    url(r'^vm/(?P<pk>\d+)/screenshot/$', get_vm_screenshot,
        name='dashboard.views.vm-get-screenshot'),
91

92 93 94
    url(r'^node/list/$', NodeList.as_view(), name='dashboard.views.node-list'),
    url(r'^node/(?P<pk>\d+)/$', NodeDetailView.as_view(),
        name='dashboard.views.node-detail'),
95 96
    url(r'^node/(?P<pk>\d+)/add-trait/$', NodeAddTraitView.as_view(),
        name='dashboard.views.node-addtrait'),
97
    url(r'^tx/(?P<key>.*)/?$', TransferOwnershipConfirmView.as_view(),
98
        name='dashboard.views.vm-transfer-ownership-confirm'),
99 100
    url(r'^node/delete/(?P<pk>\d+)/$', NodeDelete.as_view(),
        name="dashboard.views.delete-node"),
101 102
    url(r'^node/status/(?P<pk>\d+)/$', NodeStatus.as_view(),
        name="dashboard.views.status-node"),
103 104
    url(r'^node/flush/(?P<pk>\d+)/$', NodeFlushView.as_view(),
        name="dashboard.views.flush-node"),
105 106
    url(r'^node/create/$', NodeCreate.as_view(),
        name='dashboard.views.node-create'),
107

108 109
    url(r'^favourite/$', FavouriteView.as_view(),
        name='dashboard.views.favourite'),
110 111
    url(r'^group/delete/(?P<pk>\d+)/$', GroupDelete.as_view(),
        name="dashboard.views.delete-group"),
112 113
    url(r'^group/list/$', GroupList.as_view(),
        name='dashboard.views.group-list'),
114
    url((r'^vm/(?P<pk>\d+)/graph/(?P<metric>cpu|memory|network)/'
115
         r'(?P<time>[0-9]{1,2}[hdwy])$'),
116 117
        VmGraphView.as_view(),
        name='dashboard.views.vm-graph'),
118 119 120 121
    url((r'^node/(?P<pk>\d+)/graph/(?P<metric>cpu|memory|network)/'
         r'(?P<time>[0-9]{1,2}[hdwy])$'),
        NodeGraphView.as_view(),
        name='dashboard.views.node-graph'),
122 123
    url(r'^group/(?P<pk>\d+)/$', GroupDetailView.as_view(),
        name='dashboard.views.group-detail'),
124 125
    url(r'^group/(?P<pk>\d+)/acl/$', GroupAclUpdateView.as_view(),
        name='dashboard.views.group-acl'),
126 127
    url(r'^notifications/$', NotificationView.as_view(),
        name="dashboard.views.notifications"),
128

129
    url(r'^disk/add/$', DiskAddView.as_view(),
130
        name="dashboard.views.disk-add"),
131 132
    url(r'^disk/(?P<pk>\d+)/remove/$', DiskRemoveView.as_view(),
        name="dashboard.views.disk-remove"),
133 134 135
    url(r'^disk/(?P<pk>\d+)/status/$', get_disk_download_status,
        name="dashboard.views.disk-status"),

136 137 138
    url(r'^interface/(?P<pk>\d+)/delete/$', InterfaceDeleteView.as_view(),
        name="dashboard.views.interface-delete"),

139
    url(r'^profile/$', MyPreferencesView.as_view(),
140
        name="dashboard.views.profile-preferences"),
141
    url(r'^profile/(?P<username>[^/]+)/$', ProfileView.as_view(),
142
        name="dashboard.views.profile"),
143
    url(r'^profile/(?P<username>[^/]+)/use_gravatar/$', toggle_use_gravatar),
144

145
    url(r'^group/(?P<group_pk>\d+)/remove/acl/user/(?P<member_pk>\d+)/$',
146 147
        GroupRemoveAclUserView.as_view(),
        name="dashboard.views.remove-acluser"),
148
    url(r'^group/(?P<group_pk>\d+)/remove/acl/group/(?P<member_pk>\d+)/$',
149 150
        GroupRemoveAclGroupView.as_view(),
        name="dashboard.views.remove-aclgroup"),
151
    url(r'^group/(?P<group_pk>\d+)/remove/user/(?P<member_pk>\d+)/$',
152 153
        GroupRemoveUserView.as_view(),
        name="dashboard.views.remove-user"),
154 155
    url(r'^group/create/$', GroupCreate.as_view(),
        name='dashboard.views.group-create'),
156 157 158
    url(r'^group/(?P<group_pk>\d+)/create/$',
        UserCreationView.as_view(),
        name="dashboard.views.create-user"),
Kálmán Viktor committed
159
)