/usr/lib/python2.7/dist-packages/maasserver/views/networks.py is in python-django-maas 1.5+bzr2252-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | # Copyright 2013 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Networks views."""
from __future__ import (
absolute_import,
print_function,
unicode_literals,
)
str = None
__metaclass__ = type
__all__ = [
'NetworkAdd',
'NetworkDelete',
'NetworkEdit',
'NetworkListView',
'NetworkView',
]
from apiclient.utils import urlencode
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.shortcuts import get_object_or_404
from django.views.generic import (
CreateView,
DetailView,
UpdateView,
)
from maasserver.forms import NetworkForm
from maasserver.models import Network
from maasserver.views import (
HelpfulDeleteView,
PaginatedListView,
)
class NetworkListView(PaginatedListView):
context_object_name = "network_list"
def get_queryset(self):
return Network.objects.all().order_by('name')
class NetworkView(DetailView):
"""Mixin class used to fetch a network by name."""
context_object_name = 'network'
def get_object(self):
network_name = self.kwargs.get('name', None)
return get_object_or_404(Network, name=network_name)
def get_context_data(self, **kwargs):
context = super(NetworkView, self).get_context_data(**kwargs)
query_string = urlencode(
[('query', 'network=%s' % self.get_object().name)])
context["node_list_link"] = (
reverse('node-list') + "?" + query_string)
return context
class NetworkAdd(CreateView):
"""View for creating a network."""
form_class = NetworkForm
template_name = 'maasserver/network_add.html'
context_object_name = 'new_network'
def get_success_url(self):
return reverse('network-list')
def form_valid(self, form):
messages.info(self.request, "Network added.")
return super(NetworkAdd, self).form_valid(form)
class NetworkEdit(UpdateView):
"""View for editing a network."""
model = Network
form_class = NetworkForm
template_name = 'maasserver/network_edit.html'
def get_object(self):
network_name = self.kwargs.get('name', None)
return get_object_or_404(Network, name=network_name)
def get_success_url(self):
return reverse('network-list')
class NetworkDelete(HelpfulDeleteView):
"""View for deleting a network."""
template_name = 'maasserver/network_confirm_delete.html'
context_object_name = 'network_to_delete'
model = Network
def get_object(self):
name = self.kwargs.get('name', None)
return get_object_or_404(Network, name=name)
def get_next_url(self):
return reverse('network-list')
def name_object(self, obj):
"""See `HelpfulDeleteView`."""
return "Network %s" % obj.name
|