/usr/lib/python2.7/dist-packages/maasserver/views/prefs.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 | # Copyright 2012 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Preferences views."""
from __future__ import (
absolute_import,
print_function,
unicode_literals,
)
str = None
__metaclass__ = type
__all__ = [
'SSHKeyCreateView',
'SSHKeyDeleteView',
'userprefsview',
]
from django.contrib import messages
from django.contrib.auth.forms import PasswordChangeForm
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.shortcuts import (
get_object_or_404,
render_to_response,
)
from django.template import RequestContext
from django.views.generic import CreateView
from maasserver.forms import (
ProfileForm,
SSHKeyForm,
)
from maasserver.models import SSHKey
from maasserver.views import (
HelpfulDeleteView,
process_form,
)
class SSHKeyCreateView(CreateView):
form_class = SSHKeyForm
template_name = 'maasserver/prefs_add_sshkey.html'
def get_form_kwargs(self):
kwargs = super(SSHKeyCreateView, self).get_form_kwargs()
kwargs['user'] = self.request.user
return kwargs
def form_valid(self, form):
messages.info(self.request, "SSH key added.")
return super(SSHKeyCreateView, self).form_valid(form)
def get_success_url(self):
return reverse('prefs')
class SSHKeyDeleteView(HelpfulDeleteView):
template_name = 'maasserver/prefs_confirm_delete_sshkey.html'
context_object_name = 'key'
model = SSHKey
def get_object(self):
keyid = self.kwargs.get('keyid', None)
key = get_object_or_404(SSHKey, id=keyid)
if key.user != self.request.user:
raise PermissionDenied("Can't delete this key. It's not yours.")
return key
def get_next_url(self):
return reverse('prefs')
def userprefsview(request):
user = request.user
# Process the profile update form.
profile_form, response = process_form(
request, ProfileForm, reverse('prefs'), 'profile', "Profile updated.",
{'instance': user})
if response is not None:
return response
# Process the password change form.
password_form, response = process_form(
request, PasswordChangeForm, reverse('prefs'), 'password',
"Password updated.", {'user': user})
if response is not None:
return response
return render_to_response(
'maasserver/prefs.html',
{
'profile_form': profile_form,
'password_form': password_form,
},
context_instance=RequestContext(request))
|