# Django imports. from django.conf.urls import patterns, url from django.contrib.auth.views import login, logout # Application imports. from .views import IndexView, EntityView, entity_iptables, project_iptables from .views import ProjectView, ProjectCreateView, ProjectUpdateView, ProjectDeleteView from .views import LocationCreateView, LocationUpdateView, LocationDeleteView from .views import EntityCreateView, EntityUpdateView, EntityDeleteView from .views import InterfaceCreateView, InterfaceUpdateView, InterfaceDeleteView urlpatterns = patterns( 'conntrackt.views', # Homepage/index view. url(r'^$', IndexView.as_view(), name="index"), # View for showing information about a project. url(r'^project/(?P\d+)/$', ProjectView.as_view(), name='project'), # View for creating a new project. url(r'^project/add/$', ProjectCreateView.as_view(), name="project_create"), # View for updating an existing project. url(r'^project/(?P\d+)/edit/$', ProjectUpdateView.as_view(), name="project_update"), # View for deleting a project. url(r'^project/(?P\d+)/remove/$', ProjectDeleteView.as_view(), name="project_delete"), # View for creating a new location. url(r'^location/add/$', LocationCreateView.as_view(), name="location_create"), # View for updating an existing location. url(r'^location/(?P\d+)/edit/$', LocationUpdateView.as_view(), name="location_update"), # View for deleting a location. url(r'^location/(?P\d+)/remove/$', LocationDeleteView.as_view(), name="location_delete"), # View for showing information about an entity. url(r'^entity/(?P\d+)/$', EntityView.as_view(), name='entity'), # View for creating a new entity. url(r'^entity/add/$', EntityCreateView.as_view(), name="entity_create"), # View for updating an existing entity. url(r'^entity/(?P\d+)/edit/$', EntityUpdateView.as_view(), name="entity_update"), # View for deleting an entity. url(r'^entity/(?P\d+)/remove/$', EntityDeleteView.as_view(), name="entity_delete"), # View for creating a new interface. url(r'^interface/add/$', InterfaceCreateView.as_view(), name="interface_create"), # View for updating an existing interface. url(r'^interface/(?P\d+)/edit/$', InterfaceUpdateView.as_view(), name="interface_update"), # View for deleting an interface. url(r'^interface/(?P\d+)/remove/$', InterfaceDeleteView.as_view(), name="interface_delete"), # View for rendering iptables rules for a specific entity. url(r'^entity/(?P\d+)/iptables/$', entity_iptables, name="entity_iptables"), # View for rendering zip file with iptables rules for all entities in a project. url(r'^project/(?P\d+)/iptables/$', project_iptables, name="project_iptables"), # View for rendering zip file with iptables rules for all entities in a project for a specific location. url(r'^project/(?P\d+)/location/(?P\d+)/iptables/$', project_iptables, name="project_location_iptables"), # Views for logging-in/out the users. url(r'^login/$', login, {'template_name': 'conntrackt/login.html'}, name="login"), url(r'^logout/$', logout, name="logout"), )