1234567891011121314151617181920212223242526272829 |
- from django.contrib.auth.models import User
- from django.shortcuts import render_to_response, get_object_or_404
- from django.views.generic.detail import DetailView
- from coin.vpn.models import VPNSubscription
- class VPNView(DetailView):
- def get_object(self):
- return get_object_or_404(VPNSubscription, pk=self.args[0],
- administrative_subscription__member__user=self.request.user)
- class VPNGeneratePasswordView(VPNView):
- """This generates a random password, saves it in hashed form, and returns
- it to the user in cleartext.
- """
- def get_context_data(self, **kwargs):
- context = super(VPNGeneratePasswordView, self).get_context_data(**kwargs)
- # Generate a new random password and save it
- password = User.objects.make_random_password()
- self.object.password = password
- # This will hash the password automatically
- self.object.full_clean()
- self.object.save()
- context['password'] = password
- return context
|